@@ -314,19 +314,19 @@ public static boolean processNewDay(Campaign campaign, Person person, boolean ag
314
314
return false ;
315
315
}
316
316
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 ) ) {
319
319
return ongoingEducation (campaign , person , academy , ageBypass , resources );
320
320
}
321
321
322
322
// if education has concluded and the journey home hasn't started, we begin the journey
323
- if (educationStage == 3 ) {
323
+ if (educationStage == 4 ) {
324
324
beginJourneyHome (campaign , person , academy , resources );
325
325
return false ;
326
326
}
327
327
328
328
// 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 ) {
330
330
processJourneyHome (campaign , person );
331
331
return false ;
332
332
}
@@ -370,16 +370,17 @@ private static boolean ongoingEducation(Campaign campaign, Person person, Academ
370
370
371
371
if (academy .isPrepSchool ()) {
372
372
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 );
376
375
377
- graduation = true ;
376
+ person .setEduDaysOfEducation (0 );
377
+ person .setEduEducationStage (3 );
378
+ } else {
379
+ campaign .addReport (person .getHyperlinkedName () + ' ' + resources .getString ("graduatedCreche.text" ));
380
+ }
378
381
}
379
382
380
- if (campaign .getLocalDate ().getDayOfWeek () == DayOfWeek .MONDAY ) {
381
- processNewWeekChecks (campaign , academy , person , daysOfEducation , resources );
382
- }
383
+ graduation = true ;
383
384
} else {
384
385
person .setEduDaysOfEducation (daysOfEducation - 1 );
385
386
@@ -392,10 +393,12 @@ private static boolean ongoingEducation(Campaign campaign, Person person, Academ
392
393
393
394
graduation = true ;
394
395
}
396
+
397
+ person .setEduEducationStage (4 );
395
398
}
396
399
397
- if (graduation ) {
398
- person . setEduDaysOfEducation ( 3 );
400
+ if (campaign . getLocalDate (). getDayOfWeek () == DayOfWeek . MONDAY ) {
401
+ processNewWeekChecks ( campaign , academy , person , daysOfEducation , resources );
399
402
}
400
403
401
404
return graduation ;
@@ -463,7 +466,7 @@ private static void beginJourneyHome(Campaign campaign, Person person, Academy a
463
466
464
467
person .setEduDaysOfTravelFromAcademy (travelTime );
465
468
person .setEduDaysOfTravel (0 );
466
- person .setEduEducationStage (4 );
469
+ person .setEduEducationStage (5 );
467
470
}
468
471
469
472
/**
@@ -964,7 +967,6 @@ private static void processWarriorCasteWashout(Campaign campaign, Person person,
964
967
private static void graduateAdult (Campaign campaign , Person person , Academy academy , ResourceBundle resources ) {
965
968
int graduationRoll = Compute .randomInt (100 );
966
969
int roll ;
967
- // TODO link graduation to autoAwards (this can't be done till autoAwards have been merged)
968
970
969
971
// qualification failed
970
972
if (graduationRoll < 5 ) {
@@ -1085,7 +1087,6 @@ private static void reportMastersOrDoctorateGain(Campaign campaign, Person perso
1085
1087
*/
1086
1088
private static void graduateChild (Campaign campaign , Person person , Academy academy , ResourceBundle resources ) {
1087
1089
int graduationRoll = Compute .randomInt (100 );
1088
- // TODO link graduation to autoAwards (this can't be done till autoAwards have been merged)
1089
1090
1090
1091
// qualification failed
1091
1092
if (graduationRoll < 30 ) {
@@ -1117,8 +1118,6 @@ private static void graduateChild(Campaign campaign, Person person, Academy acad
1117
1118
* @param resources the ResourceBundle containing localized text
1118
1119
*/
1119
1120
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
-
1122
1121
campaign .addReport (person .getHyperlinkedName () + ' ' + resources .getString ("graduatedCreche.text" ));
1123
1122
1124
1123
ServiceLogger .eduClanCreche (person , campaign .getLocalDate ());
@@ -1134,8 +1133,6 @@ private static void graduateClanCreche(Campaign campaign, Person person, Academy
1134
1133
* @param academy the Sibko from which the person is being graduated
1135
1134
*/
1136
1135
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
-
1139
1136
// Warrior Caste
1140
1137
// [0]MechWarrior, [1]ProtoMech, [2]AreoSpace, [3]Space, [4]BA, [5]CI, [6]Vehicle
1141
1138
if (person .getEduCourseIndex () <= 6 ) {
@@ -1245,8 +1242,6 @@ private static void graduateWarriorCaste(Campaign campaign, Person person, Acade
1245
1242
* @param resources the resource bundle for localized messages
1246
1243
*/
1247
1244
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
-
1250
1245
// [0]Scientist Caste
1251
1246
if (person .getEduCourseIndex () == 0 ) {
1252
1247
graduateScientistCaste (campaign , person , academy , resources );
0 commit comments