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); } }
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); } }
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); }