protected override void GiveThoughtsToReceipient(Pawn recipient) { // Check if the receipient can receive any thoughts at all. // No need to check for victim's raceprops; only Colonists can be targetted to be kidnapped. if (!recipient.IsCapableOfThought()) { return; } // Change to vanilla "pawn lost" thoughts // Give generic Colonist Kidnapped thoughts recipient.needs.mood.thoughts.memories.TryGainMemory(ThoughtDefOf.ColonistLost); // Then give Friend/Rival Kidnapped thoughts if (recipient.RaceProps.IsFlesh && PawnUtility.ShouldGetThoughtAbout(KidnapVictim, recipient)) { var opinion = recipient.relations.OpinionOf(KidnapVictim); if (opinion >= 20) { new IndividualThoughtToAdd(ThoughtDefOf.PawnWithGoodOpinionLost, recipient, KidnapVictim, KidnapVictim.relations.GetFriendDiedThoughtPowerFactor(opinion)).Add(); } else if (opinion <= -20) { new IndividualThoughtToAdd(ThoughtDefOf.PawnWithBadOpinionLost, recipient, KidnapVictim, KidnapVictim.relations.GetRivalDiedThoughtPowerFactor(opinion)).Add(); } } // Finally give Family Member Kidnapped thoughts var mostImportantRelation = recipient.GetMostImportantRelation(KidnapVictim); var genderSpecificLostThought = mostImportantRelation?.GetGenderSpecificLostThought(KidnapVictim); if (genderSpecificLostThought != null) { new IndividualThoughtToAdd(genderSpecificLostThought, recipient, KidnapVictim).Add(); // outIndividualThoughts.Add(new IndividualThoughtToAdd(genderSpecificDiedThought, potentiallyRelatedPawn, victim, 1f, 1f)); } // TODO }