Skip to content

Dig Periodically

juanosarg edited this page May 20, 2024 · 6 revisions

CompDigPeriodically allows an animal to dig in the ground for a given resource

    //A comp class that just makes an animal dig a resource every ticksToDig ticks

    public List<string> customThingToDig = null;
    public List<int> customAmountToDig = null;
    public int ticksToDig = 60000;
    public bool onlyWhenTamed = false;
    //Should items be spawned forbidden?
    public bool spawnForbidden = false;
    //Dig biome rocks. Animal will only dig rocks found on this biome, ignoring customThingToDig
    public bool digBiomeRocks = false;
    //If digBiomeRocks is true, do we also go further and turn those into bricks?
    public bool digBiomeBricks = false;
    public int customAmountToDigIfRocksOrBricks = 1;
    //Is the result a corpse? If so, spawn a pawn, and kill it
    public bool resultIsCorpse = false;
    //Flag to only dig if the terrain is polluted
    public bool onlyDigIfPolluted = false;

How do I use this code?

It is a comp class, so you just add it in XML in the <comps> tag. For example, this allows Gigawigs in Vanilla Factions Expanded - Insectoids to dig around for mineral resources once a day:

<comps>
	<li Class="AnimalBehaviours.CompProperties_DigPeriodically">
		<customThingToDig>			
			<li>ChunkSandstone</li>
			<li>ChunkGranite</li>
			<li>ChunkLimestone</li>
			<li>ChunkSlate</li>
			<li>ChunkMarble</li>
			<li>ChunkSandstone</li>
			<li>ChunkGranite</li>
			<li>ChunkLimestone</li>
			<li>ChunkSlate</li>
			<li>ChunkMarble</li>
			<li>ChunkSandstone</li>
			<li>ChunkGranite</li>
			<li>ChunkLimestone</li>
			<li>ChunkSlate</li>
			<li>ChunkMarble</li>
			<li>ChunkSandstone</li>
			<li>ChunkGranite</li>
			<li>ChunkLimestone</li>
			<li>ChunkSlate</li>
			<li>ChunkMarble</li>
			<li>ChunkSandstone</li>
			<li>ChunkGranite</li>
			<li>ChunkLimestone</li>
			<li>ChunkSlate</li>
			<li>Steel</li>
			<li>Steel</li>
			<li>Jade</li>
			<li>Gold</li>
			<li>Plasteel</li>
			<li>Silver</li>			
		</customThingToDig>
		<customAmountToDig>				
			<li>1</li>
			<li>1</li>
			<li>1</li>
			<li>1</li>
			<li>1</li>
			<li>1</li>
			<li>1</li>
			<li>1</li>
			<li>1</li>
			<li>1</li>
			<li>1</li>
			<li>1</li>
			<li>1</li>
			<li>1</li>
			<li>1</li>
			<li>1</li>
			<li>1</li>
			<li>1</li>
			<li>1</li>
			<li>1</li>
			<li>1</li>
			<li>1</li>
			<li>1</li>
			<li>1</li>
			<li>25</li>
			<li>25</li>
			<li>10</li>
			<li>10</li>
			<li>10</li>
			<li>10</li>		
		</customAmountToDig>
		<ticksToDig>60000</ticksToDig>
	</li>
</comps>

VFE Core

General Comp classes

General DefModExtensions

Item Processor

PipeSystem

Custom Structure Generation

Multi Verb Combat Framework - MVCF

Animal Behaviours

Genes

Apparel

Cuisine

Furniture

Plants

Deprecated

Clone this wiki locally