public override void PostMake() { base.PostMake(); m_CustomPlantDef = def as ThingDef_PlantWithSeeds; if (genome == null) genome = m_CustomPlantDef.genome.RandomGenome(); }
public override void ExposeData() { base.ExposeData(); m_CustomPlantDef = def as ThingDef_PlantWithSeeds; Scribe_Deep.LookDeep<PlantGenome>(ref genome, "genome"); if (genome == null) genome = m_CustomPlantDef.genome.RandomGenome(); }
public PlantGenome RandomGenome() { PlantGenome genome = new PlantGenome(); genome.growSpeedMult = growSpeedMult.RandomInRange; genome.harvestAmountMult = harvestAmountMult.RandomInRange; genome.baseSeedChance = baseSeedChance.RandomInRange; if (genome.baseSeedChance >= 1f) genome.baseSeedChance = 1f; genome.addSeedChance = addSeedChance.RandomInRange; if (genome.addSeedChance >= 1f) genome.addSeedChance = 1f; if (Rand.Value < terminatorChance) { genome.baseSeedChance = 0f; genome.addSeedChance = 0f; } genome.canGrowAtNight = Rand.Value < canGrowAtNight; return genome; }