Exemplo n.º 1
0
 public static void AddPsyche(ref EdB.PrepareCarefully.CustomPawn __result, EdB.PrepareCarefully.SaveRecordPawnV3 record)
 {
     if (SaveRecordPawnV3Patch.savedPawns.Keys.Contains(record))
     {
         Pawn pawn = __result.Pawn;
         if (pawn != null && pawn is PsychologyPawn)
         {
             PrepareCarefully.SaveRecordPsycheV3 psycheSave = SaveRecordPawnV3Patch.savedPawns[record];
             PsychologyPawn realPawn = pawn as PsychologyPawn;
             realPawn.psyche.upbringing = psycheSave.upbringing;
             foreach (PersonalityNode node in realPawn.psyche.PersonalityNodes)
             {
                 PersonalityNode savedNode = psycheSave.nodes.Find(n => n.def == node.def);
                 if (savedNode != null)
                 {
                     node.rawRating = savedNode.rawRating;
                 }
             }
             if (PsychologyBase.ActivateKinsey())
             {
                 realPawn.sexuality.sexDrive      = psycheSave.sexDrive;
                 realPawn.sexuality.romanticDrive = psycheSave.romanticDrive;
                 realPawn.sexuality.kinseyRating  = psycheSave.kinseyRating;
             }
         }
     }
 }
Exemplo n.º 2
0
 public static void ExposePsycheData(EdB.PrepareCarefully.SaveRecordPawnV3 __instance)
 {
     if (customPawns.Keys.Contains(__instance.id) && Scribe.mode == LoadSaveMode.Saving)
     {
         EdB.PrepareCarefully.CustomPawn pawn = customPawns[__instance.id] as EdB.PrepareCarefully.CustomPawn;
         if (pawn.Pawn is PsychologyPawn)
         {
             PrepareCarefully.SaveRecordPsycheV3 psycheSave = new PrepareCarefully.SaveRecordPsycheV3(pawn.Pawn);
             psycheSave.ExposeData();
         }
     }
     else if (Scribe.mode == LoadSaveMode.LoadingVars)
     {
         PrepareCarefully.SaveRecordPsycheV3 psycheSave = new PrepareCarefully.SaveRecordPsycheV3();
         psycheSave.ExposeData();
         savedPawns.Add(__instance, psycheSave);
     }
 }