Difference between revisions of "Category:Stats - Drug"

From RimWorld Wiki
Jump to navigation Jump to search
(Created page with "{{Stat Category | def name = Drug | label = Drug | display order = 30 | show all by default = false }} Category:Stat")
 
m
 
(2 intermediate revisions by the same user not shown)
Line 5: Line 5:
 
| show all by default = false
 
| show all by default = false
 
}}
 
}}
 +
 +
{| {{STDT| c_08 sortable}}
 +
! Label !! Value String !! Report Text !! Display Priority In Category
 +
|-
 +
! High gain per dose
 +
| highGiver.severity.ToStringPercent()
 +
| The intensity of high gained per dose of this drug.
 +
| 2480
 +
|-
 +
! High fall rate
 +
| {highFall.ToStringPercent()} / day
 +
| How much this drug's high will decay each day.
 +
| 2470
 +
|-
 +
! High duration per dose
 +
| {(highGiver.severity / highFall).ToString("F1")} days
 +
| How long this drug's high will last per dose.<br /><br />This is calculated from the high gained per dose and the high fall rate.
 +
| 2460
 +
|-
 +
! Tolerance gain per dose
 +
| toleranceGain.ToStringPercent()
 +
| How much a user's tolerance to the chemical will increase for each dose of this drug.<br /><br />This can be different for different forms of the same chemical.
 +
| 2450
 +
|-
 +
! Tolerance fall rate
 +
| {DrugStatsUtility.GetToleranceOffsetPerDay(def).ToStringPercent()} / day
 +
| How much a user's tolerance to the chemical will fall per day.
 +
| 2440
 +
|-
 +
! Chemical
 +
| drugComp.chemical.LabelCap
 +
| The active chemical in this.<br /><br />In some cases, the same chemical is present in multiple different drugs. These different drugs will satisfy the same addiction in different ways.
 +
| 2490
 +
|-
 +
! Random overdose chance
 +
| drugComp.largeOverdoseChance.ToStringPercent()
 +
| The chance of a random overdose when taking this drug. Random overdoses can happen on any dose, whether it's a new user's first try or an experienced addict's hundredth hit.
 +
| 2380
 +
|-
 +
! Safe dose interval for adults
 +
| DrugStatsUtility.GetSafeDoseIntervalReadout(def)
 +
| An adult will only become addicted if they take the drug more often than this.<br /><br />This is calculated from the drug's minimum tolerance to addict, the tolerance gain per dose, and the rate of tolerance decay. Some drugs don't have a safe interval. Such drugs can addict on any dose, even the first one.<br /><br />Note that the safe dose interval depends on a person's body size.
 +
----
 +
(For each human lifestage, add this:)
 +
LifeStageAge lifeStageAge = ThingDefOf.Human.race.lifeStageAges[i];
 +
string t = (i < ThingDefOf.Human.race.lifeStageAges.Count - 1) ? "AgeXToY".Translate(lifeStageAge.minAge, ThingDefOf.Human.race.lifeStageAges[i + 1].minAge - 1f) : "AgePlus".Translate(lifeStageAge.minAge);
 +
text += "\n  - " + lifeStageAge.def.LabelCap + " (" + t + ")" + ": " + "PeriodDays".Translate(DrugStatsUtility.GetSafeDoseInterval(def, lifeStageAge.def.bodySizeFactor).ToString("F1"));
 +
| 2435
 +
|}
 +
 
[[Category:Stat]]
 
[[Category:Stat]]

Latest revision as of 04:21, 25 September 2024

Def Name Label Display
Order
Show
All By
Default
Drug Drug 30 false
Label Value String Report Text Display Priority In Category
High gain per dose highGiver.severity.ToStringPercent() The intensity of high gained per dose of this drug. 2480
High fall rate {highFall.ToStringPercent()} / day How much this drug's high will decay each day. 2470
High duration per dose {(highGiver.severity / highFall).ToString("F1")} days How long this drug's high will last per dose.

This is calculated from the high gained per dose and the high fall rate.
2460
Tolerance gain per dose toleranceGain.ToStringPercent() How much a user's tolerance to the chemical will increase for each dose of this drug.

This can be different for different forms of the same chemical.
2450
Tolerance fall rate {DrugStatsUtility.GetToleranceOffsetPerDay(def).ToStringPercent()} / day How much a user's tolerance to the chemical will fall per day. 2440
Chemical drugComp.chemical.LabelCap The active chemical in this.

In some cases, the same chemical is present in multiple different drugs. These different drugs will satisfy the same addiction in different ways.
2490
Random overdose chance drugComp.largeOverdoseChance.ToStringPercent() The chance of a random overdose when taking this drug. Random overdoses can happen on any dose, whether it's a new user's first try or an experienced addict's hundredth hit. 2380
Safe dose interval for adults DrugStatsUtility.GetSafeDoseIntervalReadout(def) An adult will only become addicted if they take the drug more often than this.

This is calculated from the drug's minimum tolerance to addict, the tolerance gain per dose, and the rate of tolerance decay. Some drugs don't have a safe interval. Such drugs can addict on any dose, even the first one.

Note that the safe dose interval depends on a person's body size.

(For each human lifestage, add this:) LifeStageAge lifeStageAge = ThingDefOf.Human.race.lifeStageAges[i]; string t = (i < ThingDefOf.Human.race.lifeStageAges.Count - 1) ? "AgeXToY".Translate(lifeStageAge.minAge, ThingDefOf.Human.race.lifeStageAges[i + 1].minAge - 1f) : "AgePlus".Translate(lifeStageAge.minAge); text += "\n - " + lifeStageAge.def.LabelCap + " (" + t + ")" + ": " + "PeriodDays".Translate(DrugStatsUtility.GetSafeDoseInterval(def, lifeStageAge.def.bodySizeFactor).ToString("F1"));

2435

This category currently contains no pages or media.