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