public static bool CanDecay(Pawn pawn, Pawn other, PawnRelationDef relation) { DirectPawnRelation directPawnRelation = pawn.relations.GetDirectRelation(relation, other); if (directPawnRelation == null) { //GradualRomanceMod.Error_TriedDecayNullRelationship(pawn, other, relation); return(false); } if (!GRHelper.RomanticRelationExtension(relation).decayable) { return(false); } //TODO - Revise to reflect lovin' if (RelationshipUtility.LevelOfTension(pawn, other) == 0) { return(true); } return(false); }
protected override ThoughtState CurrentSocialStateInternal(Pawn pawn, Pawn other) { if (!other.RaceProps.Humanlike || !RelationsUtility.PawnsKnowEachOther(pawn, other)) { return(false); } PawnRelationDef pawnRelationDef = RelationshipUtility.MostAdvancedRelationshipBetween(pawn, other); if (pawnRelationDef == null) { return(false); } if (!pawnRelationDef.GetModExtension <RomanticRelationExtension>().isFormalRelationship) { return(false); } if (RelationshipUtility.LevelOfTension(pawn, other) == 0) { return(ThoughtState.ActiveDefault); } return(false); }