Skip to content

Commit 924bfc2

Browse files
authored
Merge pull request #4127 from IllianiCBT/education_CrecheGraduation
Fixed Clan Creche Graduation in Education Module
2 parents 129c168 + f02c162 commit 924bfc2

File tree

2 files changed

+18
-22
lines changed

2 files changed

+18
-22
lines changed

MekHQ/src/mekhq/campaign/personnel/Person.java

+1
Original file line numberDiff line numberDiff line change
@@ -1050,6 +1050,7 @@ public void changeStatus(final Campaign campaign, final LocalDate today,
10501050
this.setEduDaysOfTravelFromAcademy(0);
10511051
this.setEduDaysOfTravel(0);
10521052
this.setEduDaysOfEducation(0);
1053+
this.setEduEducationStage(0);
10531054

10541055
MekHQ.triggerEvent(new PersonStatusChangedEvent(this));
10551056
}

MekHQ/src/mekhq/campaign/personnel/education/EducationController.java

+17-22
Original file line numberDiff line numberDiff line change
@@ -314,19 +314,19 @@ public static boolean processNewDay(Campaign campaign, Person person, boolean ag
314314
return false;
315315
}
316316

317-
// is person on campus and undergoing education?
318-
if (educationStage == 2) {
317+
// is person on campus and undergoing education, or awaiting assignment to a sibko?
318+
if ((educationStage == 2) || (educationStage == 3)) {
319319
return ongoingEducation(campaign, person, academy, ageBypass, resources);
320320
}
321321

322322
// if education has concluded and the journey home hasn't started, we begin the journey
323-
if (educationStage == 3) {
323+
if (educationStage == 4) {
324324
beginJourneyHome(campaign, person, academy, resources);
325325
return false;
326326
}
327327

328328
// if we reach this point it means Person is already in transit, so we continue their journey
329-
if (educationStage == 4) {
329+
if (educationStage == 5) {
330330
processJourneyHome(campaign, person);
331331
return false;
332332
}
@@ -370,16 +370,17 @@ private static boolean ongoingEducation(Campaign campaign, Person person, Academ
370370

371371
if (academy.isPrepSchool()) {
372372
if ((person.getAge(campaign.getLocalDate()) >= academy.getAgeMax()) || (ageBypass)) {
373-
graduationPicker(campaign, person, academy, resources);
374-
375-
person.setEduDaysOfEducation(0);
373+
if (person.getEduEducationStage() == 2) {
374+
graduationPicker(campaign, person, academy, resources);
376375

377-
graduation = true;
376+
person.setEduDaysOfEducation(0);
377+
person.setEduEducationStage(3);
378+
} else {
379+
campaign.addReport(person.getHyperlinkedName() + ' ' + resources.getString("graduatedCreche.text"));
380+
}
378381
}
379382

380-
if (campaign.getLocalDate().getDayOfWeek() == DayOfWeek.MONDAY) {
381-
processNewWeekChecks(campaign, academy, person, daysOfEducation, resources);
382-
}
383+
graduation = true;
383384
} else {
384385
person.setEduDaysOfEducation(daysOfEducation - 1);
385386

@@ -392,10 +393,12 @@ private static boolean ongoingEducation(Campaign campaign, Person person, Academ
392393

393394
graduation = true;
394395
}
396+
397+
person.setEduEducationStage(4);
395398
}
396399

397-
if (graduation) {
398-
person.setEduDaysOfEducation(3);
400+
if (campaign.getLocalDate().getDayOfWeek() == DayOfWeek.MONDAY) {
401+
processNewWeekChecks(campaign, academy, person, daysOfEducation, resources);
399402
}
400403

401404
return graduation;
@@ -463,7 +466,7 @@ private static void beginJourneyHome(Campaign campaign, Person person, Academy a
463466

464467
person.setEduDaysOfTravelFromAcademy(travelTime);
465468
person.setEduDaysOfTravel(0);
466-
person.setEduEducationStage(4);
469+
person.setEduEducationStage(5);
467470
}
468471

469472
/**
@@ -964,7 +967,6 @@ private static void processWarriorCasteWashout(Campaign campaign, Person person,
964967
private static void graduateAdult(Campaign campaign, Person person, Academy academy, ResourceBundle resources) {
965968
int graduationRoll = Compute.randomInt(100);
966969
int roll;
967-
// TODO link graduation to autoAwards (this can't be done till autoAwards have been merged)
968970

969971
// qualification failed
970972
if (graduationRoll < 5) {
@@ -1085,7 +1087,6 @@ private static void reportMastersOrDoctorateGain(Campaign campaign, Person perso
10851087
*/
10861088
private static void graduateChild(Campaign campaign, Person person, Academy academy, ResourceBundle resources) {
10871089
int graduationRoll = Compute.randomInt(100);
1088-
// TODO link graduation to autoAwards (this can't be done till autoAwards have been merged)
10891090

10901091
// qualification failed
10911092
if (graduationRoll < 30) {
@@ -1117,8 +1118,6 @@ private static void graduateChild(Campaign campaign, Person person, Academy acad
11171118
* @param resources the ResourceBundle containing localized text
11181119
*/
11191120
private static void graduateClanCreche(Campaign campaign, Person person, Academy academy, ResourceBundle resources) {
1120-
// TODO link graduation to autoAwards (this can't be done till autoAwards have been merged)
1121-
11221121
campaign.addReport(person.getHyperlinkedName() + ' ' + resources.getString("graduatedCreche.text"));
11231122

11241123
ServiceLogger.eduClanCreche(person, campaign.getLocalDate());
@@ -1134,8 +1133,6 @@ private static void graduateClanCreche(Campaign campaign, Person person, Academy
11341133
* @param academy the Sibko from which the person is being graduated
11351134
*/
11361135
private static void graduateClanSibko(Campaign campaign, Person person, Academy academy, ResourceBundle resources) {
1137-
// TODO link graduation to autoAwards (this can't be done till autoAwards have been merged)
1138-
11391136
// Warrior Caste
11401137
// [0]MechWarrior, [1]ProtoMech, [2]AreoSpace, [3]Space, [4]BA, [5]CI, [6]Vehicle
11411138
if (person.getEduCourseIndex() <= 6) {
@@ -1245,8 +1242,6 @@ private static void graduateWarriorCaste(Campaign campaign, Person person, Acade
12451242
* @param resources the resource bundle for localized messages
12461243
*/
12471244
private static void graduateReeducationCamp(Campaign campaign, Person person, Academy academy, ResourceBundle resources) {
1248-
// TODO link graduation to autoAwards (this can't be done till autoAwards have been merged)
1249-
12501245
// [0]Scientist Caste
12511246
if (person.getEduCourseIndex() == 0) {
12521247
graduateScientistCaste(campaign, person, academy, resources);

0 commit comments

Comments
 (0)