Decompiled source of Whiteshark Cheat Overhaul v0.3.26
WhitesharkCheatOverhaul/WhitesharkCheatOverhaul.dll
Decompiled a year ago
The result has been truncated due to the large size, download it to view full contents!
using System; using System.Collections.Generic; using System.Diagnostics; using System.IO; using System.Linq; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Text; using BepInEx; using BepInEx.Logging; using Game.Prefabs; using HarmonyLib; using Microsoft.CodeAnalysis; using Newtonsoft.Json; using UnityEngine; using Wayz.CS2; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: AssemblyCompany("WhitesharkCheatOverhaul")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("0.3.26.0")] [assembly: AssemblyInformationalVersion("0.3.26+8a0f7cb9771f7c5b1a01c536b12d74c7f3a77afd")] [assembly: AssemblyProduct("WhitesharkCheatOverhaul")] [assembly: AssemblyTitle("WhitesharkCheatOverhaul")] [assembly: AssemblyVersion("0.3.26.0")] [module: RefSafetyRules(11)] namespace Microsoft.CodeAnalysis { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] internal sealed class EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Event | AttributeTargets.Parameter | AttributeTargets.ReturnValue | AttributeTargets.GenericParameter, AllowMultiple = false, Inherited = false)] internal sealed class NullableAttribute : Attribute { public readonly byte[] NullableFlags; public NullableAttribute(byte P_0) { NullableFlags = new byte[1] { P_0 }; } public NullableAttribute(byte[] P_0) { NullableFlags = P_0; } } [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Method | AttributeTargets.Interface | AttributeTargets.Delegate, AllowMultiple = false, Inherited = false)] internal sealed class NullableContextAttribute : Attribute { public readonly byte Flag; public NullableContextAttribute(byte P_0) { Flag = P_0; } } [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)] internal sealed class RefSafetyRulesAttribute : Attribute { public readonly int Version; public RefSafetyRulesAttribute(int P_0) { Version = P_0; } } } public interface ICityAttractiveness { float CityAttractiveness { get; set; } } public interface ICityDisasterDamageRate { float CityDisasterDamageRate { get; set; } } public interface ICityDisasterWarningTime { float CityDisasterWarningTime { get; set; } } public interface ICityDiseaseprobability { float CityDiseaseprobability { get; set; } } public interface ICityEntertainment { float CityEntertainment { get; set; } } public interface ICityExportCost { float CityExportCost { get; set; } } public interface ICityHospitalEfficiency { float CityHospitalEfficiency { get; set; } } public interface ICityImportcost { float CityImportcost { get; set; } } public interface ICityIndustrialEfficiency { float CityIndustrialEfficiency { get; set; } } public interface ICityIndustrialElectronicDemand { float CityIndustrialElectronicDemand { get; set; } } public interface ICityIndustrialElectronicEfficiency { float CityIndustrialElectronicEfficiency { get; set; } } public interface ICityIndustrialGroundPollution { float CityIndustrialGroundPollution { get; set; } } public interface ICityLoanIntrest { float CityLoanIntrest { get; set; } } public interface ICityOfficeEfficiency { float CityOfficeEfficiency { get; set; } } public interface ICityOfficeSoftwareDemand { float CityOfficeSoftwareDemand { get; set; } } public interface ICityOfficeSoftwareEfficiency { float CityOfficeSoftwareEfficiency { get; set; } } public interface ICityOilResourceAmmount { float CityOilResourceAmmount { get; set; } } public interface ICityOreResourceAmmount { float CityOreResourceAmmount { get; set; } } public interface ICityParkEntertainment { float CityParkEntertainment { get; set; } } public interface ICityPollutionhealthAffect { float CityPollutionhealthAffect { get; set; } } public interface ICityRecoverFailChange { float CityRecoverFailChange { get; set; } } public interface ICityTelecomCapacity { float CityTelecomCapacity { get; set; } } public interface ICityUniversityGraduation { float CityUniversityGraduation { get; set; } } public interface ICityUniversityInterest { float CityUniversityInterest { get; set; } } public interface ILocalWellbeing { float LocalWellbeing { get; set; } float LocalWellbeingRadius { get; set; } } public interface ILocalCrimeAccumulation { float LocalCrimeAccumulation { get; set; } float LocalCrimeAccumulationRadius { get; set; } } public interface ILocalForestFireHazard { float LocalForestFireHazard { get; set; } float LocalForestFireHazardRadius { get; set; } } public interface ILocalForestFireResponseTime { float LocalForestFireResponseTime { get; set; } float LocalForestFireResponseTimeRadius { get; set; } } public interface IMailboxOptions { int Mailcapacity { get; set; } float ComfortFactor { get; set; } } namespace Wayz.CS2 { public static class WayzSettingsManager { public static T? GetSettings<T>(string modIdentifier, string settingName) { string text = Path.Combine(Application.persistentDataPath, "ModSettings", modIdentifier, settingName + ".json"); if (!File.Exists(text)) { throw new FileNotFoundException("Settings file not found at " + text); } string text2 = File.ReadAllText(text, Encoding.UTF8); return JsonConvert.DeserializeObject<T>(text2); } public static void SaveSettings<T>(string modIdentifier, string settingName, T settings) { if (!Directory.Exists(Path.Combine(Application.persistentDataPath, "ModSettings", modIdentifier))) { Directory.CreateDirectory(Path.Combine(Application.persistentDataPath, "ModSettings", modIdentifier)); } string path = Path.Combine(Application.persistentDataPath, "ModSettings", modIdentifier, settingName + ".json"); string contents = JsonConvert.SerializeObject((object)settings, (Formatting)1); File.WriteAllText(path, contents, Encoding.UTF8); } public static bool TryGetSettings<T>(string modIdentifier, string settingName, out T settings) { try { settings = GetSettings<T>(modIdentifier, settingName); return settings != null; } catch (FileNotFoundException) { settings = default(T); return false; } } public static T GetOrInitializeSettings<T>(string modIdentifier, string settingName) where T : new() { if (TryGetSettings<T>(modIdentifier, settingName, out var settings)) { return settings; } T val = new T(); SaveSettings(modIdentifier, settingName, val); return val; } } } namespace WhitesharkCheatOverhaul { public class ModifyStats { public static void ModifyServiceConsumption(PrefabBase prefab, IServiceConsumptionOptions options) { ServiceConsumption component = ((ComponentBase)prefab).GetComponent<ServiceConsumption>(); component.m_Upkeep = options.Upkeep; component.m_ElectricityConsumption = options.ElectricityConsumption; component.m_WaterConsumption = options.WaterConsumption; component.m_GarbageAccumulation = options.GarbageAccumulation; component.m_TelecomNeed = options.TelecomNeed; } public static void ModifyAttraction(PrefabBase prefab, IAttractionOptions options) { Attraction component = ((ComponentBase)prefab).GetComponent<Attraction>(); component.m_Attractiveness = options.Attractiveness; } public static void ModifyBattery(PrefabBase prefab, IBatteryOptions options) { Battery component = ((ComponentBase)prefab).GetComponent<Battery>(); component.m_Capacity = options.BatteryCapacity; component.m_PowerOutput = options.PowerOutput; } public static void ModifyCargoTransportStation(PrefabBase prefab, ICargoTransportStationOptions options) { CargoTransportStation component = ((ComponentBase)prefab).GetComponent<CargoTransportStation>(); component.transports = options.Transports; } public static void ModifyIDeathcareFacility(PrefabBase prefab, IDeathcareFacilityOptions options) { DeathcareFacility component = ((ComponentBase)prefab).GetComponent<DeathcareFacility>(); component.m_HearseCapacity = options.HearseCapacity; component.m_StorageCapacity = options.StorageCapacity; component.m_ProcessingRate = options.ProcessingRate; } public static void ModifyEmergencyShelter(PrefabBase prefab, IEmergencyShelterOptions options) { EmergencyShelter component = ((ComponentBase)prefab).GetComponent<EmergencyShelter>(); component.m_ShelterCapacity = options.ShelterCapacity; component.m_VehicleCapacity = options.VehicleCapacity; } public static void ModifyFireStation(PrefabBase prefab, IFireStationOptions options) { FireStation component = ((ComponentBase)prefab).GetComponent<FireStation>(); component.m_FireEngineCapacity = options.FireEngineCapacity; component.m_FireHelicopterCapacity = options.FireHelicopterCapacity; component.m_DisasterResponseCapacity = options.DisasterResponseCapacity; component.m_VehicleEfficiency = options.VehicleEfficiency; } public static void ModifyPollution(PrefabBase prefab, IPollutionOptions options) { Pollution component = ((ComponentBase)prefab).GetComponent<Pollution>(); component.m_AirPollution = options.AirPollution; component.m_GroundPollution = options.GroundPollution; component.m_NoisePollution = options.NoisePollution; } public static void ModifyGarbageFacility(PrefabBase prefab, IGarbageFacilityOption options) { GarbageFacility component = ((ComponentBase)prefab).GetComponent<GarbageFacility>(); component.m_GarbageCapacity = options.GarbageCapacity; component.m_VehicleCapacity = options.GarbageVehicleCapacity; component.m_TransportCapacity = options.GarbageTransportCapacity; component.m_ProcessingSpeed = options.GarbageProcessingspeed; } public static void ModifyPowerPlant(PrefabBase prefab, IPowerPlantOptions options) { PowerPlant component = ((ComponentBase)prefab).GetComponent<PowerPlant>(); component.m_ElectricityProduction = options.ElectricityProduction; } public static void ModifyStorageLimit(PrefabBase prefab, IStorageLimitOptions options) { StorageLimit component = ((ComponentBase)prefab).GetComponent<StorageLimit>(); component.storageLimit = options.StorageLimit; } public static void ModifyWaterPumpingStation(PrefabBase prefab, IWaterPumpingStationOptions options) { WaterPumpingStation component = ((ComponentBase)prefab).GetComponent<WaterPumpingStation>(); component.m_Capacity = options.PumpCapacity; component.m_Purification = options.Purification; } public static void ModifyTelecomFacility(PrefabBase prefab, ITelecomFacilityOptions options) { TelecomFacility component = ((ComponentBase)prefab).GetComponent<TelecomFacility>(); component.m_Range = options.TelecomRange; component.m_NetworkCapacity = options.NetworkCapacity; } public static void ModifyCityEntertainment(PrefabBase prefab, ICityEntertainment options) { CityEffects component = ((ComponentBase)prefab).GetComponent<CityEffects>(); CityEffectInfo val = ((IEnumerable<CityEffectInfo>)component.m_Effects).FirstOrDefault((Func<CityEffectInfo, bool>)((CityEffectInfo effect) => (int)effect.m_Type == 20)); val.m_Delta = options.CityEntertainment; } public static void ModifyCityTelecomCapacity(PrefabBase prefab, ICityTelecomCapacity options) { CityEffects component = ((ComponentBase)prefab).GetComponent<CityEffects>(); CityEffectInfo val = ((IEnumerable<CityEffectInfo>)component.m_Effects).FirstOrDefault((Func<CityEffectInfo, bool>)((CityEffectInfo effect) => (int)effect.m_Type == 19)); val.m_Delta = options.CityTelecomCapacity; } public static void ModifyCityAttractiveness(PrefabBase prefab, ICityAttractiveness options) { CityEffects component = ((ComponentBase)prefab).GetComponent<CityEffects>(); CityEffectInfo val = ((IEnumerable<CityEffectInfo>)component.m_Effects).FirstOrDefault((Func<CityEffectInfo, bool>)((CityEffectInfo effect) => (int)effect.m_Type == 0)); val.m_Delta = options.CityAttractiveness; } public static void ModifyGarbageTruck(PrefabBase prefab, IGarbageTruckOptions options) { GarbageTruck component = ((ComponentBase)prefab).GetComponent<GarbageTruck>(); component.m_GarbageCapacity = options.GarbageTruckCapacity; component.m_UnloadRate = options.GarbageTruckUnloadRate; } public static void ModifyPublicTransportVehicle(PrefabBase prefab, IPublicTransportVehicle options) { PublicTransport component = ((ComponentBase)prefab).GetComponent<PublicTransport>(); component.m_PassengerCapacity = options.PassengerCapacity; component.m_MaintenanceRange = options.Maintenancerange; } public static void ModifyParkingFacility(PrefabBase prefab, IParkingFacilityOptions options) { ParkingFacility component = ((ComponentBase)prefab).GetComponent<ParkingFacility>(); component.m_GarageMarkerCapacity = options.GarageCapacity; component.m_ComfortFactor = options.Comfortfactor; } public static void ModifyServiceCoverage(PrefabBase prefab, IServiceCoverageOptions options) { ServiceCoverage component = ((ComponentBase)prefab).GetComponent<ServiceCoverage>(); component.m_Range = options.ServiceCoverageRange; component.m_Capacity = options.ServiceCoverageCapacity; component.m_Magnitude = options.ServiceCoverageMagnitude; } public static void ModifyLeisureProvider(PrefabBase prefab, ILeisureProviderOptions options) { LeisureProvider component = ((ComponentBase)prefab).GetComponent<LeisureProvider>(); component.m_Efficiency = options.LeisureEfficiency; } public static void ModifySewageOutlet(PrefabBase prefab, ISewageOutletOptions options) { SewageOutlet component = ((ComponentBase)prefab).GetComponent<SewageOutlet>(); component.m_Capacity = options.SewageCapacity; component.m_Purification = options.SewagePurification; } public static void ModifyGarbagePowered(PrefabBase prefab, IGarbagePoweredOptions options) { GarbagePowered component = ((ComponentBase)prefab).GetComponent<GarbagePowered>(); component.m_ProductionPerUnit = options.ProductionPerUnit; component.m_Capacity = options.ProductionCapacity; } public static void ModifyCityIndustrialGroundPollution(PrefabBase prefab, ICityIndustrialGroundPollution options) { CityEffects component = ((ComponentBase)prefab).GetComponent<CityEffects>(); CityEffectInfo val = ((IEnumerable<CityEffectInfo>)component.m_Effects).FirstOrDefault((Func<CityEffectInfo, bool>)((CityEffectInfo effect) => (int)effect.m_Type == 9)); val.m_Delta = options.CityIndustrialGroundPollution; } public static void ModifyHospital(PrefabBase prefab, IHospitalOptions options) { Hospital component = ((ComponentBase)prefab).GetComponent<Hospital>(); component.m_AmbulanceCapacity = options.AmbulanceCapacity; component.m_MedicalHelicopterCapacity = options.HelicopterCapacity; component.m_PatientCapacity = options.PatientCapacity; component.m_TreatmentBonus = options.TreatmentBonus; } public static void ModifyPostOffice(PrefabBase prefab, IPostFacilityOptions options) { PostFacility component = ((ComponentBase)prefab).GetComponent<PostFacility>(); component.m_MailBoxCapacity = options.MailboxCapacity; component.m_PostVanCapacity = options.PostVanCapacity; component.m_MailStorageCapacity = options.MailStorageCapacity; component.m_PostTruckCapacity = options.PostTrucksCapacity; component.m_SortingRate = options.SortingRate; } public static void ModifyWindPowered(PrefabBase prefab, IWindPoweredOptions options) { WindPowered component = ((ComponentBase)prefab).GetComponent<WindPowered>(); component.m_Production = options.Production; component.m_MaximumWind = options.MaximumWind; } public static void ModifyGroundwaterPowered(PrefabBase prefab, IGroundWaterPoweredOptions options) { GroundWaterPowered component = ((ComponentBase)prefab).GetComponent<GroundWaterPowered>(); component.m_Production = options.Production; component.m_MaximumGroundWater = options.MaximumGroundwater; } public static void ModifySolarPowered(PrefabBase prefab, ISolarPoweredOptions options) { SolarPowered component = ((ComponentBase)prefab).GetComponent<SolarPowered>(); component.m_Production = options.Production; } public static void ModifyLocalWellbeing(PrefabBase prefab, ILocalWellbeing options) { LocalEffects component = ((ComponentBase)prefab).GetComponent<LocalEffects>(); LocalEffectInfo val = ((IEnumerable<LocalEffectInfo>)component.m_Effects).FirstOrDefault((Func<LocalEffectInfo, bool>)((LocalEffectInfo effect) => (int)effect.m_Type == 3)); val.m_Delta = options.LocalWellbeing; val.m_Radius = options.LocalWellbeingRadius; } public static void ModifyCityImportCost(PrefabBase prefab, ICityImportcost options) { CityEffects component = ((ComponentBase)prefab).GetComponent<CityEffects>(); CityEffectInfo val = ((IEnumerable<CityEffectInfo>)component.m_Effects).FirstOrDefault((Func<CityEffectInfo, bool>)((CityEffectInfo effect) => (int)effect.m_Type == 26)); val.m_Delta = options.CityImportcost; } public static void ModifyPostVan(PrefabBase prefab, IPostVanOptions options) { PostVan component = ((ComponentBase)prefab).GetComponent<PostVan>(); component.m_MailCapacity = options.MailCapacity; } public static void ModifyLocalCrimeAccumulation(PrefabBase prefab, ILocalCrimeAccumulation options) { LocalEffects component = ((ComponentBase)prefab).GetComponent<LocalEffects>(); LocalEffectInfo val = ((IEnumerable<LocalEffectInfo>)component.m_Effects).FirstOrDefault((Func<LocalEffectInfo, bool>)((LocalEffectInfo effect) => (int)effect.m_Type == 0)); val.m_Delta = options.LocalCrimeAccumulation; val.m_Radius = options.LocalCrimeAccumulationRadius; } public static void ModifyCityOfficeEfficiency(PrefabBase prefab, ICityOfficeEfficiency options) { CityEffects component = ((ComponentBase)prefab).GetComponent<CityEffects>(); CityEffectInfo val = ((IEnumerable<CityEffectInfo>)component.m_Effects).FirstOrDefault((Func<CityEffectInfo, bool>)((CityEffectInfo effect) => (int)effect.m_Type == 32)); val.m_Delta = options.CityOfficeEfficiency; } public static void ModifyCityUniversityInterest(PrefabBase prefab, ICityUniversityInterest options) { CityEffects component = ((ComponentBase)prefab).GetComponent<CityEffects>(); CityEffectInfo val = ((IEnumerable<CityEffectInfo>)component.m_Effects).FirstOrDefault((Func<CityEffectInfo, bool>)((CityEffectInfo effect) => (int)effect.m_Type == 14)); val.m_Delta = options.CityUniversityInterest; } public static void ModifyCityUniversityGraduation(PrefabBase prefab, ICityUniversityGraduation options) { CityEffects component = ((ComponentBase)prefab).GetComponent<CityEffects>(); CityEffectInfo val = ((IEnumerable<CityEffectInfo>)component.m_Effects).FirstOrDefault((Func<CityEffectInfo, bool>)((CityEffectInfo effect) => (int)effect.m_Type == 25)); val.m_Delta = options.CityUniversityGraduation; } public static void ModifyLocalForestFireHazard(PrefabBase prefab, ILocalForestFireHazard options) { LocalEffects component = ((ComponentBase)prefab).GetComponent<LocalEffects>(); LocalEffectInfo val = ((IEnumerable<LocalEffectInfo>)component.m_Effects).FirstOrDefault((Func<LocalEffectInfo, bool>)((LocalEffectInfo effect) => (int)effect.m_Type == 2)); val.m_Delta = options.LocalForestFireHazard; val.m_Radius = options.LocalForestFireHazardRadius; } public static void ModifyLocalForestFireResponseTime(PrefabBase prefab, ILocalForestFireResponseTime options) { LocalEffects component = ((ComponentBase)prefab).GetComponent<LocalEffects>(); LocalEffectInfo val = ((IEnumerable<LocalEffectInfo>)component.m_Effects).FirstOrDefault((Func<LocalEffectInfo, bool>)((LocalEffectInfo effect) => (int)effect.m_Type == 1)); val.m_Delta = options.LocalForestFireResponseTime; val.m_Radius = options.LocalForestFireResponseTimeRadius; } public static void ModifyPoliceStation(PrefabBase prefab, IPoliceStationOptions options) { PoliceStation component = ((ComponentBase)prefab).GetComponent<PoliceStation>(); component.m_PatrolCarCapacity = options.PatrolCarCapacity; component.m_PoliceHelicopterCapacity = options.PoliceHelicopterCapacity; component.m_JailCapacity = options.JailCapacity; } public static void ModifyPrison(PrefabBase prefab, IPrisonOptions options) { Prison component = ((ComponentBase)prefab).GetComponent<Prison>(); component.m_PrisonVanCapacity = options.PrisonVanCapacity; component.m_PrisonerCapacity = options.PrisonerCapacity; } public static void ModifyCityDiseaseprobability(PrefabBase prefab, ICityDiseaseprobability options) { CityEffects component = ((ComponentBase)prefab).GetComponent<CityEffects>(); CityEffectInfo val = ((IEnumerable<CityEffectInfo>)component.m_Effects).FirstOrDefault((Func<CityEffectInfo, bool>)((CityEffectInfo effect) => (int)effect.m_Type == 5)); val.m_Delta = options.CityDiseaseprobability; } public static void ModifyCityPollutionhealthAffect(PrefabBase prefab, ICityPollutionhealthAffect options) { CityEffects component = ((ComponentBase)prefab).GetComponent<CityEffects>(); CityEffectInfo val = ((IEnumerable<CityEffectInfo>)component.m_Effects).FirstOrDefault((Func<CityEffectInfo, bool>)((CityEffectInfo effect) => (int)effect.m_Type == 33)); val.m_Delta = options.CityPollutionhealthAffect; } public static void ModifyCityParkEntertainment(PrefabBase prefab, ICityParkEntertainment options) { CityEffects component = ((ComponentBase)prefab).GetComponent<CityEffects>(); CityEffectInfo val = ((IEnumerable<CityEffectInfo>)component.m_Effects).FirstOrDefault((Func<CityEffectInfo, bool>)((CityEffectInfo effect) => (int)effect.m_Type == 6)); val.m_Delta = options.CityParkEntertainment; } public static void ModifyCityOreResourceAmount(PrefabBase prefab, ICityOreResourceAmmount options) { CityEffects component = ((ComponentBase)prefab).GetComponent<CityEffects>(); CityEffectInfo val = ((IEnumerable<CityEffectInfo>)component.m_Effects).FirstOrDefault((Func<CityEffectInfo, bool>)((CityEffectInfo effect) => (int)effect.m_Type == 12)); val.m_Delta = options.CityOreResourceAmmount; } public static void ModifyCityOilResourceAmount(PrefabBase prefab, ICityOilResourceAmmount options) { CityEffects component = ((ComponentBase)prefab).GetComponent<CityEffects>(); CityEffectInfo val = ((IEnumerable<CityEffectInfo>)component.m_Effects).FirstOrDefault((Func<CityEffectInfo, bool>)((CityEffectInfo effect) => (int)effect.m_Type == 13)); val.m_Delta = options.CityOilResourceAmmount; } public static void ModifySchool(PrefabBase prefab, ISchoolOptions options) { School component = ((ComponentBase)prefab).GetComponent<School>(); component.m_StudentCapacity = options.StudentCapacity; } public static void ModifyCityIndustrialEfficiency(PrefabBase prefab, ICityIndustrialEfficiency options) { CityEffects component = ((ComponentBase)prefab).GetComponent<CityEffects>(); CityEffectInfo val = ((IEnumerable<CityEffectInfo>)component.m_Effects).FirstOrDefault((Func<CityEffectInfo, bool>)((CityEffectInfo effect) => (int)effect.m_Type == 31)); val.m_Delta = options.CityIndustrialEfficiency; } public static void ModifyCityDisasterDamageRate(PrefabBase prefab, ICityDisasterDamageRate options) { CityEffects component = ((ComponentBase)prefab).GetComponent<CityEffects>(); CityEffectInfo val = ((IEnumerable<CityEffectInfo>)component.m_Effects).FirstOrDefault((Func<CityEffectInfo, bool>)((CityEffectInfo effect) => (int)effect.m_Type == 4)); val.m_Delta = options.CityDisasterDamageRate; } public static void ModifyCityDisasterWarningTime(PrefabBase prefab, ICityDisasterWarningTime options) { CityEffects component = ((ComponentBase)prefab).GetComponent<CityEffects>(); CityEffectInfo val = ((IEnumerable<CityEffectInfo>)component.m_Effects).FirstOrDefault((Func<CityEffectInfo, bool>)((CityEffectInfo effect) => (int)effect.m_Type == 3)); val.m_Delta = options.CityDisasterWarningTime; } public static void ModifyCityLoanIntrest(PrefabBase prefab, ICityLoanIntrest options) { CityEffects component = ((ComponentBase)prefab).GetComponent<CityEffects>(); CityEffectInfo val = ((IEnumerable<CityEffectInfo>)component.m_Effects).FirstOrDefault((Func<CityEffectInfo, bool>)((CityEffectInfo effect) => (int)effect.m_Type == 27)); val.m_Delta = options.CityLoanIntrest; } public static void ModifyCityExportCost(PrefabBase prefab, ICityExportCost options) { CityEffects component = ((ComponentBase)prefab).GetComponent<CityEffects>(); CityEffectInfo val = ((IEnumerable<CityEffectInfo>)component.m_Effects).FirstOrDefault((Func<CityEffectInfo, bool>)((CityEffectInfo effect) => (int)effect.m_Type == 29)); val.m_Delta = options.CityExportCost; } public static void ModifyCityRecoveryFailChange(PrefabBase prefab, ICityRecoverFailChange options) { CityEffects component = ((ComponentBase)prefab).GetComponent<CityEffects>(); CityEffectInfo val = ((IEnumerable<CityEffectInfo>)component.m_Effects).FirstOrDefault((Func<CityEffectInfo, bool>)((CityEffectInfo effect) => (int)effect.m_Type == 11)); val.m_Delta = options.CityRecoverFailChange; } public static void ModifyCityHospitalEfficiency(PrefabBase prefab, ICityHospitalEfficiency options) { CityEffects component = ((ComponentBase)prefab).GetComponent<CityEffects>(); CityEffectInfo val = ((IEnumerable<CityEffectInfo>)component.m_Effects).FirstOrDefault((Func<CityEffectInfo, bool>)((CityEffectInfo effect) => (int)effect.m_Type == 34)); val.m_Delta = options.CityHospitalEfficiency; } public static void ModifyCityOfficeSoftwareDemand(PrefabBase prefab, ICityOfficeSoftwareDemand options) { CityEffects component = ((ComponentBase)prefab).GetComponent<CityEffects>(); CityEffectInfo val = ((IEnumerable<CityEffectInfo>)component.m_Effects).FirstOrDefault((Func<CityEffectInfo, bool>)((CityEffectInfo effect) => (int)effect.m_Type == 15)); val.m_Delta = options.CityOfficeSoftwareDemand; } public static void ModifyCityOfficeSoftwareEfficiency(PrefabBase prefab, ICityOfficeSoftwareEfficiency options) { CityEffects component = ((ComponentBase)prefab).GetComponent<CityEffects>(); CityEffectInfo val = ((IEnumerable<CityEffectInfo>)component.m_Effects).FirstOrDefault((Func<CityEffectInfo, bool>)((CityEffectInfo effect) => (int)effect.m_Type == 17)); val.m_Delta = options.CityOfficeSoftwareEfficiency; } public static void ModifyCityIndustrialElectronicsDemand(PrefabBase prefab, ICityIndustrialElectronicDemand options) { CityEffects component = ((ComponentBase)prefab).GetComponent<CityEffects>(); CityEffectInfo val = ((IEnumerable<CityEffectInfo>)component.m_Effects).FirstOrDefault((Func<CityEffectInfo, bool>)((CityEffectInfo effect) => (int)effect.m_Type == 16)); val.m_Delta = options.CityIndustrialElectronicDemand; } public static void ModifyCityIndustrialElectronicsEfficiency(PrefabBase prefab, ICityIndustrialElectronicEfficiency options) { CityEffects component = ((ComponentBase)prefab).GetComponent<CityEffects>(); CityEffectInfo val = ((IEnumerable<CityEffectInfo>)component.m_Effects).FirstOrDefault((Func<CityEffectInfo, bool>)((CityEffectInfo effect) => (int)effect.m_Type == 18)); val.m_Delta = options.CityIndustrialElectronicEfficiency; } public static void ModifyPublicTransportStops(PrefabBase prefab, ITransportStopOptions options) { TransportStop component = ((ComponentBase)prefab).GetComponent<TransportStop>(); component.m_EnterDistance = options.EnterDistance; component.m_ExitDistance = options.ExitDistance; component.m_AccessDistance = options.AccessDistance; component.m_BoardingTime = options.BoardingTime; component.m_ComfortFactor = options.ComfortFactor; component.m_LoadingFactor = options.LoadingFactor; } public static void ModifyPublicTransportDepot(PrefabBase prefab, ITransportDepotOptions options) { TransportDepot component = ((ComponentBase)prefab).GetComponent<TransportDepot>(); component.m_VehicleCapacity = options.VehicleCapacity; component.m_MaintenanceDuration = options.MaintenanceDuration; component.m_ProductionDuration = options.ProductionDuration; } public static void ModifyPublicTransportStation(PrefabBase prefab, ITransportStationOptions options) { TransportStation component = ((ComponentBase)prefab).GetComponent<TransportStation>(); component.m_ComfortFactor = options.ComfortFactor; } public static void ModifyMailbox(PrefabBase prefab, IMailboxOptions options) { MailBox component = ((ComponentBase)prefab).GetComponent<MailBox>(); component.m_MailCapacity = options.Mailcapacity; component.m_ComfortFactor = options.ComfortFactor; } public static void ModifyDeliveryTruck(PrefabBase prefab, IDeliveryTruckOptions options) { DeliveryTruck component = ((ComponentBase)prefab).GetComponent<DeliveryTruck>(); component.m_CargoCapacity = options.CargoCapacity; component.m_CostToDrive = options.CostToDrive; } public static void ModifyMaintenanceVehicle(PrefabBase prefab, IMaintenanceVehicleOptions options) { MaintenanceVehicle component = ((ComponentBase)prefab).GetComponent<MaintenanceVehicle>(); component.m_MaintenanceCapacity = options.MaintenanceCapacity; component.m_MaintenanceRate = options.MaintenanceRate; } public static void ModifyFireEngine(PrefabBase prefab, IFireEngineOptions options) { FireEngine component = ((ComponentBase)prefab).GetComponent<FireEngine>(); component.m_ExtinguishingCapacity = options.ExtinguishingCapacity; component.m_ExtinguishingRate = options.ExtinguishingRate; component.m_ExtinguishingSpread = options.ExtinguishingSpread; component.m_DestroyedClearDuration = options.DestroyedClearDuration; } public static void ModifyPoliceCar(PrefabBase prefab, IPoliceCarOptions options) { PoliceCar component = ((ComponentBase)prefab).GetComponent<PoliceCar>(); component.m_CriminalCapacity = options.CriminalCapacity; component.m_CrimeReductionRate = options.CrimeReductionRate; } public static void ModifyTrafficSpawner(PrefabBase prefab, ITrafficSpawnerOptions options) { TrafficSpawner component = ((ComponentBase)prefab).GetComponent<TrafficSpawner>(); component.m_SpawnRate = options.TrafficSpawnerRate; } } public interface IAttractionOptions { int Attractiveness { get; set; } } public interface IBasePrefabOptions { string Name { get; set; } } public interface IBatteryOptions { int BatteryCapacity { get; set; } int PowerOutput { get; set; } } public interface ICargoTransportStationOptions { int Transports { get; set; } } public interface IDeathcareFacilityOptions { int HearseCapacity { get; set; } int StorageCapacity { get; set; } float ProcessingRate { get; set; } } public interface IEmergencyShelterOptions { int ShelterCapacity { get; set; } int VehicleCapacity { get; set; } } public interface IFireStationOptions { int FireEngineCapacity { get; set; } int FireHelicopterCapacity { get; set; } float VehicleEfficiency { get; set; } int DisasterResponseCapacity { get; set; } } public interface IGarbageFacilityOption { int GarbageCapacity { get; set; } int GarbageVehicleCapacity { get; set; } int GarbageTransportCapacity { get; set; } int GarbageProcessingspeed { get; set; } } public interface IGarbagePoweredOptions { float ProductionPerUnit { get; set; } int ProductionCapacity { get; set; } } public interface IGroundWaterPoweredOptions { int Production { get; set; } int MaximumGroundwater { get; set; } } public interface IHospitalOptions { int AmbulanceCapacity { get; set; } int HelicopterCapacity { get; set; } int PatientCapacity { get; set; } int TreatmentBonus { get; set; } } public interface ILeisureProviderOptions { int LeisureEfficiency { get; set; } } public interface IParkingFacilityOptions { int GarageCapacity { get; set; } float Comfortfactor { get; set; } } public interface IPoliceStationOptions { int PatrolCarCapacity { get; set; } int PoliceHelicopterCapacity { get; set; } int JailCapacity { get; set; } } public interface IPollutionOptions { int GroundPollution { get; set; } int AirPollution { get; set; } int NoisePollution { get; set; } } public interface IPostFacilityOptions { int MailboxCapacity { get; set; } int PostVanCapacity { get; set; } int MailStorageCapacity { get; set; } int PostTrucksCapacity { get; set; } int SortingRate { get; set; } } public interface IPowerPlantOptions { int ElectricityProduction { get; set; } } public interface IPrisonOptions { int PrisonVanCapacity { get; set; } int PrisonerCapacity { get; set; } } public interface ISchoolOptions { int StudentCapacity { get; set; } } public interface IServiceConsumptionOptions { int Upkeep { get; set; } int ElectricityConsumption { get; set; } int WaterConsumption { get; set; } int GarbageAccumulation { get; set; } int TelecomNeed { get; set; } } public interface IServiceCoverageOptions { float ServiceCoverageRange { get; set; } float ServiceCoverageCapacity { get; set; } float ServiceCoverageMagnitude { get; set; } } public interface ISewageOutletOptions { int SewageCapacity { get; set; } float SewagePurification { get; set; } } public interface ISolarPoweredOptions { int Production { get; set; } } public interface IStorageLimitOptions { int StorageLimit { get; set; } } public interface ITelecomFacilityOptions { int TelecomRange { get; set; } int NetworkCapacity { get; set; } } public interface ITrafficSpawnerOptions { float TrafficSpawnerRate { get; set; } } public interface ITransportDepotOptions { int VehicleCapacity { get; set; } float MaintenanceDuration { get; set; } float ProductionDuration { get; set; } } public interface ITransportStationOptions { float ComfortFactor { get; set; } } public interface ITransportStopOptions { float EnterDistance { get; set; } float ExitDistance { get; set; } float AccessDistance { get; set; } float BoardingTime { get; set; } float ComfortFactor { get; set; } float LoadingFactor { get; set; } } public interface IFireEngineOptions { int ExtinguishingCapacity { get; set; } int ExtinguishingRate { get; set; } int ExtinguishingSpread { get; set; } int DestroyedClearDuration { get; set; } } public interface IDeliveryTruckOptions { int CargoCapacity { get; set; } int CostToDrive { get; set; } } public interface IGarbageTruckOptions { int GarbageTruckCapacity { get; set; } int GarbageTruckUnloadRate { get; set; } } public interface IMaintenanceVehicleOptions { int MaintenanceCapacity { get; set; } int MaintenanceRate { get; set; } } public interface IPostVanOptions { int MailCapacity { get; set; } } public interface IPoliceCarOptions { int CriminalCapacity { get; set; } int CrimeReductionRate { get; set; } } public interface IPublicTransportVehicle { int PassengerCapacity { get; set; } int Maintenancerange { get; set; } } public interface IWaterPumpingStationOptions { int PumpCapacity { get; set; } float Purification { get; set; } } public interface IWindPoweredOptions { int Production { get; set; } float MaximumWind { get; set; } } public class AirportOptions : IBasePrefabOptions, IServiceConsumptionOptions, IStorageLimitOptions, ICargoTransportStationOptions, ITransportStationOptions, ICityAttractiveness, ICityOfficeEfficiency, ICityUniversityInterest, ICityOfficeSoftwareDemand { public string Name { get; set; } = null; public int Upkeep { get; set; } public int ElectricityConsumption { get; set; } public int WaterConsumption { get; set; } public int GarbageAccumulation { get; set; } public int TelecomNeed { get; set; } public int StorageLimit { get; set; } public int Transports { get; set; } public float ComfortFactor { get; set; } public float CityAttractiveness { get; set; } public float CityOfficeEfficiency { get; set; } public float CityUniversityInterest { get; set; } public float CityOfficeSoftwareDemand { get; set; } } public class CemeteryOptions : IBasePrefabOptions, IServiceConsumptionOptions, IDeathcareFacilityOptions, ILeisureProviderOptions { public string Name { get; set; } = null; public int Upkeep { get; set; } public int ElectricityConsumption { get; set; } public int WaterConsumption { get; set; } public int GarbageAccumulation { get; set; } public int TelecomNeed { get; set; } public int HearseCapacity { get; set; } public int StorageCapacity { get; set; } public float ProcessingRate { get; set; } public int LeisureEfficiency { get; set; } } public class CentralBankOptions : IBasePrefabOptions, IServiceConsumptionOptions, ICityLoanIntrest, ICityImportcost, ICityExportCost { public string Name { get; set; } = null; public int Upkeep { get; set; } public int ElectricityConsumption { get; set; } public int WaterConsumption { get; set; } public int GarbageAccumulation { get; set; } public int TelecomNeed { get; set; } public float CityLoanIntrest { get; set; } public float CityImportcost { get; set; } public float CityExportCost { get; set; } } public class CityHallOptions : IBasePrefabOptions, IServiceConsumptionOptions, ICityLoanIntrest, ICityImportcost { public string Name { get; set; } = null; public int Upkeep { get; set; } public int ElectricityConsumption { get; set; } public int WaterConsumption { get; set; } public int GarbageAccumulation { get; set; } public int TelecomNeed { get; set; } public float CityLoanIntrest { get; set; } public float CityImportcost { get; set; } } public class CityparkOptions : IBasePrefabOptions, IServiceConsumptionOptions, IServiceCoverageOptions, IAttractionOptions, ILeisureProviderOptions { public string Name { get; set; } = null; public int Upkeep { get; set; } public int ElectricityConsumption { get; set; } public int WaterConsumption { get; set; } public int GarbageAccumulation { get; set; } public int TelecomNeed { get; set; } public float ServiceCoverageRange { get; set; } public float ServiceCoverageCapacity { get; set; } public float ServiceCoverageMagnitude { get; set; } public int Attractiveness { get; set; } public int LeisureEfficiency { get; set; } } public class CrematoriumOptions : IBasePrefabOptions, IServiceConsumptionOptions, IPollutionOptions, IDeathcareFacilityOptions { public string Name { get; set; } = null; public int Upkeep { get; set; } public int ElectricityConsumption { get; set; } public int WaterConsumption { get; set; } public int GarbageAccumulation { get; set; } public int TelecomNeed { get; set; } public int HearseCapacity { get; set; } public int StorageCapacity { get; set; } public float ProcessingRate { get; set; } public int GroundPollution { get; set; } public int AirPollution { get; set; } public int NoisePollution { get; set; } } public class DeliveryTruckOptions : IBasePrefabOptions, IDeliveryTruckOptions { public string Name { get; set; } = null; public int CargoCapacity { get; set; } public int CostToDrive { get; set; } } public class DiseaseControlCenterOptions : IBasePrefabOptions, IServiceConsumptionOptions, IHospitalOptions, ICityDiseaseprobability, ICityPollutionhealthAffect { public string Name { get; set; } = null; public int Upkeep { get; set; } public int ElectricityConsumption { get; set; } public int WaterConsumption { get; set; } public int GarbageAccumulation { get; set; } public int TelecomNeed { get; set; } public int AmbulanceCapacity { get; set; } public int HelicopterCapacity { get; set; } public int PatientCapacity { get; set; } public int TreatmentBonus { get; set; } public float CityDiseaseprobability { get; set; } public float CityPollutionhealthAffect { get; set; } } public class EarlyDisasterWarningSystemOptions : IBasePrefabOptions, IServiceConsumptionOptions, ICityDisasterWarningTime, ICityDisasterDamageRate { public string Name { get; set; } = null; public int Upkeep { get; set; } public int ElectricityConsumption { get; set; } public int WaterConsumption { get; set; } public int GarbageAccumulation { get; set; } public int TelecomNeed { get; set; } public float CityDisasterWarningTime { get; set; } public float CityDisasterDamageRate { get; set; } } public class EmergencybatteryOptions : IBasePrefabOptions, IServiceConsumptionOptions, IPollutionOptions, IBatteryOptions { public string Name { get; set; } = null; public int Upkeep { get; set; } public int ElectricityConsumption { get; set; } public int WaterConsumption { get; set; } public int GarbageAccumulation { get; set; } public int TelecomNeed { get; set; } public int GroundPollution { get; set; } public int AirPollution { get; set; } public int NoisePollution { get; set; } public int PowerOutput { get; set; } public int BatteryCapacity { get; set; } } public class FireEngineOptions : IBasePrefabOptions, IFireEngineOptions { public string Name { get; set; } = null; public int ExtinguishingRate { get; set; } public int ExtinguishingSpread { get; set; } public int ExtinguishingCapacity { get; set; } public int DestroyedClearDuration { get; set; } } public class FireFightingHelicopterDepotOptions : IBasePrefabOptions, IServiceConsumptionOptions, IPollutionOptions, IFireStationOptions { public string Name { get; set; } = null; public int Upkeep { get; set; } public int ElectricityConsumption { get; set; } public int WaterConsumption { get; set; } public int GarbageAccumulation { get; set; } public int TelecomNeed { get; set; } public int GroundPollution { get; set; } public int AirPollution { get; set; } public int NoisePollution { get; set; } public int FireEngineCapacity { get; set; } public int FireHelicopterCapacity { get; set; } public float VehicleEfficiency { get; set; } public int DisasterResponseCapacity { get; set; } } public class FireStationOptions : IBasePrefabOptions, IServiceConsumptionOptions, IPollutionOptions, IFireStationOptions, IServiceCoverageOptions { public string Name { get; set; } = null; public int Upkeep { get; set; } public int ElectricityConsumption { get; set; } public int WaterConsumption { get; set; } public int GarbageAccumulation { get; set; } public int TelecomNeed { get; set; } public int GroundPollution { get; set; } public int AirPollution { get; set; } public int NoisePollution { get; set; } public int FireEngineCapacity { get; set; } public int FireHelicopterCapacity { get; set; } public float VehicleEfficiency { get; set; } public int DisasterResponseCapacity { get; set; } public float ServiceCoverageRange { get; set; } public float ServiceCoverageCapacity { get; set; } public float ServiceCoverageMagnitude { get; set; } } public class FirewatchTowerOptions : IBasePrefabOptions, IServiceConsumptionOptions, ILocalForestFireHazard, ILocalForestFireResponseTime { public string Name { get; set; } = null; public int Upkeep { get; set; } public int ElectricityConsumption { get; set; } public int WaterConsumption { get; set; } public int GarbageAccumulation { get; set; } public int TelecomNeed { get; set; } public float LocalForestFireResponseTime { get; set; } public float LocalForestFireResponseTimeRadius { get; set; } public float LocalForestFireHazard { get; set; } public float LocalForestFireHazardRadius { get; set; } } public class GarbagetruckOptions : IBasePrefabOptions, IGarbageTruckOptions { public string Name { get; set; } = null; public int GarbageTruckCapacity { get; set; } public int GarbageTruckUnloadRate { get; set; } } public class GeologicalResearchCenterOptions : IBasePrefabOptions, IServiceConsumptionOptions, IPollutionOptions, ICityOreResourceAmmount, ICityOilResourceAmmount { public string Name { get; set; } = null; public int Upkeep { get; set; } public int ElectricityConsumption { get; set; } public int WaterConsumption { get; set; } public int GarbageAccumulation { get; set; } public int TelecomNeed { get; set; } public int GroundPollution { get; set; } public int AirPollution { get; set; } public int NoisePollution { get; set; } public float CityOreResourceAmmount { get; set; } public float CityOilResourceAmmount { get; set; } public float CityCollegegraduation { get; set; } } public class GeothermalpowerplantOptions : IBasePrefabOptions, IServiceConsumptionOptions, IPollutionOptions, IGroundWaterPoweredOptions { public string Name { get; set; } = null; public int Upkeep { get; set; } public int ElectricityConsumption { get; set; } public int WaterConsumption { get; set; } public int GarbageAccumulation { get; set; } public int TelecomNeed { get; set; } public int AirPollution { get; set; } public int GroundPollution { get; set; } public int NoisePollution { get; set; } public int Production { get; set; } public int MaximumGroundwater { get; set; } } public class HealthcareOptions : IBasePrefabOptions, IServiceConsumptionOptions, IServiceCoverageOptions, IHospitalOptions { public string Name { get; set; } = null; public int Upkeep { get; set; } public int WaterConsumption { get; set; } public int ElectricityConsumption { get; set; } public int GarbageAccumulation { get; set; } public int TelecomNeed { get; set; } public float ServiceCoverageCapacity { get; set; } public float ServiceCoverageRange { get; set; } public float ServiceCoverageMagnitude { get; set; } public int AmbulanceCapacity { get; set; } public int HelicopterCapacity { get; set; } public int PatientCapacity { get; set; } public int TreatmentBonus { get; set; } } public class HeathResearchInstituteOptions : IBasePrefabOptions, IServiceConsumptionOptions, ICityDiseaseprobability, ICityParkEntertainment { public string Name { get; set; } = null; public int Upkeep { get; set; } public int ElectricityConsumption { get; set; } public int WaterConsumption { get; set; } public int GarbageAccumulation { get; set; } public int TelecomNeed { get; set; } public float CityDiseaseprobability { get; set; } public float CityParkEntertainment { get; set; } } public class IncinerationPlantOptions : IBasePrefabOptions, IServiceConsumptionOptions, IPollutionOptions, IGarbageFacilityOption, IPowerPlantOptions, IGarbagePoweredOptions, ICityIndustrialGroundPollution { public string Name { get; set; } = null; public int Upkeep { get; set; } public int ElectricityConsumption { get; set; } public int WaterConsumption { get; set; } public int GarbageAccumulation { get; set; } public int TelecomNeed { get; set; } public int GroundPollution { get; set; } public int AirPollution { get; set; } public int NoisePollution { get; set; } public int GarbageCapacity { get; set; } public int GarbageVehicleCapacity { get; set; } public int GarbageTransportCapacity { get; set; } public int GarbageProcessingspeed { get; set; } public int ElectricityProduction { get; set; } public float ProductionPerUnit { get; set; } public int ProductionCapacity { get; set; } public float CityIndustrialGroundPollution { get; set; } } public class LargeEmergencyShelterOptions : IBasePrefabOptions, IServiceConsumptionOptions, IServiceCoverageOptions, IEmergencyShelterOptions { public string Name { get; set; } = null; public int Upkeep { get; set; } public int ElectricityConsumption { get; set; } public int WaterConsumption { get; set; } public int GarbageAccumulation { get; set; } public int TelecomNeed { get; set; } public float ServiceCoverageRange { get; set; } public float ServiceCoverageCapacity { get; set; } public float ServiceCoverageMagnitude { get; set; } public int ShelterCapacity { get; set; } public int VehicleCapacity { get; set; } } public class LargeHadronColliderOptions : IBasePrefabOptions, IServiceConsumptionOptions, ICityUniversityInterest, ICityOfficeSoftwareDemand, ICityIndustrialElectronicDemand, ICityOfficeSoftwareEfficiency, ICityIndustrialElectronicEfficiency { public string Name { get; set; } = null; public int Upkeep { get; set; } public int ElectricityConsumption { get; set; } public int WaterConsumption { get; set; } public int GarbageAccumulation { get; set; } public int TelecomNeed { get; set; } public float CityUniversityInterest { get; set; } public float CityOfficeSoftwareDemand { get; set; } public float CityIndustrialElectronicDemand { get; set; } public float CityOfficeSoftwareEfficiency { get; set; } public float CityIndustrialElectronicEfficiency { get; set; } } public class MaintenanceVehiclesOptions : IBasePrefabOptions, IMaintenanceVehicleOptions { public string Name { get; set; } = null; public int MaintenanceCapacity { get; set; } public int MaintenanceRate { get; set; } } public class MedicalUniversityOptions : IBasePrefabOptions, IServiceConsumptionOptions, ISchoolOptions, IPollutionOptions, ICityRecoverFailChange, ICityHospitalEfficiency { public string Name { get; set; } = null; public int Upkeep { get; set; } public int ElectricityConsumption { get; set; } public int WaterConsumption { get; set; } public int GarbageAccumulation { get; set; } public int TelecomNeed { get; set; } public int StudentCapacity { get; set; } public int GroundPollution { get; set; } public int AirPollution { get; set; } public int NoisePollution { get; set; } public float CityRecoverFailChange { get; set; } public float CityHospitalEfficiency { get; set; } } public class OutsideConnectionOptions : IBasePrefabOptions, IStorageLimitOptions, ISchoolOptions, IHospitalOptions, IGarbageFacilityOption, IFireStationOptions, IPoliceStationOptions, IDeathcareFacilityOptions, ITransportDepotOptions, ITrafficSpawnerOptions { public string Name { get; set; } = null; public int StorageLimit { get; set; } public int StudentCapacity { get; set; } public float GraduationModifier { get; set; } public int AmbulanceCapacity { get; set; } public int HelicopterCapacity { get; set; } public int PatientCapacity { get; set; } public int TreatmentBonus { get; set; } public int GarbageCapacity { get; set; } public int GarbageVehicleCapacity { get; set; } public int GarbageTransportCapacity { get; set; } public int GarbageProcessingspeed { get; set; } public int FireEngineCapacity { get; set; } public int FireHelicopterCapacity { get; set; } public int DisasterResponseCapacity { get; set; } public float VehicleEfficiency { get; set; } public int PatrolCarCapacity { get; set; } public int PoliceHelicopterCapacity { get; set; } public int JailCapacity { get; set; } public int HearseCapacity { get; set; } public int StorageCapacity { get; set; } public float ProcessingRate { get; set; } public int VehicleCapacity { get; set; } public float MaintenanceDuration { get; set; } public float ProductionDuration { get; set; } public float TrafficSpawnerRate { get; set; } } public class ParkinghallOptions : IBasePrefabOptions, IParkingFacilityOptions, IServiceConsumptionOptions, IPollutionOptions { public string Name { get; set; } = null; public int GarageCapacity { get; set; } public float Comfortfactor { get; set; } public int ElectricityConsumption { get; set; } public int WaterConsumption { get; set; } public int GarbageAccumulation { get; set; } public int TelecomNeed { get; set; } public int GroundPollution { get; set; } public int AirPollution { get; set; } public int NoisePollution { get; set; } public int Upkeep { get; set; } } public class PoliceCarOptions : IBasePrefabOptions, IPoliceCarOptions { public string Name { get; set; } = null; public int CriminalCapacity { get; set; } public int CrimeReductionRate { get; set; } } public class PoliceStationOptions : IBasePrefabOptions, IServiceConsumptionOptions, IPollutionOptions, IPoliceStationOptions, IServiceCoverageOptions { public string Name { get; set; } = null; public int Upkeep { get; set; } public int ElectricityConsumption { get; set; } public int WaterConsumption { get; set; } public int GarbageAccumulation { get; set; } public int TelecomNeed { get; set; } public int GroundPollution { get; set; } public int AirPollution { get; set; } public int NoisePollution { get; set; } public int PatrolCarCapacity { get; set; } public int PoliceHelicopterCapacity { get; set; } public int JailCapacity { get; set; } public float ServiceCoverageRange { get; set; } public float ServiceCoverageCapacity { get; set; } public float ServiceCoverageMagnitude { get; set; } } public class PostMailboxOptions : IBasePrefabOptions, IMailboxOptions, IServiceCoverageOptions { public string Name { get; set; } = null; public int Mailcapacity { get; set; } public float ServiceCoverageRange { get; set; } public float ServiceCoverageCapacity { get; set; } public float ServiceCoverageMagnitude { get; set; } public float ComfortFactor { get; set; } } public class PostofficeOptions : IBasePrefabOptions, IServiceConsumptionOptions, IServiceCoverageOptions, IPollutionOptions, IPostFacilityOptions { public string Name { get; set; } = null; public int Upkeep { get; set; } public int ElectricityConsumption { get; set; } public int WaterConsumption { get; set; } public int GarbageAccumulation { get; set; } public int TelecomNeed { get; set; } public float ServiceCoverageRange { get; set; } public float ServiceCoverageCapacity { get; set; } public float ServiceCoverageMagnitude { get; set; } public int GroundPollution { get; set; } public int AirPollution { get; set; } public int NoisePollution { get; set; } public int MailStorageCapacity { get; set; } public int MailboxCapacity { get; set; } public int PostVanCapacity { get; set; } public int PostTrucksCapacity { get; set; } public int SortingRate { get; set; } } public class PostVanOptions : IBasePrefabOptions, IPostVanOptions { public string Name { get; set; } = null; public int MailCapacity { get; set; } } public class PowerplantOptions : IBasePrefabOptions, IServiceConsumptionOptions, IPollutionOptions, IPowerPlantOptions, IStorageLimitOptions { public string Name { get; set; } = null; public int Upkeep { get; set; } public int ElectricityConsumption { get; set; } public int WaterConsumption { get; set; } public int GarbageAccumulation { get; set; } public int TelecomNeed { get; set; } public int AirPollution { get; set; } public int GroundPollution { get; set; } public int NoisePollution { get; set; } public int ElectricityProduction { get; set; } public int StorageLimit { get; set; } } public class PrisonOptions : IBasePrefabOptions, IServiceConsumptionOptions, IPollutionOptions, IPrisonOptions, ILocalCrimeAccumulation { public string Name { get; set; } = null; public int Upkeep { get; set; } public int ElectricityConsumption { get; set; } public int WaterConsumption { get; set; } public int GarbageAccumulation { get; set; } public int TelecomNeed { get; set; } public int GroundPollution { get; set; } public int AirPollution { get; set; } public int NoisePollution { get; set; } public int PrisonVanCapacity { get; set; } public int PrisonerCapacity { get; set; } public float LocalCrimeAccumulation { get; set; } public float LocalCrimeAccumulationRadius { get; set; } } public class PublicTransportDepotsOptions : IBasePrefabOptions, IServiceConsumptionOptions, IPollutionOptions, ITransportDepotOptions { public string Name { get; set; } = null; public int Upkeep { get; set; } public int ElectricityConsumption { get; set; } public int WaterConsumption { get; set; } public int GarbageAccumulation { get; set; } public int TelecomNeed { get; set; } public int GroundPollution { get; set; } public int AirPollution { get; set; } public int NoisePollution { get; set; } public int VehicleCapacity { get; set; } public float MaintenanceDuration { get; set; } public float ProductionDuration { get; set; } } public class PublicTransportStationsOptions : IBasePrefabOptions, IServiceConsumptionOptions, ITransportStationOptions, IPollutionOptions, IStorageLimitOptions, ICargoTransportStationOptions { public string Name { get; set; } = null; public int Upkeep { get; set; } public int ElectricityConsumption { get; set; } public int WaterConsumption { get; set; } public int GarbageAccumulation { get; set; } public int TelecomNeed { get; set; } public int GroundPollution { get; set; } public int AirPollution { get; set; } public int NoisePollution { get; set; } public int StorageLimit { get; set; } public int Transports { get; set; } public float ComfortFactor { get; set; } } public class PublicTransportStopsOptions : IBasePrefabOptions, ITransportStopOptions { public string Name { get; set; } = null; public float EnterDistance { get; set; } public float ExitDistance { get; set; } public float AccessDistance { get; set; } public float BoardingTime { get; set; } public float ComfortFactor { get; set; } public float LoadingFactor { get; set; } } public class PublicTransportVehicleOptions : IBasePrefabOptions, IPublicTransportVehicle { public string Name { get; set; } = null; public int PassengerCapacity { get; set; } public int Maintenancerange { get; set; } } public class RadioMastOptions : IBasePrefabOptions, IServiceConsumptionOptions, ITelecomFacilityOptions, IPollutionOptions { public string Name { get; set; } = null; public int Upkeep { get; set; } public int ElectricityConsumption { get; set; } public int WaterConsumption { get; set; } public int GarbageAccumulation { get; set; } public int TelecomNeed { get; set; } public int TelecomRange { get; set; } public int NetworkCapacity { get; set; } public int GroundPollution { get; set; } public int AirPollution { get; set; } public int NoisePollution { get; set; } } public class RadioTelescopeOptions : IBasePrefabOptions, IServiceConsumptionOptions, ICityUniversityGraduation { public string Name { get; set; } = null; public int Upkeep { get; set; } public int ElectricityConsumption { get; set; } public int WaterConsumption { get; set; } public int GarbageAccumulation { get; set; } public int TelecomNeed { get; set; } public float CityUniversityGraduation { get; set; } } public class SchoolOptions : IBasePrefabOptions, IServiceConsumptionOptions, IPollutionOptions { public string Name { get; set; } = null; public int AirPollution { get; set; } public int Upkeep { get; set; } public int GroundPollution { get; set; } public int NoisePollution { get; set; } public int GarbageAccumulation { get; set; } public int TelecomNeed { get; set; } public int WaterConsumption { get; set; } public int ElectricityConsumption { get; set; } } public class ServerfarmOptions : IBasePrefabOptions, IServiceConsumptionOptions, IPollutionOptions, ITelecomFacilityOptions, ICityEntertainment, ICityTelecomCapacity, ICityAttractiveness { public string Name { get; set; } = null; public int Upkeep { get; set; } public int ElectricityConsumption { get; set; } public int WaterConsumption { get; set; } public int GarbageAccumulation { get; set; } public int TelecomNeed { get; set; } public int GroundPollution { get; set; } public int AirPollution { get; set; } public int NoisePollution { get; set; } public int TelecomRange { get; set; } public int NetworkCapacity { get; set; } public float CityEntertainment { get; set; } public float CityTelecomCapacity { get; set; } public float CityAttractiveness { get; set; } } public class SignatureCommercialbuildingOptions : IBasePrefabOptions, IAttractionOptions, ILocalWellbeing, IPollutionOptions, ICityAttractiveness, ICityImportcost { public string Name { get; set; } = null; public int Attractiveness { get; set; } public float LocalWellbeing { get; set; } public float LocalWellbeingRadius { get; set; } public int GroundPollution { get; set; } public int AirPollution { get; set; } public int NoisePollution { get; set; } public float CityImportcost { get; set; } public float CityAttractiveness { get; set; } } public class SignatureMixedbuildingOptions : IBasePrefabOptions, IAttractionOptions, IPollutionOptions, ILocalWellbeing, ICityAttractiveness { public string Name { get; set; } = null; public int Attractiveness { get; set; } public int GroundPollution { get; set; } public int AirPollution { get; set; } public int NoisePollution { get; set; } public float LocalWellbeing { get; set; } public float LocalWellbeingRadius { get; set; } public float CityAttractiveness { get; set; } } public class SignatureOfficebuildingOptions : IBasePrefabOptions, IAttractionOptions, IPollutionOptions, ILocalWellbeing, ILocalCrimeAccumulation, ICityOfficeEfficiency, ICityUniversityInterest, ICityUniversityGraduation { public string Name { get; set; } = null; public int Attractiveness { get; set; } public int GroundPollution { get; set; } public int AirPollution { get; set; } public int NoisePollution { get; set; } public float LocalWellbeing { get; set; } public float LocalWellbeingRadius { get; set; } public float LocalCrimeAccumulation { get; set; } public float LocalCrimeAccumulationRadius { get; set; } public float CityOfficeEfficiency { get; set; } public float CityUniversityInterest { get; set; } public float CityUniversityGraduation { get; set; } } public class SignatureResidentialbuildingOptions : IBasePrefabOptions, ILocalWellbeing { public string Name { get; set; } = null; public float LocalWellbeing { get; set; } public float LocalWellbeingRadius { get; set; } } public class SolarpowerstationOptions : IBasePrefabOptions, IServiceConsumptionOptions, IPollutionOptions, ISolarPoweredOptions, IBatteryOptions { public string Name { get; set; } = null; public int Upkeep { get; set; } public int ElectricityConsumption { get; set; } public int WaterConsumption { get; set; } public int GarbageAccumulation { get; set; } public int TelecomNeed { get; set; } public int GroundPollution { get; set; } public int AirPollution { get; set; } public int NoisePollution { get; set; } public int Production { get; set; } public int PowerOutput { get; set; } public int BatteryCapacity { get; set; } } public class SpaceCenterOptions : IBasePrefabOptions, IServiceConsumptionOptions, ITransportDepotOptions, IAttractionOptions, ICityUniversityInterest, ICityOfficeSoftwareDemand, ICityIndustrialElectronicDemand, ICityAttractiveness, ILeisureProviderOptions { public string Name { get; set; } = null; public int Upkeep { get; set; } public int ElectricityConsumption { get; set; } public int WaterConsumption { get; set; } public int GarbageAccumulation { get; set; } public int TelecomNeed { get; set; } public int VehicleCapacity { get; set; } public float MaintenanceDuration { get; set; } public float ProductionDuration { get; set; } public int Attractiveness { get; set; } public float CityAttractiveness { get; set; } public float CityIndustrialElectronicDemand { get; set; } public float CityUniversityInterest { get; set; } public float CityOfficeSoftwareDemand { get; set; } public int LeisureEfficiency { get; set; } } public class TechnicalUniversityOptions : IBasePrefabOptions, IServiceConsumptionOptions, IPollutionOptions, ISchoolOptions, ICityIndustrialEfficiency, ICityOfficeEfficiency { public string Name { get; set; } = null; public int Upkeep { get; set; } public int ElectricityConsumption { get; set; } public int WaterConsumption { get; set; } public int GarbageAccumulation { get; set; } public int TelecomNeed { get; set; } public int GroundPollution { get; set; } public int AirPollution { get; set; } public int NoisePollution { get; set; } public int StudentCapacity { get; set; } public float CityIndustrialEfficiency { get; set; } public float CityOfficeEfficiency { get; set; } } public class TransformerstationOptions : IBasePrefabOptions, IServiceConsumptionOptions, IPollutionOptions { public string Name { get; set; } = null; public int Upkeep { get; set; } public int ElectricityConsumption { get; set; } public int WaterConsumption { get; set; } public int GarbageAccumulation { get; set; } public int TelecomNeed { get; set; } public int GroundPollution { get; set; } public int AirPollution { get; set; } public int NoisePollution { get; set; } } public class WastewaterOptions : IBasePrefabOptions, IServiceConsumptionOptions, IPollutionOptions, ISewageOutletOptions { public string Name { get; set; } = null; public int Upkeep { get; set; } public int ElectricityConsumption { get; set; } public int WaterConsumption { get; set; } public int GarbageAccumulation { get; set; } public int TelecomNeed { get; set; } public int GroundPollution { get; set; } public int AirPollution { get; set; } public int NoisePollution { get; set; } public int SewageCapacity { get; set; } public float SewagePurification { get; set; } } public class WaterpumpOptions : IBasePrefabOptions, IServiceConsumptionOptions, IPollutionOptions, IWaterPumpingStationOptions { public string Name { get; set; } = null; public int Upkeep { get; set; } public int WaterConsumption { get; set; } public int GarbageAccumulation { get; set; } public int TelecomNeed { get; set; } public int ElectricityConsumption { get; set; } public int GroundPollution { get; set; } public int AirPollution { get; set; } public int NoisePollution { get; set; } public int PumpCapacity { get; set; } public float Purification { get; set; } } public class WelfareOfficeOptions : IBasePrefabOptions, IServiceConsumptionOptions, IServiceCoverageOptions, IPollutionOptions { public string Name { get; set; } = null; public int Upkeep { get; set; } public int ElectricityConsumption { get; set; } public int WaterConsumption { get; set; } public int GarbageAccumulation { get; set; } public int TelecomNeed { get; set; } public int GroundPollution { get; set; } public int AirPollution { get; set; } public int NoisePollution { get; set; } public float ServiceCoverageRange { get; set; } public float ServiceCoverageCapacity { get; set; } public float ServiceCoverageMagnitude { get; set; } } public class WhitesharkCheatOverhaulOptions { public static WhitesharkCheatOverhaulOptions Default => new WhitesharkCheatOverhaulOptions { Version = 323, School_Options = new List<SchoolOptions> { new SchoolOptions { Name = "ElementarySchool01", AirPollution = 0, GroundPollution = 0, NoisePollution = 7500, GarbageAccumulation = 1900, TelecomNeed = 0, WaterConsumption = 1500, ElectricityConsumption = 1000 }, new SchoolOptions { Name = "HighSchool01", AirPollution = 0, GroundPollution = 0, NoisePollution = 7500, GarbageAccumulation = 1300, TelecomNeed = 0, WaterConsumption = 1500, ElectricityConsumption = 1500 }, new SchoolOptions { Name = "College01", AirPollution = 0, GroundPollution = 0, NoisePollution = 10000, GarbageAccumulation = 2400, TelecomNeed = 0, WaterConsumption = 1500, ElectricityConsumption = 2000 }, new SchoolOptions { Name = "University01", AirPollution = 0, GroundPollution = 0, NoisePollution = 10000, GarbageAccumulation = 2400, TelecomNeed = 0, WaterConsumption = 3000, ElectricityConsumption = 3000 } }, Powerplant_Options = new List<PowerplantOptions> { new PowerplantOptions { Name = "GasPowerPlant01", Upkeep = 655555, ElectricityConsumption = 0, WaterConsumption = 48000, GarbageAccumulation = 30000, TelecomNeed = 0, AirPollution = 10000, GroundPollution = 10000, NoisePollution = 10000, ElectricityProduction = 2500000, StorageLimit = 5000 }, new PowerplantOptions { Name = "GasPowerPlant01 Additional Turbine", Upkeep = 200000, ElectricityConsumption = 0, WaterConsumption = 24000, GarbageAccumulation = 6000, TelecomNeed = 0, AirPollution = 3000, GroundPollution = 3000, NoisePollution = 3000, ElectricityProduction = 1000000 }, new PowerplantOptions { Name = "GasPowerPlant01 Advanced Furnace", Upkeep = 80000, ElectricityConsumption = 0, WaterConsumption = 0, GarbageAccumulation = 0, TelecomNeed = 0 }, new PowerplantOptions { Name = "GasPowerPlant01 Exhaust Filter", Upkeep = 100000, ElectricityConsumption = 0, WaterConsumption = 0, GarbageAccumulation = 7500, TelecomNeed = 0 }, new PowerplantOptions { Name = "GasPowerPlant01 Fuel Storage Extention", Upkeep = 150000, ElectricityConsumption = 0, WaterConsumption = 0, GarbageAccumulation = 6000, TelecomNeed = 0, AirPollution = 5000, GroundPollution = 5000, NoisePollution = 5000, StorageLimit = 2500 }, new PowerplantOptions { Name = "CoalPowerPlant01", Upkeep = 15000, ElectricityConsumption = 0, WaterConsumption = 60000, GarbageAccumulation = 50000, TelecomNeed = 0, AirPollution = 100000, GroundPollution = 100000, NoisePollution = 100000, ElectricityProduction = 3000000, StorageLimit = 500000 }, new PowerplantOptions { Name = "CoalPowerPlant01 Additional Turbine Building", Upkeep = 50000, ElectricityConsumption = 0, WaterConsumption = 30000, GarbageAccumulation = 10000, TelecomNeed = 0, AirPollution = 50000, GroundPollution = 50000, NoisePollution = 50000, ElectricityProduction = 1000000 }, new PowerplantOptions { Name = "CoalPowerPlant01 Exhaust Filter", Upkeep = 50000, ElectricityConsumption = 0, WaterConsumption = 0, GarbageAccumulation = 12500, TelecomNeed = 0 }, new PowerplantOptions { Name = "CoalPowerPlant01 Advanced Furnace", Upkeep = 60000, ElectricityConsumption = 0, WaterConsumption = 0, GarbageAccumulation = 0, TelecomNeed = 0 }, new PowerplantOptions { Name = "CoalPowerPlant01 Coal Storage Yard", Upkeep = 25000, ElectricityConsumption = 0, WaterConsumption = 0, GarbageAccumulation = 10000, AirPollution = 25000, GroundPollution = 25000, NoisePollution = 25000, StorageLimit = 2500000, TelecomNeed = 0 }, new PowerplantOptions { Name = "NuclearPowerPlant01", Upkeep = 1000000, ElectricityConsumption = 0, WaterConsumption = 400000, GarbageAccumulation = 40000, AirPollution = 0, GroundPollution = 0, NoisePollution = 150000, ElectricityProduction = 7500000, TelecomNeed = 0 }, new PowerplantOptions { Name = "SmallCoalPowerPlant01", Upkeep = 10000, ElectricityConsumption = 0, WaterConsumption = 15000, GarbageAccumulation = 25000, AirPollution = 30000, GroundPollution = 30000, NoisePollution = 30000, ElectricityProduction = 200000, TelecomNeed = 0 } }, Waterpump_Options = new List<WaterpumpOptions> { new WaterpumpOptions { Name = "WaterPumpingStation01", Upkeep = 60000, WaterConsumption = 0, PumpCapacity = 100000, GarbageAccumulation = 12500, ElectricityConsumption = 3000, NoisePollution = 5000, AirPollution = 0, GroundPollution = 0, TelecomNeed = 0 }, new WaterpumpOptions { Name = "WaterPumpingStation01 Extra Pump", Upkeep = 7000, WaterConsumption = 0, PumpCapacity = 50000, GarbageAccumulation = 2500, ElectricityConsumption = 1000, NoisePollution = 2500, AirPollution = 0, GroundPollution = 0, TelecomNeed = 0 }, new WaterpumpOptions { Name = "GroundwaterPumpingStation01", Upkeep = 20000, WaterConsumption = 0, PumpCapacity = 75000, GarbageAccumulation = 10000, ElectricityConsumption = 3000, NoisePollution = 5000, AirPollution = 0, GroundPollution = 0, TelecomNeed = 0 }, new WaterpumpOptions { Name = "GroundwaterPumpingStation01 Advanced Filtering System", Upkeep = 11000, WaterConsumption = 0, PumpCapacity = 0, GarbageAccumulation = 2500, ElectricityConsumption = 1000, Purification = 0.5f, TelecomNeed = 0 }, new WaterpumpOptions { Name = "GroundwaterPumpingStation01 Extra Pump", Upkeep = 7000, WaterConsumption = 0, PumpCapacity = 37500, GarbageAccumulation = 2000, ElectricityConsumption = 500, NoisePollution = 2500, AirPollution = 0, GroundPollution = 0, TelecomNeed = 0 }, new WaterpumpOptions { Name = "DesalinationPlant01", Upkeep = 95000, WaterConsumption = 0, PumpCapacity = 1000000, GarbageAccumulation = 62500, ElectricityConsumption = 3000, NoisePollution = 25000, AirPollution = 0, GroundPollution = 0, TelecomNeed = 0 }, new WaterpumpOptions { Name = "WaterTower01", Upkeep = 30000, WaterConsumption = 0, PumpCapacity = 30000, GarbageAccumulation = 0, ElectricityConsumption = 0, NoisePollution = 2500, AirPollution = 0, GroundPollution = 0, TelecomNeed = 0 } }, Transformerstation_Options = new List<TransformerstationOptions> { new TransformerstationOptions { Name = "TransformerStation01", Upkeep = 6000, ElectricityConsumption = 0, WaterConsumption = 0, GarbageAccumulation = 100, NoisePollution = 5000, AirPollution = 0, GroundPollution = 0, TelecomNeed = 0 } }, Serverfarm_Options = new List<ServerfarmOptions> { new ServerfarmOptions { Name = "ServerFarm01", Upkeep = 50000, ElectricityConsumption = 20000, WaterConsumption = 10000, GarbageAccumulation = 3000, TelecomRange = 2500, NetworkCapacity = 20000, NoisePollution = 20000, GroundPollution = 0, AirPollution = 0, TelecomNeed = 0 }, new ServerfarmOptions { Name = "SatelliteUplink01", Upkeep = 320000, ElectricityConsumption = 5000, WaterConsumption = 500, GarbageAccumulation = 5000, TelecomRange = 0, NetworkCapacity = 0, GroundPollution = 0, AirPollution = 0, NoisePollution = 5000, CityEntertainment = 50f, CityTelecomCapacity = 0.2f, CityAttractiveness = 0.1f, TelecomNeed = 0 }, new ServerfarmOptions { Name = "TelecomTower01", Upkeep = 95000, ElectricityConsumption = 5000, WaterConsumption = 1000, GarbageAccumulation = 0, TelecomRange = 5000, NetworkCapacity = 15000, NoisePollution = 10000, GroundPollution = 0, AirPollution = 0, TelecomNeed = 0 }, new ServerfarmOptions { Name = "ServerFarm01 Fiber Optic Cable", Upkeep = 10000, ElectricityConsumption = 10000, WaterConsumption = 0, GarbageAccumulation = 0, TelecomRange = 500, NetworkCapacity = 0, TelecomNeed = 0 }, new ServerfarmOptions { Name = "ServerFarm01 Server Upgrade", Upkeep = 20000, ElectricityConsumption = 10000, WaterConsumption = 2500, GarbageAccumulation = 1000, TelecomRange = 0, NetworkCapacity = 10000, TelecomNeed = 0 } }, Garbagetruck_Options = new List<GarbagetruckOptions> { new GarbagetruckOptions { Name = "GarbageTruck01", GarbageTruckCapacity = 20000, GarbageTruckUnloadRate = 4000 } }, PublicTransportVehicle_Options = new List<PublicTransportVehicleOptions> { new PublicTransportVehicleOptions { Name = "Bus01", PassengerCapacity = 80, Maintenancerange = 200 }, new PublicTransportVehicleOptions { Name = "Bus02", PassengerCapacity = 80, Maintenancerange = 250 }, new PublicTransportVehicleOptions { Name = "Bus03", PassengerCapacity = 80, Maintenancerange = 200 }, new PublicTransportVehicleOptions { Name = "TrainPassengerCar01", PassengerCapacity = 120, Maintenancerange = 1000 }, new PublicTransportVehicleOptions { Name = "TrainPassengerEngine01", PassengerCapacity = 120, Maintenancerange = 1000 }, new PublicTransportVehicleOptions { Name = "SubwayCar01", PassengerCapacity = 150, Maintenancerange = 850 }, new PublicTransportVehicleOptions { Name = "SubwayEngine01", PassengerCapacity = 120, Maintenancerange = 850 }, new PublicTransportVehicleOptions { Name = "TramCar01", PassengerCapacity = 80, Maintenancerange = 600 }, new PublicTransportVehicleOptions { Name = "TramEngine01", PassengerCapacity = 80, Maintenancerange = 600 } }, Parkinghall_Options = new List<ParkinghallOptions> { new ParkinghallOptions { Name = "ParkingLot01", Upkeep = 2200, GarageCapacity = 0, Comfortfactor = 0.5f, ElectricityConsumption = 200, WaterConsumption = 0, GarbageAccumulation = 200, NoisePollution = 2500, GroundPollution = 0, AirPollution = 0, TelecomNeed = 0 }, new ParkinghallOptions { Name = "ParkingLot02", Upkeep = 3000, GarageCapacity = 0, Comfortfactor = 0.5f, ElectricityConsumption = 300, WaterConsumption = 0, GarbageAccumulation = 300, NoisePollution = 2500, GroundPollution = 0, AirPollution = 0, TelecomNeed = 0 }, new ParkinghallOptions { Name = "ParkingLot03", Upkeep = 7000, GarageCapacity = 0, Comfortfactor = 0.5f, ElectricityConsumption = 700, WaterConsumption = 0, GarbageAccumulation = 700, NoisePollution = 5000, GroundPollution = 0, AirPollution = 0, TelecomNeed = 0 }, new ParkinghallOptions { Name = "ParkingLot04", Upkeep = 16000, GarageCapacity = 0, Comfortfactor = 0.5f, ElectricityConsumption = 1600, WaterConsumption = 0, GarbageAccumulation = 1700, NoisePollution = 5000, GroundPollution = 0, AirPollution = 0, TelecomNeed = 0 }, new ParkinghallOptions { Name = "ParkingHall01", Upkeep = 30000, GarageCapacity = 0, Comfortfactor = 0.6f, ElectricityConsumption = 2400, WaterConsumption = 2000, GarbageAccumulation = 1600, NoisePollution = 2500, GroundPollution = 0, AirPollution = 0, TelecomNeed = 0 }, new ParkinghallOptions { Name = "ParkingHall01 Car Wash", Upkeep = 5000, GarageCapacity = 0, Comfortfactor = 0.1f, ElectricityConsumption = 2400, WaterConsumption = 2000, GarbageAccumulation = 1600, TelecomNeed = 0 }, new ParkinghallOptions { Name = "ParkingHall02", Upkeep = 40000, GarageCapacity = 100, Comfortfactor = 0.65f, ElectricityConsumption = 3000, WaterConsumption = 2000, GarbageAccumulation = 2000, NoisePollution = 2500, GroundPollution = 0, AirPollution = 0, TelecomNeed = 0 }, new ParkinghallOptions { Name = "AutomatedParkingBuilding01", Upkeep = 130000, GarageCapacity = 416, Comfortfactor = 0.75f, ElectricityConsumption = 7000, WaterConsumption = 3000, GarbageAccumulation = 2500, NoisePollution = 2500, GroundPollution = 0, AirPollution = 0, TelecomNeed = 0 } }, Citypark_Options = new List<CityparkOptions> { new CityparkOptions { Name = "CityPark01", Upkeep = 2000, ElectricityConsumption = 500, WaterConsumption = 0, GarbageAccumulation = 100, ServiceCoverageRange = 2500f, ServiceCoverageCapacity = 800f, ServiceCoverageMagnitude = 10f, Attractiveness = 1, LeisureEfficiency = 1, TelecomNeed = 0 }, new CityparkOptions { Name = "CityPark02", Upkeep = 4000, ElectricityConsumption = 750, WaterConsumption = 500, GarbageAccumulation = 200, ServiceCoverageRange = 4000f, ServiceCoverageCapacity = 1200f, ServiceCoverageMagnitude = 10f, Attractiveness = 5, LeisureEfficiency = 2, TelecomNeed = 0 }, new CityparkOptions { Name = "Playground01", Upkeep = 1000, ElectricityConsumption = 250, WaterConsumption = 0, GarbageAccumulation = 200, ServiceCoverageRange = 2000f, ServiceCoverageCapacity = 600f, ServiceCoverageMagnitude = 10f, Attractiveness = 1, LeisureEfficiency = 2, TelecomNeed = 0 }, new CityparkOptions { Name = "DogPark01", Upkeep = 2000, ElectricityConsumption = 250, WaterConsumption = 0, GarbageAccumulation = 200, ServiceCoverageRange = 3500f, ServiceCoverageCapacity = 800f, ServiceCoverageMagnitude = 10f, Attractiveness = 1, LeisureEfficiency = 2, TelecomNeed = 0 }, new CityparkOptions { Name = "CampireSite01", Upkeep = 6000, ElectricityConsumption = 0, WaterConsumption = 0, GarbageAccumulation = 400, ServiceCoverageRange = 6000f, ServiceCoverageCapacity = 1600f, ServiceCoverageMagnitude = 10f, Attractiveness = 10, LeisureEfficiency = 5, TelecomNeed = 0 }, new CityparkOptions { Name = "CityPark03", Upkeep = 8500, ElectricityConsumption = 10000, WaterConsumption = 750, GarbageAccumulation = 300, ServiceCoverageRange = 3000f, ServiceCoverageCapacity = 1600f, ServiceCoverageMagnitude = 14f, Attractiveness = 10, LeisureEfficiency = 3, TelecomNeed = 0 }, new CityparkOptions { Name = "CityPark04", Upkeep = 12500, ElectricityConsumption = 1500, WaterConsumption = 1000, GarbageAccumulation = 400, ServiceCoverageRange = 4000f, ServiceCoverageCapacity = 2000f, ServiceCoverageMagnitude = 14f, Attractiveness = 15, LeisureEfficiency = 5, TelecomNeed = 0 }, new CityparkOptions { Name = "Playground02", Upkeep = 2500, ElectricityConsumption = 500, WaterConsumption = 0, GarbageAccumulation = 400, ServiceCoverageRange = 2500f, ServiceCoverageCapacity = 800f, ServiceCoverageMagnitude = 14f, Attractiveness = 5, LeisureEfficiency = 5, TelecomNeed = 0 }, new CityparkOptions { Name = "TennisCourt01", Upkeep = 2500, ElectricityConsumption = 500, WaterConsumption = 0, GarbageAccumulation = 400, ServiceCoverageRange = 3500f, ServiceCoverageCapacity = 800f, ServiceCoverageMagnitude = 14f, Attractiveness = 5, LeisureEfficiency = 5, TelecomNeed = 0 }, new CityparkOptions { Name = "GymPark01", Upkeep = 3000, ElectricityConsumption = 500, WaterConsumption = 0, GarbageAccumulation = 400, ServiceCoverageRange = 3500f, ServiceCoverageCapacity = 1000f, ServiceCoverageMagnitude = 10f, Attractiveness = 5, LeisureEfficiency = 5, TelecomNeed = 0 }, new CityparkOptions { Name = "SkatePark01", Upkeep = 3000, ElectricityConsumption = 500, WaterConsumption = 0, GarbageAccumulation = 400, ServiceCoverageRange = 3500f, ServiceCoverageCapacity = 1000f, ServiceCoverageMagnitude = 10f, Attractiveness = 5, LeisureEfficiency = 5, TelecomNeed = 0 }, new CityparkOptions { Name = "BasketballCourt01", Upkeep = 2500, ElectricityConsumption = 510, WaterConsumption = 0, GarbageAccumulation = 400, ServiceCoverageRange = 3500f, ServiceCoverageCapacity = 800f, ServiceCoverageMagnitude = 14f, Attractiveness = 5, LeisureEfficiency = 5, TelecomNeed = 0 }, new CityparkOptions { Name = "AmericanFootballField01", Upkeep = 30000, ElectricityConsumption = 2500, WaterConsumption = 0, GarbageAccumulation = 1500, ServiceCoverageRange = 4000f, ServiceCoverageCapacity = 4000f, ServiceCoverageMagnitude = 16f, Attractiveness = 25, LeisureEfficiency = 25, TelecomNeed = 0 }, new CityparkOptions { Name = "FootballField01", Upkeep = 30000, ElectricityConsumption = 2510, WaterConsumption = 0, GarbageAccumulation = 1500, ServiceCoverageRange = 4000f, ServiceCoverageCapacity = 4000f, ServiceCoverageMagnitude = 16f, Attractiveness = 25, LeisureEfficiency = 20, TelecomNeed = 0 }, new CityparkOptions { Name = "CommunityPool01", Upkeep = 16000, ElectricityConsumption = 3000, WaterConsumption = 10000, GarbageAccumulation = 1500, ServiceCoverageRange = 3500f, ServiceCoverageCapacity = 2000f, ServiceCoverageMagnitude = 16f, Attractiveness = 15, LeisureEfficiency = 20, TelecomNeed = 0 }, new CityparkOptions { Name = "ObservationTower01", Upkeep = 320000, ElectricityConsumption = 3500, WaterConsumption = 5000, GarbageAccumulation = 5700, ServiceCoverageRange = 7500f, ServiceCoverageCapacity = 6000f, ServiceCoverageMagnitude = 18f, Attractiveness = 40, LeisureEfficiency = 75, TelecomNeed = 0 }, new CityparkOptions { Name = "BronzeStatue01", Upkeep = 320000, ElectricityConsumption = 3000, WaterConsumption = 1000, GarbageAccumulation = 1900, ServiceCoverageRange = 5000f, ServiceCoverageCapacity = 5000f, ServiceCoverageMagnitude = 16f, Attractiveness = 50, LeisureEfficiency = 25, TelecomNeed = 0 }, new CityparkOptions { Name = "WaterPark01", Upkeep = 80000, ElectricityConsumption = 15000, WaterConsumption = 20000, GarbageAccumulation = 1900, ServiceCoverageRange = 5000f, ServiceCoverageCapacity = 3000f, ServiceCoverageMagnitude = 16f, Attractiveness = 75, LeisureEfficiency = 25, TelecomNeed = 0 }, new CityparkOptions { Name = "OldCastle01", Upkeep = 480000, ElectricityConsumption = 1000, WaterConsumption = 1000, GarbageAccumulation = 1500, ServiceCoverageRange = 7500f, ServiceCoverageCapacity = 4000f, ServiceCoverageMagnitude = 16f, Attractiveness = 85, LeisureEfficiency = 20, TelecomNeed = 0 } }, Wastewater_Options = new List<WastewaterOptions> { new WastewaterOptions { Name = "WastewaterTreatmentPlant01", Upkeep = 120000, WaterConsumption = 0, SewageCapacity = 400000, SewagePurification = 0.5f, GarbageAccumulation = 50000, GroundPollution = 7500, AirPollution = 7500, NoisePollution = 15000, ElectricityConsumption = 3000, TelecomNeed = 0 }, new WastewaterOptions { Name = "WastewaterTreatmentPlant01 Advanced Filtering System", Upkeep = 20000, WaterConsumption = 0, SewageCapacity = 0, SewagePurification = 0.1f, GarbageAccumulation = 12500, GroundPollution = 0, AirPollution = 0, NoisePollution = 0, ElectricityConsumption = 2000, TelecomNeed = 0 }, new WastewaterOptions { Name = "WastewaterTreatmentPlant01 Extra Processing Unit", Upkeep = 40000, WaterConsumption = 0, SewageCapacity = 100000, SewagePurification = 0f, GarbageAccumulation = 10000, GroundPollution = 2500, AirPollution = 2500, NoisePollution = 7500, ElectricityConsumption = 1000, TelecomNeed = 0 }, new WastewaterOptions { Name = "SewageOutlet01", Upkeep = 20000, WaterConsumption = 0, SewageCapacity = 100000, SewagePurification = 0f, GarbageAccumulation = 0, GroundPollution = 0, AirPollution = 5000, NoisePollution = 5000, ElectricityConsumption = 0, TelecomNeed = 0 }, new WastewaterOptions { Name = "SewageOutlet01 Chemical Purification", Upkeep = 4000, WaterConsumption = 0, SewageCapacity = 0, SewagePurification = 0.25f, GarbageAccumulation = 0, GroundPollution = 0, AirPollution = 2500, NoisePollution = 5000, ElectricityConsumption = 0, TelecomNeed = 0 }, new WastewaterOptions { Name = "SewageOutlet01 Extra Settling Tank", Upkeep = 10000, WaterConsumption = 0, SewageCapacity = 0, SewagePurification = 0.1f, GarbageAccumulation = 0, GroundPollution = 2500, AirPollution = 2500, NoisePollution = 5000, ElectricityConsumption = 0, TelecomNeed = 0 } }, IncinerationPlant_Options = new List<IncinerationPlantOptions> { new IncinerationPlantOptions { Name = "IncinerationPlant01", GarbageCapacity = 3000000, GarbageVehicleCapacity = 50, GarbageTransportCapacity = 1, GarbageProcessingspeed = 3000000, GarbageAccumulation = 0, ElectricityProduction = 0, ProductionPerUnit = 7.5f, ElectricityConsumption = 0, ProductionCapacity = 400000, Upkeep = 210000, WaterConsumption = 25000, GroundPollution = 40000, AirPollution = 40000, NoisePollution = 40000, TelecomNeed = 0 }, new IncinerationPlantOptions { Name = "IncinerationPlant01 Extra Incinerator Furnace", GarbageCapacity = 0, GarbageVehicleCapacity = 0, GarbageTransportCapacity = 0, GarbageProcessingspeed = 1500000, GarbageAccumulation = 0, ElectricityProduction = 0, ProductionPerUnit = 75f, ElectricityConsumption = 0, ProductionCapacity = 200000, Upkeep = 85000, WaterConsumption = 15000, GroundPollution = 20000, AirPollution = 20000, NoisePollution = 20000, TelecomNeed = 0 }, new IncinerationPlantOptions { Name = "IncinerationPlant01 Garbage Truck Depot", GarbageCapacity = 0, GarbageVehicleCapacity = 25, GarbageTransportCapacity = 0, GarbageProcessingspeed = 0, GarbageAccumulation = 0, ElectricityConsumption = 0, Upkeep = 40000, WaterConsumption = 0, GroundPollution = 0, AirPollution = 0, NoisePollution = 10000, TelecomNeed = 0 }, new IncinerationPlantOptions { Name = "IncinerationPlant01 Storage Extention", GarbageCapacity = 600000, GarbageVehicleCapacity = 0, GarbageTransportCapacity = 0, GarbageProcessingspeed = 0, GarbageAccumulation = 0, ElectricityConsumption = 0, Upkeep = 30000, WaterConsumption = 0, GroundPollution = 5000, AirPollution = 5000, NoisePollution = 5000, TelecomNeed = 0 }, new IncinerationPlantOptions { Name = "Landfill01", GarbageCapacity = 20000, GarbageVehicleCapacity = 20, GarbageTransportCapacity = 1, GarbageProcessingspeed = 100000, GarbageAccumulation = 0, Upkeep = 30000, ElectricityConsumption = 1000, WaterConsumption = 2500, GroundPollution = 20000, AirPollution = 20000, NoisePollution = 40000, TelecomNeed = 0 }, new IncinerationPlantOptions { Name = "Landfill01 Garbage Truck Depot", GarbageCapacity = 0, GarbageVehicleCapacity = 10, GarbageTransportCapacity = 0, GarbageProcessingspeed = 0, GarbageAccumulation = 0, Upkeep = 20000, ElectricityConsumption = 750, WaterConsumption = 0, GroundPollution = 0, AirPollution = 0, NoisePollution = 10000, TelecomNeed = 0 }, new IncinerationPlantOptions { Name = "Landfill01 Hazardous Waste Collection Point", GarbageCapacity = 0, GarbageVehicleCapacity = 0, GarbageTransportCapacity = 0, GarbageProcessingspeed = 50000, GarbageAccumulation = 0, Upkeep = 30000, ElectricityConsumption = 750, WaterConsumption = 0, GroundPollution = 5000, AirPollution = 5000, NoisePollution = 5000, TelecomNeed = 0 }, new IncinerationPlantOptions { Name = "Landfill01Waste Recycling Unit", GarbageCapacity = 0, GarbageVehicleCapacity = 0, GarbageTransportCapacity = 0, GarbageProcessingspeed = 50000, GarbageAccumulation = 0, Upkeep = 30000, ElectricityConsumption = 750, WaterConsumption = 1000, GroundPollution = 5000, AirPollution = 5000, NoisePollution = 5000, TelecomNeed = 0 }, new IncinerationPlantOptions { Name = "RecyclingCenter01", GarbageCapacity = 1500000, GarbageVehicleCapacity = 15, GarbageTransportCapacity = 1, GarbageProcessingspeed = 1500000, GarbageAccumulation = 0, Upkeep = 1500000, ElectricityConsumption = 2500, WaterConsumption = 10000, GroundPollution = 10000, AirPollution = 5000, NoisePollution = 15000, TelecomNeed = 0 }, new IncinerationPlantOptions { Name = "RecyclingCenter01 Garbage Truck Depot", GarbageCapacity = 0, GarbageVehicleCapacity = 15, GarbageTransportCapacity = 0, GarbageProcessingspeed = 0, GarbageAccumulation = 0, Upkeep = 30000, ElectricityConsumption = 750, WaterConsumption = 1000, GroundPollution = 0, AirPollution = 0, NoisePollution = 5000, TelecomNeed = 0 }, new IncinerationPlantOptions { Name = "RecyclingCenter01 Hazardous Waste Collection Point", GarbageCapacity = 0, GarbageVehicleCapacity = 0, GarbageTransportCapacity = 0, GarbageProcessingspeed = 50000, GarbageAccumulation = 0, Upkeep = 40000, ElectricityConsumption = 750, WaterConsumption = 2000, GroundPollution = 5000, AirPollution = 5000, NoisePollution = 5000, TelecomNeed = 0 }, new IncinerationPlantOptions { Name = "RecyclingCenter01 Storage Extention", GarbageCapacity = 100000, GarbageVehicleCapacity = 0, GarbageTransportCapacity = 0, GarbageProcessingspeed = 0, GarbageAccumulation = 0, Upkeep = 30000, ElectricityConsumption = 750, WaterConsumption = 0, GroundPollution = 5000, AirPollution = 5000, NoisePollution = 5000, TelecomNeed = 0 }, new IncinerationPlantOptions { Name = "HazardousWasteProcessingSite01", GarbageCapacity = 50000000, GarbageVehicleCapacity = 250, GarbageTransportCapacity = 1, GarbageProcessingspeed = 50000000, GarbageAccumulation = 0, Upkeep = 450000, ElectricityConsumption = 15000, WaterConsumption = 25000, CityIndustrialGroundPollution = -0.15f, GroundPollution = 50000, AirPollution = 50000, NoisePollution = 50000, TelecomNeed = 0 } }, Healthcare_Options = new List<HealthcareOptions> { new HealthcareOptions { Name = "MedicalClinic01", Upkeep = 40000, WaterConsumption = 1000, ElectricityConsumption = 2500, GarbageAccumulation = 1900, AmbulanceCapacity = 5, HelicopterCapacity = 0, PatientCapacity = 100, TreatmentBonus = 15, ServiceCoverageCapacity = 15000f, ServiceCoverageRange = 5000f, ServiceCoverageMagnitude = 5f, TelecomNeed = 0 }, new HealthcareOptions { Name = "MedicalClinic01 Ambulance Depot", Upkeep = 7000, WaterConsumption = 250, ElectricityConsumption = 500, GarbageAccumulation = 400, AmbulanceCapacity = 5, HelicopterCapacity = 0, PatientCapacity = 0, TreatmentBonus = 0, TelecomNeed = 0 }, new HealthcareOptions { Name = "MedicalClinic01 Extention Wing", Upkeep = 25000, WaterConsumption = 500, ElectricityConsumption = 1000, GarbageAccumulation = 700, AmbulanceCapacity = 0, HelicopterCapacity = 0, PatientCapacity = 25, TreatmentBonus = 0, TelecomNeed = 0 }, new HealthcareOptions { Name = "Hospital01", Upkeep = 450000, WaterConsumption = 5000, ElectricityConsumption = 10000, GarbageAccumulation = 9400, AmbulanceCapacity = 30, HelicopterCapacity = 0, PatientCapacity = 500, TreatmentBonus = 30, ServiceCoverageCapacity = 50000f, ServiceCoverageRange = 7500f, ServiceCoverageMagnitude = 10f, TelecomNeed = 0 }, new HealthcareOptions { Name = "Hospital01 Helipad", Upkeep = 35000, WaterConsumption = 250, ElectricityConsumption = 1000, GarbageAccumulation = 1000, AmbulanceCapacity = 0, HelicopterCapacity = 1, PatientCapacity = 0, TreatmentBonus = 0, TelecomNeed = 0 }, new HealthcareOptions { Name = "Hospital01 Special Ward", Upkeep = 100000, WaterConsumption = 2500, ElectricityConsumption = 2000, GarbageAccumulation = 3200, AmbulanceCapacity = 0, HelicopterCapacity = 0, PatientCapacity = 0, TreatmentBonus = 0, TelecomNeed = 0 }, new HealthcareOptions { Name = "Hospital01 Trauma Center", Upkeep = 80000, WaterConsumption = 2500, ElectricityConsumption = 2000, GarbageAccumulation = 3200, AmbulanceCapacity = 0, HelicopterCapacity = 0, PatientCapacity = 0, TreatmentBonus = 15, TelecomNeed = 0 } }, Postoffice_Options = new List<PostofficeOptions> { new PostofficeOptions { Name = "PostOffice01", Upkeep = 45000, WaterConsumption = 1000, ElectricityConsumption = 500, GarbageAccumulation = 1900, NoisePollution = 5000, AirPollution = 0, GroundPollution = 0, MailboxCapacity = 500, PostVanCapacity = 20, PostTrucksCapacity = 0, MailStorageCapacity = 100000, ServiceCoverageCapacity = 15000f, ServiceCoverageRange = 2000f, ServiceCoverageMagnitude = 2f, SortingRate = 0, TelecomNeed = 0 }, new PostofficeOptions { Name = "PostOffice01 Post Van Garage", Upkeep = 6000, WaterConsumption = 250, ElectricityConsumption = 350, GarbageAccumulation = 900, NoisePollution = 2500, AirPollution = 0, GroundPollution = 0, MailboxCapacity = 0, PostVanCapacity = 10, PostTrucksCapacity = 0, MailStorageCapacity = 0, SortingRate = 0, TelecomNeed = 0 }, new PostofficeOptions { Name = "PostOffice01 Mail Storage Extention", Upkeep = 5000, WaterConsumption = 0, ElectricityConsumption = 350, GarbageAccumulation = 400, NoisePollution = 2500, AirPollution = 0, GroundPollution = 0, MailboxCapacity = 0, PostVanCapacity = 0, PostTrucksCapacity = 0, MailStorageCapacity = 25000, SortingRate = 0, TelecomNeed = 0 }, new PostofficeOptions { Name = "PostSortingFacility01", Upkeep = 80000, WaterConsumption = 2500, ElectricityConsumption = 8000, GarbageAccumulation = 9000, NoisePollution = 20000, AirPollution = 0, GroundPollution = 0, MailboxCapacity = 0, PostVanCapacity = 0, PostTrucksCapacity = 5, MailStorageCapacity = 500000, SortingRate = 50000, TelecomNeed = 0 }, new PostofficeOptions { Name = "PostSortingFacility01 Extra Loading Ramp", Upkeep = 10000, WaterConsumption = 0, ElectricityConsumption = 0, GarbageAccumulation = 1800, NoisePollution = 5000, AirPollution = 0, GroundPollution = 0, MailboxCapacity = 0, PostVanCapacity = 0, PostTrucksCapacity = 5, MailStorageCapacity = 0, SortingRate = 0, TelecomNeed = 0 }, new PostofficeOptions { Name = "PostSortingFacility01 Automated Sorting", Upkeep = 80000, WaterConsumption = 2500, ElectricityConsumption = 8000, GarbageAccumulation = 9000, MailboxCapacity = 0,