Beispiel #1
0
        double applyTheaterBonus(double cost, KerbalJob job)
        {
            var theaters = vessel.FindPartModulesImplementing <MovieTheater>();

            Debug.Log(theaters.Count);


            foreach (MovieTheater t in theaters)
            {
                Debug.Log(t.MovieType);
                if (t.MovieType == "Racing Movies" && job == KerbalJob.Engineer)
                {
                    return(cost - cost * (t.engineerBonus));
                }
                if (t.MovieType == "Scifi Movies" && job == KerbalJob.Pilot)
                {
                    return(cost - cost * (t.pilotBonus));
                }
                if (t.MovieType == "Documentaries" && job == KerbalJob.Scientist)
                {
                    return(cost - cost * (t.scientistBonus));
                }
            }
            return(cost);
        }
Beispiel #2
0
        ProtoCrewMember CreateKerbal(KerbalJob job, int startLevel)
        {
            var roster = HighLogic.CurrentGame.CrewRoster;

            var newMember = roster.GetNewKerbal(ProtoCrewMember.KerbalType.Crew);

            //need to make an experience trait specifically!


            while (newMember.experienceTrait.Title != career)
            {
                HighLogic.CurrentGame.CrewRoster.Remove(newMember);
                newMember = HighLogic.CurrentGame.CrewRoster.GetNewKerbal(ProtoCrewMember.KerbalType.Crew);
            }



            float startXP = KerbalRoster.GetExperienceLevelRequirement(startLevel);

            if (xplevel == 3)
            {
                newMember.flightLog.AddEntry("Orbit,Kerbin");
                newMember.flightLog.AddEntry("Suborbit,Kerbin");
                newMember.flightLog.AddEntry("Flight,Kerbin");
                newMember.flightLog.AddEntry("Land,Kerbin");
                newMember.flightLog.AddEntry("Recover");
                newMember.flightLog.AddEntry("Flyby,Mun");
                newMember.flightLog.AddEntry("Orbit,Mun");
                newMember.flightLog.AddEntry("Land,Mun");
                newMember.flightLog.AddEntry("Flyby,Minmus");
                newMember.flightLog.AddEntry("Orbit,Minmus");
                newMember.flightLog.AddEntry("Land,Minmus");
                newMember.flightLog.AddEntry("Flyby,Sun");
                newMember.ArchiveFlightLog();
                newMember.experience      = 8;
                newMember.experienceLevel = 3;
            }
            else
            {
                newMember.flightLog.AddEntry("Orbit,Kerbin");
                newMember.flightLog.AddEntry("Suborbit,Kerbin");
                newMember.flightLog.AddEntry("Flight,Kerbin");
                newMember.flightLog.AddEntry("Land,Kerbin");
                newMember.flightLog.AddEntry("Recover");
                newMember.ArchiveFlightLog();
                newMember.experience      = 3;
                newMember.experienceLevel = 1;
            }

            return(newMember);
        }
        ProtoCrewMember CreateKerbal(KerbalJob job, int startLevel)
        {
            var roster = HighLogic.CurrentGame.CrewRoster;

            var newMember = roster.GetNewKerbal(ProtoCrewMember.KerbalType.Crew);

            //need to make an experience trait specifically!
            
            
            while (newMember.experienceTrait.Title != career)
            {
                HighLogic.CurrentGame.CrewRoster.Remove(newMember);
                newMember = HighLogic.CurrentGame.CrewRoster.GetNewKerbal(ProtoCrewMember.KerbalType.Crew);
                
            }
                     


            float startXP = KerbalRoster.GetExperienceLevelRequirement(startLevel);

            if (xplevel == 3)
            {
                newMember.flightLog.AddEntry("Orbit,Kerbin");
                newMember.flightLog.AddEntry("Suborbit,Kerbin");
                newMember.flightLog.AddEntry("Flight,Kerbin");
                newMember.flightLog.AddEntry("Land,Kerbin");
                newMember.flightLog.AddEntry("Recover");
                newMember.flightLog.AddEntry("Flyby,Mun");
                newMember.flightLog.AddEntry("Orbit,Mun");
                newMember.flightLog.AddEntry("Land,Mun");
                newMember.flightLog.AddEntry("Flyby,Minmus");
                newMember.flightLog.AddEntry("Orbit,Minmus");
                newMember.flightLog.AddEntry("Land,Minmus");
                newMember.flightLog.AddEntry("Flyby,Sun");
                newMember.ArchiveFlightLog();
                newMember.experience = 8;
                newMember.experienceLevel = 3;
            }
            else
            {
                newMember.flightLog.AddEntry("Orbit,Kerbin");
                newMember.flightLog.AddEntry("Suborbit,Kerbin");
                newMember.flightLog.AddEntry("Flight,Kerbin");
                newMember.flightLog.AddEntry("Land,Kerbin");
                newMember.flightLog.AddEntry("Recover");
                newMember.ArchiveFlightLog();
                newMember.experience = 3;
                newMember.experienceLevel = 1;
            }
            
            return newMember;
            
        }
        double applyTheaterBonus(double cost, KerbalJob job)
        {
            var theaters = vessel.FindPartModulesImplementing<MovieTheater>();
            Debug.Log(theaters.Count);


            foreach (MovieTheater t in theaters)
            {
                Debug.Log(t.MovieType);
                if (t.MovieType == "Racing Movies" && job == KerbalJob.Engineer)
                    return cost - cost * (t.engineerBonus);
                if (t.MovieType == "Scifi Movies" && job == KerbalJob.Pilot)
                    return cost - cost * (t.pilotBonus);
                if (t.MovieType == "Documentaries" && job == KerbalJob.Scientist)
                    return cost - cost * (t.scientistBonus);

            }
            return cost;

        }
        ProtoCrewMember CreateKerbal(KerbalJob job, int startLevel)
        {
            var roster = HighLogic.CurrentGame.CrewRoster;

            var newMember = roster.GetNewKerbal(ProtoCrewMember.KerbalType.Crew);

            //need to make an experience trait specifically!
            switch (job)
            {
                case KerbalJob.Pilot:
                    KerbalRoster.SetExperienceTrait(newMember, "Pilot");
                    break;
                case KerbalJob.Engineer:
                    KerbalRoster.SetExperienceTrait(newMember, "Engineer");
                    break;
                case KerbalJob.Scientist:
                    KerbalRoster.SetExperienceTrait(newMember, "Scientist");
                    break;
            }

            float startXP = KerbalRoster.GetExperienceLevelRequirement(startLevel);

            newMember.experience = startXP + 1;
            newMember.experienceLevel = KerbalRoster.CalculateExperienceLevel(newMember.experience);
            return newMember;


        }