public static Vessel[] GetMiningRigs() { List <Vessel> ReturnVessels = new List <Vessel>(); Vessel[] MiningRigs = VesselHelper.GetVesselsWithModuleAliases(new string[] { "Drill" }); for (var i = 0; i < MiningRigs.Length; i++) { Vessel MiningRig = MiningRigs[i]; if ((MiningRig.Landed || OnAsteroid(MiningRig)) && MiningRig.vesselType != VesselType.Station && MiningRig.vesselType != VesselType.Base && MiningRig.landedAt != SpaceCenter.Instance.cb.GetName() && VesselHelper.HasEnergy(MiningRig) && VesselHelper.GeneratesEnergy(MiningRig) && VesselHelper.HasCommunication(MiningRig)) { ReturnVessels.Add(MiningRig); } } return(ReturnVessels.ToArray()); }
public static Vessel[] GetLandedScienceStations() { List <Vessel> ReturnVessels = new List <Vessel>(); Vessel[] ScienceLabs = VesselHelper.GetVesselsWithModuleAliases(new string[] { "ScienceLab" }); for (var i = 0; i < ScienceLabs.Length; i++) { Vessel ScienceLab = ScienceLabs[i]; if (VesselHelper.HasCrew(ScienceLab) && ScienceLab.Landed && ScienceLab.vesselType != VesselType.Station && ScienceLab.vesselType != VesselType.Base && ScienceLab.landedAt != SpaceCenter.Instance.cb.GetName() && VesselHelper.HasEnergy(ScienceLab) && VesselHelper.GeneratesEnergy(ScienceLab) && VesselHelper.HasCommunication(ScienceLab)) { ReturnVessels.Add(ScienceLab); } } return(ReturnVessels.ToArray()); }
public static Vessel[] GetRovers() { List <Vessel> ReturnVessels = new List <Vessel>(); Vessel[] Rovers = (Vessel[])FlightGlobals.Vessels.ToArray(); for (var i = 0; i < Rovers.Length; i++) { Vessel Rover = Rovers[i]; if (Rover.vesselType == VesselType.Rover) { if (Rover.Landed && Rover.landedAt != SpaceCenter.Instance.cb.GetName() && VesselHelper.HasEnergy(Rover) && VesselHelper.WorkingWheels(Rover)) { ReturnVessels.Add(Rover); } } } return(ReturnVessels.ToArray()); }
public static bool QualifiedStranded(ProtoCrewMember Kerb) { Vessel Vsl = GetVessel(Kerb); if (Vsl != null && Vsl.protoVessel.vesselType != VesselType.Base && Vsl.protoVessel.vesselType != VesselType.Rover && Vsl.protoVessel.vesselType != VesselType.Station) { if (!VesselHelper.HasLiquidFuel(Vsl) || !VesselHelper.HasEnergy(Vsl)) { if (!VesselHelper.VesselHasModuleAlias(Vsl, "ScienceLab")) { if (!VesselHelper.VesselHasModuleAlias(Vsl, "Drill")) { return(true); } } } } return(false); }
public static Vessel[] GetBases() { List <Vessel> ReturnVessels = new List <Vessel>(); Vessel[] Bases = (Vessel[])FlightGlobals.Vessels.ToArray(); for (var i = 0; i < Bases.Length; i++) { Vessel Base = Bases[i]; if (Base.vesselType == VesselType.Base) { if (Base.Landed && Base.landedAt != SpaceCenter.Instance.cb.GetName() && VesselHelper.HasEnergy(Base) && VesselHelper.GeneratesEnergy(Base) && VesselHelper.HasCommunication(Base)) { ReturnVessels.Add(Base); } } } return(ReturnVessels.ToArray()); }