public override bool MeetRequirements()
        {
            // stop checking when requirements are met
            if (!meet_requirements)
            {
                ProgressTracking progress = ProgressTracking.Instance;
                if (progress == null)
                {
                    return(false);
                }
                int known = 0;
                foreach (var body_progress in progress.celestialBodyNodes)
                {
                    known += body_progress.flyBy != null && body_progress.flyBy.IsComplete ? 1 : 0;
                }
                bool end_game = known > FlightGlobals.Bodies.Count / 2;

                meet_requirements =
                    Features.Radiation &&                                                     // radiation is enabled
                    end_game &&                                                               // entered SOI of half the bodies
                    Radiation.Info(FlightGlobals.Bodies[0]).model.has_pause &&                // there is an actual heliopause
                    !DB.landmarks.heliopause_crossing;                                        // heliopause never crossed before
            }
            return(meet_requirements);
        }
Beispiel #2
0
        public override bool MeetRequirements()
        {
            // stop checking when requirements are met
            if (!meet_requirements)
            {
                ProgressTracking progress = ProgressTracking.Instance;

                meet_requirements =
                    Features.Radiation &&                                 // radiation is enabled
                    progress != null && progress.reachSpace.IsComplete && // first suborbit flight completed
                    !DB.landmarks.belt_crossing;                          // belt never crossed before
            }
            return(meet_requirements);
        }
        public override bool MeetRequirements()
        {
            // stop checking when requirements are met
            if (!meet_requirements)
            {
                ProgressTracking progress = ProgressTracking.Instance;

                meet_requirements =
                    Profile.rules.Count > 0 &&                                // some rule is specified
                    progress != null && progress.celestialBodyHome.orbit.IsComplete && // first orbit completed
                    !DB.landmarks.manned_orbit;                               // contract never completed
            }
            return(meet_requirements);
        }