public override void TickLong() { // Grow cluster and spawn symbiosis cluster. if ((Find.TickManager.TicksGame > this.nextGrownTick) && ClusterPlant.IsTemperatureConditionOkAt(this.plantDef, this.Map, this.Position) && ClusterPlant.IsLightConditionOkAt(this.plantDef, this.Map, this.Position)) { this.nextGrownTick = Find.TickManager.TicksGame + (int)(this.plantDef.plant.reproduceMtbDays * GenDate.TicksPerDay); // Grow cluster. GenClusterPlantReproduction.TryGrowCluster(this); // Spawn symbiosis cluster. if ((this.actualSize == this.desiredSize) && (this.plantDef.symbiosisPlantDefEvolution != null)) { GenClusterPlantReproduction.TrySpawnNewSymbiosisCluster(this); } } // Spawn new cluster. if ((this.actualSize == this.desiredSize) && (Find.TickManager.TicksGame > this.nextReproductionTick) && ClusterPlant.IsTemperatureConditionOkAt(this.plantDef, this.Map, this.Position) && ClusterPlant.IsLightConditionOkAt(this.plantDef, this.Map, this.Position)) { GenClusterPlantReproduction.TrySpawnNewClusterAwayFrom(this); this.nextReproductionTick = Find.TickManager.TicksGame + (int)(this.plantDef.plant.reproduceMtbDays * 10f * GenDate.TicksPerDay); } }