Skip to content

Commit

Permalink
Showing 5 changed files with 24 additions and 10 deletions.
Binary file modified GameData/RP-0/Plugins/RP0.dll
Binary file not shown.
Binary file modified GameData/RP-0/Plugins/RP0KCTBinder.dll
Binary file not shown.
16 changes: 8 additions & 8 deletions GameData/RP-0/Tree/CrewTrainingTimes.cfg
Original file line number Diff line number Diff line change
@@ -39,15 +39,15 @@ TRAININGTIMES
X1 = 15, XPlane
RP0Nose-Cockpit = X1
X1-Crew = X1
X1_Mission = 10
X1-Mission = 10
// X-15
X15 = 100, Suborbital, XPlane
Mark1Cockpit = X15
Mark2Cockpit = X15
RO-Mk1CockpitInline = X15
RO-Mk1Cockpit = X15
X15_Mission = 15
X15-Mission = 15
// Jet Fighters
Mk1 S39 Cockpit = 100, XPlane
@@ -66,23 +66,23 @@ TRAININGTIMES
FASAMercuryPod = Mercury
mk1pod = Mercury
orbitaiespod = Mercury
Mercury_Mission = 75
Mercury-Mission = 75
// Gemini
Gemini = 200, SecondGenCapsules // 550
FASAGeminiPod2 = Gemini
FASAGeminiPod2White = Gemini
K2Pod = Gemini
moduldesspod = Gemini
Gemini_Mission = 60
Gemini-Mission = 60
// Apollo
Apollo = 200, MatureCapsules // 600
bluedog-Apollo-Block2-Capsule = Apollo
FASAApollo-CM = Apollo
SSTU-SC-B-CM = Apollo
Mark1-2Pod = Apollo
Apollo_Mission = 60
Apollo-Mission = 60
// Advanced Apollo 650
SSTU-SC-B-CMX = 50, Apollo
@@ -105,13 +105,13 @@ TRAININGTIMES
Vostok = 50, BasicCapsules // 300
IronVostok-Crew-A = Vostok
rn-vostok-sc = Vostok
Vostok_Mission = 60
Vostok-Mission = 60
// Voskhod
Voskhod = 200, Vostok // 500
Voskhod-Crew-A = Voskhod
rn-voskhod-sc = Voskhod
Voskhod_Mission = 60
Voskhod-Mission = 60
// Soyuz
Soyuz = 200, MatureCapsules // 600
@@ -122,6 +122,6 @@ TRAININGTIMES
rn-lok-bo = Soyuz
t-bo = Soyuz
t-af-bo = Soyuz
Soyuz_Mission = 60
Soyuz-Mission = 60
}
2 changes: 1 addition & 1 deletion Source/Crew/CrewHandler.cs
Original file line number Diff line number Diff line change
@@ -816,7 +816,7 @@ protected void GenerateCourseMission(AvailablePart ap)

n.AddValue("id", "msn_" + name);
n.AddValue("name", "Mission: " + name);
n.AddValue("time", 1d + TrainingDatabase.GetTime(name + "_Mission") * 86400d);
n.AddValue("time", 1d + TrainingDatabase.GetTime(name + "-Mission") * 86400d);
n.AddValue("timeUseStupid", true);
n.AddValue("seatMax", ap.partPrefab.CrewCapacity * 2);
n.AddValue("expiration", settings.trainingMissionExpirationDays * 86400d);
16 changes: 15 additions & 1 deletion Source/KCTBinderModule.cs
Original file line number Diff line number Diff line change
@@ -30,12 +30,20 @@ public override void OnAwake()

public static bool CheckCrewForPart(ProtoCrewMember pcm, string partName)
{
// lolwut. But just in case.
if (pcm == null)
return false;

if (EntryCostStorage.GetCost(partName) == 1)
return true;

partName = Crew.TrainingDatabase.SynonymReplace(partName);

int lastFlight = pcm.flightLog.Last().flight;
FlightLog.Entry ent = pcm.flightLog.Last();
if (ent == null)
return false;

int lastFlight = ent.flight;
bool lacksMission = true;
for (int i = pcm.flightLog.Entries.Count; i-- > 0;)
{
@@ -45,11 +53,17 @@ public static bool CheckCrewForPart(ProtoCrewMember pcm, string partName)
if (e.flight < lastFlight)
return false;

if (string.IsNullOrEmpty(e.type) || string.IsNullOrEmpty(e.target))
continue;

if (e.type == "TRAINING_mission" && e.target == partName)
lacksMission = false;
}
else
{
if (string.IsNullOrEmpty(e.type) || string.IsNullOrEmpty(e.target))
continue;

if (e.type == "TRAINING_proficiency" && e.target == partName)
return true;
}

0 comments on commit 1b293ff

Please sign in to comment.