bongotastic / Headlines

Dwarf fortress meets RP-1 (KSP/RSS/RO). Focusing on reputation management and life trajectory of crew members.
Other
5 stars 1 forks source link

Crew proficiency training disappears after mission completion #133

Closed That-Ben-Guy closed 3 years ago

That-Ben-Guy commented 3 years ago

As the title says.

I have a pretty standard RP1 install, I believe the only thing I have different from the express is conformal decals and Kerbal Konstructs for the extra launch sites and runways.

I send my Kerbal on a (successful) X-plane mission, and when I recover it to SPH from landing, they suddenly do not have their previous proficiency in the X-1, and require another 45 days course to get it back. I removed headlines, loaded a save, and ran the same mission again, and upon recovery they retained their proficiency training.

That-Ben-Guy commented 3 years ago

Update: I added the newest 0.5 Headlines back and ran the same mission again.

https://gyazo.com/5c34138bd253c642dfa9e4f9b10076a0 Mission start, is proficient https://gyazo.com/b15440f751f811d142283e77832add6b Recovered mission https://gyazo.com/df02f27daa2534448038b340faf5a7d9 Proficiency Training gone

bongotastic commented 3 years ago

@KalynnDarcy , thanks for reporting. I suspect that this is an issue with KCT's component of RP1 since Headlines doesn't share memory objects with it, and proficiency training is on the RP1 side. In fact, Headlines does not even read them. I'll ask the RP1 dev if this issue rings a bell for them.

That-Ben-Guy commented 3 years ago

Could this be caused at all by having 'career progress logging' disabled in the RP-1 section of the new career options? I don't know if Headlines uses that to track anything, but since I don't really ever plan to upload a career log, I normally disable it to make my persistent file less bloated.

While trying to narrow down the cause of the proficiency training issue, I've noticed having that option on or off seems to have an effect on whether the starting four pilots obey the 'Preserve original traits' option from Kerbal Renamer. Will test further to see if it also causes the training bug.

bongotastic commented 3 years ago

Headlines isn't touching this. I think that this is a RP1 issue. Disabling career logging may be a thread to follow. I've been playing with Renamer in recent past (the new multicultural names), but then again disabling event logger having an impact on Renamer is also counterintuitive. I will point this out to our resident expert when it comes to career logging.

NathanKell commented 3 years ago

@siimav will know for sure but AFAIK career logging should have no effect on training, career logging isn't kerbal flight logging (training is represented by flight log events).

Just to double check, when your kerbal goes back to active duty the proficiency doesn't return?

That-Ben-Guy commented 3 years ago

I've tested quite a few times now, and the proficiency doesn't return when they return to duty.

I've done this now with a clean express install, the only additions being Headlines and @bongotastic 's Kerbal Renamer fork. If I enable career logging, everything seems to work as normal.

Things that only happen when I disable career logging:

So far, I haven't had any of these issues happen with headlines removed, whether I have career logging on or off.

That-Ben-Guy commented 3 years ago

Hmm. After more testing, these could be unrelated. The career logging does seems to reliably affect the Kerbal starting traits and whether they stay as they were at career start, so maybe that is a separate Kerbal Renamer issue.

Because one of my tests got the training bug even with career logging on, so that one appears separate. And I'm now noticing that sometimes I finish a mission, recover it, and I don't get the "mission training expired" message shortly after. That is when they are missing proficiency. If their mission training expires, they keep their proficiency. I'm not sure how this could be Headlines related, but so far I haven't been able to reproduce it in a clean install with no Headlines.

NathanKell commented 3 years ago

Mission training is removed when the crew handler next processes all kerbals, which might be a little bit after the recovery of the mission (crew are updated every hour). I have often not gotten that message until later, but it does always show up for me. Note that when you recover a flight, mission training expiration time is set to the UT when the craft was recovered ( https://github.com/KSP-RO/RP-0/blob/master/Source/Crew/CrewHandler.cs#L461 ) but crew data is processed later, rather than immediately (so as not to process every tick). See here https://github.com/KSP-RO/RP-0/blob/master/Source/Crew/CrewHandler.cs#L187 where the update logic is run once every ingame hour. Try warping a couple hours after recovering the flight and you should get the expirations.

That-Ben-Guy commented 3 years ago

What you describe is certainly how its always worked for me with a standard install. Yet for some reason with Headlines installed, it intermittently doesn't do that. More often than not, I experience what happens in the attached story of screenshots. (Sorry for the image dump)

Career Start Career Start Profession changes 32 seconds after career start Profession changes 32 seconds after career start Pre-launch, with proficiency and mission training completed Pre-launch, with proficiency and mission training completed Recovery after launch Recovery after launch Immediately after recovery, no trainings visible Immediately after recovery, no trainings visible 16 days later, returned to duty, no trainings. 16 days later, returned to duty, no trainings.

At no time after recovery did I see the "mission training expired" text flash up. I repeated the same steps on a new career without Headlines, and my Kerbals did not change professions, my mission training expired about an hour after recovery, and my pilot retained their proficiency.

bongotastic commented 3 years ago

The change in specialty is deliberate and meant to override RP1's delayed conversion of all crew members to pilots. I really can't see how Headlines would do this, but this doesn't mean that I'm right to think them as unrelated. Do you have a savefile from after you observe the loss of training. A Log file could also be useful. My testing setup is similar to yours, except from a locally compiled Headlines. I launched planes dozens of times and never observed this. No one else did, so there is a detail that needs to be isolated.

bongotastic commented 3 years ago

careerlog

This is a sample careerlog of a pilot who flew three xplane mission. I wonder what yours look like.

That-Ben-Guy commented 3 years ago

Mine looks like this after I recover the flight.

f747e263f9f7e399ea4f7fa136109ce8

Save file and log: Save_and_Log.zip

That-Ben-Guy commented 3 years ago

Oops. I meant to zip up the whole save, not just the persistent file, not sure if you wanted the whole thing, but here it is with the whole folder just in case. Save_Log_Headlines.zip

Also, after grabbing that one, I loaded up KSP without headlines, started a new career with identical settings, and took the same steps as before, with the same test craft. After I recovered, my pilot still had their proficiency. Their crew log in the .sfs looks like it should. db2807a916e4bde81e454ce826ffcce0

I attached that save and log too if it helps. The only thing I did between was remove headlines. Save_Log_No_Headlines.zip

bongotastic commented 3 years ago

Thanks.

  1. This is with Career logging turned off still?
  2. Had your crew member have 0 experience before the flight?
That-Ben-Guy commented 3 years ago

Yes, career logging was off. As I said though, I did have the issue occur on one of my tests yesterday with career logging on, so its possible I was seeing a false correlation there?

I believe they did have 0 experience, I did this immediately on starting a new save, so they were just the starting Kerbals.

bongotastic commented 3 years ago

Thanks. This is a tricky thing. I'll try to reproduce the issue on my testing install with logging off to see if this should be ruled out.

That-Ben-Guy commented 3 years ago

Okay. So, your question about experience had me running more tests. Turns out the career logging thing was an unrelated co-incidence. 1 star kerbals are unaffected. They retain their proficiency as normal. But 0 star kerbals seem to always lose their proficiency.

bongotastic commented 3 years ago

The issue was identified with the help of a someone on the RP1 team. I will release a fix within a day or so. Thankful of the time you spent on this!

That-Ben-Guy commented 3 years ago

Awesome! :D Thanks for getting onto it all so quick. And thanks for putting in all the time in this mod in general, from what I have played of it so far, it seems like a lot of fun!

bongotastic commented 3 years ago

New release v0.5.6-beta is out with a fix.