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);
    }
Esempio n. 2
0
    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);
    }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        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);
        }
Esempio n. 5
0
        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);
        }
Esempio n. 6
0
		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;
		}
Esempio n. 7
0
    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);
    }
Esempio n. 12
0
    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);
    }
Esempio n. 13
0
        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);
        }
Esempio n. 14
0
        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);
    }
Esempio n. 16
0
    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);
    }
Esempio n. 18
0
    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);
    }
Esempio n. 19
0
    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);
    }
Esempio n. 20
0
        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);
    }
Esempio n. 24
0
    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);
    }
Esempio n. 25
0
    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);
    }
Esempio n. 26
0
    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);
    }
Esempio n. 28
0
        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);
        }
Esempio n. 29
0
    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);
    }
Esempio n. 30
0
        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);
        }