Example #1
0
 private void LockAllResearch()
 {
     MyVisualScriptLogicProvider.ResearchListClear();
     MyVisualScriptLogicProvider.PlayerResearchClearAll();
     foreach (var k in Definitions.Unlocks)
     {
         if (MyDefinitionManager.Static.GetDefinitionAny(k) is MyCubeBlockDefinition)
         {
             MyVisualScriptLogicProvider.ResearchListAddItem(k);
         }
     }
 }
        internal void InitResearchRestrictions()
        {
            // 1.194            MySectorWeatherComponent wc;
            //            WeatherType wt;

            if (bNewResearch)
            {
                MyVisualScriptLogicProvider.ResearchListClear();
                MyVisualScriptLogicProvider.ResearchListWhitelist(false); // set it to be 'black list'
            }

            // TODO: Figure out how to disable game-based progression tree...
            // A: you can't.  combo of editting researchgroups.sbc and MOD API

            //            MyVisualScriptLogicProvider.BlockFunctionalityChanged += FunctionalityChanged;

            NeedsResearch(refinery, TechGroup.Permabanned);
            NeedsResearch(blastFurnace, TechGroup.Permabanned);
            NeedsResearch(blastFurnace, TechGroup.Permabanned);
            NeedsResearch(jumpDrive, TechGroup.Permabanned);
            NeedsResearch(projectorLarge, TechGroup.Permabanned);
            NeedsResearch(projectorSmall, TechGroup.Permabanned);
            NeedsResearch(largeMissileTurret, TechGroup.Rockets);
            NeedsResearch(smallMissileTurret, TechGroup.Rockets);
            NeedsResearch(rocketLauncher, TechGroup.Rockets);
            NeedsResearch(largeRocketLauncher, TechGroup.Rockets);
            NeedsResearch(smallReloadableRocketLauncher, TechGroup.Rockets);
            NeedsResearch(ionThrusterSmallShipSmall, TechGroup.Permabanned);
            NeedsResearch(ionThrusterSmallShipLarge, TechGroup.Permabanned);
            NeedsResearch(ionThrusterLargeShipSmall, TechGroup.Permabanned);
            NeedsResearch(ionThrusterLargeShipLarge, TechGroup.Permabanned);
            NeedsResearch(hydroThrusterSmallShipSmall, TechGroup.Permabanned);
            NeedsResearch(hydroThrusterSmallShipLarge, TechGroup.Permabanned);
            NeedsResearch(hydroThrusterLargeShipSmall, TechGroup.Permabanned);
            NeedsResearch(hydroThrusterLargeShipLarge, TechGroup.Permabanned);
            NeedsResearch(atmoThrusterSmallShipSmall, TechGroup.AtmosphericEngines);
            NeedsResearch(atmoThrusterSmallShipLarge, TechGroup.AtmosphericEngines);
            NeedsResearch(atmoThrusterLargeShipSmall, TechGroup.AtmosphericEngines);
            NeedsResearch(atmoThrusterLargeShipLarge, TechGroup.AtmosphericEngines);
            NeedsResearch(oxygenFarm, TechGroup.OxygenFarm);
            NeedsResearch(oxygenGeneratorLarge, TechGroup.OxygenGenerators);
            NeedsResearch(oxygenGeneratorSmall, TechGroup.OxygenGenerators);
            NeedsResearch(oxygenTankLarge, TechGroup.GasStorage);
            NeedsResearch(oxygenTankSmall, TechGroup.GasStorage);
            NeedsResearch(hydrogenTankLarge, TechGroup.GasStorage);
            NeedsResearch(hydrogenTankSmall, TechGroup.GasStorage);

            //SE 1.194 V33
            NeedsResearch(LargeHydrogenTankSmall, TechGroup.GasStorage);
            NeedsResearch(SmallHydrogenTankSmall, TechGroup.GasStorage);

            NeedsResearch(EngineLarge, TechGroup.GasStorage);
            NeedsResearch(EngineSmall, TechGroup.GasStorage);

            NeedsResearch(WindTurbineLarge, TechGroup.AtmosphericEngines);

            NeedsResearch(SmallGatlingTurret, TechGroup.BasicWeapons);
            NeedsResearch(SmallRocketLauncherReload, TechGroup.BasicWeapons);
            NeedsResearch(InteriorTurret, TechGroup.BasicWeapons);
            NeedsResearch(LargeGatlingTurret, TechGroup.BasicWeapons);
//            NeedsResearch(largeMissileTurret, TechGroup.BasicWeapons);
//            NeedsResearch(smallMissileTurret, TechGroup.BasicWeapons);

            NeedsResearch(SkLarge, TechGroup.Permabanned);
            NeedsResearch(SkSmall, TechGroup.Permabanned);
            NeedsResearch(BasicAssembler, TechGroup.Permabanned);

            var gameVersion = MyAPIGateway.Session.Version;

            // V26.  For SE 1.192
            if ((gameVersion.Major == 1 && gameVersion.Minor >= 192) || gameVersion.Major > 1)
            {
                NeedsResearch(SafeZoneBlock, TechGroup.Permabanned);
                NeedsResearch(StoreBlock, TechGroup.Permabanned);
                NeedsResearch(ContractBlock, TechGroup.Permabanned);

                // V27 SE 1.192 Economy DLC
                NeedsResearch(VendingMachine, TechGroup.Permabanned);
                NeedsResearch(AtmBlock, TechGroup.Permabanned);
            }
            //   For SE 1.193
            if ((gameVersion.Major == 1 && gameVersion.Minor >= 193) || gameVersion.Major > 1)
            {
                NeedsResearch(FoodDispenser, TechGroup.Permabanned);
            }
        }
Example #3
0
        internal void InitResearchRestrictions()
        {
            // 1.194            MySectorWeatherComponent wc;
            //            WeatherType wt;

            if (bNewResearch)
            {
                MyVisualScriptLogicProvider.ResearchListClear();
                MyVisualScriptLogicProvider.ResearchListWhitelist(false); // set it to be 'black list'
            }

            // TODO: Figure out how to disable game-based progression tree...
            // A: you can't.  combo of editting researchgroups.sbc and MOD API

            //            MyVisualScriptLogicProvider.BlockFunctionalityChanged += FunctionalityChanged;

            NeedsResearch(refinery, TechGroup.Permabanned);
            NeedsResearch(blastFurnace, TechGroup.Permabanned);
            NeedsResearch(blastFurnace, TechGroup.Permabanned);
            NeedsResearch(jumpDrive, TechGroup.Permabanned);
            NeedsResearch(projectorLarge, TechGroup.Permabanned);
            NeedsResearch(projectorSmall, TechGroup.Permabanned);
            NeedsResearch(largeMissileTurret, TechGroup.Rockets);
            NeedsResearch(smallMissileTurret, TechGroup.Rockets);
            NeedsResearch(rocketLauncher, TechGroup.Rockets);
            NeedsResearch(largeRocketLauncher, TechGroup.Rockets);
            NeedsResearch(smallReloadableRocketLauncher, TechGroup.Rockets);
            NeedsResearch(ionThrusterSmallShipSmall, TechGroup.Permabanned);
            NeedsResearch(ionThrusterSmallShipLarge, TechGroup.Permabanned);
            NeedsResearch(ionThrusterLargeShipSmall, TechGroup.Permabanned);
            NeedsResearch(ionThrusterLargeShipLarge, TechGroup.Permabanned);
            NeedsResearch(hydroThrusterSmallShipSmall, TechGroup.Permabanned);
            NeedsResearch(hydroThrusterSmallShipLarge, TechGroup.Permabanned);
            NeedsResearch(hydroThrusterLargeShipSmall, TechGroup.Permabanned);
            NeedsResearch(hydroThrusterLargeShipLarge, TechGroup.Permabanned);
            NeedsResearch(atmoThrusterSmallShipSmall, TechGroup.AtmosphericEngines);
            NeedsResearch(atmoThrusterSmallShipLarge, TechGroup.AtmosphericEngines);
            NeedsResearch(atmoThrusterLargeShipSmall, TechGroup.AtmosphericEngines);
            NeedsResearch(atmoThrusterLargeShipLarge, TechGroup.AtmosphericEngines);

            NeedsResearch(oxygenFarm, TechGroup.OxygenFarm);
            NeedsResearch(oxygenGeneratorLarge, TechGroup.OxygenGenerators);
            NeedsResearch(oxygenGeneratorSmall, TechGroup.OxygenGenerators);
            NeedsResearch(oxygenTankLarge, TechGroup.GasStorage);
            NeedsResearch(oxygenTankSmall, TechGroup.GasStorage);
            NeedsResearch(hydrogenTankLarge, TechGroup.GasStorage);
            NeedsResearch(hydrogenTankSmall, TechGroup.GasStorage);

            //SE 1.194 V33
            NeedsResearch(LargeHydrogenTankSmall, TechGroup.GasStorage);
            NeedsResearch(SmallHydrogenTankSmall, TechGroup.GasStorage);

            NeedsResearch(EngineLarge, TechGroup.GasStorage);
            NeedsResearch(EngineSmall, TechGroup.GasStorage);

            NeedsResearch(WindTurbineLarge, TechGroup.AtmosphericEngines);

            NeedsResearch(SmallGatlingTurret, TechGroup.BasicWeapons);
            NeedsResearch(SmallRocketLauncherReload, TechGroup.BasicWeapons);
            NeedsResearch(InteriorTurret, TechGroup.BasicWeapons);
            NeedsResearch(LargeGatlingTurret, TechGroup.BasicWeapons);
            //            NeedsResearch(largeMissileTurret, TechGroup.BasicWeapons);
            //            NeedsResearch(smallMissileTurret, TechGroup.BasicWeapons);

            NeedsResearch(SkLarge, TechGroup.Permabanned);
            NeedsResearch(SkSmall, TechGroup.Permabanned);
            NeedsResearch(BasicAssembler, TechGroup.Permabanned);


            var gameVersion = MyAPIGateway.Session.Version;

            if ((gameVersion.Major == 1 && gameVersion.Minor >= 195) || gameVersion.Major > 1)
            {
                // V1.195 DLC
                NeedsResearch(SmallBlockSmallAtmosphericThrustSciFi, TechGroup.AtmosphericEngines);
                NeedsResearch(SmallBlockLargeAtmosphericThrustSciFi, TechGroup.AtmosphericEngines);
                NeedsResearch(LargeBlockSmallAtmosphericThrustSciFi, TechGroup.AtmosphericEngines);
                NeedsResearch(LargeBlockLargeAtmosphericThrustSciFi, TechGroup.AtmosphericEngines);

                NeedsResearch(SmallBlockSmallThrustSciFi, TechGroup.Permabanned);
                NeedsResearch(SmallBlockLargeThrustSciFi, TechGroup.Permabanned);
                NeedsResearch(LargeBlockSmallThrustSciFi, TechGroup.Permabanned);
                NeedsResearch(LargeBlockLargeThrustSciFi, TechGroup.Permabanned);
            }

            // V26.  For SE 1.192
            if ((gameVersion.Major == 1 && gameVersion.Minor >= 192) || gameVersion.Major > 1)
            {
                NeedsResearch(SafeZoneBlock, TechGroup.Permabanned);
                NeedsResearch(StoreBlock, TechGroup.Permabanned);
                NeedsResearch(ContractBlock, TechGroup.Permabanned);

                // V27 SE 1.192 Economy DLC
                NeedsResearch(VendingMachine, TechGroup.Permabanned);
                NeedsResearch(AtmBlock, TechGroup.Permabanned);
            }
            //   For SE 1.193
            if ((gameVersion.Major == 1 && gameVersion.Minor >= 193) || gameVersion.Major > 1)
            {
                NeedsResearch(FoodDispenser, TechGroup.Permabanned);
            }
            //   For SE 1.199
            if ((gameVersion.Major == 1 && gameVersion.Minor >= 199) || gameVersion.Major > 1)
            {
                NeedsResearch(IndustrialRefinery, TechGroup.Permabanned);
//                NeedsResearch(IndustrialAssembler, TechGroup.Permabanned);

                NeedsResearch(IndustrialLGLargeHTruster, TechGroup.Permabanned);
                NeedsResearch(IndustrialLGSmallHTruster, TechGroup.Permabanned);
                NeedsResearch(IndustrialSGLargeHTruster, TechGroup.Permabanned);
                NeedsResearch(IndustrialSGSmallHTruster, TechGroup.Permabanned);

                NeedsResearch(LargeHydrogenTankIndustrial, TechGroup.GasStorage);
            }
            if ((gameVersion.Major == 1 && gameVersion.Minor >= 200) || gameVersion.Major > 1)
            {
                NeedsResearch(LargeBlockLargeCalibreGun, TechGroup.BasicWeapons);
                NeedsResearch(SmallBlockAutocannon, TechGroup.BasicWeapons);
                NeedsResearch(SmallGatlingGunWarfare2, TechGroup.BasicWeapons);

                // encourage engineering
                NeedsResearch(LargeTurretControlBlock, TechGroup.BasicWeapons);
                NeedsResearch(SmallTurretControlBlock, TechGroup.BasicWeapons);


                NeedsResearch(SmallMissileLauncherWarfare2, TechGroup.Rockets);
                NeedsResearch(LargeRailgun, TechGroup.Rockets);
                NeedsResearch(SmallRailgun, TechGroup.Rockets);
                NeedsResearch(SmallMissileLauncherWarfare2, TechGroup.Rockets);

                // new turrets are banned because they might change the balance too much
                NeedsResearch(LargeBlockMediumCalibreTurret, TechGroup.Permabanned);
                NeedsResearch(AutoCannonTurret, TechGroup.Permabanned);
                NeedsResearch(SmallBlockMediumCalibreTurret, TechGroup.Permabanned);

                NeedsResearch(SmallBlockSmallModularThruster, TechGroup.Permabanned);
                NeedsResearch(SmallBlockLargeModularThruster, TechGroup.Permabanned);
                NeedsResearch(LargeBlockSmallModularThruster, TechGroup.Permabanned);
                NeedsResearch(LargeBlockLargeModularThruster, TechGroup.Permabanned);
            }
        }
Example #4
0
        internal void InitResearchRestrictions()
        {
            if (bNewResearch)
            {
                MyVisualScriptLogicProvider.ResearchListClear();
            }

            NeedsResearch(largeMissileTurret, TechGroup.Rockets);
            NeedsResearch(smallMissileTurret, TechGroup.Rockets);
            NeedsResearch(rocketLauncher, TechGroup.Rockets);
            NeedsResearch(largeRocketLauncher, TechGroup.Rockets);
            NeedsResearch(smallReloadableRocketLauncher, TechGroup.Rockets);


            NeedsResearch(atmoThrusterSmallShipSmall, TechGroup.AtmosphericEngines);
            NeedsResearch(atmoThrusterSmallShipLarge, TechGroup.AtmosphericEngines);
            NeedsResearch(atmoThrusterLargeShipSmall, TechGroup.AtmosphericEngines);
            NeedsResearch(atmoThrusterLargeShipLarge, TechGroup.AtmosphericEngines);
            NeedsResearch(WindTurbineLarge, TechGroup.AtmosphericEngines);

            NeedsResearch(oxygenFarm, TechGroup.OxygenFarm);

            NeedsResearch(oxygenGeneratorLarge, TechGroup.OxygenGenerators);
            NeedsResearch(oxygenGeneratorSmall, TechGroup.OxygenGenerators);

            NeedsResearch(oxygenTankLarge, TechGroup.GasStorage);
            NeedsResearch(oxygenTankSmall, TechGroup.GasStorage);
            NeedsResearch(hydrogenTankLarge, TechGroup.GasStorage);
            NeedsResearch(hydrogenTankSmall, TechGroup.GasStorage);
            NeedsResearch(EngineLarge, TechGroup.GasStorage);
            NeedsResearch(EngineSmall, TechGroup.GasStorage);


            NeedsResearch(SmallGatlingTurret, TechGroup.BasicWeapons);
            NeedsResearch(SmallRocketLauncherReload, TechGroup.BasicWeapons);
            NeedsResearch(InteriorTurret, TechGroup.BasicWeapons);
            NeedsResearch(LargeGatlingTurret, TechGroup.BasicWeapons);

            NeedsResearch(LargeBlockArmorBlock, TechGroup.LgLightArmor);
            NeedsResearch(LargeBlockArmorCorner, TechGroup.LgLightArmor);
            NeedsResearch(LargeBlockArmorCornerInv, TechGroup.LgLightArmor);
            NeedsResearch(LargeRoundArmor_Slope, TechGroup.LgLightArmor);
            NeedsResearch(LargeRoundArmor_Corner, TechGroup.LgLightArmor);
            NeedsResearch(LargeRoundArmor_CornerInv, TechGroup.LgLightArmor);
            NeedsResearch(LargeHalfArmorBlock, TechGroup.LgLightArmor);
            NeedsResearch(LargeHalfSlopeArmorBlock, TechGroup.LgLightArmor);

            NeedsResearch(LargeHeavyBlockArmorBlock, TechGroup.LgHeavyArmor);
            NeedsResearch(LargeHeavyBlockArmorSlope, TechGroup.LgHeavyArmor);
            NeedsResearch(LargeHeavyBlockArmorCorner, TechGroup.LgHeavyArmor);
            NeedsResearch(LargeHeavyBlockArmorCornerInv, TechGroup.LgHeavyArmor);
            NeedsResearch(LargeHeavyHalfArmorBlock, TechGroup.LgHeavyArmor);
            NeedsResearch(LargeHeavyHalfSlopeArmorBlock, TechGroup.LgHeavyArmor);


            NeedsResearch(ionThrusterSmallShipSmall, TechGroup.Permabanned);
            NeedsResearch(ionThrusterSmallShipLarge, TechGroup.Permabanned);
            NeedsResearch(ionThrusterLargeShipSmall, TechGroup.Permabanned);
            NeedsResearch(ionThrusterLargeShipLarge, TechGroup.Permabanned);
            NeedsResearch(hydroThrusterSmallShipSmall, TechGroup.Permabanned);
            NeedsResearch(hydroThrusterSmallShipLarge, TechGroup.Permabanned);
            NeedsResearch(hydroThrusterLargeShipSmall, TechGroup.Permabanned);
            NeedsResearch(hydroThrusterLargeShipLarge, TechGroup.Permabanned);

            NeedsResearch(refinery, TechGroup.Permabanned);
            NeedsResearch(blastFurnace, TechGroup.Permabanned);
            NeedsResearch(blastFurnace, TechGroup.Permabanned);
            NeedsResearch(jumpDrive, TechGroup.Permabanned);
            NeedsResearch(projectorLarge, TechGroup.Permabanned);
            NeedsResearch(projectorSmall, TechGroup.Permabanned);

            NeedsResearch(SkLarge, TechGroup.Permabanned);
            NeedsResearch(SkSmall, TechGroup.Permabanned);
            NeedsResearch(BasicAssembler, TechGroup.Permabanned);

            NeedsResearch(SafeZoneBlock, TechGroup.Permabanned);
            NeedsResearch(StoreBlock, TechGroup.Permabanned);
            NeedsResearch(ContractBlock, TechGroup.Permabanned);
        }