server-config/Mods/AutoGen/Plant/Saxifrage.cs
2020-04-25 15:56:20 +00:00

110 lines
4.4 KiB
C#

namespace Eco.Mods.TechTree
{
// [DoNotLocalize]
}
// WORLD LAYER INFO
namespace Eco.Mods.WorldLayers
{
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Utils;
using Eco.Simulation.WorldLayers.Layers;
public partial class PlantLayerSettingsSaxifrage : PlantLayerSettings
{
public PlantLayerSettingsSaxifrage() : base()
{
this.Name = "Saxifrage";
this.DisplayName = string.Format("{0} {1}", Localizer.DoStr("Saxifrage"), Localizer.DoStr("Population"));
this.InitMultiplier = 1;
this.SyncToClient = false;
this.Range = new Range(0f, 1f);
this.RenderRange = new Range(0f, 0.333333f);
this.MinColor = new Color(1f, 1f, 1f);
this.MaxColor = new Color(0f, 1f, 0f);
this.Percent = false;
this.SumRelevant = true;
this.Unit = "Saxifrage";
this.VoxelsPerEntry = 5;
this.Category = WorldLayerCategory.Plant;
this.ValueType = WorldLayerValueType.Percent;
this.AreaDescription = "";
}
}
}
namespace Eco.Mods.Organisms
{
using System.Collections.Generic;
using Eco.Gameplay.Plants;
using Eco.Mods.TechTree;
using Eco.Shared.Localization;
using Eco.Shared.Math;
using Eco.Shared.Serialization;
using Eco.Simulation;
using Eco.Simulation.Types;
using Eco.World.Blocks;
[Serialized]
public partial class Saxifrage : PlantEntity
{
public Saxifrage(WorldPosition3i mapPos, PlantPack plantPack) : base(species, mapPos, plantPack) { }
public Saxifrage() { }
static PlantSpecies species;
public partial class SaxifrageSpecies : PlantSpecies
{
public SaxifrageSpecies() : base()
{
species = this;
this.InstanceType = typeof(Saxifrage);
// Info
this.Decorative = false;
this.Name = "Saxifrage";
this.DisplayName = Localizer.DoStr("Saxifrage");
// Lifetime
this.MaturityAgeDays = 0.8f;
// Generation
// Food
this.CalorieValue = 2;
// Resources
this.PostHarvestingGrowth = 0;
this.PickableAtPercent = 0;
this.ResourceList = new List<SpeciesResource>()
{
new SpeciesResource(typeof(PlantFibersItem), new Range(1, 4), 1),
new SpeciesResource(typeof(SaxifrageSeedItem), new Range(1, 2), 0.1f)
};
this.ResourceBonusAtGrowth = 0.9f;
// Visuals
this.BlockType = typeof(SaxifrageBlock);
// Climate
this.ReleasesCO2ppmPerDay = -0.000005f;
// WorldLayers
this.MaxGrowthRate = 0.01f;
this.MaxDeathRate = 0.005f;
this.SpreadRate = 0.001f;
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "Nitrogen", HalfSpeedConcentration = 0.1f, MaxResourceContent = 0.1f });
this.ResourceConstraints.Add(new ResourceConstraint() { LayerName = "SoilMoisture", HalfSpeedConcentration = 0.2f, MaxResourceContent = 0.2f });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "FertileGround", ConsumedCapacityPerPop = 1 });
this.CapacityConstraints.Add(new CapacityConstraint() { CapacityLayerName = "ShrubSpace", ConsumedCapacityPerPop = 2 });
this.BlanketSpawnPercent = 0.3f;
this.IdealTemperatureRange = new Range(0.18f, 0.28f);
this.IdealMoistureRange = new Range(0.44f, 0.48f);
this.IdealWaterRange = new Range(0, 0.1f);
this.WaterExtremes = new Range(0, 0.2f);
this.TemperatureExtremes = new Range(0.15f, 0.3f);
this.MoistureExtremes = new Range(0.2f, 0.5f);
this.MaxPollutionDensity = 0.7f;
this.PollutionDensityTolerance = 0.1f;
this.VoxelsPerEntry = 5;
}
}
}
[Serialized]
[Reapable]
[MoveEfficiency(0.8f)]
public partial class SaxifrageBlock :
PlantBlock { }
}