public override void DoPostConfigureComplete(GameObject go)
    {
        Storage storage = go.AddOrGet <Storage>();

        storage.capacityKg       = 2700f;
        storage.allowSublimation = false;
        storage.SetDefaultStoredItemModifiers(new List <Storage.StoredItemModifier>
        {
            Storage.StoredItemModifier.Hide,
            Storage.StoredItemModifier.Seal,
            Storage.StoredItemModifier.Insulate
        });
        OxidizerTank oxidizerTank = go.AddOrGet <OxidizerTank>();

        oxidizerTank.storage = storage;
        go.AddOrGet <DropToUserCapacity>();
        ConduitConsumer conduitConsumer = go.AddOrGet <ConduitConsumer>();

        conduitConsumer.conduitType          = ConduitType.Liquid;
        conduitConsumer.consumptionRate      = 10f;
        conduitConsumer.capacityTag          = ElementLoader.FindElementByHash(SimHashes.LiquidOxygen).tag;
        conduitConsumer.capacityKG           = storage.capacityKg;
        conduitConsumer.forceAlwaysSatisfied = true;
        conduitConsumer.wrongElementResult   = ConduitConsumer.WrongElementResult.Dump;
        RocketModule rocketModule = go.AddOrGet <RocketModule>();

        rocketModule.SetBGKAnim(Assets.GetAnim("rocket_oxidizer_tank_liquid_bg_kanim"));
        EntityTemplates.ExtendBuildingToRocketModule(go);
    }
示例#2
0
    public override void DoPostConfigureComplete(GameObject go)
    {
        SolidBooster solidBooster = go.AddOrGet <SolidBooster>();

        solidBooster.mainEngine = false;
        solidBooster.efficiency = ROCKETRY.ENGINE_EFFICIENCY.BOOSTER;
        solidBooster.fuelTag    = ElementLoader.FindElementByHash(SimHashes.Iron).tag;
        Storage storage = go.AddOrGet <Storage>();

        storage.SetDefaultStoredItemModifiers(Storage.StandardSealedStorage);
        storage.capacityKg       = 800f;
        solidBooster.fuelStorage = storage;
        ManualDeliveryKG manualDeliveryKG = go.AddComponent <ManualDeliveryKG>();

        manualDeliveryKG.SetStorage(storage);
        manualDeliveryKG.requestedItemTag = solidBooster.fuelTag;
        manualDeliveryKG.refillMass       = storage.capacityKg / 2f;
        manualDeliveryKG.capacity         = storage.capacityKg / 2f;
        manualDeliveryKG.choreTypeIDHash  = Db.Get().ChoreTypes.MachineFetch.IdHash;
        ManualDeliveryKG manualDeliveryKG2 = go.AddComponent <ManualDeliveryKG>();

        manualDeliveryKG2.SetStorage(storage);
        manualDeliveryKG2.requestedItemTag = ElementLoader.FindElementByHash(SimHashes.OxyRock).tag;
        manualDeliveryKG2.refillMass       = storage.capacityKg / 2f;
        manualDeliveryKG2.capacity         = storage.capacityKg / 2f;
        manualDeliveryKG2.choreTypeIDHash  = Db.Get().ChoreTypes.MachineFetch.IdHash;
        RocketModule rocketModule = go.AddOrGet <RocketModule>();

        rocketModule.SetBGKAnim(Assets.GetAnim("rocket_solid_booster_bg_kanim"));
        EntityTemplates.ExtendBuildingToRocketModule(go);
    }
示例#3
0
    public override void DoPostConfigureComplete(GameObject go)
    {
        Storage storage = go.AddOrGet <Storage>();

        storage.capacityKg       = 2700f;
        storage.allowSublimation = false;
        storage.SetDefaultStoredItemModifiers(new List <Storage.StoredItemModifier>
        {
            Storage.StoredItemModifier.Hide,
            Storage.StoredItemModifier.Seal,
            Storage.StoredItemModifier.Insulate
        });
        OxidizerTank oxidizerTank = go.AddOrGet <OxidizerTank>();

        oxidizerTank.storage = storage;
        go.AddOrGet <DropToUserCapacity>();
        ManualDeliveryKG manualDeliveryKG = go.AddOrGet <ManualDeliveryKG>();

        manualDeliveryKG.SetStorage(storage);
        manualDeliveryKG.requestedItemTag       = ElementLoader.FindElementByHash(SimHashes.OxyRock).tag;
        manualDeliveryKG.refillMass             = storage.capacityKg;
        manualDeliveryKG.capacity               = storage.capacityKg;
        manualDeliveryKG.operationalRequirement = FetchOrder2.OperationalRequirement.None;
        manualDeliveryKG.choreTypeIDHash        = Db.Get().ChoreTypes.MachineFetch.IdHash;
        RocketModule rocketModule = go.AddOrGet <RocketModule>();

        rocketModule.SetBGKAnim(Assets.GetAnim("rocket_oxidizer_tank_bg_kanim"));
        EntityTemplates.ExtendBuildingToRocketModule(go);
    }
示例#4
0
    public override void DoPostConfigureComplete(GameObject go)
    {
        FuelTank fuelTank = go.AddOrGet <FuelTank>();

        fuelTank.capacityKg = fuelTank.minimumLaunchMass;
        fuelTank.SetDefaultStoredItemModifiers(new List <Storage.StoredItemModifier>
        {
            Storage.StoredItemModifier.Hide,
            Storage.StoredItemModifier.Seal,
            Storage.StoredItemModifier.Insulate
        });
        go.AddOrGet <DropToUserCapacity>();
        ManualDeliveryKG manualDeliveryKG = go.AddOrGet <ManualDeliveryKG>();

        manualDeliveryKG.SetStorage(fuelTank);
        manualDeliveryKG.refillMass             = fuelTank.capacityKg;
        manualDeliveryKG.capacity               = fuelTank.capacityKg;
        manualDeliveryKG.operationalRequirement = FetchOrder2.OperationalRequirement.None;
        manualDeliveryKG.choreTypeIDHash        = Db.Get().ChoreTypes.MachineFetch.IdHash;
        ConduitConsumer conduitConsumer = go.AddOrGet <ConduitConsumer>();

        conduitConsumer.conduitType          = ConduitType.Liquid;
        conduitConsumer.consumptionRate      = 10f;
        conduitConsumer.capacityTag          = GameTags.Liquid;
        conduitConsumer.capacityKG           = fuelTank.capacityKg;
        conduitConsumer.forceAlwaysSatisfied = true;
        conduitConsumer.wrongElementResult   = ConduitConsumer.WrongElementResult.Store;
        RocketModule rocketModule = go.AddOrGet <RocketModule>();

        rocketModule.SetBGKAnim(Assets.GetAnim("rocket_liquid_fuel_tank_bg_kanim"));
        EntityTemplates.ExtendBuildingToRocketModule(go);
    }
    public override void DoPostConfigureComplete(GameObject go)
    {
        GeneratedBuildings.RegisterLogicPorts(go, INPUT_PORTS, OUTPUT_PORTS);
        Ownable ownable = go.AddOrGet <Ownable>();

        ownable.slotID      = Db.Get().AssignableSlots.RocketCommandModule.Id;
        ownable.canBePublic = false;
        EntityTemplates.ExtendBuildingToRocketModule(go);
    }
    public override void DoPostConfigureComplete(GameObject go)
    {
        RocketEngine rocketEngine = go.AddOrGet <RocketEngine>();

        rocketEngine.fuelTag             = ElementLoader.FindElementByHash(SimHashes.Petroleum).tag;
        rocketEngine.efficiency          = ROCKETRY.ENGINE_EFFICIENCY.MEDIUM;
        rocketEngine.explosionEffectHash = SpawnFXHashes.MeteorImpactDust;
        EntityTemplates.ExtendBuildingToRocketModule(go);
        RocketModule rocketModule = go.AddOrGet <RocketModule>();

        rocketModule.SetBGKAnim(Assets.GetAnim("rocket_petroleum_engine_bg_kanim"));
    }
示例#7
0
            }                                                 // skip original method

            static void Postfix(GameObject go)
            {
                RocketEngineImproved rocketEngine = go.AddOrGet <RocketEngineImproved>();

                rocketEngine.ExhaustVelocity = PetroleumEngineStats.ExhaustVelocity;
                rocketEngine.RangePenalty    = PetroleumEngineStats.RangePenalty;
                rocketEngine.MinFuel         = PetroleumEngineStats.MinFuel;
                rocketEngine.MaxFuel         = PetroleumEngineStats.MaxFuel;

                rocketEngine.fuelTag             = ElementLoader.FindElementByHash(SimHashes.Petroleum).tag;
                rocketEngine.explosionEffectHash = SpawnFXHashes.MeteorImpactDust;
                EntityTemplates.ExtendBuildingToRocketModule(go);
                go.AddOrGet <RocketModule>().SetBGKAnim(Assets.GetAnim("rocket_petroleum_engine_bg_kanim"));
            }
    public override void DoPostConfigureComplete(GameObject go)
    {
        RocketEngine rocketEngine = go.AddOrGet <RocketEngine>();

        rocketEngine.fuelTag             = ElementLoader.FindElementByHash(SimHashes.LiquidHydrogen).tag;
        rocketEngine.efficiency          = ROCKETRY.ENGINE_EFFICIENCY.STRONG;
        rocketEngine.explosionEffectHash = SpawnFXHashes.MeteorImpactDust;
        rocketEngine.exhaustElement      = SimHashes.Steam;
        rocketEngine.exhaustTemperature  = 2000f;
        EntityTemplates.ExtendBuildingToRocketModule(go);
        RocketModule rocketModule = go.AddOrGet <RocketModule>();

        rocketModule.SetBGKAnim(Assets.GetAnim("rocket_hydrogen_engine_bg_kanim"));
    }
    public override void DoPostConfigureComplete(GameObject go)
    {
        CargoBay cargoBay = go.AddOrGet <CargoBay>();

        cargoBay.storage            = go.AddOrGet <Storage>();
        cargoBay.storageType        = CargoBay.CargoType.solids;
        cargoBay.storage.capacityKg = 1000f;
        cargoBay.storage.SetDefaultStoredItemModifiers(Storage.StandardSealedStorage);
        RocketModule rocketModule = go.AddOrGet <RocketModule>();

        rocketModule.SetBGKAnim(Assets.GetAnim("rocket_storage_solid_bg_kanim"));
        EntityTemplates.ExtendBuildingToRocketModule(go);
        go.AddOrGet <SolidConduitDispenser>();
    }
示例#10
0
        public override void DoPostConfigureComplete(GameObject go)
        {
            RocketEngineImproved engine = go.AddOrGet <RocketEngineImproved>();

            engine.ExhaustVelocity = MethaneEngineStats.ExhaustVelocity;
            engine.RangePenalty    = MethaneEngineStats.RangePenalty;
            engine.MinFuel         = MethaneEngineStats.MinFuel;
            engine.MaxFuel         = MethaneEngineStats.MaxFuel;

            engine.fuelTag             = ElementLoader.FindElementByHash(MethaneEngineStats.FuelType).tag;
            engine.explosionEffectHash = SpawnFXHashes.MeteorImpactDust;
            engine.exhaustElement      = SimHashes.Steam;
            engine.exhaustTemperature  = 2000f;
            EntityTemplates.ExtendBuildingToRocketModule(go);
            go.AddOrGet <RocketModule>().SetBGKAnim(Assets.GetAnim("rocket_hydrogen_engine_bg_kanim"));
        }
示例#11
0
            }                                                 // skip original method

            static void Postfix(GameObject go)
            {
                TryDebug.Log(nameof(DoPostConfigureComplete), " called");
                RocketEngineImproved rocketEngine = go.AddOrGet <RocketEngineImproved>();

                rocketEngine.ExhaustVelocity = HydrogenEngineStats.ExhaustVelocity;
                rocketEngine.RangePenalty    = HydrogenEngineStats.RangePenalty;
                rocketEngine.MinFuel         = HydrogenEngineStats.MinFuel;
                rocketEngine.MaxFuel         = HydrogenEngineStats.MaxFuel;

                rocketEngine.fuelTag             = ElementLoader.FindElementByHash(SimHashes.LiquidHydrogen).tag;
                rocketEngine.explosionEffectHash = SpawnFXHashes.MeteorImpactDust;
                rocketEngine.exhaustElement      = SimHashes.Steam;
                rocketEngine.exhaustTemperature  = 2000f;
                EntityTemplates.ExtendBuildingToRocketModule(go);
                go.AddOrGet <RocketModule>().SetBGKAnim(Assets.GetAnim("rocket_hydrogen_engine_bg_kanim"));
            }
示例#12
0
            }                                                 // skip original method

            static void Postfix(GameObject go)
            {
                RocketEngineImproved rocketEngine = go.AddOrGet <RocketEngineImproved>();

                rocketEngine.ExhaustVelocity = SteamEngineStats.ExhaustVelocity;
                rocketEngine.RangePenalty    = SteamEngineStats.RangePenalty;
                rocketEngine.MinFuel         = SteamEngineStats.MinFuel;
                rocketEngine.MaxFuel         = SteamEngineStats.MaxFuel;
                rocketEngine.OnlyFuel        = true;

                rocketEngine.fuelTag             = ElementLoader.FindElementByHash(SimHashes.Steam).tag;
                rocketEngine.explosionEffectHash = SpawnFXHashes.MeteorImpactDust;
                rocketEngine.requireOxidizer     = false;
                rocketEngine.exhaustElement      = SimHashes.Steam;
                rocketEngine.exhaustTemperature  = ElementLoader.FindElementByHash(SimHashes.Steam).lowTemp + 50f;
                FuelTank fuelTank = go.AddOrGet <FuelTank>();

                fuelTank.capacityKg = SteamEngineStats.MaxStorage;
                fuelTank.FuelType   = ElementLoader.FindElementByHash(SimHashes.Steam).tag;

                var list = new List <Storage.StoredItemModifier>();

                list.Add(Storage.StoredItemModifier.Hide);
                list.Add(Storage.StoredItemModifier.Seal);
                list.Add(Storage.StoredItemModifier.Insulate);
                fuelTank.SetDefaultStoredItemModifiers(list);

                ConduitConsumer conduitConsumer = go.AddOrGet <ConduitConsumer>();

                conduitConsumer.conduitType          = ConduitType.Gas;
                conduitConsumer.consumptionRate      = 10f;
                conduitConsumer.capacityTag          = fuelTank.FuelType;
                conduitConsumer.capacityKG           = SteamEngineStats.MaxStorage;
                conduitConsumer.forceAlwaysSatisfied = true;
                conduitConsumer.wrongElementResult   = ConduitConsumer.WrongElementResult.Dump;
                go.AddOrGet <RocketModule>().SetBGKAnim(Assets.GetAnim("rocket_steam_engine_bg_kanim"));
                EntityTemplates.ExtendBuildingToRocketModule(go);
            }
示例#13
0
 public override void DoPostConfigureComplete(GameObject go)
 {
     EntityTemplates.ExtendBuildingToRocketModule(go);
 }