Beispiel #1
0
        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);
        }