public override BuildingDef CreateBuildingDef() { string id = "ForceFieldTile"; int width = 1; int height = 1; string anim = "ladder_poi_kanim"; //floor_basic_kanim //floor_plastic_kanim int hitpoints = 100; float construction_time = 3f; float[] tieR3 = BUILDINGS.CONSTRUCTION_MASS_KG.TIER3; string[] rawMinerals = MATERIALS.RAW_MINERALS; float melting_point = 1600f; BuildLocationRule build_location_rule = BuildLocationRule.Tile; EffectorValues none = NOISE_POLLUTION.NONE; BuildingDef buildingDef = BuildingTemplates.CreateBuildingDef(id, width, height, anim, hitpoints, construction_time, tieR3, rawMinerals, melting_point, build_location_rule, BUILDINGS.DECOR.BONUS.TIER0, none, 0.2f); buildingDef.Floodable = false; buildingDef.Overheatable = false; buildingDef.Entombable = false; buildingDef.UseStructureTemperature = false; buildingDef.IsFoundation = true; buildingDef.TileLayer = ObjectLayer.FoundationTile; buildingDef.ReplacementLayer = ObjectLayer.ReplacementTile; buildingDef.AudioCategory = "Metal"; buildingDef.AudioSize = "small"; buildingDef.BaseTimeUntilRepair = -1f; buildingDef.SceneLayer = Grid.SceneLayer.TileMain; buildingDef.isKAnimTile = true; buildingDef.isSolidTile = true; buildingDef.BlockTileAtlas = Assets.GetTextureAtlas("tiles_solid"); buildingDef.BlockTilePlaceAtlas = Assets.GetTextureAtlas("tiles_solid_place"); buildingDef.BlockTileMaterial = Assets.GetMaterial("tiles_solid"); buildingDef.DecorBlockTileInfo = Assets.GetBlockTileDecorInfo("tiles_solid_tops_info"); buildingDef.DecorPlaceBlockTileInfo = Assets.GetBlockTileDecorInfo("tiles_solid_tops_place_info"); buildingDef.ConstructionOffsetFilter = BuildingDef.ConstructionOffsetFilter_OneDown; buildingDef.ReplacementTags = new List <Tag>(); buildingDef.ReplacementTags.Add(GameTags.FloorTiles); buildingDef.DragBuild = true; return(buildingDef); }
public override BuildingDef CreateBuildingDef() { string id = "RanchStation"; int width = 2; int height = 3; string anim = "rancherstation_kanim"; int hitpoints = 30; float construction_time = 30f; float[] tIER = BUILDINGS.CONSTRUCTION_MASS_KG.TIER4; string[] aLL_METALS = MATERIALS.ALL_METALS; float melting_point = 1600f; BuildLocationRule build_location_rule = BuildLocationRule.OnFloor; EffectorValues tIER2 = NOISE_POLLUTION.NOISY.TIER1; BuildingDef buildingDef = BuildingTemplates.CreateBuildingDef(id, width, height, anim, hitpoints, construction_time, tIER, aLL_METALS, melting_point, build_location_rule, BUILDINGS.DECOR.NONE, tIER2, 0.2f); buildingDef.ViewMode = OverlayModes.Rooms.ID; buildingDef.Overheatable = false; buildingDef.AudioCategory = "Metal"; buildingDef.AudioSize = "large"; return(buildingDef); }
public override BuildingDef CreateBuildingDef() { string id = ID; int width = 1; int height = 1; string anim = "notepad_kanim"; int hitpoints = 10; float construction_time = 10f; float[] tier = BUILDINGS.CONSTRUCTION_MASS_KG.TIER1; string[] all_METALS = MATERIALS.ANY_BUILDABLE; float melting_point = 800f; BuildLocationRule build_location_rule = BuildLocationRule.Anywhere; EffectorValues none = NOISE_POLLUTION.NONE; BuildingDef buildingDef = BuildingTemplates.CreateBuildingDef(id, width, height, anim, hitpoints, construction_time, tier, all_METALS, melting_point, build_location_rule, BUILDINGS.DECOR.NONE, none, 0.2f); buildingDef.ViewMode = OverlayModes.Decor.ID; buildingDef.Floodable = false; buildingDef.Overheatable = false; buildingDef.AudioCategory = "Metal"; return(buildingDef); }
public override BuildingDef CreateBuildingDef() { string id = ID; int width = 1; int height = 1; string anim = "utilities_liquid_radiant_kanim"; int hitpoints = 10; float construction_time = 30f; float[] tIER = { BUILDINGS.CONSTRUCTION_MASS_KG.TIER1[0], BUILDINGS.CONSTRUCTION_MASS_KG.TIER1[0] }; //50KG, 50KG string[] constructionMaterial = { SimHashes.Steel.ToString(), MATERIALS.PLASTIC }; float melting_point = 1600f; BuildLocationRule build_location_rule = BuildLocationRule.Anywhere; EffectorValues nONE = NOISE_POLLUTION.NONE; BuildingDef buildingDef = BuildingTemplates.CreateBuildingDef(id, width, height, anim, hitpoints, construction_time, tIER, constructionMaterial, melting_point, build_location_rule, BUILDINGS.DECOR.PENALTY.TIER0, nONE); buildingDef.Floodable = false; buildingDef.Overheatable = false; buildingDef.Entombable = false; buildingDef.ViewMode = OverlayModes.LiquidConduits.ID; buildingDef.ThermalConductivity = 1.3f; buildingDef.ObjectLayer = ObjectLayer.LiquidConduit; buildingDef.TileLayer = ObjectLayer.LiquidConduitTile; buildingDef.ReplacementLayer = ObjectLayer.ReplacementLiquidConduit; buildingDef.AudioCategory = "Metal"; buildingDef.AudioSize = "small"; buildingDef.BaseTimeUntilRepair = -1f; buildingDef.UtilityInputOffset = new CellOffset(0, 0); buildingDef.UtilityOutputOffset = new CellOffset(0, 0); buildingDef.SceneLayer = Grid.SceneLayer.LiquidConduits; buildingDef.isKAnimTile = true; buildingDef.isUtility = true; buildingDef.DragBuild = true; buildingDef.ReplacementTags = new List <Tag>(); buildingDef.ReplacementTags.Add(GameTags.Pipes); buildingDef.ThermalConductivity = .0537f; GeneratedBuildings.RegisterWithOverlay(OverlayScreen.LiquidVentIDs, ID); return(buildingDef); }
public override BuildingDef CreateBuildingDef() { int width = 1; int height = 1; string anim = "switchthermal_kanim"; int hitpoints = 30; float construction_time = 30f; float[] tieR0 = TUNING.BUILDINGS.CONSTRUCTION_MASS_KG.TIER0; string[] refinedMetals = MATERIALS.REFINED_METALS; float melting_point = 1600f; BuildLocationRule build_location_rule = BuildLocationRule.Anywhere; EffectorValues none = TUNING.NOISE_POLLUTION.NONE; BuildingDef buildingDef = BuildingTemplates.CreateBuildingDef(ID, width, height, anim, hitpoints, construction_time, tieR0, refinedMetals, melting_point, build_location_rule, TUNING.BUILDINGS.DECOR.PENALTY.TIER0, none, 0.2f); buildingDef.Overheatable = false; buildingDef.Floodable = false; buildingDef.Entombable = false; buildingDef.ViewMode = OverlayModes.Logic.ID; //buildingDef.SceneLayer = Grid.SceneLayer.Building; buildingDef.SceneLayer = Grid.SceneLayer.LogicGates; buildingDef.ObjectLayer = ObjectLayer.LogicGate; //buildingDef.AudioCategory = "Metal"; //SoundEventVolumeCache.instance.AddVolume("switchthermal_kanim", "PowerSwitch_on", TUNING.NOISE_POLLUTION.NOISY.TIER3); //SoundEventVolumeCache.instance.AddVolume("switchthermal_kanim", "PowerSwitch_off", TUNING.NOISE_POLLUTION.NOISY.TIER3); buildingDef.LogicOutputPorts = new System.Collections.Generic.List <LogicPorts.Port> { OUTPUT_PORT }; GeneratedBuildings.RegisterWithOverlay(OverlayModes.Logic.HighlightItemIDs, TileTemperatureSensor.ID); //GeneratedBuildings.RegisterWithOverlay(OverlayModes.Logic.HighlightItemIDs, ID); return(buildingDef); }
public override BuildingDef CreateBuildingDef() { string id = ID; int width = 1; int height = 1; string anim = "setpiece_light_kanim"; int hitpoints = 10; float construction_time = 10f; float[] tieR1 = BUILDINGS.CONSTRUCTION_MASS_KG.TIER1; string[] allMetals = MATERIALS.ALL_METALS; float melting_point = 800f; BuildLocationRule build_location_rule = BuildLocationRule.OnCeiling; EffectorValues none = NOISE_POLLUTION.NONE; BuildingDef buildingDef = BuildingTemplates.CreateBuildingDef(id, width, height, anim, hitpoints, construction_time, tieR1, allMetals, melting_point, build_location_rule, BUILDINGS.DECOR.NONE, none, 0.2f); buildingDef.RequiresPowerInput = true; buildingDef.EnergyConsumptionWhenActive = 2f; buildingDef.SelfHeatKilowattsWhenActive = 0.25f; buildingDef.ViewMode = OverlayModes.Light.ID; buildingDef.AudioCategory = "Metal"; return buildingDef; }
public override BuildingDef CreateBuildingDef() { string id = "BRISKBOTTLER"; int width = 2; int height = 3; string anim = "wash_sink_kanim"; int hitpoints = 30; float construction_time = 30f; float[] tieR4 = TUNING.BUILDINGS.CONSTRUCTION_MASS_KG.TIER4; string[] rawMetals = MATERIALS.RAW_METALS; float melting_point = 1600f; BuildLocationRule build_location_rule = BuildLocationRule.OnFloor; EffectorValues tieR0 = NOISE_POLLUTION.NOISY.TIER0; BuildingDef buildingDef = BuildingTemplates.CreateBuildingDef(id, width, height, anim, hitpoints, construction_time, tieR4, rawMetals, melting_point, build_location_rule, TUNING.BUILDINGS.DECOR.BONUS.TIER1, tieR0, 0.2f); buildingDef.InputConduitType = ConduitType.Liquid; buildingDef.ViewMode = SimViewMode.LiquidVentMap; buildingDef.AudioCategory = "Metal"; buildingDef.UtilityInputOffset = new CellOffset(0, 0); return(buildingDef); }
public override BuildingDef CreateBuildingDef() { string id = "Grave"; int width = 1; int height = 2; string anim = "gravestone_kanim"; int hitpoints = 30; float construction_time = 120f; float[] tIER = BUILDINGS.CONSTRUCTION_MASS_KG.TIER5; string[] rAW_MINERALS = MATERIALS.RAW_MINERALS; float melting_point = 1600f; BuildLocationRule build_location_rule = BuildLocationRule.OnFloor; EffectorValues nONE = NOISE_POLLUTION.NONE; BuildingDef buildingDef = BuildingTemplates.CreateBuildingDef(id, width, height, anim, hitpoints, construction_time, tIER, rAW_MINERALS, melting_point, build_location_rule, BUILDINGS.DECOR.PENALTY.TIER2, nONE, 0.2f); buildingDef.Overheatable = false; buildingDef.Floodable = false; buildingDef.AudioCategory = "Metal"; buildingDef.BaseTimeUntilRepair = -1f; return(buildingDef); }
public override BuildingDef CreateBuildingDef() { string id = "BottleEmptier"; int width = 1; int height = 3; string anim = "liquidator_kanim"; int hitpoints = 30; float construction_time = 10f; float[] tIER = BUILDINGS.CONSTRUCTION_MASS_KG.TIER4; string[] rAW_MINERALS = MATERIALS.RAW_MINERALS; float melting_point = 1600f; BuildLocationRule build_location_rule = BuildLocationRule.OnFloor; EffectorValues nONE = NOISE_POLLUTION.NONE; BuildingDef buildingDef = BuildingTemplates.CreateBuildingDef(id, width, height, anim, hitpoints, construction_time, tIER, rAW_MINERALS, melting_point, build_location_rule, BUILDINGS.DECOR.PENALTY.TIER1, nONE, 0.2f); buildingDef.Floodable = false; buildingDef.AudioCategory = "Metal"; buildingDef.Overheatable = false; buildingDef.PermittedRotations = PermittedRotations.FlipH; return(buildingDef); }
public override BuildingDef CreateBuildingDef() { string id = "RoleStation"; int width = 2; int height = 2; string anim = "job_station_kanim"; int hitpoints = 30; float construction_time = 30f; float[] tIER = BUILDINGS.CONSTRUCTION_MASS_KG.TIER4; string[] aLL_METALS = MATERIALS.ALL_METALS; float melting_point = 1600f; BuildLocationRule build_location_rule = BuildLocationRule.OnFloor; EffectorValues tIER2 = NOISE_POLLUTION.NOISY.TIER0; BuildingDef buildingDef = BuildingTemplates.CreateBuildingDef(id, width, height, anim, hitpoints, construction_time, tIER, aLL_METALS, melting_point, build_location_rule, BUILDINGS.DECOR.NONE, tIER2, 0.2f); buildingDef.RequiresPowerInput = false; buildingDef.AudioCategory = "Metal"; buildingDef.AudioSize = "large"; buildingDef.Deprecated = true; return(buildingDef); }
protected BuildingDef CreateBuildingDef(string ID, string anim, float[] required_mass, string[] required_materials) { int width = 1; int height = 1; int hitpoints = 30; float construction_time = 30f; float melting_point = 1600f; BuildLocationRule build_location_rule = BuildLocationRule.Anywhere; EffectorValues nONE = NOISE_POLLUTION.NONE; BuildingDef buildingDef = BuildingTemplates.CreateBuildingDef(ID, width, height, anim, hitpoints, construction_time, required_mass, required_materials, melting_point, build_location_rule, BUILDINGS.DECOR.PENALTY.TIER0, nONE, 0.2f); buildingDef.Overheatable = false; buildingDef.Floodable = false; buildingDef.Entombable = false; buildingDef.ViewMode = OverlayModes.Logic.ID; buildingDef.AudioCategory = "Metal"; buildingDef.SceneLayer = Grid.SceneLayer.Building; SoundEventVolumeCache.instance.AddVolume(anim, "PowerSwitch_on", NOISE_POLLUTION.NOISY.TIER3); SoundEventVolumeCache.instance.AddVolume(anim, "PowerSwitch_off", NOISE_POLLUTION.NOISY.TIER3); GeneratedBuildings.RegisterWithOverlay(OverlayModes.Logic.HighlightItemIDs, ID); return(buildingDef); }
public override BuildingDef CreateBuildingDef() { string id = "FishFeeder"; int width = 1; int height = 3; string anim = "fishfeeder_kanim"; int hitpoints = 100; float construction_time = 120f; float[] tIER = TUNING.BUILDINGS.CONSTRUCTION_MASS_KG.TIER3; string[] rAW_METALS = MATERIALS.RAW_METALS; float melting_point = 1600f; BuildLocationRule build_location_rule = BuildLocationRule.Anywhere; EffectorValues nONE = NOISE_POLLUTION.NONE; BuildingDef buildingDef = BuildingTemplates.CreateBuildingDef(id, width, height, anim, hitpoints, construction_time, tIER, rAW_METALS, melting_point, build_location_rule, TUNING.BUILDINGS.DECOR.PENALTY.TIER2, nONE, 0.2f); buildingDef.AudioCategory = "Metal"; buildingDef.Entombable = true; buildingDef.Floodable = true; buildingDef.ForegroundLayer = Grid.SceneLayer.TileMain; return(buildingDef); }
public override BuildingDef CreateBuildingDef() { //Building info int width = 5; int height = 5; string anim = "spaceheater_kanim"; int hitpoints = 50; float Contime = 100f; float[] ConstructMass = BUILDINGS.CONSTRUCTION_MASS_KG.TIER4; string[] Materials = MATERIALS.REFINED_METALS; EffectorValues loudness = NOISE_POLLUTION.NOISY.TIER5; EffectorValues deco = BUILDINGS.DECOR.PENALTY.TIER1; BuildLocationRule BuildRule = BuildLocationRule.Anywhere; //Building BuildingDef building = BuildingTemplates.CreateBuildingDef ( ID, width, height, anim, hitpoints, Contime, ConstructMass, Materials, 1000f, BuildRule, loudness, deco, -10f ); //Power building.PowerInputOffset = new CellOffset(0, 0); building.RequiresPowerInput = true; building.EnergyConsumptionWhenActive = 1000f; //Functional building.ExhaustKilowattsWhenActive = -4000f; building.ThermalConductivity = 800f; building.Floodable = false; //Other building.AudioCategory = "HollowMetal"; building.AudioSize = "large"; return(building); }
public override BuildingDef CreateBuildingDef() { string id = "urfScaffolding"; int width = 1; int height = 1; string anim = "scaffolding_kanim"; int hitpoints = 5; float construction_time = 2f; //耗费材料 float[] construction_mass = new float[] { BUILDINGS.CONSTRUCTION_MASS_KG.TIER2[0], }; string[] construction_materials = new string[] { "Metal", }; float melting_point = BUILDINGS.MELTING_POINT_KELVIN.TIER2; BuildLocationRule build_location_rule = BuildLocationRule.NotInTiles; EffectorValues none = NOISE_POLLUTION.NONE; BuildingDef buildingDef = BuildingTemplates.CreateBuildingDef(id, width, height, anim, hitpoints, construction_time, construction_mass, construction_materials, melting_point, build_location_rule, BUILDINGS.DECOR.BONUS.TIER0, none, 1f); buildingDef.Floodable = false; buildingDef.Entombable = false; buildingDef.Overheatable = false; buildingDef.AudioCategory = "Metal"; buildingDef.AudioSize = "small"; buildingDef.BaseTimeUntilRepair = -1f; buildingDef.DragBuild = true; buildingDef.IsFoundation = false; buildingDef.BaseDecor = -4f; buildingDef.ObjectLayer = ObjectLayer.AttachableBuilding; buildingDef.SceneLayer = Grid.SceneLayer.TileMain; return(buildingDef); }
public override BuildingDef CreateBuildingDef() { string id = "BunkerTile"; int width = 1; int height = 1; string anim = "floor_bunker_kanim"; int hitpoints = 1000; float construction_time = 60f; float[] tIER = BUILDINGS.CONSTRUCTION_MASS_KG.TIER2; string[] construction_materials = new string[1] { (-899253461).ToString() }; float melting_point = 800f; BuildLocationRule build_location_rule = BuildLocationRule.Tile; EffectorValues nONE = NOISE_POLLUTION.NONE; BuildingDef buildingDef = BuildingTemplates.CreateBuildingDef(id, width, height, anim, hitpoints, construction_time, tIER, construction_materials, melting_point, build_location_rule, BUILDINGS.DECOR.BONUS.TIER0, nONE, 0.2f); BuildingTemplates.CreateFoundationTileDef(buildingDef); buildingDef.Floodable = false; buildingDef.Entombable = false; buildingDef.Overheatable = false; buildingDef.UseStructureTemperature = false; buildingDef.AudioCategory = "Metal"; buildingDef.AudioSize = "small"; buildingDef.BaseTimeUntilRepair = -1f; buildingDef.SceneLayer = Grid.SceneLayer.TileMain; buildingDef.isKAnimTile = true; buildingDef.isSolidTile = true; buildingDef.BlockTileAtlas = Assets.GetTextureAtlas("tiles_bunker"); buildingDef.BlockTilePlaceAtlas = Assets.GetTextureAtlas("tiles_bunker_place"); buildingDef.BlockTileMaterial = Assets.GetMaterial("tiles_solid"); buildingDef.DecorBlockTileInfo = Assets.GetBlockTileDecorInfo("tiles_bunker_tops_decor_info"); buildingDef.DecorPlaceBlockTileInfo = Assets.GetBlockTileDecorInfo("tiles_bunker_tops_decor_place_info"); buildingDef.ConstructionOffsetFilter = BuildingDef.ConstructionOffsetFilter_OneDown; return(buildingDef); }
public override BuildingDef CreateBuildingDef() { string id = "CanvasTall"; int width = 2; int height = 3; string anim = "painting_tall_kanim"; int hitpoints = 30; float construction_time = 120f; float[] construction_mass = new float[2] { 400f, 1f }; string[] construction_materials = new string[2] { "Metal", "BuildingFiber" }; float melting_point = 1600f; BuildLocationRule build_location_rule = BuildLocationRule.Anywhere; EffectorValues nONE = NOISE_POLLUTION.NONE; BuildingDef buildingDef = BuildingTemplates.CreateBuildingDef(id, width, height, anim, hitpoints, construction_time, construction_mass, construction_materials, melting_point, build_location_rule, new EffectorValues { amount = 15, radius = 6 }, nONE, 0.2f); buildingDef.Floodable = false; buildingDef.SceneLayer = Grid.SceneLayer.InteriorWall; buildingDef.Overheatable = false; buildingDef.AudioCategory = "Metal"; buildingDef.BaseTimeUntilRepair = -1f; buildingDef.ViewMode = OverlayModes.Decor.ID; buildingDef.DefaultAnimState = "off"; buildingDef.PermittedRotations = PermittedRotations.FlipH; return(buildingDef); }
public override BuildingDef CreateBuildingDef() { string id = "MonumentMiddle"; int width = 5; int height = 5; string anim = "victory_monument_mid_kanim"; int hitpoints = 1000; float construction_time = 60f; float[] construction_mass = new float[3] { 2500f, 2500f, 5000f }; string[] construction_materials = new string[3] { (-1467370314).ToString(), (-1142341158).ToString(), (-899253461).ToString() }; float melting_point = 9999f; BuildLocationRule build_location_rule = BuildLocationRule.BuildingAttachPoint; EffectorValues tIER = NOISE_POLLUTION.NOISY.TIER2; BuildingDef buildingDef = BuildingTemplates.CreateBuildingDef(id, width, height, anim, hitpoints, construction_time, construction_mass, construction_materials, melting_point, build_location_rule, BUILDINGS.DECOR.BONUS.MONUMENT.INCOMPLETE, tIER, 0.2f); BuildingTemplates.CreateMonumentBuildingDef(buildingDef); buildingDef.SceneLayer = Grid.SceneLayer.Building; buildingDef.OverheatTemperature = 2273.15f; buildingDef.Floodable = false; buildingDef.AttachmentSlotTag = "MonumentMiddle"; buildingDef.ObjectLayer = ObjectLayer.Building; buildingDef.PermittedRotations = PermittedRotations.FlipH; buildingDef.attachablePosition = new CellOffset(0, 0); buildingDef.RequiresPowerInput = false; buildingDef.CanMove = false; return(buildingDef); }
public override BuildingDef CreateBuildingDef() { string id = "LIQUIDPERMEABLEMRMBRANE"; int width = 1; int height = 1; string anim = "floor_gasperm_kanim"; int hitpoints = 100; float construction_time = 30f; float[] tieR2 = BUILDINGS.CONSTRUCTION_MASS_KG.TIER2; string[] allMetals = MATERIALS.ALL_METALS; float melting_point = 1600f; BuildLocationRule build_location_rule = BuildLocationRule.Tile; EffectorValues none = NOISE_POLLUTION.NONE; BuildingDef buildingDef = BuildingTemplates.CreateBuildingDef(id, width, height, anim, hitpoints, construction_time, tieR2, allMetals, melting_point, build_location_rule, BUILDINGS.DECOR.PENALTY.TIER0, none, 0.2f); buildingDef.Floodable = false; buildingDef.Entombable = false; buildingDef.Overheatable = false; buildingDef.IsFoundation = true; buildingDef.TileLayer = ObjectLayer.FoundationTile; buildingDef.ReplacementLayer = ObjectLayer.ReplacementTile; buildingDef.AudioCategory = "Metal"; buildingDef.AudioSize = "small"; buildingDef.BaseTimeUntilRepair = -1f; buildingDef.SceneLayer = Grid.SceneLayer.TileMain; buildingDef.isKAnimTile = true; buildingDef.BlockTileAtlas = Assets.GetTextureAtlas("tiles_gasmembrane"); buildingDef.BlockTilePlaceAtlas = Assets.GetTextureAtlas("tiles_gasmembrane_place"); buildingDef.BlockTileMaterial = Assets.GetMaterial("tiles_solid"); buildingDef.DecorBlockTileInfo = Assets.GetBlockTileDecorInfo("tiles_mesh_tops_decor_info"); buildingDef.DecorPlaceBlockTileInfo = Assets.GetBlockTileDecorInfo("tiles_mesh_tops_decor_place_info"); buildingDef.ConstructionOffsetFilter = new CellOffset[1] { new CellOffset(0, -1) }; return(buildingDef); }
public override BuildingDef CreateBuildingDef() { string id = "GasConduitRadiant"; int width = 1; int height = 1; string anim = "utilities_gas_radiant_kanim"; int hitpoints = 10; float construction_time = 10f; float[] tIER = BUILDINGS.CONSTRUCTION_MASS_KG.TIER0; string[] rAW_METALS = MATERIALS.RAW_METALS; float melting_point = 1600f; BuildLocationRule build_location_rule = BuildLocationRule.Anywhere; EffectorValues nONE = NOISE_POLLUTION.NONE; BuildingDef buildingDef = BuildingTemplates.CreateBuildingDef(id, width, height, anim, hitpoints, construction_time, tIER, rAW_METALS, melting_point, build_location_rule, BUILDINGS.DECOR.PENALTY.TIER0, nONE, 0.2f); buildingDef.ThermalConductivity = 2f; buildingDef.Overheatable = false; buildingDef.Floodable = false; buildingDef.Entombable = false; buildingDef.ViewMode = OverlayModes.GasConduits.ID; buildingDef.ObjectLayer = ObjectLayer.GasConduit; buildingDef.TileLayer = ObjectLayer.GasConduitTile; buildingDef.ReplacementLayer = ObjectLayer.ReplacementGasConduit; buildingDef.AudioCategory = "Metal"; buildingDef.AudioSize = "small"; buildingDef.BaseTimeUntilRepair = 0f; buildingDef.UtilityInputOffset = new CellOffset(0, 0); buildingDef.UtilityOutputOffset = new CellOffset(0, 0); buildingDef.SceneLayer = Grid.SceneLayer.GasConduits; buildingDef.isKAnimTile = true; buildingDef.isUtility = true; buildingDef.DragBuild = true; buildingDef.ReplacementTags = new List <Tag>(); buildingDef.ReplacementTags.Add(GameTags.Vents); GeneratedBuildings.RegisterWithOverlay(OverlayScreen.GasVentIDs, "GasConduitRadiant"); return(buildingDef); }
public override BuildingDef CreateBuildingDef() { string id = "CoalSynth"; int width = 1; int height = 1; string anim = "co2filter_kanim"; int hitpoints = 30; float construction_time = 30f; float[] tIER = BUILDINGS.CONSTRUCTION_MASS_KG.TIER2; string[] rAW_MINERALS = MATERIALS.RAW_MINERALS; float melting_point = 1600f; BuildLocationRule build_location_rule = BuildLocationRule.OnFoundationRotatable; EffectorValues tIER2 = NOISE_POLLUTION.NOISY.TIER0; BuildingDef buildingDef = BuildingTemplates.CreateBuildingDef(id, width, height, anim, hitpoints, construction_time, tIER, rAW_MINERALS, melting_point, build_location_rule, BUILDINGS.DECOR.NONE, tIER2, 0.2f); buildingDef.Overheatable = false; buildingDef.ViewMode = OverlayModes.Oxygen.ID; buildingDef.AudioCategory = "Metal"; buildingDef.UtilityInputOffset = new CellOffset(0, 0); buildingDef.UtilityOutputOffset = new CellOffset(0, 0); return(buildingDef); }
public override BuildingDef CreateBuildingDef() { string id = "FloorLamp"; int width = 1; int height = 2; string anim = "floorlamp_kanim"; int hitpoints = 10; float construction_time = 10f; float[] tIER = BUILDINGS.CONSTRUCTION_MASS_KG.TIER1; string[] aLL_METALS = MATERIALS.ALL_METALS; float melting_point = 800f; BuildLocationRule build_location_rule = BuildLocationRule.OnFloor; EffectorValues nONE = NOISE_POLLUTION.NONE; BuildingDef buildingDef = BuildingTemplates.CreateBuildingDef(id, width, height, anim, hitpoints, construction_time, tIER, aLL_METALS, melting_point, build_location_rule, BUILDINGS.DECOR.BONUS.TIER1, nONE, 0.2f); buildingDef.RequiresPowerInput = true; buildingDef.EnergyConsumptionWhenActive = 8f; buildingDef.SelfHeatKilowattsWhenActive = 0.5f; buildingDef.ViewMode = OverlayModes.Light.ID; buildingDef.AudioCategory = "Metal"; return(buildingDef); }
public override BuildingDef CreateBuildingDef() { string id = "RationBox"; int width = 2; int height = 2; string anim = "rationbox_kanim"; int hitpoints = 10; float construction_time = 10f; float[] tIER = BUILDINGS.CONSTRUCTION_MASS_KG.TIER4; string[] rAW_MINERALS = MATERIALS.RAW_MINERALS; float melting_point = 1600f; BuildLocationRule build_location_rule = BuildLocationRule.OnFloor; EffectorValues nONE = NOISE_POLLUTION.NONE; BuildingDef buildingDef = BuildingTemplates.CreateBuildingDef(id, width, height, anim, hitpoints, construction_time, tIER, rAW_MINERALS, melting_point, build_location_rule, BUILDINGS.DECOR.BONUS.TIER0, nONE, 0.2f); buildingDef.Overheatable = false; buildingDef.Floodable = false; buildingDef.AudioCategory = "Metal"; SoundEventVolumeCache.instance.AddVolume("rationbox_kanim", "RationBox_open", NOISE_POLLUTION.NOISY.TIER1); SoundEventVolumeCache.instance.AddVolume("rationbox_kanim", "RationBox_close", NOISE_POLLUTION.NOISY.TIER1); return(buildingDef); }
public override BuildingDef CreateBuildingDef() { string id = "AdvancedDoctorStation"; int width = 2; int height = 3; string anim = "bed_medical_kanim"; int hitpoints = 100; float construction_time = 10f; float[] tIER = BUILDINGS.CONSTRUCTION_MASS_KG.TIER3; string[] rEFINED_METALS = MATERIALS.REFINED_METALS; float melting_point = 1600f; BuildLocationRule build_location_rule = BuildLocationRule.OnFloor; EffectorValues nONE = NOISE_POLLUTION.NONE; BuildingDef buildingDef = BuildingTemplates.CreateBuildingDef(id, width, height, anim, hitpoints, construction_time, tIER, rEFINED_METALS, melting_point, build_location_rule, BUILDINGS.DECOR.NONE, nONE, 0.2f); buildingDef.RequiresPowerInput = true; buildingDef.EnergyConsumptionWhenActive = 480f; buildingDef.ExhaustKilowattsWhenActive = 0.25f; buildingDef.SelfHeatKilowattsWhenActive = 0.5f; buildingDef.AudioCategory = "Metal"; return(buildingDef); }
public override BuildingDef CreateBuildingDef() { string id = "Kiln"; int width = 2; int height = 2; string anim = "kiln_kanim"; int hitpoints = 100; float construction_time = 30f; float[] tIER = TUNING.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.TIER5; BuildingDef buildingDef = BuildingTemplates.CreateBuildingDef(id, width, height, anim, hitpoints, construction_time, tIER, aLL_METALS, melting_point, build_location_rule, TUNING.BUILDINGS.DECOR.PENALTY.TIER1, tIER2, 0.2f); buildingDef.Overheatable = false; buildingDef.RequiresPowerInput = false; buildingDef.ExhaustKilowattsWhenActive = 16f; buildingDef.SelfHeatKilowattsWhenActive = 4f; buildingDef.AudioCategory = "HollowMetal"; return(buildingDef); }
public override BuildingDef CreateBuildingDef() { string id = "ClothingFabricator"; int width = 4; int height = 3; string anim = "clothingfactory_kanim"; int hitpoints = 100; float construction_time = 240f; float[] tIER = TUNING.BUILDINGS.CONSTRUCTION_MASS_KG.TIER3; string[] rEFINED_METALS = MATERIALS.REFINED_METALS; float melting_point = 1600f; BuildLocationRule build_location_rule = BuildLocationRule.OnFloor; EffectorValues tIER2 = NOISE_POLLUTION.NOISY.TIER5; BuildingDef buildingDef = BuildingTemplates.CreateBuildingDef(id, width, height, anim, hitpoints, construction_time, tIER, rEFINED_METALS, melting_point, build_location_rule, TUNING.BUILDINGS.DECOR.NONE, tIER2, 0.2f); buildingDef.RequiresPowerInput = true; buildingDef.EnergyConsumptionWhenActive = 240f; buildingDef.ViewMode = OverlayModes.Power.ID; buildingDef.AudioCategory = "Metal"; buildingDef.PowerInputOffset = new CellOffset(2, 0); return(buildingDef); }
public override BuildingDef CreateBuildingDef() { string id = "FlowerVase"; int width = 1; int height = 1; string anim = "flowervase_kanim"; int hitpoints = 10; float construction_time = 10f; float[] tIER = BUILDINGS.CONSTRUCTION_MASS_KG.TIER1; string[] rAW_MINERALS = MATERIALS.RAW_MINERALS; float melting_point = 800f; BuildLocationRule build_location_rule = BuildLocationRule.OnFloor; EffectorValues nONE = NOISE_POLLUTION.NONE; BuildingDef buildingDef = BuildingTemplates.CreateBuildingDef(id, width, height, anim, hitpoints, construction_time, tIER, rAW_MINERALS, melting_point, build_location_rule, BUILDINGS.DECOR.NONE, nONE, 0.2f); buildingDef.Floodable = false; buildingDef.Overheatable = false; buildingDef.ViewMode = OverlayModes.Decor.ID; buildingDef.AudioCategory = "Glass"; buildingDef.AudioSize = "large"; return(buildingDef); }
public override BuildingDef CreateBuildingDef() { string id = "PlanterBox"; int width = 1; int height = 1; string anim = "planterbox_kanim"; int hitpoints = 10; float construction_time = 3f; float[] tIER = BUILDINGS.CONSTRUCTION_MASS_KG.TIER2; string[] fARMABLE = MATERIALS.FARMABLE; float melting_point = 800f; BuildLocationRule build_location_rule = BuildLocationRule.OnFloor; EffectorValues nONE = NOISE_POLLUTION.NONE; BuildingDef buildingDef = BuildingTemplates.CreateBuildingDef(id, width, height, anim, hitpoints, construction_time, tIER, fARMABLE, melting_point, build_location_rule, BUILDINGS.DECOR.PENALTY.TIER1, nONE, 0.2f); buildingDef.ForegroundLayer = Grid.SceneLayer.BuildingBack; buildingDef.Overheatable = false; buildingDef.Floodable = false; buildingDef.AudioCategory = "Glass"; buildingDef.AudioSize = "large"; return(buildingDef); }
public override BuildingDef CreateBuildingDef() { int width = 1; int height = 2; string anim = "pedestal_kanim"; int hitpoints = 10; float construction_time = 30f; float[] tier = BUILDINGS.CONSTRUCTION_MASS_KG.TIER2; string[] raw_MINERALS = MATERIALS.RAW_MINERALS; float melting_point = 800f; BuildLocationRule build_location_rule = BuildLocationRule.OnFloor; EffectorValues none = NOISE_POLLUTION.NONE; BuildingDef buildingDef = BuildingTemplates.CreateBuildingDef(ID, width, height, anim, hitpoints, construction_time, tier, raw_MINERALS, melting_point, build_location_rule, BUILDINGS.DECOR.BONUS.TIER0, none, 0.2f); buildingDef.DefaultAnimState = "pedestal"; buildingDef.Floodable = false; buildingDef.Overheatable = false; buildingDef.ViewMode = OverlayModes.Decor.ID; buildingDef.AudioCategory = "Glass"; buildingDef.AudioSize = "small"; return(buildingDef); }
public override BuildingDef CreateBuildingDef() { string id = "NaturalTile"; int width = 1; int height = 1; string anim = "natural_tile_kanim"; int hitpoints = 100; float construction_time = BuildableNaturalTile.BuildableNaturalTilePatches.Settings.BuildSpeed; float[] tier = new float[] { BuildableNaturalTile.BuildableNaturalTilePatches.Settings.BuildMass }; // 50kg string[] raw_MINERALS = new string[] { "Solid" }; // currently set to all solids float melting_point = 1600f; BuildLocationRule build_location_rule = BuildLocationRule.Anywhere; EffectorValues none = NOISE_POLLUTION.NONE; BuildingDef buildingDef = BuildingTemplates.CreateBuildingDef( id, width, height, anim, hitpoints, construction_time, tier, raw_MINERALS, melting_point, build_location_rule, TUNING.BUILDINGS.DECOR.BONUS.TIER0, none, 0.2f); // NOTE: not sure if any of this stuff is still needed, but errors no // longer happen without the code below // BuildingTemplates.CreateFoundationTileDef(buildingDef); // buildingDef.Floodable = false; // buildingDef.Entombable = false; // buildingDef.Overheatable = false; // buildingDef.ForegroundLayer = Grid.SceneLayer.BuildingBack; // buildingDef.AudioCategory = "HollowMetal"; // buildingDef.AudioSize = "small"; // buildingDef.BaseTimeUntilRepair = -1f; // buildingDef.SceneLayer = Grid.SceneLayer.TileMain; // buildingDef.ConstructionOffsetFilter = BuildingDef.ConstructionOffsetFilter_OneDown; // buildingDef.isSolidTile = false; // buildingDef.DragBuild = true; // buildingDef.ObjectLayer = ObjectLayer.Building; return(buildingDef); }
public override BuildingDef CreateBuildingDef() { CheckValidConfigVars(); string id = AdvancedSpaceScannerConfig.ID; int width = 6; int height = 5; string anim = "advanced_space_scanner_kanim"; int hitpoints = 100; float construction_time = 30f; float[] con_mass = { this.refined_mass, this.glass_mass }; string[] con_mat = { "RefinedMetal", "Glass" }; float melting_point = 320000f; BuildLocationRule build_location_rule = BuildLocationRule.OnFloor; EffectorValues decor = TUNING.BUILDINGS.DECOR.BONUS.TIER0; EffectorValues noise = NOISE_POLLUTION.NONE; BuildingDef buildingDef = BuildingTemplates.CreateBuildingDef(id, width, height, anim, hitpoints, construction_time, con_mass, con_mat, melting_point, build_location_rule, decor, noise); buildingDef.Overheatable = AdvancedSpaceScannerPatches.Config.IsOverheatable; buildingDef.Floodable = false; buildingDef.Entombable = false; buildingDef.Invincible = true; buildingDef.RequiresPowerInput = true; buildingDef.EnergyConsumptionWhenActive = 240f; buildingDef.ViewMode = OverlayModes.Logic.ID; buildingDef.AudioCategory = "Metal"; buildingDef.SceneLayer = Grid.SceneLayer.Building; SoundEventVolumeCache.instance.AddVolume("world_element_sensor_kanim", "PowerSwitch_on", NOISE_POLLUTION.NOISY.TIER3); SoundEventVolumeCache.instance.AddVolume("world_element_sensor_kanim", "PowerSwitch_off", NOISE_POLLUTION.NOISY.TIER3); GeneratedBuildings.RegisterWithOverlay(OverlayModes.Logic.HighlightItemIDs, AdvancedSpaceScannerConfig.ID); buildingDef.LogicOutputPorts = new List <LogicPorts.Port>() { LogicPorts.Port.OutputPort(LogicSwitch.PORT_ID, new CellOffset(0, 0), (string)STRINGS.BUILDINGS.PREFABS.LOGICSWITCH.LOGIC_PORT, (string)STRINGS.BUILDINGS.PREFABS.LOGICSWITCH.LOGIC_PORT_ACTIVE, (string)STRINGS.BUILDINGS.PREFABS.LOGICSWITCH.LOGIC_PORT_INACTIVE, true) }; return(buildingDef); }