Difference between revisions of "User:JuliaCat/data"
m (→Needs) |
m (→Needs) |
||
Line 85: | Line 85: | ||
| <!--description-->Mood represents how happy or stressed someone is. If mood gets too low, the person may suffer a mental break. Depending on how low their mood is, someone who has a mental break may have a minor breaks like hiding in their room for a day, or a major break like going on a murder spree.<!--/description--> | | <!--description-->Mood represents how happy or stressed someone is. If mood gets too low, the person may suffer a mental break. Depending on how low their mood is, someone who has a mental break may have a minor breaks like hiding in their room for a day, or a major break like going on a murder spree.<!--/description--> | ||
| <!--baseLevel-->0.32<!--/baseLevel--> | | <!--baseLevel-->0.32<!--/baseLevel--> | ||
− | | <!-- Fall Per Day --> | + | | <!-- Fall Per Day --> |
|<!-- Details --> | |<!-- Details --> | ||
* Need Class: <!--needClass-->'''[[#Need_Mood|Need_Mood]]'''<!--/needClass--> | * Need Class: <!--needClass-->'''[[#Need_Mood|Need_Mood]]'''<!--/needClass--> | ||
Line 103: | Line 103: | ||
! <!--label-->{{ucfirst:food}}<!--/label--> | ! <!--label-->{{ucfirst:food}}<!--/label--> | ||
| <!--description-->Food is the amount of nutrition a creature has consumed recently. If it is at zero, a creature will become increasingly malnourished and eventually die.<!--/description--> | | <!--description-->Food is the amount of nutrition a creature has consumed recently. If it is at zero, a creature will become increasingly malnourished and eventually die.<!--/description--> | ||
− | | <!-- Base Level --> | + | | <!-- Base Level --> |
− | | <!-- Fall Per Day --> | + | | <!-- Fall Per Day --> |
|<!-- Details --> | |<!-- Details --> | ||
* Need Class: <!--needClass-->'''[[#Need_Food|Need_Food]]'''<!--/needClass--> | * Need Class: <!--needClass-->'''[[#Need_Food|Need_Food]]'''<!--/needClass--> | ||
Line 118: | Line 118: | ||
! <!--label-->{{ucfirst:sleep}}<!--/label--> | ! <!--label-->{{ucfirst:sleep}}<!--/label--> | ||
| <!--description-->Sleep is how much time a creature has spent sleeping recently. If it is at zero, a creature will eventually fall asleep on the spot.<!--/description--> | | <!--description-->Sleep is how much time a creature has spent sleeping recently. If it is at zero, a creature will eventually fall asleep on the spot.<!--/description--> | ||
− | | <!-- Base Level --> | + | | <!-- Base Level --> |
− | | <!-- Fall Per Day --> | + | | <!-- Fall Per Day --> |
|<!-- Details --> | |<!-- Details --> | ||
* Need Class: <!--needClass-->'''[[#Need_Rest|Need_Rest]]'''<!--/needClass--> | * Need Class: <!--needClass-->'''[[#Need_Rest|Need_Rest]]'''<!--/needClass--> | ||
Line 132: | Line 132: | ||
! <!--label-->{{ucfirst:recreation}}<!--/label--> | ! <!--label-->{{ucfirst:recreation}}<!--/label--> | ||
| <!--description-->Recreation is the need to have fun. Repeating the same kind of activity makes it less fun, so variety is necessary.<!--/description--> | | <!--description-->Recreation is the need to have fun. Repeating the same kind of activity makes it less fun, so variety is necessary.<!--/description--> | ||
− | | <!-- Base Level --> | + | | <!-- Base Level --> |
− | | <!-- Fall Per Day --> | + | | <!-- Fall Per Day --> |
|<!-- Details --> | |<!-- Details --> | ||
* Need Class: <!--needClass-->'''[[#Need_Joy|Need_Joy]]'''<!--/needClass--> | * Need Class: <!--needClass-->'''[[#Need_Joy|Need_Joy]]'''<!--/needClass--> | ||
Line 152: | Line 152: | ||
| <!--description-->Beauty reflects how visually pleasing a person has found their surroundings recently. Beautiful things like art improve beauty when viewed, while ugly things like filth and rough stone surfaces reduce it.<!--/description--> | | <!--description-->Beauty reflects how visually pleasing a person has found their surroundings recently. Beautiful things like art improve beauty when viewed, while ugly things like filth and rough stone surfaces reduce it.<!--/description--> | ||
| <!--baseLevel-->0.4<!--/baseLevel--> | | <!--baseLevel-->0.4<!--/baseLevel--> | ||
− | | <!-- Fall Per Day --> | + | | <!-- Fall Per Day --> |
|<!-- Details --> | |<!-- Details --> | ||
* Need Class: <!--needClass-->'''[[#Need_Beauty|Need_Beauty]]'''<!--/needClass--> | * Need Class: <!--needClass-->'''[[#Need_Beauty|Need_Beauty]]'''<!--/needClass--> | ||
Line 167: | Line 167: | ||
! <!--label-->{{ucfirst:comfort}}<!--/label--> | ! <!--label-->{{ucfirst:comfort}}<!--/label--> | ||
| <!--description-->Comfort is gained by sitting in or sleeping on comfortable furniture. It is acquired while laying in bed, sitting in a chair while working, or other times.<!--/description--> | | <!--description-->Comfort is gained by sitting in or sleeping on comfortable furniture. It is acquired while laying in bed, sitting in a chair while working, or other times.<!--/description--> | ||
− | | <!-- Base Level --> | + | | <!-- Base Level --> |
− | | <!-- Fall Per Day --> | + | | <!-- Fall Per Day --> |
|<!-- Details --> | |<!-- Details --> | ||
* Need Class: <!--needClass-->'''[[#Need_Comfort|Need_Comfort]]'''<!--/needClass--> | * Need Class: <!--needClass-->'''[[#Need_Comfort|Need_Comfort]]'''<!--/needClass--> | ||
Line 184: | Line 184: | ||
! <!--label-->{{ucfirst:outdoors}}<!--/label--> | ! <!--label-->{{ucfirst:outdoors}}<!--/label--> | ||
| <!--description-->Outdoors expresses the need not to be cooped up inside. It is harmed by long periods inside, especially underground. It improves when someone spends time under the sky, especially outdoors. It's not about the size of the rooms, but the need to be outside from time to time. Lack of outdoors time is a significant challenge for people who dwell in underground bases.<!--/description--> | | <!--description-->Outdoors expresses the need not to be cooped up inside. It is harmed by long periods inside, especially underground. It improves when someone spends time under the sky, especially outdoors. It's not about the size of the rooms, but the need to be outside from time to time. Lack of outdoors time is a significant challenge for people who dwell in underground bases.<!--/description--> | ||
− | | <!-- Base Level --> | + | | <!-- Base Level --> |
− | | <!-- Fall Per Day --> | + | | <!-- Fall Per Day --> |
|<!-- Details --> | |<!-- Details --> | ||
* Need Class: <!--needClass-->'''[[#Need_Outdoors|Need_Outdoors]]'''<!--/needClass--> | * Need Class: <!--needClass-->'''[[#Need_Outdoors|Need_Outdoors]]'''<!--/needClass--> | ||
Line 198: | Line 198: | ||
! <!--label-->{{ucfirst:indoors}}<!--/label--> | ! <!--label-->{{ucfirst:indoors}}<!--/label--> | ||
| <!--description-->Indoors expresses the need to be within walls and under a roof. It is harmed by spending time in outdoor areas or not under roofs. To raise this need past 50%, a person must be under an overhead mountain, not just a normal roof.<!--/description--> | | <!--description-->Indoors expresses the need to be within walls and under a roof. It is harmed by spending time in outdoor areas or not under roofs. To raise this need past 50%, a person must be under an overhead mountain, not just a normal roof.<!--/description--> | ||
− | | <!-- Base Level --> | + | | <!-- Base Level --> |
− | | <!-- Fall Per Day --> | + | | <!-- Fall Per Day --> |
|<!-- Details --> | |<!-- Details --> | ||
* Need Class: <!--needClass-->'''[[#Need_Indoors|Need_Indoors]]'''<!--/needClass--> | * Need Class: <!--needClass-->'''[[#Need_Indoors|Need_Indoors]]'''<!--/needClass--> | ||
Line 212: | Line 212: | ||
! <!--label-->{{ucfirst:chemical}}<!--/label--> | ! <!--label-->{{ucfirst:chemical}}<!--/label--> | ||
| <!--description-->Chemical expresses the desire to ingest drugs. When above a certain level it will create good mood, but when below a certain level it will create increasingly bad mood.<!--/description--> | | <!--description-->Chemical expresses the desire to ingest drugs. When above a certain level it will create good mood, but when below a certain level it will create increasingly bad mood.<!--/description--> | ||
− | | <!-- Base Level --> | + | | <!-- Base Level --> |
| <!--fallPerDay-->0.071<!--/fallPerDay--> | | <!--fallPerDay-->0.071<!--/fallPerDay--> | ||
|<!-- Details --> | |<!-- Details --> | ||
Line 226: | Line 226: | ||
! <!--label-->{{ucfirst:room size}}<!--/label--> | ! <!--label-->{{ucfirst:room size}}<!--/label--> | ||
| -<!-- Description --> | | -<!-- Description --> | ||
− | | <!-- Base Level --> | + | | <!-- Base Level --> |
− | | <!-- Fall Per Day --> | + | | <!-- Fall Per Day --> |
|<!-- Details --> | |<!-- Details --> | ||
* Need Class: <!--needClass-->'''[[#Need_RoomSize|Need_RoomSize]]'''<!--/needClass--> | * Need Class: <!--needClass-->'''[[#Need_RoomSize|Need_RoomSize]]'''<!--/needClass--> | ||
Line 256: | Line 256: | ||
! <!--label-->{{ucfirst:go-juice}}<!--/label--> | ! <!--label-->{{ucfirst:go-juice}}<!--/label--> | ||
| <!--description-->Because of a go-juice addiction, this person needs to regularly consume the drug to avoid withdrawal symptoms.<!--/description--> | | <!--description-->Because of a go-juice addiction, this person needs to regularly consume the drug to avoid withdrawal symptoms.<!--/description--> | ||
− | | <!-- Base Level --> | + | | <!-- Base Level --> |
| <!--fallPerDay-->0.333<!--/fallPerDay--> | | <!--fallPerDay-->0.333<!--/fallPerDay--> | ||
|<!-- Details --> | |<!-- Details --> | ||
Line 272: | Line 272: | ||
! <!--label-->{{ucfirst:luciferium}}<!--/label--> | ! <!--label-->{{ucfirst:luciferium}}<!--/label--> | ||
| <!--description-->This person's body is enhanced by luciferium mechanites.<br /><br />Without regular doses of luciferium, the mechanites will lose cohesion. If this happens, the user becomes continuously, violently insane and eventually dies.<br /><br />This addiction never goes away.<!--/description--> | | <!--description-->This person's body is enhanced by luciferium mechanites.<br /><br />Without regular doses of luciferium, the mechanites will lose cohesion. If this happens, the user becomes continuously, violently insane and eventually dies.<br /><br />This addiction never goes away.<!--/description--> | ||
− | | <!-- Base Level --> | + | | <!-- Base Level --> |
| <!--fallPerDay-->0.15<!--/fallPerDay--> | | <!--fallPerDay-->0.15<!--/fallPerDay--> | ||
|<!-- Details --> | |<!-- Details --> | ||
Line 289: | Line 289: | ||
! <!--label-->{{ucfirst:psychite}}<!--/label--> | ! <!--label-->{{ucfirst:psychite}}<!--/label--> | ||
| <!--description-->Because of a psychite addiction, this person needs to regularly consume the drug to avoid withdrawal symptoms.<!--/description--> | | <!--description-->Because of a psychite addiction, this person needs to regularly consume the drug to avoid withdrawal symptoms.<!--/description--> | ||
− | | <!-- Base Level --> | + | | <!-- Base Level --> |
− | | <!-- Fall Per Day --> | + | | <!-- Fall Per Day --> |
|<!-- Details --> | |<!-- Details --> | ||
* Need Class: <!--needClass-->'''[[#Need_Chemical|Need_Chemical]]'''<!--/needClass--> | * Need Class: <!--needClass-->'''[[#Need_Chemical|Need_Chemical]]'''<!--/needClass--> | ||
Line 305: | Line 305: | ||
! <!--label-->{{ucfirst:smokeleaf}}<!--/label--> | ! <!--label-->{{ucfirst:smokeleaf}}<!--/label--> | ||
| <!--description-->Because of a smokeleaf dependence, this person needs to regularly consume the drug to avoid withdrawal symptoms.<!--/description--> | | <!--description-->Because of a smokeleaf dependence, this person needs to regularly consume the drug to avoid withdrawal symptoms.<!--/description--> | ||
− | | <!-- Base Level --> | + | | <!-- Base Level --> |
− | | <!-- Fall Per Day --> | + | | <!-- Fall Per Day --> |
|<!-- Details --> | |<!-- Details --> | ||
* Need Class: <!--needClass-->'''[[#Need_Chemical|Need_Chemical]]'''<!--/needClass--> | * Need Class: <!--needClass-->'''[[#Need_Chemical|Need_Chemical]]'''<!--/needClass--> | ||
Line 321: | Line 321: | ||
! <!--label-->{{ucfirst:wake-up}}<!--/label--> | ! <!--label-->{{ucfirst:wake-up}}<!--/label--> | ||
| <!--description-->Because of a wake-up addiction, this person needs to regularly consume the drug to avoid withdrawal symptoms.<!--/description--> | | <!--description-->Because of a wake-up addiction, this person needs to regularly consume the drug to avoid withdrawal symptoms.<!--/description--> | ||
− | | <!-- Base Level --> | + | | <!-- Base Level --> |
| <!--fallPerDay-->0.333<!--/fallPerDay--> | | <!--fallPerDay-->0.333<!--/fallPerDay--> | ||
|<!-- Details --> | |<!-- Details --> | ||
Line 337: | Line 337: | ||
! <!--label-->{{ucfirst:alcohol}}<!--/label--> | ! <!--label-->{{ucfirst:alcohol}}<!--/label--> | ||
| <!--description-->Because of an alcohol addiction, this person needs to regularly consume alcohol to avoid withdrawal symptoms.<!--/description--> | | <!--description-->Because of an alcohol addiction, this person needs to regularly consume alcohol to avoid withdrawal symptoms.<!--/description--> | ||
− | | <!-- Base Level --> | + | | <!-- Base Level --> |
− | | <!-- Fall Per Day --> | + | | <!-- Fall Per Day --> |
|<!-- Details --> | |<!-- Details --> | ||
* Need Class: <!--needClass-->'''[[#Need_Chemical|Need_Chemical]]'''<!--/needClass--> | * Need Class: <!--needClass-->'''[[#Need_Chemical|Need_Chemical]]'''<!--/needClass--> | ||
Line 353: | Line 353: | ||
! <!--label-->{{ucfirst:ambrosia}}<!--/label--> | ! <!--label-->{{ucfirst:ambrosia}}<!--/label--> | ||
| <!--description-->Because of an ambrosia addiction, this person needs to regularly consume ambrosia to avoid withdrawal symptoms.<!--/description--> | | <!--description-->Because of an ambrosia addiction, this person needs to regularly consume ambrosia to avoid withdrawal symptoms.<!--/description--> | ||
− | | <!-- Base Level --> | + | | <!-- Base Level --> |
− | | <!-- Fall Per Day --> | + | | <!-- Fall Per Day --> |
|<!-- Details --> | |<!-- Details --> | ||
* Need Class: <!--needClass-->'''[[#Need_Chemical|Need_Chemical]]'''<!--/needClass--> | * Need Class: <!--needClass-->'''[[#Need_Chemical|Need_Chemical]]'''<!--/needClass--> | ||
Line 372: | Line 372: | ||
| Authority<!-- Label --> | | Authority<!-- Label --> | ||
| <!--description-->dummy need<!--/description--> | | <!--description-->dummy need<!--/description--> | ||
− | | <!-- Base Level --> | + | | <!-- Base Level --> |
− | | <!-- Fall Per Day --> | + | | <!-- Fall Per Day --> |
|<!-- Details --> | |<!-- Details --> | ||
* Need Class: <!--needClass-->'''[[#Need_Authority|Need_Authority]]'''<!--/needClass--> | * Need Class: <!--needClass-->'''[[#Need_Authority|Need_Authority]]'''<!--/needClass--> | ||
Line 409: | Line 409: | ||
| <!--description-->People with the deathrest gene must deathrest every few days or quadrums. Deathresting means entering a regenerative coma for several days, during which the rester appears dead.<br /><br />A variety of special buildings can connect to a deathresting person and give them bonuses upon waking.<br /><br />Going too long without deathrest will cause deathrest exhaustion, which massively degrades a person's physical capacities.<!--/description--> | | <!--description-->People with the deathrest gene must deathrest every few days or quadrums. Deathresting means entering a regenerative coma for several days, during which the rester appears dead.<br /><br />A variety of special buildings can connect to a deathresting person and give them bonuses upon waking.<br /><br />Going too long without deathrest will cause deathrest exhaustion, which massively degrades a person's physical capacities.<!--/description--> | ||
| <!--baseLevel-->0.01<!--/baseLevel--> | | <!--baseLevel-->0.01<!--/baseLevel--> | ||
− | | <!-- Fall Per Day --> | + | | <!-- Fall Per Day --> |
|<!-- Details --> | |<!-- Details --> | ||
* Need Class: <!--needClass-->'''[[#Need_Deathrest|Need_Deathrest]]'''<!--/needClass--> | * Need Class: <!--needClass-->'''[[#Need_Deathrest|Need_Deathrest]]'''<!--/needClass--> | ||
Line 423: | Line 423: | ||
| <!--description-->Kill satiety fulfills a built-in desire to do violence at close range to human victims. If it isn't satiated, the person will become very unhappy.<!--/description--> | | <!--description-->Kill satiety fulfills a built-in desire to do violence at close range to human victims. If it isn't satiated, the person will become very unhappy.<!--/description--> | ||
| <!--baseLevel-->0<!--/baseLevel--> | | <!--baseLevel-->0<!--/baseLevel--> | ||
− | | <!-- Fall Per Day --> | + | | <!-- Fall Per Day --> |
|<!-- Details --> | |<!-- Details --> | ||
* Need Class: <!--needClass-->'''[[#Need_KillThirst|Need_KillThirst]]'''<!--/needClass--> | * Need Class: <!--needClass-->'''[[#Need_KillThirst|Need_KillThirst]]'''<!--/needClass--> | ||
Line 436: | Line 436: | ||
! <!--label-->{{ucfirst:learning}}<!--/label--> | ! <!--label-->{{ucfirst:learning}}<!--/label--> | ||
| <!--description-->Children need new lessons and experiences to grow up well, and will become unhappy without them.<br /><br />Children will only do learning activities when their schedule is set to Recreation or Anything.<br /><br />Activities that fulfill a child's desire to learn include:<br />{ACTIVITIES}<br /><br />A satisfied learning need helps children gain growth tiers faster, giving them more passions and choices during growth moments.<!--/description--> | | <!--description-->Children need new lessons and experiences to grow up well, and will become unhappy without them.<br /><br />Children will only do learning activities when their schedule is set to Recreation or Anything.<br /><br />Activities that fulfill a child's desire to learn include:<br />{ACTIVITIES}<br /><br />A satisfied learning need helps children gain growth tiers faster, giving them more passions and choices during growth moments.<!--/description--> | ||
− | | <!-- Base Level --> | + | | <!-- Base Level --> |
− | | <!-- Fall Per Day --> | + | | <!-- Fall Per Day --> |
|<!-- Details --> | |<!-- Details --> | ||
* Need Class: <!--needClass-->'''[[#Need_Learning|Need_Learning]]'''<!--/needClass--> | * Need Class: <!--needClass-->'''[[#Need_Learning|Need_Learning]]'''<!--/needClass--> | ||
Line 450: | Line 450: | ||
! <!--label-->{{ucfirst:play}}<!--/label--> | ! <!--label-->{{ucfirst:play}}<!--/label--> | ||
| <!--description-->Babies need to be played with by adults. If they aren't played with, they will become unhappy.<!--/description--> | | <!--description-->Babies need to be played with by adults. If they aren't played with, they will become unhappy.<!--/description--> | ||
− | | <!-- Base Level --> | + | | <!-- Base Level --> |
− | | <!-- Fall Per Day --> | + | | <!-- Fall Per Day --> |
|<!-- Details --> | |<!-- Details --> | ||
* Need Class: <!--needClass-->'''[[#Need_Play|Need_Play]]'''<!--/needClass--> | * Need Class: <!--needClass-->'''[[#Need_Play|Need_Play]]'''<!--/needClass--> | ||
Line 464: | Line 464: | ||
! <!--label-->{{ucfirst:energy}}<!--/label--> | ! <!--label-->{{ucfirst:energy}}<!--/label--> | ||
| <!--description-->A reserve of bioelectric energy needed for a mechanoid to function. It can be recharged at a charging station. If it reaches zero, the mech will go into dormant self-charging mode and recharge very slowly.<!--/description--> | | <!--description-->A reserve of bioelectric energy needed for a mechanoid to function. It can be recharged at a charging station. If it reaches zero, the mech will go into dormant self-charging mode and recharge very slowly.<!--/description--> | ||
− | | <!-- Base Level --> | + | | <!-- Base Level --> |
− | | <!-- Fall Per Day --> | + | | <!-- Fall Per Day --> |
|<!-- Details --> | |<!-- Details --> | ||
* Need Class: <!--needClass-->'''[[#Need_MechEnergy|Need_MechEnergy]]'''<!--/needClass--> | * Need Class: <!--needClass-->'''[[#Need_MechEnergy|Need_MechEnergy]]'''<!--/needClass--> | ||
Line 481: | Line 481: | ||
<!--/div--> | <!--/div--> | ||
+ | |||
+ | === Need_Seeker === | ||
+ | |||
+ | // Token: 0x040045F3 RID: 17907 | ||
+ | private const float GUIArrowTolerance = 0.05f; | ||
=== Need_Mood === | === Need_Mood === | ||
+ | |||
+ | // Token: 0x040045B5 RID: 17845 | ||
+ | public ThoughtHandler thoughts; | ||
+ | |||
+ | // Token: 0x040045B6 RID: 17846 | ||
+ | public PawnObserver observer; | ||
+ | |||
+ | // Token: 0x040045B7 RID: 17847 | ||
+ | public PawnRecentMemory recentMemory; | ||
+ | |||
+ | // Token: 0x040045B8 RID: 17848 | ||
+ | private int lastInstantMoodCheckTick = -9999; | ||
+ | |||
+ | // Token: 0x040045B9 RID: 17849 | ||
+ | private float lastInstantMood = -1f; | ||
+ | |||
=== Need_Food === | === Need_Food === | ||
+ | |||
+ | // Token: 0x04004571 RID: 17777 | ||
+ | public int lastNonStarvingTick = -99999; | ||
+ | |||
+ | // Token: 0x04004572 RID: 17778 | ||
+ | public const float BaseFoodFallPerTick = 2.66666666E-05f; | ||
+ | |||
+ | // Token: 0x04004573 RID: 17779 | ||
+ | private const float BaseMalnutritionSeverityPerDay = 0.453f; | ||
+ | |||
+ | // Token: 0x04004574 RID: 17780 | ||
+ | private const float BaseMalnutritionSeverityPerInterval = 0.0011325f; | ||
+ | |||
+ | // Token: 0x04004575 RID: 17781 | ||
+ | private CompHoldingPlatformTarget platformComp; | ||
+ | |||
=== Need_Rest === | === Need_Rest === | ||
+ | |||
+ | // Token: 0x040045DC RID: 17884 | ||
+ | private int lastRestTick = -999; | ||
+ | |||
+ | // Token: 0x040045DD RID: 17885 | ||
+ | private float lastRestEffectiveness = 1f; | ||
+ | |||
+ | // Token: 0x040045DE RID: 17886 | ||
+ | private int ticksAtZero; | ||
+ | |||
+ | // Token: 0x040045DF RID: 17887 | ||
+ | private const float FullSleepHours = 10.5f; | ||
+ | |||
+ | // Token: 0x040045E0 RID: 17888 | ||
+ | public const float BaseRestGainPerTick = 3.809524E-05f; | ||
+ | |||
+ | // Token: 0x040045E1 RID: 17889 | ||
+ | private const float BaseRestFallPerTick = 1.58333332E-05f; | ||
+ | |||
+ | // Token: 0x040045E2 RID: 17890 | ||
+ | public const float ThreshTired = 0.28f; | ||
+ | |||
+ | // Token: 0x040045E3 RID: 17891 | ||
+ | public const float ThreshVeryTired = 0.14f; | ||
+ | |||
+ | // Token: 0x040045E4 RID: 17892 | ||
+ | public const float DefaultFallAsleepMaxLevel = 0.75f; | ||
+ | |||
+ | // Token: 0x040045E5 RID: 17893 | ||
+ | public const float DefaultNaturalWakeThreshold = 1f; | ||
+ | |||
+ | // Token: 0x040045E6 RID: 17894 | ||
+ | public const float CanWakeThreshold = 0.2f; | ||
+ | |||
+ | // Token: 0x040045E7 RID: 17895 | ||
+ | private const float BaseInvoluntarySleepMTBDays = 0.25f; | ||
+ | |||
=== Need_Joy === | === Need_Joy === | ||
+ | |||
+ | // Token: 0x0400459A RID: 17818 | ||
+ | public JoyToleranceSet tolerances = new JoyToleranceSet(); | ||
+ | |||
+ | // Token: 0x0400459B RID: 17819 | ||
+ | private int lastGainTick = -999; | ||
+ | |||
=== Need_Beauty === | === Need_Beauty === | ||
+ | |||
+ | // Token: 0x04004536 RID: 17718 | ||
+ | private const float BeautyImpactFactor = 0.1f; | ||
+ | |||
+ | // Token: 0x04004537 RID: 17719 | ||
+ | private const float ThreshVeryUgly = 0.01f; | ||
+ | |||
+ | // Token: 0x04004538 RID: 17720 | ||
+ | private const float ThreshUgly = 0.15f; | ||
+ | |||
+ | // Token: 0x04004539 RID: 17721 | ||
+ | private const float ThreshNeutral = 0.35f; | ||
+ | |||
+ | // Token: 0x0400453A RID: 17722 | ||
+ | private const float ThreshPretty = 0.65f; | ||
+ | |||
+ | // Token: 0x0400453B RID: 17723 | ||
+ | private const float ThreshVeryPretty = 0.85f; | ||
+ | |||
+ | // Token: 0x0400453C RID: 17724 | ||
+ | private const float ThreshBeautiful = 0.99f; | ||
+ | |||
+ | // Token: 0x0400453D RID: 17725 | ||
+ | private int lastInstantBeautyCheckTick = -9999; | ||
+ | |||
+ | // Token: 0x0400453E RID: 17726 | ||
+ | private float lastInstantBeauty = -1f; | ||
+ | |||
=== Need_Comfort === | === Need_Comfort === | ||
+ | |||
+ | // Token: 0x0400455B RID: 17755 | ||
+ | public float lastComfortUsed; | ||
+ | |||
+ | // Token: 0x0400455C RID: 17756 | ||
+ | public int lastComfortUseTick; | ||
+ | |||
+ | // Token: 0x0400455D RID: 17757 | ||
+ | private const float MinNormal = 0.1f; | ||
+ | |||
+ | // Token: 0x0400455E RID: 17758 | ||
+ | private const float MinComfortable = 0.6f; | ||
+ | |||
+ | // Token: 0x0400455F RID: 17759 | ||
+ | private const float MinVeryComfortable = 0.7f; | ||
+ | |||
+ | // Token: 0x04004560 RID: 17760 | ||
+ | private const float MinExtremelyComfortablee = 0.8f; | ||
+ | |||
+ | // Token: 0x04004561 RID: 17761 | ||
+ | private const float MinLuxuriantlyComfortable = 0.9f; | ||
+ | |||
+ | // Token: 0x04004562 RID: 17762 | ||
+ | public const int ComfortUseInterval = 10; | ||
+ | |||
=== Need_Outdoors === | === Need_Outdoors === | ||
+ | // Token: 0x040045C1 RID: 17857 | ||
+ | private const float Delta_IndoorsThickRoof = -0.45f; | ||
+ | |||
+ | // Token: 0x040045C2 RID: 17858 | ||
+ | private const float Delta_OutdoorsThickRoof = -0.4f; | ||
+ | |||
+ | // Token: 0x040045C3 RID: 17859 | ||
+ | private const float Delta_IndoorsThinRoof = -0.32f; | ||
+ | |||
+ | // Token: 0x040045C4 RID: 17860 | ||
+ | private const float Minimum_IndoorsThinRoof = 0.2f; | ||
+ | |||
+ | // Token: 0x040045C5 RID: 17861 | ||
+ | private const float Delta_OutdoorsThinRoof = 1f; | ||
+ | |||
+ | // Token: 0x040045C6 RID: 17862 | ||
+ | private const float Delta_IndoorsNoRoof = 5f; | ||
+ | |||
+ | // Token: 0x040045C7 RID: 17863 | ||
+ | private const float Delta_OutdoorsNoRoof = 8f; | ||
+ | |||
+ | // Token: 0x040045C8 RID: 17864 | ||
+ | private const float DeltaFactor_InBed = 0.2f; | ||
+ | |||
+ | // Token: 0x040045C9 RID: 17865 | ||
+ | private float lastEffectiveDelta; | ||
+ | |||
=== Need_Indoors === | === Need_Indoors === | ||
+ | |||
+ | // Token: 0x0400457D RID: 17789 | ||
+ | private static readonly float[] Thresholds = new float[] | ||
+ | { | ||
+ | 0.8f, | ||
+ | 0.6f, | ||
+ | 0.4f, | ||
+ | 0.2f, | ||
+ | 0.05f | ||
+ | }; | ||
+ | |||
+ | // Token: 0x0400457E RID: 17790 | ||
+ | private const float Max_NotUnderThickRoof = 0.5f; | ||
+ | |||
+ | // Token: 0x0400457F RID: 17791 | ||
+ | private const float Delta_Indoors_ThickRoof = 2f; | ||
+ | |||
+ | // Token: 0x04004580 RID: 17792 | ||
+ | private const float Delta_Indoors_ThinRoof = 1f; | ||
+ | |||
+ | // Token: 0x04004581 RID: 17793 | ||
+ | private const float Delta_Indoors_NoRoof = 0f; | ||
+ | |||
+ | // Token: 0x04004582 RID: 17794 | ||
+ | private const float Delta_Outdoors_ThickRoof = 0f; | ||
+ | |||
+ | // Token: 0x04004583 RID: 17795 | ||
+ | private const float Delta_Outdoors_ThinRoof = -0.25f; | ||
+ | |||
+ | // Token: 0x04004584 RID: 17796 | ||
+ | private const float Delta_Outdoors_NoRoof = -0.25f; | ||
+ | |||
+ | // Token: 0x04004585 RID: 17797 | ||
+ | private const float Delta_NotUnderThickRoofOverThreshold = -0.5f; | ||
+ | |||
+ | // Token: 0x04004586 RID: 17798 | ||
+ | private float lastEffectiveDelta; | ||
=== Need_Chemical_Any === | === Need_Chemical_Any === | ||
+ | <div> | ||
** {{+|0.2}} gain for ingesting [[Social drugs]] | ** {{+|0.2}} gain for ingesting [[Social drugs]] | ||
** {{+|0.3}} gain for ingesting [[Hard drugs]] | ** {{+|0.3}} gain for ingesting [[Hard drugs]] | ||
Line 627: | Line 826: | ||
| 1.15 | | 1.15 | ||
|} | |} | ||
+ | </div> | ||
+ | |||
+ | <div> | ||
+ | // Token: 0x0400454A RID: 17738 | ||
+ | public const int InterestTraitDegree = 1; | ||
+ | |||
+ | // Token: 0x0400454B RID: 17739 | ||
+ | public const int FascinationTraitDegree = 2; | ||
+ | |||
+ | // Token: 0x0400454C RID: 17740 | ||
+ | private const float FallPerTickFactorForChemicalFascination = 1.25f; | ||
+ | |||
+ | // Token: 0x0400454D RID: 17741 | ||
+ | public const float GainForHardDrugIngestion = 0.3f; | ||
+ | |||
+ | // Token: 0x0400454E RID: 17742 | ||
+ | public const float GainForSocialDrugIngestion = 0.2f; | ||
+ | |||
+ | // Token: 0x0400454F RID: 17743 | ||
+ | private static readonly SimpleCurve InterestDegreeFallCurve = new SimpleCurve | ||
+ | { | ||
+ | { | ||
+ | new CurvePoint(0f, 0.3f), | ||
+ | true | ||
+ | }, | ||
+ | { | ||
+ | new CurvePoint(Need_Chemical_Any.FascinationDegreeLevelThresholdsForMood.negative, 0.6f), | ||
+ | true | ||
+ | }, | ||
+ | { | ||
+ | new CurvePoint(Need_Chemical_Any.FascinationDegreeLevelThresholdsForMood.negative + 0.001f, 1f), | ||
+ | true | ||
+ | }, | ||
+ | { | ||
+ | new CurvePoint(Need_Chemical_Any.FascinationDegreeLevelThresholdsForMood.positive, 1f), | ||
+ | true | ||
+ | }, | ||
+ | { | ||
+ | new CurvePoint(1f, 1f), | ||
+ | true | ||
+ | } | ||
+ | }; | ||
+ | |||
+ | // Token: 0x04004550 RID: 17744 | ||
+ | private static readonly SimpleCurve FascinationDegreeFallCurve = new SimpleCurve | ||
+ | { | ||
+ | { | ||
+ | new CurvePoint(0f, 0.4f), | ||
+ | true | ||
+ | }, | ||
+ | { | ||
+ | new CurvePoint(Need_Chemical_Any.FascinationDegreeLevelThresholdsForMood.negative, 0.7f), | ||
+ | true | ||
+ | }, | ||
+ | { | ||
+ | new CurvePoint(Need_Chemical_Any.FascinationDegreeLevelThresholdsForMood.negative + 0.001f, 1f), | ||
+ | true | ||
+ | }, | ||
+ | { | ||
+ | new CurvePoint(Need_Chemical_Any.FascinationDegreeLevelThresholdsForMood.positive, 1f), | ||
+ | true | ||
+ | }, | ||
+ | { | ||
+ | new CurvePoint(1f, 1.15f), | ||
+ | true | ||
+ | } | ||
+ | }; | ||
+ | |||
+ | // Token: 0x04004551 RID: 17745 | ||
+ | private static readonly Need_Chemical_Any.LevelThresholds FascinationDegreeLevelThresholdsForMood = new Need_Chemical_Any.LevelThresholds | ||
+ | { | ||
+ | extremelyNegative = 0.1f, | ||
+ | veryNegative = 0.25f, | ||
+ | negative = 0.4f, | ||
+ | positive = 0.7f, | ||
+ | veryPositive = 0.85f | ||
+ | }; | ||
+ | |||
+ | // Token: 0x04004552 RID: 17746 | ||
+ | private static readonly Need_Chemical_Any.LevelThresholds InterestDegreeLevelThresholdsForMood = new Need_Chemical_Any.LevelThresholds | ||
+ | { | ||
+ | extremelyNegative = 0.01f, | ||
+ | veryNegative = 0.15f, | ||
+ | negative = 0.3f, | ||
+ | positive = 0.6f, | ||
+ | veryPositive = 0.75f | ||
+ | }; | ||
+ | |||
+ | // Token: 0x04004553 RID: 17747 | ||
+ | private Trait lastThresholdUpdateTraitRef; | ||
+ | |||
+ | // Token: 0x02002E19 RID: 11801 | ||
+ | public enum MoodBuff | ||
+ | { | ||
+ | // Token: 0x0400B407 RID: 46087 | ||
+ | ExtremelyNegative, | ||
+ | // Token: 0x0400B408 RID: 46088 | ||
+ | VeryNegative, | ||
+ | // Token: 0x0400B409 RID: 46089 | ||
+ | Negative, | ||
+ | // Token: 0x0400B40A RID: 46090 | ||
+ | Neutral, | ||
+ | // Token: 0x0400B40B RID: 46091 | ||
+ | Positive, | ||
+ | // Token: 0x0400B40C RID: 46092 | ||
+ | VeryPositive | ||
+ | } | ||
+ | |||
+ | // Token: 0x02002E1A RID: 11802 | ||
+ | public struct LevelThresholds | ||
+ | { | ||
+ | // Token: 0x0400B40D RID: 46093 | ||
+ | public float extremelyNegative; | ||
+ | |||
+ | // Token: 0x0400B40E RID: 46094 | ||
+ | public float veryNegative; | ||
+ | |||
+ | // Token: 0x0400B40F RID: 46095 | ||
+ | public float negative; | ||
+ | |||
+ | // Token: 0x0400B410 RID: 46096 | ||
+ | public float positive; | ||
+ | |||
+ | // Token: 0x0400B411 RID: 46097 | ||
+ | public float veryPositive; | ||
+ | } | ||
+ | </div> | ||
=== Need_RoomSize === | === Need_RoomSize === | ||
+ | |||
+ | // Token: 0x040045ED RID: 17901 | ||
+ | private static List<Room> tempScanRooms = new List<Room>(); | ||
+ | |||
+ | // Token: 0x040045EE RID: 17902 | ||
+ | private const float MinCramped = 0.01f; | ||
+ | |||
+ | // Token: 0x040045EF RID: 17903 | ||
+ | private const float MinNormal = 0.3f; | ||
+ | |||
+ | // Token: 0x040045F0 RID: 17904 | ||
+ | private const float MinSpacious = 0.7f; | ||
+ | |||
+ | // Token: 0x040045F1 RID: 17905 | ||
+ | public static readonly int SampleNumCells = GenRadial.NumCellsInRadius(7.9f); | ||
+ | |||
+ | // Token: 0x040045F2 RID: 17906 | ||
+ | private static readonly SimpleCurve RoomCellCountSpaceCurve = new SimpleCurve | ||
+ | { | ||
+ | { | ||
+ | new CurvePoint(3f, 0f), | ||
+ | true | ||
+ | }, | ||
+ | { | ||
+ | new CurvePoint(9f, 0.25f), | ||
+ | true | ||
+ | }, | ||
+ | { | ||
+ | new CurvePoint(16f, 0.5f), | ||
+ | true | ||
+ | }, | ||
+ | { | ||
+ | new CurvePoint(42f, 0.71f), | ||
+ | true | ||
+ | }, | ||
+ | { | ||
+ | new CurvePoint(100f, 1f), | ||
+ | true | ||
+ | } | ||
+ | }; | ||
+ | |||
=== Need_Chemical === | === Need_Chemical === | ||
+ | Drug Desire Category: | ||
+ | * Withdrawal | ||
+ | * Desire | ||
+ | * Satisfied | ||
+ | |||
+ | If CurLevel > 0.1: Satisfied | ||
+ | If CurLevel > 0.01: Desire | ||
+ | Else: Withdrawal | ||
+ | |||
+ | |||
+ | ChemicalFallPerTick = fallPerDay / 60000 | ||
+ | |||
+ | Need Interval | ||
+ | * CurLevel -= this.ChemicalFallPerTick * 150 | ||
+ | |||
+ | ThreshPercents: | ||
+ | * 0.1 | ||
+ | |||
+ | Initial Level: 0.8~1 | ||
+ | |||
+ | // Token: 0x04004548 RID: 17736 | ||
+ | private const float ThreshDesire = 0.01f; | ||
+ | |||
+ | // Token: 0x04004549 RID: 17737 | ||
+ | private const float ThreshSatisfied = 0.1f; | ||
+ | |||
=== Need_Authority === | === Need_Authority === | ||
+ | // Token: 0x0400452B RID: 17707 | ||
+ | public const float LevelGainPerDayOfReigning = 2f; | ||
+ | |||
+ | // Token: 0x0400452C RID: 17708 | ||
+ | public const float LevelGainPerDayOfGivingSpeech = 3f; | ||
+ | |||
+ | // Token: 0x0400452D RID: 17709 | ||
+ | private readonly SimpleCurve FallFactorCurve = new SimpleCurve | ||
+ | { | ||
+ | { | ||
+ | new CurvePoint(1f, 0f), | ||
+ | true | ||
+ | }, | ||
+ | { | ||
+ | new CurvePoint(3f, 0.5f), | ||
+ | true | ||
+ | }, | ||
+ | { | ||
+ | new CurvePoint(5f, 1f), | ||
+ | true | ||
+ | } | ||
+ | }; | ||
+ | |||
=== Need_Suppression === | === Need_Suppression === | ||
+ | Can be suppressed now when CurLevel < 0.7 | ||
+ | |||
+ | Is high when CurLevel < 0.3 | ||
+ | |||
+ | Need Interval | ||
+ | * <code>CurLevel -= 0.0025 × [[Slave Suppression Fall Rate]]</code> | ||
+ | |||
+ | // Token: 0x040045F4 RID: 17908 | ||
+ | private const float CanSuppressMaxThreshold = 0.7f; | ||
+ | |||
+ | // Token: 0x040045F5 RID: 17909 | ||
+ | private const float SuppressCriticalThreshold = 0.3f; | ||
+ | |||
=== Need_Deathrest === | === Need_Deathrest === | ||
+ | |||
+ | // Token: 0x04004563 RID: 17763 | ||
+ | public int lastDeathrestTick = -999; | ||
+ | |||
+ | // Token: 0x04004564 RID: 17764 | ||
+ | [Unsaved(false)] | ||
+ | private Gene_Deathrest cachedDeathrestGene; | ||
+ | |||
+ | // Token: 0x04004565 RID: 17765 | ||
+ | public const float LevelForAlert = 0.1f; | ||
+ | |||
+ | // Token: 0x04004566 RID: 17766 | ||
+ | public const float FallPerDay = 0.0333333351f; | ||
+ | |||
+ | // Token: 0x04004567 RID: 17767 | ||
+ | public const float GainPerDayDeathresting = 0.2f; | ||
+ | |||
+ | // Token: 0x04004568 RID: 17768 | ||
+ | private const float Interval = 400f; | ||
+ | |||
+ | // Token: 0x04004569 RID: 17769 | ||
+ | public const float HemogenGainPerDayDeathrest = 0.08f; | ||
+ | |||
=== Need_KillThirst === | === Need_KillThirst === | ||
+ | Is Frozen when biological pawn age < 13 or IsFrozen = true | ||
+ | |||
+ | Show On Needs List when pawn biological age ≥ 13 and ShowOnNeedsList = true | ||
+ | |||
+ | ThreshPercents | ||
+ | * 0.3 | ||
+ | |||
+ | Need Interval | ||
+ | * CurLevel -= 8.333333E-05 | ||
+ | |||
+ | |||
+ | Do Kill Side Effects | ||
+ | * If there is an associated weapon body part group, weapon linked hediff, or weapon is a melee weapon: | ||
+ | * CurLevel = 1 | ||
+ | |||
+ | |||
+ | // Token: 0x0400459C RID: 17820 | ||
+ | public const float FallPerDay = 0.0333333351f; | ||
+ | |||
+ | // Token: 0x0400459D RID: 17821 | ||
+ | private const float MinAgeForNeed = 13f; | ||
+ | |||
=== Need_Learning === | === Need_Learning === | ||
+ | IsFrozen when deathresting | ||
+ | |||
+ | Learning Categories: | ||
+ | * Empty | ||
+ | * Very Low | ||
+ | * Low | ||
+ | * Satisfied | ||
+ | * High | ||
+ | * Extreme | ||
+ | |||
+ | Current Category: | ||
+ | {| {{STDT}} | ||
+ | ! Current Level !! Play Category | ||
+ | |- | ||
+ | ! < 0.01 | ||
+ | | Empty | ||
+ | |- | ||
+ | ! < 0.15 | ||
+ | | Very Low | ||
+ | |- | ||
+ | ! < 0.3 | ||
+ | | Low | ||
+ | |- | ||
+ | ! < 0.7 | ||
+ | | Satisfied | ||
+ | |- | ||
+ | ! < 0.85 | ||
+ | | High | ||
+ | |- | ||
+ | ! ≥ 0.85 | ||
+ | | Extreme | ||
+ | |} | ||
+ | |||
+ | threshPercents: | ||
+ | * 0.15 | ||
+ | * 0.3 | ||
+ | * 0.7 | ||
+ | * 0.85 | ||
+ | |||
+ | Need Interval: | ||
+ | * CurLevel -= 0.000450000021 | ||
+ | * growthPoints += GrowthPointsPerDay * 0.0025 | ||
+ | |||
+ | // Token: 0x040045A5 RID: 17829 | ||
+ | private static string learningActivitiesLineList; | ||
+ | |||
+ | // Token: 0x040045A6 RID: 17830 | ||
+ | public const float BaseFallPerTick = 3E-06f; | ||
+ | |||
+ | // Token: 0x040045A7 RID: 17831 | ||
+ | public const float BaseFallPerInterval = 0.000450000021f; | ||
+ | |||
+ | // Token: 0x040045A8 RID: 17832 | ||
+ | public const float ThresholdEmpty = 0.01f; | ||
+ | |||
+ | // Token: 0x040045A9 RID: 17833 | ||
+ | public const float ThresholdLow = 0.15f; | ||
+ | |||
+ | // Token: 0x040045AA RID: 17834 | ||
+ | public const float ThresholdSatisfied = 0.3f; | ||
+ | |||
+ | // Token: 0x040045AB RID: 17835 | ||
+ | public const float ThresholdHigh = 0.7f; | ||
+ | |||
+ | // Token: 0x040045AC RID: 17836 | ||
+ | public const float ThresholdVeryHigh = 0.85f; | ||
+ | |||
+ | // Token: 0x040045AD RID: 17837 | ||
+ | public const float IconSize = 30f; | ||
+ | |||
+ | // Token: 0x040045AE RID: 17838 | ||
+ | public const float IconPad = 5f; | ||
+ | |||
+ | LearningUtility: | ||
+ | // Token: 0x04002B2E RID: 11054 | ||
+ | public const float NeedSatisfiedPerTick = 1.2E-05f; | ||
+ | |||
+ | // Token: 0x04002B2F RID: 11055 | ||
+ | public const float StartJobMaxLearning = 0.9f; | ||
+ | |||
+ | // Token: 0x04002B30 RID: 11056 | ||
+ | private const float EndJobMaxLearning = 0.999f; | ||
+ | |||
+ | // Token: 0x04002B31 RID: 11057 | ||
+ | public const float LearningRateBonusOffset_Blackboard = 0.2f; | ||
+ | |||
+ | // Token: 0x04002B32 RID: 11058 | ||
+ | public const int MaxConnectedBlackboards = 3; | ||
+ | |||
+ | ==== Learning Desires ==== | ||
+ | {| {{STDT}} | ||
+ | ! Def Name !! Label !! Description !! Worker Class !! Icon !! Job Def !! Selection Weight !! XP Per Tick | ||
+ | |- | ||
+ | ! Skydreaming | ||
+ | | sky dreaming | ||
+ | | Find a spot outside and watch the sky. Requires access to the outdoors. | ||
+ | | LearningGiver_Skydreaming | ||
+ | | [[File:Sky dreaming learning.png]] | ||
+ | | Skydreaming | ||
+ | | 1 | ||
+ | | - | ||
+ | |- | ||
+ | ! Radiotalking | ||
+ | | radio talking | ||
+ | | Chat with people over the radio. Requires a powered comms console. | ||
+ | | LearningGiver_Radiotalking | ||
+ | | [[File:Radio talking learning.png]] | ||
+ | | Radiotalking | ||
+ | | 1 | ||
+ | | - | ||
+ | |- | ||
+ | ! Floordrawing | ||
+ | | floor drawing | ||
+ | | Draw designs on the ground using chalk. A cleaner will eventually remove the drawings. | ||
+ | | LearningGiver_Floordrawing | ||
+ | | [[File:Floor drawing learning.png]] | ||
+ | | Floordrawing | ||
+ | | 1 | ||
+ | | - | ||
+ | |- | ||
+ | ! NatureRunning | ||
+ | | nature running | ||
+ | | Explore the local outdoors. Requires access to the outdoors. | ||
+ | | LearningGiver_NatureRunning | ||
+ | | [[File:Nature running learning.png]] | ||
+ | | NatureRunning | ||
+ | | 1 | ||
+ | | - | ||
+ | |- | ||
+ | ! Workwatching | ||
+ | | work watching | ||
+ | | Follow an adult and watch them as they work. This gives experience in skills. | ||
+ | | LearningGiver_Workwatching | ||
+ | | [[File:Work watching learning.png]] | ||
+ | | Workwatching | ||
+ | | 1 | ||
+ | | 0.16 | ||
+ | |- | ||
+ | ! Lessontaking | ||
+ | | lesson taking | ||
+ | | An adult assigned to childcare will teach about various topics. This gives experience in skills. Requires a school desk. | ||
+ | | LearningGiver_Lessontaking | ||
+ | | [[File:Lesson taking learning.png]] | ||
+ | | Lessontaking | ||
+ | | 2.5 | ||
+ | | 0.25 | ||
+ | |- | ||
+ | ! Reading | ||
+ | | reading | ||
+ | | Find a book and practice reading. | ||
+ | | LearningGiver_Reading | ||
+ | | [[File:Reading learning.png]] | ||
+ | | Reading | ||
+ | | 1 | ||
+ | | - | ||
+ | |} | ||
+ | |||
=== Need_Play === | === Need_Play === | ||
+ | Is low when current level percentage < 0.15 | ||
+ | |||
+ | Play Categories: | ||
+ | * Empty | ||
+ | * Very Low | ||
+ | * Low | ||
+ | * Satisfied | ||
+ | * High | ||
+ | * Extreme | ||
+ | |||
+ | Current Category: | ||
+ | {| {{STDT}} | ||
+ | ! Current Level !! Play Category | ||
+ | |- | ||
+ | ! < 0.01 | ||
+ | | Empty | ||
+ | |- | ||
+ | ! < 0.15 | ||
+ | | Very Low | ||
+ | |- | ||
+ | ! < 0.3 | ||
+ | | Low | ||
+ | |- | ||
+ | ! < 0.7 | ||
+ | | Satisfied | ||
+ | |- | ||
+ | ! < 0.85 | ||
+ | | High | ||
+ | |- | ||
+ | ! ≥ 0.88 | ||
+ | | Extreme | ||
+ | |} | ||
+ | |||
+ | threshPercents: | ||
+ | * 0.15 | ||
+ | * 0.3 | ||
+ | * 0.7 | ||
+ | * 0.85 | ||
+ | |||
+ | Need Interval: | ||
+ | * CurLevel -= 0.00025 | ||
+ | |||
+ | // Token: 0x040045D1 RID: 17873 | ||
+ | public const float BaseFallPerInterval = 0.00025f; | ||
+ | |||
+ | // Token: 0x040045D2 RID: 17874 | ||
+ | public const float ThresholdEmpty = 0.01f; | ||
+ | |||
+ | // Token: 0x040045D3 RID: 17875 | ||
+ | public const float ThresholdLow = 0.15f; | ||
+ | |||
+ | // Token: 0x040045D4 RID: 17876 | ||
+ | public const float ThresholdSatisfied = 0.3f; | ||
+ | |||
+ | // Token: 0x040045D5 RID: 17877 | ||
+ | public const float ThresholdHigh = 0.7f; | ||
+ | |||
+ | // Token: 0x040045D6 RID: 17878 | ||
+ | public const float ThresholdVeryHigh = 0.85f; | ||
+ | |||
+ | |||
+ | BabyPlayUtility: | ||
+ | |||
+ | // Token: 0x04002B43 RID: 11075 | ||
+ | private const float PlayPerTick = 0.0002f; | ||
+ | |||
+ | // Token: 0x04002B44 RID: 11076 | ||
+ | private const float EndJobMaxPlay = 0.99f; | ||
+ | |||
+ | // Token: 0x04002B45 RID: 11077 | ||
+ | private const float MaxBabyDecorationDistance = 9.9f; | ||
+ | |||
+ | |||
+ | |||
+ | |||
=== Need_MechEnergy === | === Need_MechEnergy === | ||
+ | Defaults: | ||
+ | * Max Mech Energy: 100 | ||
+ | |||
+ | Base Fall Per Day: | ||
+ | * While Active: 10 | ||
+ | * While idle or gestating: 3 | ||
+ | |||
+ | Fall Per Day: | ||
+ | If Pawn is downed, not awake, is in self shutdown, is charging, or is caravan member: Fall Per Day = 0 | ||
+ | |||
+ | <code>Fall Per Day = Base Fall Per Day × [[Energy Usage Multiplier]]</code> | ||
+ | |||
+ | |||
+ | Need Update Interval = 150 | ||
+ | |||
+ | Ticks in a Day = 60,000 | ||
+ | |||
+ | Therefore, there are 400 Need Update Intervals in a day | ||
+ | |||
+ | |||
+ | Need Interval | ||
+ | * num = 400 | ||
+ | |||
+ | If not in self shutdown: | ||
+ | * CurLevel -= Fall Per Day / num | ||
+ | |||
+ | If in self shutdown: | ||
+ | * CurLevel += 1 / num | ||
+ | |||
+ | If Curlevel ≤ 0: | ||
+ | * mech is in self shutdown | ||
+ | * Find a nearby spot to shutdown at | ||
+ | * Add [[Hediffs#Dormant_self-charging|Dormant self-charging]] Hediff | ||
+ | |||
+ | If Curlevel ≤ 15 or mech is charging: | ||
+ | * mech is not in self shutdown | ||
+ | * Remove [[Hediffs#Dormant_self-charging|Dormant self-charging]] Hediff | ||
+ | |||
+ | // Token: 0x040045AF RID: 17839 | ||
+ | private bool selfShutdown; | ||
+ | |||
+ | // Token: 0x040045B0 RID: 17840 | ||
+ | public Building_MechCharger currentCharger; | ||
+ | |||
+ | // Token: 0x040045B1 RID: 17841 | ||
+ | public const float BaseFallPerDayActive = 10f; | ||
+ | |||
+ | // Token: 0x040045B2 RID: 17842 | ||
+ | public const float BaseFallPerDayIdle = 3f; | ||
+ | |||
+ | // Token: 0x040045B3 RID: 17843 | ||
+ | public const float BaseGainPerDaySelfShutdown = 1f; | ||
+ | |||
+ | // Token: 0x040045B4 RID: 17844 | ||
+ | public const float ShutdownUntil = 15f; | ||
+ | |||
+ | |||
+ | === temp === | ||
+ | ≤ | ||
+ | ≥ | ||
+ | {| {{STDT}} | ||
+ | ! !! | ||
+ | |- | ||
+ | ! | ||
+ | | | ||
+ | |- | ||
+ | ! | ||
+ | | | ||
+ | |- | ||
+ | ! | ||
+ | | | ||
+ | |- | ||
+ | ! | ||
+ | | | ||
+ | |- | ||
+ | ! | ||
+ | | | ||
+ | |- | ||
+ | ! | ||
+ | | | ||
+ | |} | ||
== Thoughts == | == Thoughts == |
Revision as of 05:18, 21 October 2024
Needs
Defaults:
- developmentalStageFilter = DevelopmentalStage.Child | DevelopmentalStage.Adult;
- showOnNeedList = true;
- baseLevel = 0.5f;
- fallPerDay = 0.5f;
Developmental Stage Filter | Show On Need List | Base Level | Fall Per Day |
---|---|---|---|
Child, Adult | true | 0.5 | 0.5 |
Name | Description | Base Level | Fall Per Day | Details | List Priority |
---|---|---|---|---|---|
Mood | Mood represents how happy or stressed someone is. If mood gets too low, the person may suffer a mental break. Depending on how low their mood is, someone who has a mental break may have a minor breaks like hiding in their room for a day, or a major break like going on a murder spree. | 0.32 |
|
1000 | |
Food | Food is the amount of nutrition a creature has consumed recently. If it is at zero, a creature will become increasingly malnourished and eventually die. |
|
800 | ||
Sleep | Sleep is how much time a creature has spent sleeping recently. If it is at zero, a creature will eventually fall asleep on the spot. |
|
700 | ||
Recreation | Recreation is the need to have fun. Repeating the same kind of activity makes it less fun, so variety is necessary. |
|
500 | ||
Beauty | Beauty reflects how visually pleasing a person has found their surroundings recently. Beautiful things like art improve beauty when viewed, while ugly things like filth and rough stone surfaces reduce it. | 0.4 |
|
300 | |
Comfort | Comfort is gained by sitting in or sleeping on comfortable furniture. It is acquired while laying in bed, sitting in a chair while working, or other times. |
|
200 | ||
Outdoors | Outdoors expresses the need not to be cooped up inside. It is harmed by long periods inside, especially underground. It improves when someone spends time under the sky, especially outdoors. It's not about the size of the rooms, but the need to be outside from time to time. Lack of outdoors time is a significant challenge for people who dwell in underground bases. |
|
100 | ||
Indoors | Indoors expresses the need to be within walls and under a roof. It is harmed by spending time in outdoor areas or not under roofs. To raise this need past 50%, a person must be under an overhead mountain, not just a normal roof. |
|
100 | ||
Chemical | Chemical expresses the desire to ingest drugs. When above a certain level it will create good mood, but when below a certain level it will create increasingly bad mood. | 0.071 |
|
150 | |
Room size | - |
|
100
| ||
Go-juice | Because of a go-juice addiction, this person needs to regularly consume the drug to avoid withdrawal symptoms. | 0.333 |
|
45
| |
Luciferium | This person's body is enhanced by luciferium mechanites. Without regular doses of luciferium, the mechanites will lose cohesion. If this happens, the user becomes continuously, violently insane and eventually dies. This addiction never goes away. |
0.15 |
|
45
| |
Psychite | Because of a psychite addiction, this person needs to regularly consume the drug to avoid withdrawal symptoms. |
|
50
| ||
Smokeleaf | Because of a smokeleaf dependence, this person needs to regularly consume the drug to avoid withdrawal symptoms. |
|
25
| ||
Wake-up | Because of a wake-up addiction, this person needs to regularly consume the drug to avoid withdrawal symptoms. | 0.333 |
|
40
| |
Alcohol | Because of an alcohol addiction, this person needs to regularly consume alcohol to avoid withdrawal symptoms. |
|
35
| ||
Ambrosia | Because of an ambrosia addiction, this person needs to regularly consume ambrosia to avoid withdrawal symptoms. |
|
20
| ||
Authority | dummy need |
|
-
| ||
Suppression | - | 0.5 | 0 |
|
-
|
Deathrest | People with the deathrest gene must deathrest every few days or quadrums. Deathresting means entering a regenerative coma for several days, during which the rester appears dead. A variety of special buildings can connect to a deathresting person and give them bonuses upon waking. Going too long without deathrest will cause deathrest exhaustion, which massively degrades a person's physical capacities. |
0.01 |
|
600 | |
Kill satiety | Kill satiety fulfills a built-in desire to do violence at close range to human victims. If it isn't satiated, the person will become very unhappy. | 0 |
|
- | |
Learning | Children need new lessons and experiences to grow up well, and will become unhappy without them. Children will only do learning activities when their schedule is set to Recreation or Anything. Activities that fulfill a child's desire to learn include: {ACTIVITIES} A satisfied learning need helps children gain growth tiers faster, giving them more passions and choices during growth moments. |
|
500 | ||
Play | Babies need to be played with by adults. If they aren't played with, they will become unhappy. |
|
550 | ||
Energy | A reserve of bioelectric energy needed for a mechanoid to function. It can be recharged at a charging station. If it reaches zero, the mech will go into dormant self-charging mode and recharge very slowly. |
|
10000 |
Need_Seeker
// Token: 0x040045F3 RID: 17907 private const float GUIArrowTolerance = 0.05f;
Need_Mood
// Token: 0x040045B5 RID: 17845 public ThoughtHandler thoughts;
// Token: 0x040045B6 RID: 17846 public PawnObserver observer;
// Token: 0x040045B7 RID: 17847 public PawnRecentMemory recentMemory;
// Token: 0x040045B8 RID: 17848 private int lastInstantMoodCheckTick = -9999;
// Token: 0x040045B9 RID: 17849 private float lastInstantMood = -1f;
Need_Food
// Token: 0x04004571 RID: 17777 public int lastNonStarvingTick = -99999;
// Token: 0x04004572 RID: 17778 public const float BaseFoodFallPerTick = 2.66666666E-05f;
// Token: 0x04004573 RID: 17779 private const float BaseMalnutritionSeverityPerDay = 0.453f;
// Token: 0x04004574 RID: 17780 private const float BaseMalnutritionSeverityPerInterval = 0.0011325f;
// Token: 0x04004575 RID: 17781 private CompHoldingPlatformTarget platformComp;
Need_Rest
// Token: 0x040045DC RID: 17884 private int lastRestTick = -999;
// Token: 0x040045DD RID: 17885 private float lastRestEffectiveness = 1f;
// Token: 0x040045DE RID: 17886 private int ticksAtZero;
// Token: 0x040045DF RID: 17887 private const float FullSleepHours = 10.5f;
// Token: 0x040045E0 RID: 17888 public const float BaseRestGainPerTick = 3.809524E-05f;
// Token: 0x040045E1 RID: 17889 private const float BaseRestFallPerTick = 1.58333332E-05f;
// Token: 0x040045E2 RID: 17890 public const float ThreshTired = 0.28f;
// Token: 0x040045E3 RID: 17891 public const float ThreshVeryTired = 0.14f;
// Token: 0x040045E4 RID: 17892 public const float DefaultFallAsleepMaxLevel = 0.75f;
// Token: 0x040045E5 RID: 17893 public const float DefaultNaturalWakeThreshold = 1f;
// Token: 0x040045E6 RID: 17894 public const float CanWakeThreshold = 0.2f;
// Token: 0x040045E7 RID: 17895 private const float BaseInvoluntarySleepMTBDays = 0.25f;
Need_Joy
// Token: 0x0400459A RID: 17818 public JoyToleranceSet tolerances = new JoyToleranceSet();
// Token: 0x0400459B RID: 17819 private int lastGainTick = -999;
Need_Beauty
// Token: 0x04004536 RID: 17718 private const float BeautyImpactFactor = 0.1f;
// Token: 0x04004537 RID: 17719 private const float ThreshVeryUgly = 0.01f;
// Token: 0x04004538 RID: 17720 private const float ThreshUgly = 0.15f;
// Token: 0x04004539 RID: 17721 private const float ThreshNeutral = 0.35f;
// Token: 0x0400453A RID: 17722 private const float ThreshPretty = 0.65f;
// Token: 0x0400453B RID: 17723 private const float ThreshVeryPretty = 0.85f;
// Token: 0x0400453C RID: 17724 private const float ThreshBeautiful = 0.99f;
// Token: 0x0400453D RID: 17725 private int lastInstantBeautyCheckTick = -9999;
// Token: 0x0400453E RID: 17726 private float lastInstantBeauty = -1f;
Need_Comfort
// Token: 0x0400455B RID: 17755 public float lastComfortUsed;
// Token: 0x0400455C RID: 17756 public int lastComfortUseTick;
// Token: 0x0400455D RID: 17757 private const float MinNormal = 0.1f;
// Token: 0x0400455E RID: 17758 private const float MinComfortable = 0.6f;
// Token: 0x0400455F RID: 17759 private const float MinVeryComfortable = 0.7f;
// Token: 0x04004560 RID: 17760 private const float MinExtremelyComfortablee = 0.8f;
// Token: 0x04004561 RID: 17761 private const float MinLuxuriantlyComfortable = 0.9f;
// Token: 0x04004562 RID: 17762 public const int ComfortUseInterval = 10;
Need_Outdoors
// Token: 0x040045C1 RID: 17857 private const float Delta_IndoorsThickRoof = -0.45f;
// Token: 0x040045C2 RID: 17858 private const float Delta_OutdoorsThickRoof = -0.4f;
// Token: 0x040045C3 RID: 17859 private const float Delta_IndoorsThinRoof = -0.32f;
// Token: 0x040045C4 RID: 17860 private const float Minimum_IndoorsThinRoof = 0.2f;
// Token: 0x040045C5 RID: 17861 private const float Delta_OutdoorsThinRoof = 1f;
// Token: 0x040045C6 RID: 17862 private const float Delta_IndoorsNoRoof = 5f;
// Token: 0x040045C7 RID: 17863 private const float Delta_OutdoorsNoRoof = 8f;
// Token: 0x040045C8 RID: 17864 private const float DeltaFactor_InBed = 0.2f;
// Token: 0x040045C9 RID: 17865 private float lastEffectiveDelta;
Need_Indoors
// Token: 0x0400457D RID: 17789 private static readonly float[] Thresholds = new float[] { 0.8f, 0.6f, 0.4f, 0.2f, 0.05f };
// Token: 0x0400457E RID: 17790 private const float Max_NotUnderThickRoof = 0.5f;
// Token: 0x0400457F RID: 17791 private const float Delta_Indoors_ThickRoof = 2f;
// Token: 0x04004580 RID: 17792 private const float Delta_Indoors_ThinRoof = 1f;
// Token: 0x04004581 RID: 17793 private const float Delta_Indoors_NoRoof = 0f;
// Token: 0x04004582 RID: 17794 private const float Delta_Outdoors_ThickRoof = 0f;
// Token: 0x04004583 RID: 17795 private const float Delta_Outdoors_ThinRoof = -0.25f;
// Token: 0x04004584 RID: 17796 private const float Delta_Outdoors_NoRoof = -0.25f;
// Token: 0x04004585 RID: 17797 private const float Delta_NotUnderThickRoofOverThreshold = -0.5f;
// Token: 0x04004586 RID: 17798 private float lastEffectiveDelta;
Need_Chemical_Any
- +0.2 gain for ingesting Social drugs
- +0.3 gain for ingesting Hard drugs
- Fall Per Tick Factor Base:
- Chemical fascination: 1
- Chemical interest: 1.25
- Fall Per Tick Factor Base:
Fall Per Tick Factor = Fall Per Tick Factor Base × Fall Curve
Fall Per Need Interval Tick = Fall Per Day × (Fall Per Tick Factor / Ticks in a Day) × Need Update Interval
Fall Per Need Interval Tick = 0.071 × (Fall Per Tick Factor / 60000) × 150
- Chemical interest
- Level Thresholds For Mood:
- Chemical interest
Mood | Threshold |
---|---|
Extremely Negative | 0.01 |
Very Negative | 0.15 |
Negative | 0.3 |
Positive | 0.6 |
Very Positive | 0.75 |
- Mood Buff For Current Level:
Current Level | Mood Buff |
---|---|
≤ 0.01 | Extremely Negative |
≤ 0.15 | Very Negative |
≤ 0.3 | Negative |
≤ 0.6 | Neutral |
≤ 0.75 | Positive |
> 0.75 | Very Positive |
- Fall Curve:
Current Level | Need Fall |
---|---|
0 | 0.3 |
0.4 | 0.6 |
0.401 | 1 |
0.7 | 1 |
1 | 1 |
- Chemical fascination
- Level Thresholds For Mood:
- Chemical fascination
Mood | Threshold |
---|---|
Extremely Negative | 0.1 |
Very Negative | 0.25 |
Negative | 0.4 |
Positive | 0.7 |
Very Positive | 0.85 |
- Mood Buff For Current Level:
Current Level | Mood Buff |
---|---|
≤ 0.1 | Extremely Negative |
≤ 0.25 | Very Negative |
≤ 0.4 | Negative |
≤ 0.7 | Neutral |
≤ 0.85 | Positive |
> 0.85 | Very Positive |
- Fall Curve:
Current Level | Need Fall |
---|---|
0 | 0.4 |
0.4 | 0.7 |
0.401 | 1 |
0.7 | 1 |
1 | 1.15 |
// Token: 0x0400454A RID: 17738 public const int InterestTraitDegree = 1;
// Token: 0x0400454B RID: 17739 public const int FascinationTraitDegree = 2;
// Token: 0x0400454C RID: 17740 private const float FallPerTickFactorForChemicalFascination = 1.25f;
// Token: 0x0400454D RID: 17741 public const float GainForHardDrugIngestion = 0.3f;
// Token: 0x0400454E RID: 17742 public const float GainForSocialDrugIngestion = 0.2f;
// Token: 0x0400454F RID: 17743 private static readonly SimpleCurve InterestDegreeFallCurve = new SimpleCurve { { new CurvePoint(0f, 0.3f), true }, { new CurvePoint(Need_Chemical_Any.FascinationDegreeLevelThresholdsForMood.negative, 0.6f), true }, { new CurvePoint(Need_Chemical_Any.FascinationDegreeLevelThresholdsForMood.negative + 0.001f, 1f), true }, { new CurvePoint(Need_Chemical_Any.FascinationDegreeLevelThresholdsForMood.positive, 1f), true }, { new CurvePoint(1f, 1f), true } };
// Token: 0x04004550 RID: 17744 private static readonly SimpleCurve FascinationDegreeFallCurve = new SimpleCurve { { new CurvePoint(0f, 0.4f), true }, { new CurvePoint(Need_Chemical_Any.FascinationDegreeLevelThresholdsForMood.negative, 0.7f), true }, { new CurvePoint(Need_Chemical_Any.FascinationDegreeLevelThresholdsForMood.negative + 0.001f, 1f), true }, { new CurvePoint(Need_Chemical_Any.FascinationDegreeLevelThresholdsForMood.positive, 1f), true }, { new CurvePoint(1f, 1.15f), true } };
// Token: 0x04004551 RID: 17745 private static readonly Need_Chemical_Any.LevelThresholds FascinationDegreeLevelThresholdsForMood = new Need_Chemical_Any.LevelThresholds { extremelyNegative = 0.1f, veryNegative = 0.25f, negative = 0.4f, positive = 0.7f, veryPositive = 0.85f };
// Token: 0x04004552 RID: 17746 private static readonly Need_Chemical_Any.LevelThresholds InterestDegreeLevelThresholdsForMood = new Need_Chemical_Any.LevelThresholds { extremelyNegative = 0.01f, veryNegative = 0.15f, negative = 0.3f, positive = 0.6f, veryPositive = 0.75f };
// Token: 0x04004553 RID: 17747 private Trait lastThresholdUpdateTraitRef;
// Token: 0x02002E19 RID: 11801 public enum MoodBuff { // Token: 0x0400B407 RID: 46087 ExtremelyNegative, // Token: 0x0400B408 RID: 46088 VeryNegative, // Token: 0x0400B409 RID: 46089 Negative, // Token: 0x0400B40A RID: 46090 Neutral, // Token: 0x0400B40B RID: 46091 Positive, // Token: 0x0400B40C RID: 46092 VeryPositive }
// Token: 0x02002E1A RID: 11802 public struct LevelThresholds { // Token: 0x0400B40D RID: 46093 public float extremelyNegative;
// Token: 0x0400B40E RID: 46094 public float veryNegative;
// Token: 0x0400B40F RID: 46095 public float negative;
// Token: 0x0400B410 RID: 46096 public float positive;
// Token: 0x0400B411 RID: 46097 public float veryPositive; }
Need_RoomSize
// Token: 0x040045ED RID: 17901 private static List<Room> tempScanRooms = new List<Room>();
// Token: 0x040045EE RID: 17902 private const float MinCramped = 0.01f;
// Token: 0x040045EF RID: 17903 private const float MinNormal = 0.3f;
// Token: 0x040045F0 RID: 17904 private const float MinSpacious = 0.7f;
// Token: 0x040045F1 RID: 17905 public static readonly int SampleNumCells = GenRadial.NumCellsInRadius(7.9f);
// Token: 0x040045F2 RID: 17906 private static readonly SimpleCurve RoomCellCountSpaceCurve = new SimpleCurve { { new CurvePoint(3f, 0f), true }, { new CurvePoint(9f, 0.25f), true }, { new CurvePoint(16f, 0.5f), true }, { new CurvePoint(42f, 0.71f), true }, { new CurvePoint(100f, 1f), true } };
Need_Chemical
Drug Desire Category:
- Withdrawal
- Desire
- Satisfied
If CurLevel > 0.1: Satisfied If CurLevel > 0.01: Desire Else: Withdrawal
ChemicalFallPerTick = fallPerDay / 60000
Need Interval
- CurLevel -= this.ChemicalFallPerTick * 150
ThreshPercents:
- 0.1
Initial Level: 0.8~1
// Token: 0x04004548 RID: 17736 private const float ThreshDesire = 0.01f;
// Token: 0x04004549 RID: 17737 private const float ThreshSatisfied = 0.1f;
Need_Authority
// Token: 0x0400452B RID: 17707 public const float LevelGainPerDayOfReigning = 2f;
// Token: 0x0400452C RID: 17708 public const float LevelGainPerDayOfGivingSpeech = 3f;
// Token: 0x0400452D RID: 17709 private readonly SimpleCurve FallFactorCurve = new SimpleCurve { { new CurvePoint(1f, 0f), true }, { new CurvePoint(3f, 0.5f), true }, { new CurvePoint(5f, 1f), true } };
Need_Suppression
Can be suppressed now when CurLevel < 0.7
Is high when CurLevel < 0.3
Need Interval
CurLevel -= 0.0025 × Slave Suppression Fall Rate
// Token: 0x040045F4 RID: 17908 private const float CanSuppressMaxThreshold = 0.7f;
// Token: 0x040045F5 RID: 17909 private const float SuppressCriticalThreshold = 0.3f;
Need_Deathrest
// Token: 0x04004563 RID: 17763 public int lastDeathrestTick = -999;
// Token: 0x04004564 RID: 17764 [Unsaved(false)] private Gene_Deathrest cachedDeathrestGene;
// Token: 0x04004565 RID: 17765 public const float LevelForAlert = 0.1f;
// Token: 0x04004566 RID: 17766 public const float FallPerDay = 0.0333333351f;
// Token: 0x04004567 RID: 17767 public const float GainPerDayDeathresting = 0.2f;
// Token: 0x04004568 RID: 17768 private const float Interval = 400f;
// Token: 0x04004569 RID: 17769 public const float HemogenGainPerDayDeathrest = 0.08f;
Need_KillThirst
Is Frozen when biological pawn age < 13 or IsFrozen = true
Show On Needs List when pawn biological age ≥ 13 and ShowOnNeedsList = true
ThreshPercents
- 0.3
Need Interval
- CurLevel -= 8.333333E-05
Do Kill Side Effects
- If there is an associated weapon body part group, weapon linked hediff, or weapon is a melee weapon:
- CurLevel = 1
// Token: 0x0400459C RID: 17820
public const float FallPerDay = 0.0333333351f;
// Token: 0x0400459D RID: 17821 private const float MinAgeForNeed = 13f;
Need_Learning
IsFrozen when deathresting
Learning Categories:
- Empty
- Very Low
- Low
- Satisfied
- High
- Extreme
Current Category:
Current Level | Play Category |
---|---|
< 0.01 | Empty |
< 0.15 | Very Low |
< 0.3 | Low |
< 0.7 | Satisfied |
< 0.85 | High |
≥ 0.85 | Extreme |
threshPercents:
- 0.15
- 0.3
- 0.7
- 0.85
Need Interval:
- CurLevel -= 0.000450000021
- growthPoints += GrowthPointsPerDay * 0.0025
// Token: 0x040045A5 RID: 17829 private static string learningActivitiesLineList;
// Token: 0x040045A6 RID: 17830 public const float BaseFallPerTick = 3E-06f;
// Token: 0x040045A7 RID: 17831 public const float BaseFallPerInterval = 0.000450000021f;
// Token: 0x040045A8 RID: 17832 public const float ThresholdEmpty = 0.01f;
// Token: 0x040045A9 RID: 17833 public const float ThresholdLow = 0.15f;
// Token: 0x040045AA RID: 17834 public const float ThresholdSatisfied = 0.3f;
// Token: 0x040045AB RID: 17835 public const float ThresholdHigh = 0.7f;
// Token: 0x040045AC RID: 17836 public const float ThresholdVeryHigh = 0.85f;
// Token: 0x040045AD RID: 17837 public const float IconSize = 30f;
// Token: 0x040045AE RID: 17838 public const float IconPad = 5f;
LearningUtility: // Token: 0x04002B2E RID: 11054 public const float NeedSatisfiedPerTick = 1.2E-05f;
// Token: 0x04002B2F RID: 11055 public const float StartJobMaxLearning = 0.9f;
// Token: 0x04002B30 RID: 11056 private const float EndJobMaxLearning = 0.999f;
// Token: 0x04002B31 RID: 11057 public const float LearningRateBonusOffset_Blackboard = 0.2f;
// Token: 0x04002B32 RID: 11058 public const int MaxConnectedBlackboards = 3;
Learning Desires
Need_Play
Is low when current level percentage < 0.15
Play Categories:
- Empty
- Very Low
- Low
- Satisfied
- High
- Extreme
Current Category:
Current Level | Play Category |
---|---|
< 0.01 | Empty |
< 0.15 | Very Low |
< 0.3 | Low |
< 0.7 | Satisfied |
< 0.85 | High |
≥ 0.88 | Extreme |
threshPercents:
- 0.15
- 0.3
- 0.7
- 0.85
Need Interval:
- CurLevel -= 0.00025
// Token: 0x040045D1 RID: 17873 public const float BaseFallPerInterval = 0.00025f;
// Token: 0x040045D2 RID: 17874 public const float ThresholdEmpty = 0.01f;
// Token: 0x040045D3 RID: 17875 public const float ThresholdLow = 0.15f;
// Token: 0x040045D4 RID: 17876 public const float ThresholdSatisfied = 0.3f;
// Token: 0x040045D5 RID: 17877 public const float ThresholdHigh = 0.7f;
// Token: 0x040045D6 RID: 17878 public const float ThresholdVeryHigh = 0.85f;
BabyPlayUtility:
// Token: 0x04002B43 RID: 11075 private const float PlayPerTick = 0.0002f;
// Token: 0x04002B44 RID: 11076 private const float EndJobMaxPlay = 0.99f;
// Token: 0x04002B45 RID: 11077 private const float MaxBabyDecorationDistance = 9.9f;
Need_MechEnergy
Defaults:
- Max Mech Energy: 100
Base Fall Per Day:
- While Active: 10
- While idle or gestating: 3
Fall Per Day: If Pawn is downed, not awake, is in self shutdown, is charging, or is caravan member: Fall Per Day = 0
Fall Per Day = Base Fall Per Day × Energy Usage Multiplier
Need Update Interval = 150
Ticks in a Day = 60,000
Therefore, there are 400 Need Update Intervals in a day
Need Interval
- num = 400
If not in self shutdown:
- CurLevel -= Fall Per Day / num
If in self shutdown:
- CurLevel += 1 / num
If Curlevel ≤ 0:
- mech is in self shutdown
- Find a nearby spot to shutdown at
- Add Dormant self-charging Hediff
If Curlevel ≤ 15 or mech is charging:
- mech is not in self shutdown
- Remove Dormant self-charging Hediff
// Token: 0x040045AF RID: 17839 private bool selfShutdown;
// Token: 0x040045B0 RID: 17840 public Building_MechCharger currentCharger;
// Token: 0x040045B1 RID: 17841 public const float BaseFallPerDayActive = 10f;
// Token: 0x040045B2 RID: 17842 public const float BaseFallPerDayIdle = 3f;
// Token: 0x040045B3 RID: 17843 public const float BaseGainPerDaySelfShutdown = 1f;
// Token: 0x040045B4 RID: 17844 public const float ShutdownUntil = 15f;
temp
≤ ≥
Thoughts
Temp
Tool Capacities
Maneuvers
defName | requiredCapacity | verb | logEntryDef | combatLogRulesHit | combatLogRulesDeflect | combatLogRulesMiss | combatLogRulesDodge |
---|---|---|---|---|---|---|---|
Slash | Cut |
|
MeleeAttack | Maneuver_Slash_MeleeHit | Maneuver_Slash_MeleeDeflect | Maneuver_Slash_MeleeMiss | Maneuver_Slash_MeleeDodge |
Stab | Stab |
|
MeleeAttack | Maneuver_Stab_MeleeHit | Maneuver_Stab_MeleeDeflect | Maneuver_Stab_MeleeMiss | Maneuver_Stab_MeleeDodge |
Smash | Blunt |
|
MeleeAttack | Maneuver_Smash_MeleeHit | Maneuver_Smash_MeleeDeflect | Maneuver_Smash_MeleeMiss | Maneuver_Smash_MeleeDodge |
Demolish | Demolish |
|
MeleeAttack | Maneuver_Smash_MeleeHit | Maneuver_Smash_MeleeDeflect | Maneuver_Smash_MeleeMiss | Maneuver_Smash_MeleeDodge |
Scratch | Scratch |
|
MeleeAttack | Maneuver_Scratch_MeleeHit | Maneuver_Scratch_MeleeDeflect | Maneuver_Scratch_MeleeMiss | Maneuver_Scratch_MeleeDodge |
ScratchToxic | ScratchToxic |
|
MeleeAttack | Maneuver_Scratch_MeleeHit | Maneuver_Scratch_MeleeDeflect | Maneuver_Scratch_MeleeMiss | Maneuver_Scratch_MeleeDodge |
Poke | Poke |
|
MeleeAttack | Maneuver_Poke_MeleeHit | Maneuver_Poke_MeleeDeflect | Maneuver_Poke_MeleeMiss | Maneuver_Poke_MeleeDodge |
Bite | Bite |
|
MeleeAttack | Maneuver_Bite_MeleeHit | Maneuver_Bite_MeleeDeflect | Maneuver_Bite_MeleeMiss | Maneuver_Bite_MeleeDodge |
ToxicBite | ToxicBite |
|
MeleeAttack | Maneuver_Bite_MeleeHit | Maneuver_Bite_MeleeDeflect | Maneuver_Bite_MeleeMiss | Maneuver_Bite_MeleeDodge |
KickMaterialInEyes | KickMaterialInEyes |
|
SandInEyes | Maneuver_KickMaterialInEyes_MeleeHit | Maneuver_KickMaterialInEyes_MeleeDeflect | Maneuver_KickMaterialInEyes_MeleeMiss | Maneuver_KickMaterialInEyes_MeleeDodge |
Unsorted
defName | RewardStandardMidFreq | RewardStandardCore | RewardStandardLowFreq | RewardStandardQualitySuper | RewardStandardHighFreq |
---|---|---|---|---|---|
Hyperweave | - | ✓ | - | - | - |
MedicineUltratech | - | ✓ | - | - | - |
VoidsightSerum | - | - | ✓ | - | - |
NerveSpiker | - | - | - | ✓ | - |
Bow_Recurve | - | - | - | ✓ | - |
Luciferium | - | ✓ | - | - | - |
MindNumbSerum | - | - | ✓ | - | - |
Genepack | ✓ | - | - | - | - |
Bow_Great | - | - | - | ✓ | - |
VoidSculpture | - | - | ✓ | - | - |
MeleeWeapon_Gladius | - | - | - | ✓ | - |
Schematic | ✓ | - | - | - | - |
TextBook | ✓ | - | - | - | - |
Novel | ✓ | - | - | - | - |
SculptureSmall | - | - | ✓ | - | - |
MeleeWeapon_Spear | - | - | - | ✓ | - |
ComponentSpacer | - | ✓ | - | - | - |
MetalbloodSerum | - | - | ✓ | - | - |
JuggernautSerum | - | - | ✓ | - | - |
Mindscrew | - | - | ✓ | - | - |
Joywire | - | - | ✓ | - | - |
Painstopper | - | - | ✓ | - | - |
Harp | - | - | - | ✓ | - |
Tome | ✓ | - | - | - | - |
Psytrainer_Painblock | - | - | ✓ | - | - |
Psytrainer_Stun | - | - | ✓ | - | - |
Psytrainer_Burden | - | - | ✓ | - | - |
Psytrainer_SolarPinhole | - | - | ✓ | - | - |
Psytrainer_WordOfTrust | - | - | ✓ | - | - |
Psytrainer_Chunkskip | - | - | ✓ | - | - |
MeleeWeapon_LongSword | - | - | - | ✓ | - |
Throne | - | - | - | ✓ | - |
SculptureLarge | - | - | ✓ | - | - |
SculptureTerror | - | - | ✓ | - | - |
Apparel_Gunlink | - | - | ✓ | - | - |
Telescope | - | - | - | ✓ | - |
Gun_HeavySMG | - | - | - | ✓ | - |
HandTalon | - | - | ✓ | - | - |
ElbowBlade | - | - | ✓ | - | - |
KneeSpike | - | - | ✓ | - | - |
VenomFangs | - | - | ✓ | - | - |
VenomTalon | - | - | ✓ | - | - |
MeleeWeapon_Warhammer | - | - | - | ✓ | - |
PowerClaw | - | - | ✓ | - | - |
Apparel_ShieldBelt | - | - | - | ✓ | - |
Apparel_PsyfocusShirt | - | - | ✓ | - | - |
Psytrainer_BlindingPulse | - | - | ✓ | - | - |
Psytrainer_EntropyDump | - | - | ✓ | - | - |
Psytrainer_Waterskip | - | - | ✓ | - | - |
Psytrainer_WordOfJoy | - | - | ✓ | - | - |
Gun_ChainShotgun | - | - | - | ✓ | - |
Harpsichord | - | - | - | ✓ | - |
Gun_LMG | - | - | - | ✓ | - |
DrillArm | - | - | ✓ | - | - |
FieldHand | - | - | ✓ | - | - |
Apparel_PackBroadshield | - | - | - | ✓ | - |
Apparel_DeadlifePack | - | - | ✓ | - | - |
Apparel_PlateArmor | - | - | - | ✓ | - |
Gun_AssaultRifle | - | - | - | ✓ | - |
Gun_HellcatRifle | - | - | - | ✓ | - |
Apparel_PsyfocusHelmet | ✓ | - | - | - | - |
Apparel_EltexSkullcap | ✓ | - | - | - | - |
Apparel_PsyfocusVest | ✓ | - | - | - | - |
Apparel_ShardPsychicShockLance | - | - | ✓ | - | - |
Apparel_ArmorHelmetRecon | - | - | - | - | ✓ |
ShardAnimalPulser | - | - | ✓ | - | - |
Gun_SniperRifle | - | - | - | ✓ | - |
Apparel_ShardPsychicInsanityLance | - | - | ✓ | - | - |
Gun_Incinerator | - | - | - | ✓ | - |
Apparel_PsychicShockLance | - | - | - | - | ✓ |
Psytrainer_Beckon | - | - | ✓ | - | - |
Psytrainer_VertigoPulse | - | - | ✓ | - | - |
Psytrainer_ChaosSkip | - | - | ✓ | - | - |
Psytrainer_WordOfLove | - | - | ✓ | - | - |
AestheticNose | - | - | ✓ | - | - |
PsychicSoothePulser | - | - | - | - | ✓ |
ReinforcedBarrel | - | ✓ | - | - | - |
Apparel_PsyfocusRobe | ✓ | - | - | - | - |
Apparel_PowerArmorHelmet | - | - | - | - | ✓ |
Apparel_PackJump | - | - | - | ✓ | - |
Apparel_PsychicInsanityLance | - | - | - | - | ✓ |
Piano | - | - | - | ✓ | - |
PsychicAnimalPulser | - | - | - | - | ✓ |
ArchiteCapsule | - | - | - | - | ✓ |
Psytrainer_Skip | - | - | ✓ | - | - |
Psytrainer_Wallraise | - | - | ✓ | - | - |
Psytrainer_Smokepop | - | - | ✓ | - | - |
Psytrainer_Focus | - | - | ✓ | - | - |
Psytrainer_WordOfSerenity | - | - | ✓ | - | - |
Apparel_ArmorHelmetReconPrestige | - | - | - | - | ✓ |
Apparel_ArmorHelmetCataphract | - | - | - | - | ✓ |
Neurotrainer_Shooting | ✓ | - | - | - | - |
Neurotrainer_Melee | ✓ | - | - | - | - |
Neurotrainer_Construction | ✓ | - | - | - | - |
Neurotrainer_Mining | ✓ | - | - | - | - |
Neurotrainer_Cooking | ✓ | - | - | - | - |
Neurotrainer_Plants | ✓ | - | - | - | - |
Neurotrainer_Animals | ✓ | - | - | - | - |
Neurotrainer_Crafting | ✓ | - | - | - | - |
Neurotrainer_Artistic | ✓ | - | - | - | - |
Neurotrainer_Medicine | ✓ | - | - | - | - |
Neurotrainer_Social | ✓ | - | - | - | - |
Neurotrainer_Intellectual | ✓ | - | - | - | - |
TornadoGenerator | - | - | - | - | ✓ |
BiomutationPulser | - | - | ✓ | - | - |
GastroAnalyzer | - | - | ✓ | - | - |
AestheticShaper | - | - | ✓ | - | - |
Apparel_ArmorMarineHelmetPrestige | - | - | - | - | ✓ |
Apparel_BiomutationLance | - | - | - | - | ✓ |
Psytrainer_Berserk | - | - | ✓ | - | - |
Psytrainer_Invisibility | - | - | ✓ | - | - |
Psytrainer_Flashstorm | - | - | ✓ | - | - |
Psytrainer_WordOfInspiration | - | - | ✓ | - | - |
Psytrainer_Farskip | - | - | ✓ | - | - |
RoyalBed | - | - | - | ✓ | - |
FlatscreenTelevision | - | - | - | ✓ | - |
TechprofSubpersonaCore | - | ✓ | - | - | - |
Gun_TripleRocket | - | - | ✓ | - | - |
Gun_DoomsdayRocket | - | - | ✓ | - | - |
DeathrestCapacitySerum | - | - | - | - | ✓ |
Psytrainer_BerserkPulse | - | - | ✓ | - | - |
Psytrainer_ManhunterPulse | - | - | ✓ | - | - |
Psytrainer_MassChaosSkip | - | - | ✓ | - | - |
Psytrainer_BulletShield | - | - | ✓ | - | - |
Psytrainer_Neuroquake | - | - | ✓ | - | - |
Gun_ChargeRifle | - | - | - | ✓ | - |
BionicEye | ✓ | - | - | - | - |
BionicArm | ✓ | - | - | - | - |
BionicLeg | ✓ | - | - | - | - |
Neurocalculator | - | - | ✓ | - | - |
LearningAssistant | - | - | ✓ | - | - |
Immunoenhancer | - | - | ✓ | - | - |
Coagulator | - | - | ✓ | - | - |
HealingEnhancer | - | - | ✓ | - | - |
ToughskinGland | ✓ | - | - | - | - |
LoveEnhancer | - | - | ✓ | - | - |
DetoxifierStomach | - | - | ✓ | - | - |
ReprocessorStomach | - | - | ✓ | - | - |
NuclearStomach | - | - | ✓ | - | - |
CircadianAssistant | - | - | ✓ | - | - |
CircadianHalfCycler | - | - | ✓ | - | - |
Apparel_ArmorHelmetCataphractPrestige | - | - | - | - | ✓ |
Gun_Minigun | - | - | - | ✓ | - |
SculptureGrand | - | - | ✓ | - | - |
VanometricPowerCell | - | ✓ | - | - | - |
Shell_AntigrainWarhead | - | ✓ | - | - | - |
OrbitalTargeterBombardment | - | - | - | - | ✓ |
OrbitalTargeterPowerBeam | - | - | - | - | ✓ |
Apparel_ArmorHelmetMechCommander | - | - | - | - | ✓ |
PsychicEmanator | - | ✓ | - | - | - |
MechSerumHealer | - | ✓ | - | - | - |
Gun_ChargeLance | - | - | - | ✓ | - |
ArmorskinGland | ✓ | - | - | - | - |
MegascreenTelevision | - | - | - | ✓ | - |
GrandThrone | - | - | - | ✓ | - |
InfiniteChemreactor | - | ✓ | - | - | - |
Apparel_ArmorRecon | - | - | - | - | ✓ |
MechSerumResurrector | ✓ | - | - | - | - |
StoneskinGland | ✓ | - | - | - | - |
Apparel_ArmorReconPrestige | - | - | - | - | ✓ |
MeleeWeapon_MonoSword | ✓ | - | - | - | - |
MeleeWeapon_Zeushammer | ✓ | - | - | - | - |
MeleeWeapon_PlasmaSword | ✓ | - | - | - | - |
MeleeWeapon_PsyfocusStaff | ✓ | - | - | - | - |
Apparel_PowerArmor | - | - | - | - | ✓ |
Apparel_ArmorLocust | - | - | - | - | ✓ |
Apparel_ArmorMarineGrenadier | - | - | - | - | ✓ |
Apparel_IntegratorHeadset | - | - | - | - | ✓ |
Apparel_ArmorMarinePrestige | - | - | - | - | ✓ |
ArchotechEye | - | ✓ | - | - | - |
ArchotechArm | - | ✓ | - | - | - |
ArchotechLeg | - | ✓ | - | - | - |
Apparel_ArmorCataphract | - | - | - | - | ✓ |
Apparel_ArmorCataphractPhoenix | - | - | - | - | ✓ |
Apparel_ArmorCataphractPrestige | - | - | - | - | ✓ |
Apparel_ArmorHelmetMechlordHelmet | - | - | - | - | ✓ |
Apparel_MechlordSuit | - | - | - | - | ✓ |
defName | weightClass | ingredients | ingredients market value | forming cycles | total forming time (game days) | produced at | research required | bandwidth cost | repair energy cost | base health scale | move speed | average armor | melee DPS | weapon | weapon range | weapon DPS | weapon accuracy short | weapon accuracy medium | weapon accuracy long | shooter accuracy short | shooter accuracy medium | shooter accuracy long | total accuracy short | total accuracy medium | total accuracy long | special abilities | combat power | body size |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Mech_Lifter | Light | 50x steel 1x basic subcore | $202 | 1 | 2 | mech gestator | basic mechtech | 1 | 0.66 | 1 | 2.8 | 15% | 1.4 | - | "-" | 0 | 0% | 0% | 0% | 61% | 36% | 20% | 0% | 0% | 0% | none | 10 | 0.70 |
Mech_Constructoid | Light | 50x steel 1x basic subcore | $202 | 1 | 2 | mech gestator | basic mechtech | 1 | 0.66 | 1 | 3.4 | 15% | 2.0 | - | "-" | 0 | 0% | 0% | 0% | 61% | 36% | 20% | 0% | 0% | 0% | none | 10 | 0.70 |
Mech_Fabricor | Light | 100x steel 1x high subcore | $1002 | 1 | 2 | mech gestator | high mechtech | 1 | 0.66 | 1 | 3.4 | 15% | 1.4 | - | "-" | 0 | 0% | 0% | 0% | 61% | 36% | 20% | 0% | 0% | 0% | none | 10 | 0.70 |
Mech_Agrihand | Light | 50x steel 1x basic subcore | $202 | 1 | 2 | mech gestator | basic mechtech | 1 | 0.66 | 1 | 3.4 | 15% | 2.2 | - | "-" | 0 | 0% | 0% | 0% | 61% | 36% | 20% | 0% | 0% | 0% | none | 10 | 0.70 |
Mech_Cleansweeper | Light | 50x steel 1x basic subcore | $202 | 1 | 2 | mech gestator | basic mechtech | 1 | 0.66 | 1 | 3.4 | 15% | 1.4 | - | "-" | 0 | 0% | 0% | 0% | 61% | 36% | 20% | 0% | 0% | 0% | none | 10 | 0.30 |
Mech_WarUrchin | Light | "-" | "-" | "-" | 0 | "-" | "-" | 1 | 0.66 | 1.3 | 4.2 | 15% | 2.0 | spiner | 6.9 | 40 | 30% | 40% | 95% | 61% | 36% | 20% | 18% | 14% | 19% | none | 10 | 0.70 |
Mech_Paramedic | Light | 100x steel 1x high subcore | $1002 | 1 | 2 | mech gestator | high mechtech | 1 | 0.66 | 1 | 3.8 | 15% | 1.4 | - | "-" | 0 | 0% | 0% | 0% | 61% | 36% | 20% | 0% | 0% | 0% | none | 10 | 0.70 |
Mech_Militor | Light | 50x steel 1x basic subcore | $202 | 1 | 2 | mech gestator | basic mechtech | 1 | 0.66 | 1 | 3.8 | 15% | 2.0 | mini-shotgun | 12.9 | 8.3 | 87% | 70% | 55% | 61% | 36% | 20% | 53% | 25% | 11% | none | 45 | 0.70 |
Mech_Scorcher | Medium | 80x steel 32x plasteel 3x component 1x standard subcore | $343 | 2 | 4 | large mech gestator | standard mechtech | 1 | 0.33 | 0.7 | 4.5 | 30% | 3.2 | mini-flameblaster | 4.9 | 0 | 48% | 35% | 26% | 61% | 36% | 20% | 29% | 13% | 5.1% | none | 75 | 1.00 |
Mech_Termite_Breach | Medium | "-" | "-" | "-" | 0 | "-" | "-" | 1 | 0.33 | 2.16 | 2.1 | 39% | 3.6 | thump cannon | 24.9 | 9 | 87% | 77% | 64% | 61% | 36% | 20% | 53% | 28% | 13% | none | 110 | 1.60 |
Mech_Pikeman | Medium | 100x steel 40x plasteel 4x component 1x standard subcore | $343 | 2 | 4 | large mech gestator | standard mechtech | 2 | 0.33 | 0.85 | 2.5 | 30% | 3.2 | needle gun | 44.9 | 6 | 80% | 90% | 85% | 61% | 36% | 20% | 49% | 32% | 17% | none | 110 | 1.00 |
Mech_Scyther | Medium | 75x steel 75x plasteel 4x component 1x standard subcore | $343 | 2 | 4 | large mech gestator | standard mechtech | 2 | 0.33 | 1.32 | 4.7 | 30% | 6.2 | - | "-" | 0 | 0% | 0% | 0% | 61% | 36% | 20% | 0% | 0% | 0% | none | 150 | 1.00 |
Mech_Legionary | Medium | 100x plasteel 6x component 1x high subcore | $1041 | 4 | 8 | large mech gestator | ultra mechtech | 2 | 0.33 | 0.72 | 4.3 | 30% | 3.2 | needle launcher | 24.9 | 6 | 80% | 90% | 85% | 61% | 36% | 20% | 49% | 32% | 17% | none | 150 | 1.00 |
Mech_Tesseron | Medium | 110x plasteel 7x component 1x high subcore | $1041 | 4 | 8 | large mech gestator | ultra mechtech | 3 | 0.33 | 0.72 | 4.7 | 30% | 3.5 | beam graser | 24.9 | 0 | 70% | 65% | 55% | 61% | 36% | 20% | 43% | 23% | 11% | none | 150 | 1.00 |
Mech_Lancer | Medium | 75x steel 75x plasteel 4x component 1x standard subcore | $343 | 2 | 4 | large mech gestator | high mechtech | 3 | 0.33 | 0.72 | 4.7 | 30% | 3.5 | charge lance | 29.9 | 17.6 | 85% | 85% | 75% | 61% | 36% | 20% | 52% | 31% | 15% | none | 180 | 1.00 |
Mech_Tunneler | Heavy | 150x steel 75x plasteel 4x component 1x standard subcore | $343 | 4 | 8 | large mech gestator | standard mechtech | 3 | 0.2 | 1.5 | 1.9 | 60% | 4.7 | - | "-" | 0 | 0% | 0% | 0% | 61% | 36% | 20% | 0% | 0% | 0% | has shield | 250 | 3.50 |
Mech_Centurion | UltraHeavy | 300x steel 200x plasteel 2x advanced component 1x powerfocus chip 1x high subcore | $2211 | 12 | 24 | large mech gestator | ultra mechtech | 5 | 0.15 | 3 | 1.6 | 50% | 3.7 | - | "-" | 0 | 0% | 0% | 0% | 61% | 36% | 20% | 0% | 0% | 0% | none | 250 | 3.60 |
Mech_CentipedeBlaster | Heavy | 255x steel 355x plasteel 8x component 1x high subcore | $1043 | 6 | 12 | large mech gestator | ultra mechtech | 4 | 0.2 | 4.32 | 1.9 | 47% | 3.7 | heavy charge blaster | 26.9 | 113.7 | 26% | 26% | 18% | 61% | 36% | 20% | 16% | 9.4% | 3.5% | none | 400 | 3.00 |
Mech_CentipedeGunner | Heavy | 255x steel 255x plasteel 8x component 1x high subcore | $1043 | 6 | 12 | large mech gestator | high mechtech | 4 | 0.2 | 4.32 | 1.9 | 47% | 3.7 | minigun | 30.9 | 55.6 | 25% | 25% | 18% | 61% | 36% | 20% | 15% | 9% | 3.5% | none | 400 | 3.00 |
Mech_CentipedeBurner | Heavy | 255x steel 255x plasteel 8x component 1x high subcore | $1043 | 6 | 12 | large mech gestator | high mechtech | 4 | 0.2 | 4.32 | 1.9 | 47% | 3.7 | inferno cannon | 26.9 | 8 | 100% | 100% | 100% | 61% | 36% | 20% | 61% | 36% | 20% | none | 400 | 3.00 |
Mech_Diabolus | UltraHeavy | 300x steel 300x plasteel 2x signal chip 1x high subcore | $1511 | 12 | 24 | large mech gestator | high mechtech | 5 | 0.15 | 4.5 | 2.4 | 50% | 3.8 | hellsphere cannon | 18.9 | 106.7 | 100% | 100% | 100% | 61% | 36% | 20% | 61% | 36% | 20% | none | 500 | 4.00 |
Mech_Apocriton | UltraHeavy | "-" | "-" | "-" | 0 | "-" | "-" | 2 | 0.33 | 5.2 | 3.2 | 58% | 2.1 | toxic needle gun | 44.9 | 10.6 | 80% | 90% | 92% | 61% | 36% | 20% | 49% | 32% | 18% | none | 600 | 1.00 |
Mech_Warqueen | UltraHeavy | 600x steel 300x plasteel 3x advanced component 1x nano structuring chip 1x high subcore | $2711 | 12 | 24 | large mech gestator | ultra mechtech | 5 | 0.15 | 5.2 | 1.6 | 50% | 1.2 | - | "-" | 0 | 0% | 0% | 0% | 61% | 36% | 20% | 0% | 0% | 0% | produces war urchins | 600 | 4.00 |
Thing | |
---|---|
Breach axe | |
Club | |
Ikwa | |
Knife (Jade) | |
Spear | |
Gladius | |
Longsword | |
Mace | |
Axe | |
Warhammer | |
Eltex staff | |
Monosword (Persona) | |
Plasmasword (Persona) | |
Zeushammer (Persona) | |
Beer | |
Elephant tusk | |
Thrumbo horn | |
Wood | |
Greatbow | |
Pila | |
Recurve bow | |
Short bow | |
Flamebow | |
Nerve spiker | |
Assault rifle | |
Autopistol | |
Bolt-action rifle | |
Chain shotgun | |
Heavy SMG | |
Launcher (EMP, Incendiary, Smoke, Toxbomb) | |
LMG | |
Machine pistol | |
Minigun | |
Pump shotgun | |
Revolver | |
Sniper rifle | |
Hellcat rifle | |
Incinerator | |
Charge lance | |
Charge rifle | |
Doomsday rocket launcher | |
Triple rocket launcher | |
EMP grenades | |
Frag grenades | |
Molotov cocktails | |
Tox grenades | |
Heavy charge blaster | |
Inferno cannon | |
Needle gun | |
Thump cannon | |
Beam graser | |
Charge blaster turret | |
Hellsphere cannon | |
Mini-flameblaster | |
Mini-shotgun | |
Slugthrower | |
Spiner | |
Toxic needle gun | |
Autocannon | |
Mini-turret gun | |
Mortar (Weapon) | |
Uranium slug cannon | |
Auto-mortar | |
Inferno cannon (Turret) | |
Light charge blaster | |
Mini-slugger | |
Tactical turret gun |
Tags
- weaponTags
- Artillery
- Artillery_BaseDestroyer
- AssaultRifle
- Autopistol
- Axe
- BeamGraserGun
- Bladelink
- ChargeBlasterHeavyGun
- EltexStaff
- EmpireGrenadeDestructive
- Flamethrower
- GrenadeDestructive
- GrenadeEMP
- GrenadeFlame
- GrenadeSmoke
- GrenadeTox
- Gun
- GunHeavy
- GunSingleUse
- HeavyTox
- HellsphereCannonGun
- IndustrialGunAdvanced
- InfernoCannonGun
- LongSword
- MechanoidGunBreach
- MechanoidGunHeavy
- MechanoidGunLongRange
- MechanoidGunMedium
- MechanoidGunMiniFlameblaster
- MechanoidGunNeedleLauncher
- MechanoidGunShortRange
- MechanoidGunSlugthrower
- MechanoidGunSpiner
- MechanoidGunToxicNeedle
- MedievalMeleeAdvanced
- MedievalMeleeBasic
- MedievalMeleeDecent
- Minigun
- Neolithic
- NeolithicMeleeAdvanced
- NeolithicMeleeBasic
- NeolithicMeleeDecent
- NeolithicMeleeDestructive
- NeolithicRangedFlame
- NerveSpiker
- PumpShotgun
- Revolver
- ShortShots
- SimpleGun
- SniperRifle
- SpacerGun
- Spear
- TurretGun
- UltratechMelee
- weaponClasses
- LongShots
- Melee
- MeleeBlunt
- MeleePiercer
- Neolithic
- Ranged
- RangedHeavy
- RangedLight
- ShortShots
- Ultratech
- apparelTags
- BeltDefensePop
- BeltDefenseTox
- Firefighting
- Horaxian
- IndustrialAdvanced
- IndustrialBasic
- IndustrialMilitaryAdvanced
- IndustrialMilitaryBasic
- Neolithic
- Outlander
- Royal
- SpacerMilitary
- Western
- tags
- Bald
- NoBeard
- techHediffsTags
- Advanced
- AdvancedWeapon
- Anomaly
- Ghoul
- ImplantEmpireCommon
- Poor
- Simple
- PainCauser
- SubcoreBasic
- ImplantEmpireRoyal
- DrillArm
- FieldHand
- apparelRequired
- Apparel_AirwireHeadset
- Apparel_ArmorCataphract
- Apparel_ArmorCataphractPrestige
- Apparel_ArmorHelmetCataphract
- Apparel_ArmorHelmetCataphractPrestige
- Apparel_ArmorHelmetRecon
- Apparel_ArmorRecon
- Apparel_Bandolier
- Apparel_BasicShirt
- Apparel_BowlerHat
- Apparel_CollarShirt
- Apparel_CowboyHat
- Apparel_Duster
- Apparel_FlakJacket
- Apparel_FlakPants
- Apparel_FlakVest
- Apparel_HatTop
- Apparel_Jacket
- Apparel_LabCoat
- Apparel_PackTox
- Apparel_Pants
- Apparel_PlateArmor
- Apparel_PowerArmor
- Apparel_PowerArmorHelmet
- Apparel_Robe
- Apparel_Sash
- Apparel_Shadecone
- Apparel_ShieldBelt
- Apparel_Tailcap
- Apparel_TribalHeaddress
- Apparel_WarMask
- Apparel_WarVeil
- styleTags
- Bald
- Balding
- BeardBushy
- BeardLong
- BeardPunk
- BeardRural
- BeardShort
- BeardTribal
- BeardUrban
- Bushy
- Cultist
- Furskin
- Ghoul
- HairLong
- HairShort
- MoustacheOnly
- NoTattoo
- Punk
- Royalty
- Rural
- Shaved
- Soldier
- TattoBodyBuddhist
- TattooBodyCannibal
- TattooBodyInsect
- TattooBodyPunk
- TattooBodyTribal
- TattooFaceCannibal
- TattooFacePunk
- TattooFaceTribal
- Tribal
- Urban
- Wild
- styleItemTags
- BeardTribal
- Cultist
- NoBeard
- Punk
- Royalty
- Rural
- Soldier
- TattooBodyInsect
- TattooFaceCannibal
- TattooFaceTribal
- Tribal
- Urban
- Wild
- disabledWorkTags
- AllWork
- Caring
- Cleaning
- Commoner
- Firefighting
- Intellectual
- ManualDumb
- ManualSkilled
- PlantWork
- Social
- Violent
- targetTags
- Caravan
- Map_Misc
- Map_PlayerHome
- Map_RaidBeacon
- Map_TempIncident
- buildingTags
- Anomaly
- Artillery
- Artillery_BaseDestroyer
- Bed
- Biotech
- MechClusterActivator
- MechClusterCombatThreat
- MechClusterMember
- MechClusterMemberGood
- MechClusterMemberLamp
- MechClusterProblemCauser
- Production
- RitualFocus
- RitualSeat
- Artillery_MannedMortar
- tradeTags
- Armor
- Art
- Artifact
- BasicClothing
- Bionic
- Clothing
- Drugs
- ExoticBuilding
- ExoticMisc
- HiTechArmor
- HoraxArmor
- HoraxWeapon
- MortarShell
- MusicalInstrument
- PsylinkNeuroformer
- Serum
- TechHediff
- Television
- UtilitySpecial
- WeaponMelee
- WeaponRanged
- thingSetMakerTags (thingSetMakerTagsToAllow + thingSetMakerTagsToDisallow)
- AnimalPart
- ImplantEmpireRoyal
- RewardNonEmpireFactionsOnly
- RewardStandardCore
- RewardStandardHighFreq
- RewardStandardLowFreq
- RewardStandardMidFreq
- RewardStandardQualitySuper
- SingleUseWeapon
- SkillNeurotrainer
- Techprint
- WeaponBladelink