Exemplo n.º 1
0
        protected override ThoughtState CurrentSocialStateInternal(Pawn pawn, Pawn other)
        {
            ThoughtState result;

            if (!other.RaceProps.Humanlike || other.Dead)
            {
                result = false;
            }
            else if (!RelationsUtility.PawnsKnowEachOther(pawn, other))
            {
                result = false;
            }
            else if (!RelationsUtility.IsDisfigured(other))
            {
                result = false;
            }
            else if (!pawn.health.capacities.CapableOf(PawnCapacityDefOf.Sight))
            {
                result = false;
            }
            else
            {
                result = true;
            }
            return(result);
        }
Exemplo n.º 2
0
        protected override ThoughtState CurrentSocialStateInternal(Pawn p, Pawn other)
        {
            ThoughtState result;

            if (!p.RaceProps.Humanlike)
            {
                result = false;
            }
            else if (!p.IsTeetotaler())
            {
                result = false;
            }
            else if (!other.RaceProps.Humanlike)
            {
                result = false;
            }
            else if (!RelationsUtility.PawnsKnowEachOther(p, other))
            {
                result = false;
            }
            else
            {
                Hediff firstHediffOfDef = other.health.hediffSet.GetFirstHediffOfDef(HediffDefOf.AlcoholHigh, false);
                if (firstHediffOfDef == null || !firstHediffOfDef.Visible)
                {
                    result = false;
                }
                else
                {
                    result = true;
                }
            }
            return(result);
        }
Exemplo n.º 3
0
        protected override ThoughtState CurrentSocialStateInternal(Pawn p, Pawn other)
        {
            ThoughtState result;

            if (!p.RaceProps.Humanlike)
            {
                result = false;
            }
            else if (!p.IsTeetotaler())
            {
                result = false;
            }
            else if (!other.RaceProps.Humanlike)
            {
                result = false;
            }
            else if (!RelationsUtility.PawnsKnowEachOther(p, other))
            {
                result = false;
            }
            else
            {
                List <Hediff> hediffs = other.health.hediffSet.hediffs;
                for (int i = 0; i < hediffs.Count; i++)
                {
                    if (hediffs[i].def.IsAddiction)
                    {
                        return(true);
                    }
                }
                result = false;
            }
            return(result);
        }
Exemplo n.º 4
0
        protected override ThoughtState CurrentSocialStateInternal(Pawn p, Pawn other)
        {
            ThoughtState result;

            if (!p.RaceProps.Humanlike)
            {
                result = false;
            }
            else if (!p.story.traits.HasTrait(TraitDefOf.DislikesWomen))
            {
                result = false;
            }
            else if (!RelationsUtility.PawnsKnowEachOther(p, other))
            {
                result = false;
            }
            else if (other.def != p.def)
            {
                result = false;
            }
            else if (other.gender != Gender.Female)
            {
                result = false;
            }
            else
            {
                result = true;
            }
            return(result);
        }
        protected override ThoughtState CurrentSocialStateInternal(Pawn p, Pawn other)
        {
            if (!p.RaceProps.Humanlike)
            {
                return(false);
            }
            if (!p.IsTeetotaler())
            {
                return(false);
            }
            if (!other.RaceProps.Humanlike)
            {
                return(false);
            }
            if (!RelationsUtility.PawnsKnowEachOther(p, other))
            {
                return(false);
            }
            int num = other.story.traits.DegreeOfTrait(TraitDefOf.DrugDesire);

            if (num <= 0)
            {
                return(false);
            }
            return(true);
        }
        protected override ThoughtState CurrentSocialStateInternal(Pawn pawn, Pawn other)
        {
            ThoughtState result;

            if (!other.RaceProps.Humanlike || !RelationsUtility.PawnsKnowEachOther(pawn, other))
            {
                result = false;
            }
            else if (!pawn.health.capacities.CapableOf(PawnCapacityDefOf.Sight))
            {
                result = false;
            }
            else
            {
                int num = other.story.traits.DegreeOfTrait(TraitDefOf.Beauty);
                if (num == -1)
                {
                    result = ThoughtState.ActiveAtStage(0);
                }
                else if (num == -2)
                {
                    result = ThoughtState.ActiveAtStage(1);
                }
                else
                {
                    result = false;
                }
            }
            return(result);
        }
        protected override ThoughtState CurrentSocialStateInternal(Pawn p, Pawn other)
        {
            ThoughtState result;

            if (!p.RaceProps.Humanlike)
            {
                result = false;
            }
            else if (p.story.traits.DegreeOfTrait(TraitDefOf.Industriousness) <= 0)
            {
                result = false;
            }
            else if (!other.RaceProps.Humanlike)
            {
                result = false;
            }
            else if (!RelationsUtility.PawnsKnowEachOther(p, other))
            {
                result = false;
            }
            else
            {
                int num = other.story.traits.DegreeOfTrait(TraitDefOf.Industriousness);
                if (num > 0)
                {
                    result = false;
                }
                else
                {
                    result = true;
                }
            }
            return(result);
        }
        protected override ThoughtState CurrentSocialStateInternal(Pawn p, Pawn other)
        {
            if (!p.RaceProps.Humanlike)
            {
                return(false);
            }
            if (!p.story.traits.HasTrait(TraitDefOf.BodyPurist))
            {
                return(false);
            }
            if (!RelationsUtility.PawnsKnowEachOther(p, other))
            {
                return(false);
            }
            if (other.def != p.def)
            {
                return(false);
            }
            int num = other.health.hediffSet.CountAddedParts();

            if (num > 0)
            {
                return(ThoughtState.ActiveAtStage(num - 1));
            }
            return(false);
        }
Exemplo n.º 9
0
        protected override ThoughtState CurrentSocialStateInternal(Pawn pawn, Pawn other)
        {
            if (!other.RaceProps.Humanlike || !RelationsUtility.PawnsKnowEachOther(pawn, other))
            {
                return(false);
            }
            if (RelationsUtility.IsDisfigured(other))
            {
                return(false);
            }
            if (!pawn.health.capacities.CapableOf(PawnCapacityDefOf.Sight))
            {
                return(false);
            }
            float statValue = other.GetStatValue(StatDefOf.PawnBeauty);

            if (statValue >= 2f)
            {
                return(ThoughtState.ActiveAtStage(1));
            }
            if (statValue >= 1f)
            {
                return(ThoughtState.ActiveAtStage(0));
            }
            return(false);
        }
        protected override ThoughtState CurrentSocialStateInternal(Pawn p, Pawn other)
        {
            ThoughtState result;

            if (!p.RaceProps.Humanlike)
            {
                result = false;
            }
            else if (!p.story.traits.HasTrait(TraitDefOf.Transhumanist))
            {
                result = false;
            }
            else if (!RelationsUtility.PawnsKnowEachOther(p, other))
            {
                result = false;
            }
            else if (other.def != p.def)
            {
                result = false;
            }
            else
            {
                int num = other.health.hediffSet.CountAddedParts();
                if (num > 0)
                {
                    result = ThoughtState.ActiveAtStage(num - 1);
                }
                else
                {
                    result = false;
                }
            }
            return(result);
        }
Exemplo n.º 11
0
        protected override ThoughtState CurrentSocialStateInternal(Pawn pawn, Pawn other)
        {
            if (!other.RaceProps.Humanlike || !RelationsUtility.PawnsKnowEachOther(pawn, other))
            {
                return(false);
            }
            if (RelationsUtility.IsDisfigured(other))
            {
                return(false);
            }
            if (!pawn.health.capacities.CapableOf(PawnCapacityDefOf.Sight))
            {
                return(false);
            }
            int num = other.story.traits.DegreeOfTrait(TraitDefOf.Beauty);

            if (num == 1)
            {
                return(ThoughtState.ActiveAtStage(0));
            }
            if (num == 2)
            {
                return(ThoughtState.ActiveAtStage(1));
            }
            return(false);
        }
Exemplo n.º 12
0
        // Token: 0x06000A02 RID: 2562 RVA: 0x0004F2B0 File Offset: 0x0004D6B0
        protected override ThoughtState CurrentSocialStateInternal(Pawn p, Pawn other)
        {
            bool selected = Find.Selector.SingleSelectedThing == p;

            //    if (selected) Log.Message(string.Format("{0} vs {1}", p.Label, other.Label));
            if (!p.RaceProps.Humanlike)
            {
                return(false);
            }
            if (!other.RaceProps.Humanlike)
            {
                return(false);
            }
            if (p.kindDef.race != YautjaDefOf.RRY_Alien_Yautja)
            {
                return(false);
            }
            if (!RelationsUtility.PawnsKnowEachOther(p, other))
            {
                return(false);
            }
            if (other.health.hediffSet.HasHediff(unblooded))
            {
                stageIndex = 0;
                //    if (selected) Log.Message(string.Format("{0} CurrentStateInternal stageIndex:{4} {1} {2}: {3}", this.GetType(), other.Label, other.health.hediffSet.GetFirstHediffOfDef(unblooded).Label, other.health.hediffSet.HasHediff(unblooded), stageIndex));
            }
            else if (other.health.hediffSet.HasHediff(unmarked))
            {
                stageIndex = 1;
                //    if (selected) Log.Message(string.Format("{0} CurrentStateInternal stageIndex:{4} {1} {2}: {3}", this.GetType(), other.Label, other.health.hediffSet.GetFirstHediffOfDef(othermarked).Label, other.health.hediffSet.HasHediff(othermarked), stageIndex));
            }
            else
            {
                foreach (var hd in other.health.hediffSet.hediffs)
                {
                    if (hd.def.defName.Contains("RRY_Hediff_BloodedM"))
                    {
                        otherMarked = hd;
                        othermarked = hd.def;
                        stageIndex  = 2;

                        //    if (selected) Log.Message(string.Format("{0} CurrentSocialStateInternal {1} {2}: {3}", this.GetType(), other.Label, otherMarked.Label, other.health.hediffSet.HasHediff(othermarked)));
                        break;
                    }
                }
            }
            if (p.health.hediffSet.HasHediff(unblooded))
            {
                //    if (selected) Log.Message(string.Format("{0} CurrentSocialStateInternal {1} {2}: {3}", this.GetType(), p.Label, Marked.Label, p.health.hediffSet.HasHediff(marked)));
                //Log.Message(string.Format("{0} CurrentSocialStateInternal p marked: {1}", this.GetType(), p.health.hediffSet.HasHediff(marked)));
                //    if (selected) Log.Message(string.Format("{0} CurrentSocialStateInternal {1} {2}: {3}", this.GetType(), p.Label, Marked.Label, p.health.hediffSet.HasHediff(marked)));
                return(ThoughtState.ActiveAtStage(stageIndex));
            }
            return(false);
        }
 protected override ThoughtState CurrentSocialStateInternal(Pawn pawn, Pawn other)
 {
     if (!other.RaceProps.Humanlike || !RelationsUtility.PawnsKnowEachOther(pawn, other))
     {
         return(false);
     }
     if (!other.story.traits.HasTrait(TraitDefOf.CreepyBreathing))
     {
         return(false);
     }
     if (!pawn.health.capacities.CapableOf(PawnCapacityDefOf.Hearing))
     {
         return(false);
     }
     return(true);
 }
Exemplo n.º 14
0
 protected override ThoughtState CurrentSocialStateInternal(Pawn p, Pawn other)
 {
     if (!other.RaceProps.Humanlike)
     {
         return(false);
     }
     if (!RelationsUtility.PawnsKnowEachOther(p, other))
     {
         return(false);
     }
     if (Find.TaleManager.GetLatestTale(def.taleDef, other) == null)
     {
         return(false);
     }
     return(true);
 }
 protected override ThoughtState CurrentSocialStateInternal(Pawn pawn, Pawn other)
 {
     if (!other.RaceProps.Humanlike)
     {
         return(false);
     }
     if (!RelationsUtility.PawnsKnowEachOther(pawn, other))
     {
         return(false);
     }
     if (LovePartnerRelationUtility.IncestOpinionOffsetFor(other, pawn) == 0f)
     {
         return(false);
     }
     return(true);
 }
Exemplo n.º 16
0
        protected override ThoughtState CurrentSocialStateInternal(Pawn pawn, Pawn other)
        {
            ThoughtState result;

            if (!other.RaceProps.Humanlike || !RelationsUtility.PawnsKnowEachOther(pawn, other))
            {
                result = false;
            }
            else if (!other.story.traits.HasTrait(TraitDefOf.AnnoyingVoice))
            {
                result = false;
            }
            else if (!pawn.health.capacities.CapableOf(PawnCapacityDefOf.Hearing))
            {
                result = false;
            }
            else
            {
                result = true;
            }
            return(result);
        }
Exemplo n.º 17
0
        protected override ThoughtState CurrentSocialStateInternal(Pawn pawn, Pawn other)
        {
            if (!other.RaceProps.Humanlike || !RelationsUtility.PawnsKnowEachOther(pawn, other))
            {
                return(false);
            }
            if (pawn.health.capacities.CapableOf(PawnCapacityDefOf.Sight))
            {
                switch (other.story.traits.DegreeOfTrait(TraitDefOf.Beauty))
                {
                case -1:
                    return(ThoughtState.ActiveAtStage(0));

                case -2:
                    return(ThoughtState.ActiveAtStage(1));

                default:
                    return(false);
                }
            }
            return(false);
        }
        protected override ThoughtState CurrentSocialStateInternal(Pawn p, Pawn other)
        {
            ThoughtState result;

            if (!other.RaceProps.Humanlike)
            {
                result = false;
            }
            else if (!RelationsUtility.PawnsKnowEachOther(p, other))
            {
                result = false;
            }
            else if (Find.TaleManager.GetLatestTale(this.def.taleDef, other) == null)
            {
                result = false;
            }
            else
            {
                result = true;
            }
            return(result);
        }
 protected override ThoughtState CurrentSocialStateInternal(Pawn p, Pawn other)
 {
     if (!p.RaceProps.Humanlike)
     {
         return(false);
     }
     if (p.story.traits.DegreeOfTrait(TraitDefOf.Industriousness) <= 0)
     {
         return(false);
     }
     if (!other.RaceProps.Humanlike)
     {
         return(false);
     }
     if (!RelationsUtility.PawnsKnowEachOther(p, other))
     {
         return(false);
     }
     if (other.story.traits.DegreeOfTrait(TraitDefOf.Industriousness) > 0)
     {
         return(false);
     }
     return(true);
 }
Exemplo n.º 20
0
 protected override ThoughtState CurrentSocialStateInternal(Pawn p, Pawn other)
 {
     if (!p.RaceProps.Humanlike)
     {
         return(false);
     }
     if (!p.story.traits.HasTrait(TraitDefOf.DislikesMen))
     {
         return(false);
     }
     if (!RelationsUtility.PawnsKnowEachOther(p, other))
     {
         return(false);
     }
     if (other.def != p.def)
     {
         return(false);
     }
     if (other.gender != Gender.Male)
     {
         return(false);
     }
     return(true);
 }
Exemplo n.º 21
0
 // Token: 0x06000A02 RID: 2562 RVA: 0x0004F2B0 File Offset: 0x0004D6B0
 protected override ThoughtState CurrentSocialStateInternal(Pawn p, Pawn other)
 {
     if (p == other || other == null)
     {
         return(false);
     }
     if (!p.RaceProps.Humanlike || !other.RaceProps.Humanlike)
     {
         return(false);
     }
     if (p.kindDef.race != YautjaDefOf.RRY_Alien_Yautja || other.kindDef.race != YautjaDefOf.RRY_Alien_Yautja)
     {
         return(false);
     }
     if (other.story.adulthood == null)
     {
         return(false);
     }
     if (other.story.adulthood.identifier.Contains("RRY_Yautja_BadBlood"))
     {
         return(false);
     }
     if (RelationsUtility.PawnsKnowEachOther(p, other))
     {
         return(false);
     }
     if (p.story.adulthood == null)
     {
         return(false);
     }
     if (p.story.adulthood.identifier.Contains("RRY_Yautja_BadBlood"))
     {
         return(true);
     }
     return(false);
 }