Skip to content
This repository has been archived by the owner on Nov 3, 2022. It is now read-only.

Diseases After Period

juanosarg edited this page Feb 3, 2022 · 2 revisions

CompDiseasesAfterPeriod makes an animal start getting hediffs after a period of time has passed. This is similar to the way vanilla RimWorld aging works: old pawns do not just die, they just start getting age related diseases. This comp however can be configured to be as lenient or as drastic as needed

    //A comp class that will apply a random hediff to the animal after timeToDieInTicks ticks.
   
    public int timeToApplyInTicks = 1000;

    public List<HediffDef> hediffsToApply = null;
    
    //This boolean does the following: first hediffsToApply will be applied after the timeToApplyInTicks 
    passes. After that, next re-applying of the disease won't happen at timeToApplyInTicks * 2, but at 
    timeToApplyInTicks + (timeToApplyInTicks*(1- percentageOfMaxToReapply)), so, the next applying will be 
    at 20% the amount of time the first took. Why? To avoid players healing these diseases!

    public float percentageOfMaxToReapply = 0.8f;

How do I use this code?

It is a comp class, so you just add it in XML in the <comps> tag of the animal you want to be draftable. For example, this allows Awakened dryads to die after two years in VIE - Dryads

<comps>
	<li Class="AnimalBehaviours.CompProperties_DiseasesAfterPeriod">
		<timeToApplyInTicks>7200000</timeToApplyInTicks>
		<hediffsToApply>
			<li>VDE_SeparationSickness</li>
		</hediffsToApply>
		<percentageOfMaxToReapply>0.95</percentageOfMaxToReapply>
	</li>
</comps>

VFE Core

General Comp classes

General DefModExtensions

Item Processor

PipeSystem

Custom Structure Generation

Multi Verb Combat Framework - MVCF

Animal Behaviours

Apparel

Cuisine

Furniture

Plants

Clone this wiki locally