public override BuildingDef CreateBuildingDef() { var def = BuildingTemplates.CreateBuildingDef( id: ID, width: 3, height: 1, anim: "conveyor_transferarm_kanim", hitpoints: HITPOINTS.TIER1, construction_time: CONSTRUCTION_TIME_SECONDS.TIER2, construction_mass: CONSTRUCTION_MASS_KG.TIER3, construction_materials: TUNING.MATERIALS.REFINED_METALS, melting_point: MELTING_POINT_KELVIN.TIER1, build_location_rule: BuildLocationRule.Anywhere, decor: DECOR.PENALTY.TIER2, noise: TUNING.NOISE_POLLUTION.NOISY.TIER0 ); def.Floodable = false; def.AudioCategory = TUNING.AUDIO.METAL; def.RequiresPowerInput = true; def.EnergyConsumptionWhenActive = ENERGY_CONSUMPTION_WHEN_ACTIVE.TIER2; def.ExhaustKilowattsWhenActive = EXHAUST_ENERGY_ACTIVE.TIER0; def.SelfHeatKilowattsWhenActive = SELF_HEAT_KILOWATTS.TIER1; def.PermittedRotations = PermittedRotations.R360; def.LogicInputPorts = LogicOperationalController.CreateSingleInputPortList(new CellOffset(0, 0)); GeneratedBuildings.RegisterWithOverlay(OverlayScreen.HarvestableIDs, ID); return(def); }
public override BuildingDef CreateBuildingDef() { var buildingDef = BuildingTemplates.CreateBuildingDef( id: Id, width: 3, height: 2, anim: "rock_polisher", hitpoints: BUILDINGS.HITPOINTS.TIER2, construction_time: BUILDINGS.CONSTRUCTION_TIME_SECONDS.TIER2, construction_mass: BUILDINGS.CONSTRUCTION_MASS_KG.TIER3, construction_materials: MATERIALS.ALL_METALS, melting_point: BUILDINGS.MELTING_POINT_KELVIN.TIER0, build_location_rule: BuildLocationRule.OnFloor, decor: BUILDINGS.DECOR.PENALTY.TIER1, noise: NOISE_POLLUTION.NOISY.TIER5, 0.2f ); buildingDef.RequiresPowerInput = true; buildingDef.EnergyConsumptionWhenActive = 120f; buildingDef.ExhaustKilowattsWhenActive = 3f; buildingDef.SelfHeatKilowattsWhenActive = 2f; buildingDef.ViewMode = OverlayModes.Power.ID; buildingDef.AudioCategory = "HollowMetal"; buildingDef.LogicInputPorts = LogicOperationalController.CreateSingleInputPortList(new CellOffset(0, 0)); return(buildingDef); }
public override BuildingDef CreateBuildingDef() { BuildingDef buildingDef = BuildingTemplates. CreateBuildingDef(// building ID, width, height, .kanim ID, ID, 1, 2, "zdropboxsender_kanim", // hitpoints, construction time, 100, 120f, // build mass, build materials, TUNING.BUILDINGS.CONSTRUCTION_MASS_KG.TIER1, MATERIALS.ALL_METALS, // melting point (??), build location rule, 800f, BuildLocationRule.OnFloor, // decor and noise TUNING.BUILDINGS.DECOR.PENALTY.TIER1, TUNING.NOISE_POLLUTION.NOISY.TIER0); buildingDef.AudioCategory = "HollowMetal"; buildingDef.Floodable = false; buildingDef.Overheatable = false; buildingDef.Entombable = true; buildingDef.LogicInputPorts = LogicOperationalController.CreateSingleInputPortList(new CellOffset(0, 0)); return(buildingDef); }
public override BuildingDef CreateBuildingDef() { BuildingDef def = BuildingTemplates.CreateBuildingDef( ID, 2, 2, "piped_deodorizer_kanim", 30, 30f, BUILDINGS.CONSTRUCTION_MASS_KG.TIER2, MATERIALS.RAW_METALS, 800f, BuildLocationRule.Anywhere, noise: NOISE_POLLUTION.NOISY.TIER3, decor: BUILDINGS.DECOR.PENALTY.TIER1 ); def.RequiresPowerInput = true; def.EnergyConsumptionWhenActive = 120f; def.SelfHeatKilowattsWhenActive = 1f; def.InputConduitType = ConduitType.Gas; def.OutputConduitType = ConduitType.Gas; def.ViewMode = OverlayModes.GasConduits.ID; def.AudioCategory = "Metal"; def.UtilityInputOffset = new CellOffset(0, 0); def.UtilityOutputOffset = new CellOffset(1, 0); def.PowerInputOffset = new CellOffset(1, 0); def.PermittedRotations = PermittedRotations.FlipH; def.LogicInputPorts = LogicOperationalController.CreateSingleInputPortList(new CellOffset(1, 0)); GeneratedBuildings.RegisterWithOverlay(OverlayScreen.GasVentIDs, ID); return(def); }
public override BuildingDef CreateBuildingDef() { var buildingDef = BuildingTemplates.CreateBuildingDef( id: Id, width: 4, height: 2, anim: "mineralizer", hitpoints: BUILDINGS.HITPOINTS.TIER2, construction_time: BUILDINGS.CONSTRUCTION_TIME_SECONDS.TIER2, construction_mass: BUILDINGS.CONSTRUCTION_MASS_KG.TIER3, construction_materials: MATERIALS.ALL_METALS, melting_point: BUILDINGS.MELTING_POINT_KELVIN.TIER0, build_location_rule: BuildLocationRule.OnFloor, decor: BUILDINGS.DECOR.NONE, noise: NOISE_POLLUTION.NOISY.TIER2, 0.2f ); buildingDef.RequiresPowerInput = true; buildingDef.EnergyConsumptionWhenActive = 360f; buildingDef.ExhaustKilowattsWhenActive = 8f; buildingDef.SelfHeatKilowattsWhenActive = 0f; buildingDef.InputConduitType = ConduitType.Liquid; buildingDef.OutputConduitType = ConduitType.Liquid; buildingDef.Floodable = false; buildingDef.ViewMode = OverlayModes.LiquidConduits.ID; buildingDef.AudioCategory = "Metal"; buildingDef.UtilityInputOffset = new CellOffset(-1, 0); buildingDef.UtilityOutputOffset = new CellOffset(0, 0); buildingDef.PermittedRotations = PermittedRotations.FlipH; buildingDef.LogicInputPorts = LogicOperationalController.CreateSingleInputPortList(new CellOffset(0, 0)); return(buildingDef); }
public override BuildingDef CreateBuildingDef() { var buildingDef = BuildingTemplates.CreateBuildingDef( id: ID, width: 1, height: 2, anim: "source_liquid_kanim", hitpoints: BUILDINGS.HITPOINTS.TIER2, construction_time: ModSettings.Instance.BuildTimeSeconds, construction_mass: ModSettings.Instance.BuildMassKg, construction_materials: ModSettings.Instance.SandboxOnly ? GameStrings.MaterialLists.Neutronium : MATERIALS.REFINED_METALS, melting_point: BUILDINGS.MELTING_POINT_KELVIN.TIER4, build_location_rule: BuildLocationRule.Anywhere, decor: BUILDINGS.DECOR.PENALTY.TIER1, noise: NOISE_POLLUTION.NOISY.TIER4, 0.2f ); buildingDef.Overheatable = false; buildingDef.Entombable = false; buildingDef.Floodable = false; buildingDef.OutputConduitType = ConduitType.Liquid; buildingDef.ViewMode = OverlayModes.LiquidConduits.ID; buildingDef.AudioCategory = "Metal"; buildingDef.PermittedRotations = PermittedRotations.Unrotatable; buildingDef.UtilityOutputOffset = new CellOffset(0, 0); buildingDef.LogicInputPorts = LogicOperationalController.CreateSingleInputPortList(new CellOffset(0, 0)); GeneratedBuildings.RegisterWithOverlay(OverlayScreen.LiquidVentIDs, ID); return(buildingDef); }
public override BuildingDef CreateBuildingDef() { var width = 3; var height = 4; var anim = "bleachstone_refinery_kanim"; var hitpoints = 100; var construction_time = 480f; var construction_materials = new string[2] { "RefinedMetal", "Plastic" }; var tieR5 = NOISE_POLLUTION.NOISY.TIER5; var buildingDef = BuildingTemplates.CreateBuildingDef(Id, width, height, anim, hitpoints, construction_time, new float[2] { BUILDINGS.CONSTRUCTION_MASS_KG.TIER5[0], BUILDINGS.CONSTRUCTION_MASS_KG.TIER2[0] }, construction_materials, 2400f, BuildLocationRule.OnFloor, BUILDINGS.DECOR.PENALTY.TIER1, tieR5); buildingDef.Overheatable = false; buildingDef.RequiresPowerInput = true; buildingDef.PowerInputOffset = new CellOffset(0, 0); buildingDef.EnergyConsumptionWhenActive = 600f; buildingDef.ExhaustKilowattsWhenActive = 4f; buildingDef.SelfHeatKilowattsWhenActive = 2f; buildingDef.AudioCategory = "HollowMetal"; buildingDef.InputConduitType = ConduitType.Gas; buildingDef.UtilityInputOffset = new CellOffset(1, 0); buildingDef.LogicInputPorts = LogicOperationalController.CreateSingleInputPortList(new CellOffset(0, 1)); return(buildingDef); }
public override BuildingDef CreateBuildingDef() { BuildingDef buildingDef = BuildingTemplates. CreateBuildingDef(// building ID, width, height, .kanim ID, ID, 1, 1, "zconveyorrecver_kanim", // hitpoints, construction time, 100, 120f, // build mass, build materials, TUNING.BUILDINGS.CONSTRUCTION_MASS_KG.TIER1, MATERIALS.ALL_METALS, // melting point (??), build location rule, 800f, BuildLocationRule.Anywhere, // decor and noise TUNING.BUILDINGS.DECOR.PENALTY.TIER1, TUNING.NOISE_POLLUTION.NOISY.TIER0); buildingDef.RequiresPowerInput = true; buildingDef.EnergyConsumptionWhenActive = 120f; buildingDef.ExhaustKilowattsWhenActive = 0.0f; buildingDef.SelfHeatKilowattsWhenActive = 2f; buildingDef.Floodable = false; buildingDef.ViewMode = OverlayModes.SolidConveyor.ID; buildingDef.AudioCategory = "Metal"; buildingDef.OutputConduitType = ConduitType.Solid; buildingDef.PowerInputOffset = new CellOffset(0, 0); buildingDef.UtilityOutputOffset = new CellOffset(0, 0); GeneratedBuildings.RegisterWithOverlay(OverlayScreen.SolidConveyorIDs, "ZConveyorRecver"); buildingDef.LogicInputPorts = LogicOperationalController.CreateSingleInputPortList(new CellOffset(0, 0)); return(buildingDef); }
private const float LIME_CONSUMPTION_RATE = 0.005f; // 5g public override BuildingDef CreateBuildingDef() { var width = 2; var height = 2; var hitpoints = 30; var construction_time = 60f; float[] tieR2 = BUILDINGS.CONSTRUCTION_MASS_KG.TIER2; string[] rawMetals = MATERIALS.REFINED_METALS; var melting_point = 800f; var build_location_rule = BuildLocationRule.OnFloor; var tieR3 = NOISE_POLLUTION.NOISY.TIER3; var buildingDef = BuildingTemplates.CreateBuildingDef(ID, width, height, "bigco2scrubber_kanim", hitpoints, construction_time, tieR2, rawMetals, melting_point, build_location_rule, BUILDINGS.DECOR.PENALTY.TIER1, tieR3); buildingDef.RequiresPowerInput = true; buildingDef.EnergyConsumptionWhenActive = 360f; buildingDef.SelfHeatKilowattsWhenActive = 2f; buildingDef.ViewMode = OverlayModes.Oxygen.ID; buildingDef.AudioCategory = "Metal"; buildingDef.AudioSize = "large"; buildingDef.UtilityInputOffset = new CellOffset(0, 0); buildingDef.UtilityOutputOffset = new CellOffset(1, 1); buildingDef.PermittedRotations = PermittedRotations.FlipH; buildingDef.LogicInputPorts = LogicOperationalController.CreateSingleInputPortList(new CellOffset(1, 0)); return(buildingDef); }
public override BuildingDef CreateBuildingDef() { var width = 3; var height = 4; var anim = "cfbgen_kanim"; var hitpoints = 100; var construction_time = 120f; float[] tieR5_1 = BUILDINGS.CONSTRUCTION_MASS_KG.TIER5; string[] mats = new [] { SimHashes.Ceramic.ToString() }; var melting_point = 2400f; var build_location_rule = BuildLocationRule.OnFloor; var tieR5_2 = NOISE_POLLUTION.NOISY.TIER5; var buildingDef = BuildingTemplates.CreateBuildingDef(ID, width, height, anim, hitpoints, construction_time, tieR5_1, mats, melting_point, build_location_rule, BUILDINGS.DECOR.PENALTY.TIER2, tieR5_2); buildingDef.UtilityOutputOffset = new CellOffset(-1, 3); buildingDef.OutputConduitType = ConduitType.Gas; buildingDef.Overheatable = true; buildingDef.OverheatTemperature = 73.1f + 75f; buildingDef.GeneratorWattageRating = 2000f; buildingDef.GeneratorBaseCapacity = 20000f; buildingDef.ExhaustKilowattsWhenActive = 40f; buildingDef.SelfHeatKilowattsWhenActive = 40f; buildingDef.ViewMode = OverlayModes.Power.ID; buildingDef.AudioCategory = "HollowMetal"; buildingDef.AudioSize = "large"; buildingDef.LogicInputPorts = LogicOperationalController.CreateSingleInputPortList(new CellOffset(0, 0)); return(buildingDef); }
public override BuildingDef CreateBuildingDef() { string id = "BrisInfiniteGenerator"; int width = 1; int height = 2; string anim = "batterysm_kanim"; int hitpoints = TUNING.BUILDINGS.HITPOINTS.TIER4; float construction_time = TUNING.BUILDINGS.CONSTRUCTION_TIME_SECONDS.TIER0; float[] tieR4 = TUNING.BUILDINGS.CONSTRUCTION_MASS_KG.TIER0; string[] rawMinerals = MATERIALS.RAW_MINERALS; float melting_point = 800f; BuildLocationRule build_location_rule = BuildLocationRule.Conduit; EffectorValues nONE = NOISE_POLLUTION.NONE; BuildingDef buildingDef = BuildingTemplates.CreateBuildingDef(ID, width, height, anim, hitpoints, construction_time, tieR4, rawMinerals, melting_point, build_location_rule, BUILDINGS.DECOR.PENALTY.TIER1, nONE, 0.2f); buildingDef.GeneratorWattageRating = 1210000000f; buildingDef.GeneratorBaseCapacity = 20000f; buildingDef.ExhaustKilowattsWhenActive = 0f; buildingDef.SelfHeatKilowattsWhenActive = 0f; buildingDef.PermittedRotations = PermittedRotations.R360; buildingDef.ViewMode = OverlayModes.Power.ID; buildingDef.Overheatable = false; buildingDef.RequiresPowerInput = false; buildingDef.RequiresPowerOutput = true; buildingDef.Entombable = false; buildingDef.Floodable = false; buildingDef.PowerOutputOffset = new CellOffset(0, 0); SoundEventVolumeCache.instance.AddVolume("batterysm_kanim", "Battery_sm_rattle", TUNING.NOISE_POLLUTION.NOISY.TIER2); buildingDef.LogicInputPorts = LogicOperationalController.CreateSingleInputPortList(new CellOffset(0, 0)); return(buildingDef); }
public override BuildingDef CreateBuildingDef() { BuildingDef buildingDef = BuildingTemplates.CreateBuildingDef( id: ID, width: 1, height: 2, anim: "wireless_receiver_kanim", hitpoints: 30, construction_time: WirelessPowerConfigChecker.SenderReceiverBuildTime, construction_mass: new float[] { WirelessPowerConfigChecker.SenderReceiverMaterialCost }, construction_materials: WirelessPowerConfigChecker.BuildUsesOnlySteel ? new string[] { "Steel" } : MATERIALS.REFINED_METALS, melting_point: 400f, build_location_rule: BuildLocationRule.OnFloor, decor: TUNING.BUILDINGS.DECOR.PENALTY.TIER1, noise: TUNING.NOISE_POLLUTION.NONE, temperature_modification_mass_scale: 0.2f ); buildingDef.Floodable = false; buildingDef.AudioCategory = "Metal"; buildingDef.GeneratorWattageRating = WirelessPowerBattery.CalculateEnergyAfterFalloff(WirelessPowerConfigChecker.DefaultTransfer); buildingDef.GeneratorBaseCapacity = 2 * WirelessPowerConfigChecker.MaxTransfer; buildingDef.ExhaustKilowattsWhenActive = 0.25f; buildingDef.SelfHeatKilowattsWhenActive = 0.25f; buildingDef.ViewMode = OverlayModes.Power.ID; buildingDef.AudioCategory = "Metal"; buildingDef.PowerOutputOffset = new CellOffset(0, 0); buildingDef.LogicInputPorts = LogicOperationalController.CreateSingleInputPortList(new CellOffset(0, 0)); return(buildingDef); }
// copy paste with some change public override BuildingDef CreateBuildingDef() { string id = "PollutedElectrolyzer"; int width = 2; int height = 2; string anim = "electrolyzer_kanim"; int hitpoints = 30; float construction_time = 30f; float[] tier = BUILDINGS.CONSTRUCTION_MASS_KG.TIER3; string[] all_METALS = MATERIALS.ALL_METALS; float melting_point = 800f; BuildLocationRule build_location_rule = BuildLocationRule.OnFloor; EffectorValues tier2 = NOISE_POLLUTION.NOISY.TIER3; BuildingDef buildingDef = BuildingTemplates.CreateBuildingDef(id, width, height, anim, hitpoints, construction_time, tier, all_METALS, melting_point, build_location_rule, BUILDINGS.DECOR.PENALTY.TIER1, tier2, 0.2f); buildingDef.RequiresPowerInput = true; buildingDef.PowerInputOffset = new CellOffset(1, 0); buildingDef.EnergyConsumptionWhenActive = 120f; buildingDef.ExhaustKilowattsWhenActive = 0.25f; buildingDef.SelfHeatKilowattsWhenActive = 1f; buildingDef.ViewMode = OverlayModes.Oxygen.ID; buildingDef.AudioCategory = "HollowMetal"; buildingDef.InputConduitType = ConduitType.Liquid; buildingDef.UtilityInputOffset = new CellOffset(0, 0); buildingDef.LogicInputPorts = LogicOperationalController.CreateSingleInputPortList(new CellOffset(1, 1)); return(buildingDef); }
public override BuildingDef CreateBuildingDef() { var width = 3; var height = 3; var anim = "uvcleaner_kanim"; var hitpoints = 100; var construction_time = 120f; float[] mass = BUILDINGS.CONSTRUCTION_MASS_KG.TIER3; string[] mats = MATERIALS.REFINED_METALS; var melting_point = 1600f; var build_location_rule = BuildLocationRule.OnFloor; var tieR2 = NOISE_POLLUTION.NOISY.TIER2; var buildingDef = BuildingTemplates.CreateBuildingDef(ID, width, height, anim, hitpoints, construction_time, mass, mats, melting_point, build_location_rule, BUILDINGS.DECOR.NONE, tieR2); BuildingTemplates.CreateElectricalBuildingDef(buildingDef); buildingDef.EnergyConsumptionWhenActive = 320f; buildingDef.SelfHeatKilowattsWhenActive = 6.0f; buildingDef.InputConduitType = ConduitType.Liquid; buildingDef.OutputConduitType = ConduitType.Liquid; buildingDef.Floodable = false; buildingDef.LogicInputPorts = LogicOperationalController.CreateSingleInputPortList( new CellOffset(1, 1)); buildingDef.PowerInputOffset = new CellOffset(1, 0); buildingDef.UtilityInputOffset = new CellOffset(0, 0); buildingDef.PermittedRotations = PermittedRotations.FlipH; buildingDef.ViewMode = OverlayModes.LiquidConduits.ID; buildingDef.OverheatTemperature = TUNING.BUILDINGS.OVERHEAT_TEMPERATURES.NORMAL; return(buildingDef); }
public override BuildingDef CreateBuildingDef() { var buildingDef = BuildingTemplates.CreateBuildingDef( id: Id, width: 1, height: 2, anim: "miniwaterpump_kanim", hitpoints: BUILDINGS.HITPOINTS.TIER2, construction_time: BUILDINGS.CONSTRUCTION_TIME_SECONDS.TIER0, construction_mass: BUILDINGS.CONSTRUCTION_MASS_KG.TIER0, construction_materials: MATERIALS.ALL_METALS, melting_point: BUILDINGS.MELTING_POINT_KELVIN.TIER0, build_location_rule: BuildLocationRule.Conduit, decor: BUILDINGS.DECOR.PENALTY.TIER1, noise: NOISE_POLLUTION.NOISY.TIER0, 0.2f ); buildingDef.InputConduitType = ConduitType.Liquid; buildingDef.Floodable = false; buildingDef.ViewMode = OverlayModes.LiquidConduits.ID; buildingDef.AudioCategory = "HollowMetal"; buildingDef.UtilityInputOffset = new CellOffset(0, 1); buildingDef.PermittedRotations = PermittedRotations.R360; buildingDef.LogicInputPorts = LogicOperationalController.CreateSingleInputPortList(new CellOffset(0, 0)); return(buildingDef); }
private static string ResolveInfoStatusItemString(string format_str, object data) { LogicOperationalController logicOperationalController = (LogicOperationalController)data; Operational component = logicOperationalController.GetComponent <Operational>(); return((!component.GetFlag(logicOperationalFlag)) ? BUILDING.STATUSITEMS.LOGIC.LOGIC_CONTROLLED_DISABLED : BUILDING.STATUSITEMS.LOGIC.LOGIC_CONTROLLED_ENABLED); }
public override BuildingDef CreateBuildingDef() { BuildingDef def = BuildingTemplates.CreateBuildingDef( id: ID, width: 1, height: 3, anim: "stirling_kanim", hitpoints: 30, construction_time: 60f, construction_mass: new float[] { BUILDINGS.CONSTRUCTION_MASS_KG.TIER4[0] }, construction_materials: TUNING.MATERIALS.ALL_METALS, melting_point: 1600f, build_location_rule: BuildLocationRule.OnFloor, decor: DECOR.PENALTY.TIER3, noise: NOISE_POLLUTION.NOISY.TIER3 ); def.AudioCategory = TUNING.AUDIO.CATEGORY.HOLLOW_METAL; def.AudioSize = "large"; def.Floodable = false; def.Entombable = true; def.GeneratorWattageRating = ModSettings.Instance.MaxWattOutput; def.GeneratorBaseCapacity = def.GeneratorWattageRating; def.LogicInputPorts = LogicOperationalController.CreateSingleInputPortList(new CellOffset(0, 0)); def.Overheatable = true; def.OverheatTemperature = MAX_TEMP; def.PermittedRotations = PermittedRotations.Unrotatable; def.RequiresPowerOutput = true; def.PowerOutputOffset = new CellOffset(0, 0); def.ViewMode = OverlayModes.Power.ID; def.SelfHeatKilowattsWhenActive = 0f; return(def); }
public override BuildingDef CreateBuildingDef() { var buildingDef = BuildingTemplates.CreateBuildingDef( id: ID, width: 3, height: 3, anim: "smelter_kanim", hitpoints: BUILDINGS.HITPOINTS.TIER1, construction_time: BUILDINGS.CONSTRUCTION_TIME_SECONDS.TIER3, construction_mass: new float[] { BUILDINGS.CONSTRUCTION_MASS_KG.TIER3[0], BUILDINGS.CONSTRUCTION_MASS_KG.TIER4[0] }, construction_materials: new string[] { MATERIALS.METAL, MATERIALS.BUILDABLERAW }, melting_point: BUILDINGS.MELTING_POINT_KELVIN.TIER2, build_location_rule: BuildLocationRule.OnFloor, decor: BUILDINGS.DECOR.PENALTY.TIER2, noise: NOISE_POLLUTION.NOISY.TIER6 ); buildingDef.RequiresPowerInput = false; buildingDef.SelfHeatKilowattsWhenActive = BUILDINGS.SELF_HEAT_KILOWATTS.TIER4; buildingDef.ExhaustKilowattsWhenActive = BUILDINGS.EXHAUST_ENERGY_ACTIVE.TIER8; buildingDef.OverheatTemperature = BUILDINGS.OVERHEAT_TEMPERATURES.HIGH_2; buildingDef.InputConduitType = ConduitType.Liquid; buildingDef.UtilityInputOffset = new CellOffset(1, 0); buildingDef.OutputConduitType = ConduitType.None; buildingDef.ViewMode = OverlayModes.LiquidConduits.ID; buildingDef.AudioCategory = "HollowMetal"; buildingDef.AudioSize = "large"; buildingDef.LogicInputPorts = LogicOperationalController.CreateSingleInputPortList(new CellOffset(0, 0)); return(buildingDef); }
public override BuildingDef CreateBuildingDef() { var buildingDef = BuildingTemplates.CreateBuildingDef( id: Id, width: 1, height: 1, anim: "alarm_lamp_kanim", hitpoints: BUILDINGS.HITPOINTS.TIER1, construction_time: BUILDINGS.CONSTRUCTION_TIME_SECONDS.TIER2, construction_mass: BUILDINGS.CONSTRUCTION_MASS_KG.TIER1, construction_materials: MATERIALS.REFINED_METALS, melting_point: BUILDINGS.MELTING_POINT_KELVIN.TIER1, build_location_rule: BuildLocationRule.Anywhere, decor: DECOR.NONE, noise: NOISE_POLLUTION.NONE); buildingDef.Floodable = false; buildingDef.Overheatable = false; buildingDef.Entombable = false; buildingDef.ViewMode = OverlayModes.Logic.ID; buildingDef.AudioCategory = "Metal"; buildingDef.SceneLayer = Grid.SceneLayer.Building; buildingDef.BaseTimeUntilRepair = -1f; buildingDef.DefaultAnimState = "off"; buildingDef.PermittedRotations = PermittedRotations.R360; buildingDef.LogicInputPorts = LogicOperationalController.CreateSingleInputPortList(new CellOffset(0, 0)); SoundEventVolumeCache.instance.AddVolume("switchgaspressure_kanim", "PowerSwitch_on", NOISE_POLLUTION.NOISY.TIER1); SoundEventVolumeCache.instance.AddVolume("switchgaspressure_kanim", "PowerSwitch_off", NOISE_POLLUTION.NOISY.TIER1); GeneratedBuildings.RegisterWithOverlay(OverlayModes.Logic.HighlightItemIDs, Id); return(buildingDef); }
public override BuildingDef CreateBuildingDef() { FusionReactor.InitRadiation(); int width = 4; int height = 5; string anim = "supermaterial_refinery_kanim"; int hitpoints = 30; float constructionTime = 480; var mass = new float[] { TUNING.BUILDINGS.CONSTRUCTION_MASS_KG.TIER6[0], TUNING.BUILDINGS.CONSTRUCTION_MASS_KG.TIER5[0], TUNING.BUILDINGS.CONSTRUCTION_MASS_KG.TIER5[0] }; var material = new string[] { TUNING.MATERIALS.REFINED_METAL, SimHashes.Ceramic.ToString(), SimHashes.Lead.ToString() }; float meltingPoint = 2600; var buildLocationRule = BuildLocationRule.OnFloor; var noise = TUNING.NOISE_POLLUTION.NOISY.TIER6; var decor = TUNING.BUILDINGS.DECOR.PENALTY.TIER2; BuildingDef buildingDef = BuildingTemplates.CreateBuildingDef(ID, width, height, anim, hitpoints, constructionTime, mass, material, meltingPoint, buildLocationRule, decor, noise); buildingDef.RequiresPowerInput = true; buildingDef.EnergyConsumptionWhenActive = 1000f; buildingDef.SelfHeatKilowattsWhenActive = 16f; buildingDef.InputConduitType = ConduitType.Liquid; buildingDef.UtilityInputOffset = new CellOffset(-1, 1); buildingDef.OutputConduitType = ConduitType.Liquid; buildingDef.UtilityOutputOffset = new CellOffset(1, 0); buildingDef.LogicInputPorts = LogicOperationalController.CreateSingleInputPortList(new CellOffset(0, 1)); buildingDef.ViewMode = OverlayModes.Power.ID; buildingDef.AudioCategory = "HollowMetal"; buildingDef.PermittedRotations = PermittedRotations.FlipH; return(buildingDef); }
public override BuildingDef CreateBuildingDef() { BuildingDef buildingDef = BuildingTemplates.CreateBuildingDef(ID, 1, 2, "trashcan_liquid_kanim", hitpoints: 100, construction_time: 60f, construction_mass: TUNING.BUILDINGS.CONSTRUCTION_MASS_KG.TIER3, construction_materials: MATERIALS.REFINED_METALS, melting_point: 1600f, build_location_rule: BuildLocationRule.Anywhere, decor: TUNING.BUILDINGS.DECOR.PENALTY.TIER1, noise: TUNING.NOISE_POLLUTION.NONE, temperature_modification_mass_scale: 0.2f ); buildingDef.RequiresPowerInput = TrashcansConfigChecker.RequiresPower; buildingDef.EnergyConsumptionWhenActive = TrashcansConfigChecker.EnergyConsumptionWhenActive; buildingDef.ExhaustKilowattsWhenActive = 0.0f; buildingDef.SelfHeatKilowattsWhenActive = 2f; buildingDef.Overheatable = TrashcansConfigChecker.CanOverheat; buildingDef.Floodable = TrashcansConfigChecker.CanFlood; buildingDef.AudioCategory = "Metal"; buildingDef.ViewMode = OverlayModes.LiquidConduits.ID; buildingDef.InputConduitType = ConduitType.Liquid; buildingDef.PowerInputOffset = new CellOffset(0, 0); buildingDef.UtilityInputOffset = new CellOffset(0, 0); buildingDef.PermittedRotations = PermittedRotations.R360; buildingDef.LogicInputPorts = LogicOperationalController.CreateSingleInputPortList(new CellOffset(0, 0)); return(buildingDef); }
public override BuildingDef CreateBuildingDef() { BuildingDef buildingDef = BuildingTemplates.CreateBuildingDef( id: ID, width: 2, height: 3, anim: "wireless_battery_kanim", hitpoints: 30, construction_time: WirelessPowerConfigChecker.BatteryBuildTime, construction_mass: new float[] { WirelessPowerConfigChecker.BatteryMaterialCost }, construction_materials: WirelessPowerConfigChecker.BuildUsesOnlySteel ? new string[] { "Steel" } : MATERIALS.REFINED_METALS, melting_point: 400f, build_location_rule: BuildLocationRule.OnFloor, decor: TUNING.BUILDINGS.DECOR.PENALTY.TIER2, noise: TUNING.NOISE_POLLUTION.NOISY.TIER1, temperature_modification_mass_scale: 0.2f ); SoundEventVolumeCache.instance.AddVolume("wireless_battery_kanim", "Battery_med_rattle", TUNING.NOISE_POLLUTION.NOISY.TIER2); buildingDef.AudioCategory = "Metal"; buildingDef.ExhaustKilowattsWhenActive = 0.5f; buildingDef.SelfHeatKilowattsWhenActive = 0.5f; buildingDef.Entombable = false; buildingDef.ViewMode = OverlayModes.Power.ID; buildingDef.LogicInputPorts = LogicOperationalController.CreateSingleInputPortList(new CellOffset(0, 0)); return(buildingDef); }
public override BuildingDef CreateBuildingDef() { var buildingDef = BuildingTemplates.CreateBuildingDef( id: ID, width: 2, height: 2, construction_mass: new float[] { BUILDINGS.CONSTRUCTION_MASS_KG.TIER3[0], BUILDINGS.CONSTRUCTION_MASS_KG.TIER3[0] }, construction_materials: new string[] { MATERIALS.METAL, MATERIALS.WOOD }, noise: NOISE_POLLUTION.NOISY.TIER3, anim: "generatormanual_kanim", hitpoints: BUILDINGS.HITPOINTS.TIER1, construction_time: BUILDINGS.CONSTRUCTION_TIME_SECONDS.TIER2, melting_point: BUILDINGS.MELTING_POINT_KELVIN.TIER1, build_location_rule: BuildLocationRule.OnFloor, decor: BUILDINGS.DECOR.NONE ); buildingDef.GeneratorWattageRating = SquirrelGeneratorOptions.Instance.GeneratorWattageRating; buildingDef.GeneratorBaseCapacity = 10000f; buildingDef.RequiresPowerOutput = true; buildingDef.PowerOutputOffset = new CellOffset(0, 0); buildingDef.ViewMode = OverlayModes.Power.ID; buildingDef.AudioCategory = "Metal"; buildingDef.Breakable = true; buildingDef.ForegroundLayer = Grid.SceneLayer.BuildingFront; buildingDef.LogicInputPorts = LogicOperationalController.CreateSingleInputPortList(new CellOffset(0, 0)); buildingDef.SelfHeatKilowattsWhenActive = SquirrelGeneratorOptions.Instance.SelfHeatWatts / Constants.KW2DTU_S; return(buildingDef); }
public override BuildingDef CreateBuildingDef() { string id = "SlimeRefinery"; int width = 3; int height = 4; string anim = "oxylite_refinery_kanim"; int hitpoints = 100; float construction_time = 480f; string[] construction_materials = new string[] { "RefinedMetal", "Plastic" }; EffectorValues tier = NOISE_POLLUTION.NOISY.TIER5; BuildingDef buildingDef = BuildingTemplates.CreateBuildingDef(id, width, height, anim, hitpoints, construction_time, new float[] { BUILDINGS.CONSTRUCTION_MASS_KG.TIER5[0], BUILDINGS.CONSTRUCTION_MASS_KG.TIER2[0] }, construction_materials, 2400f, BuildLocationRule.OnFloor, BUILDINGS.DECOR.PENALTY.TIER1, tier, 0.2f); buildingDef.Overheatable = false; buildingDef.RequiresPowerInput = true; buildingDef.PowerInputOffset = new CellOffset(0, 0); buildingDef.EnergyConsumptionWhenActive = 1200f; buildingDef.ExhaustKilowattsWhenActive = 8f; buildingDef.SelfHeatKilowattsWhenActive = 4f; buildingDef.AudioCategory = "HollowMetal"; buildingDef.InputConduitType = ConduitType.Gas; buildingDef.UtilityInputOffset = new CellOffset(1, 0); buildingDef.LogicInputPorts = LogicOperationalController.CreateSingleInputPortList(new CellOffset(0, 1)); return(buildingDef); }
private static void Postfix(ref BuildingDef __result) { __result.ViewMode = OverlayModes.GasConduits.ID; __result.MaterialCategory = MATERIALS.REFINED_METALS.AddItem(ID).ToArray(); __result.Mass = __result.Mass.AddItem(2).ToArray(); if (ReBuildableAETNOptions.Instance.AddLogicPort) { __result.LogicInputPorts = LogicOperationalController.CreateSingleInputPortList(new CellOffset(1, 0)); } }
protected override void ConfigureBuildingDef(BuildingDef buildingDef) { base.ConfigureBuildingDef(buildingDef); buildingDef.Floodable = false; buildingDef.AudioCategory = "Metal"; buildingDef.RequiresPowerInput = true; buildingDef.EnergyConsumptionWhenActive = BUILDINGS.ENERGY_CONSUMPTION_WHEN_ACTIVE.TIER3; buildingDef.ExhaustKilowattsWhenActive = BUILDINGS.SELF_HEAT_KILOWATTS.TIER0; buildingDef.SelfHeatKilowattsWhenActive = BUILDINGS.SELF_HEAT_KILOWATTS.TIER0; buildingDef.PermittedRotations = PermittedRotations.R360; buildingDef.LogicInputPorts = LogicOperationalController.CreateSingleInputPortList(new CellOffset(0, 0)); }
public override void DoPostConfigureComplete(GameObject go) { Object.DestroyImmediate(go.GetComponent <ConduitConsumer>()); Object.DestroyImmediate(go.GetComponent <ConduitDispenser>()); RequireInputs component = go.GetComponent <RequireInputs>(); component.SetRequirements(true, false); GeneratedBuildings.RegisterLogicPorts(go, INPUT_PORTS); LogicOperationalController logicOperationalController = go.AddOrGet <LogicOperationalController>(); logicOperationalController.unNetworkedValue = 0; }
public override BuildingDef CreateBuildingDef() { BuildingDef buildingDef = BuildingTemplates.CreateBuildingDef(ID, 1, 1, "zliquidrecver_kanim", 100, 120f, TUNING.BUILDINGS.CONSTRUCTION_MASS_KG.TIER2, MATERIALS.ALL_METALS, 800f, BuildLocationRule.Anywhere, TUNING.BUILDINGS.DECOR.PENALTY.TIER1, TUNING.NOISE_POLLUTION.NOISY.TIER0, 0.2f); buildingDef.OutputConduitType = ConduitType.Liquid; buildingDef.ViewMode = OverlayModes.LiquidConduits.ID; buildingDef.AudioCategory = "HollowMetal"; buildingDef.UtilityOutputOffset = new CellOffset(0, 0); buildingDef.Floodable = false; buildingDef.Overheatable = false; buildingDef.Entombable = false; buildingDef.LogicInputPorts = LogicOperationalController.CreateSingleInputPortList(new CellOffset(0, 0)); GeneratedBuildings.RegisterWithOverlay(OverlayScreen.LiquidVentIDs, ID); return(buildingDef); }
public override BuildingDef CreateBuildingDef() { BuildingDef buildingDef = BuildingTemplates.CreateBuildingDef("MeteorDefenseLaser", 2, 2, "auto_miner_kanim", 10, 10f, BUILDINGS.CONSTRUCTION_MASS_KG.TIER3, MATERIALS.REFINED_METALS, 1600f, BuildLocationRule.OnFoundationRotatable, BUILDINGS.DECOR.PENALTY.TIER2, NOISE_POLLUTION.NOISY.TIER0); buildingDef.Floodable = false; buildingDef.AudioCategory = "Metal"; buildingDef.RequiresPowerInput = true; buildingDef.EnergyConsumptionWhenActive = 1000f; buildingDef.ExhaustKilowattsWhenActive = 0f; buildingDef.SelfHeatKilowattsWhenActive = 10f; buildingDef.PermittedRotations = PermittedRotations.R360; buildingDef.Entombable = true; buildingDef.Floodable = true; buildingDef.LogicInputPorts = LogicOperationalController.CreateSingleInputPortList(new CellOffset(0, 0)); GeneratedBuildings.RegisterWithOverlay(OverlayScreen.SolidConveyorIDs, "AutoMiner"); return(buildingDef); }
public override BuildingDef CreateBuildingDef() { BuildingDef buildingDef = BuildingTemplates.CreateBuildingDef(ID, 1, 1, "zpowersender_1kw_kanim", 30, 30f, BUILDINGS.CONSTRUCTION_MASS_KG.TIER3, MATERIALS.RAW_METALS, 800f, BuildLocationRule.Anywhere, BUILDINGS.DECOR.PENALTY.TIER1, NOISE_POLLUTION.NONE, 0.2f); buildingDef.RequiresPowerInput = true; buildingDef.PowerInputOffset = new CellOffset(0, 0); buildingDef.ViewMode = OverlayModes.Power.ID; buildingDef.AudioCategory = "Metal"; buildingDef.ExhaustKilowattsWhenActive = 0f; buildingDef.SelfHeatKilowattsWhenActive = 0f; buildingDef.Floodable = false; buildingDef.Overheatable = false; buildingDef.Entombable = false; buildingDef.LogicInputPorts = LogicOperationalController.CreateSingleInputPortList(new CellOffset(0, 0)); return(buildingDef); }