Ejemplo n.º 1
0
        public static bool SatisfiesUserLikingGate(Sim actor, Sim target, bool isAutonomous, bool woohoo, string logName)
        {
            if ((isAutonomous) || (Woohooer.Settings.mLikingGateForUserDirected))
            {
                if (!CommonSocials.SatisfiesLikingGate(actor, target, woohoo))
                {
                    ScoringLookup.IncStat(logName + " LikingGate");
                    return(false);
                }
                else
                {
                    Relationship relation = Relationship.Get(actor, target, false);
                    if (relation != null)
                    {
                        if ((relation.CurrentSTC != ShortTermContextTypes.Hot) && (relation.CurrentSTC != AmorousCommodity.sHot2))
                        {
                            ScoringLookup.IncStat(logName + " STC Fail " + relation.CurrentSTC);
                            return(false);
                        }
                    }
                }
            }

            return(true);
        }
Ejemplo n.º 2
0
        public static ScoreTestResult ScoreTarget(string logName, Sim actor, Sim target, bool isAutonomous, string scoring, bool woohoo, bool checkLiking)
        {
            if ((isAutonomous) || (checkLiking))
            {
                if (!CommonSocials.SatisfiesLikingGate(actor, target, woohoo))
                {
                    return(ScoreTestResult.LikingGate);
                }
            }

            if (!Woohooer.Settings.UsingTraitScoring)
            {
                return(ScoreTestResult.Success);
            }

            if (!isAutonomous)
            {
                if (!Woohooer.Settings.TraitScoringForUserDirected)
                {
                    return(ScoreTestResult.Success);
                }
            }

            ScoringLookup.IncStat("OnScoreTarget " + logName + " Try");

            if (!IsSafeFromJealousy(actor, target, woohoo))
            {
                ScoringLookup.IncStat("OnScoreTarget " + logName + " Jealousy");
                return(ScoreTestResult.Jealousy);
            }

            bool success = false;

            if ((actor.Partner == target.SimDescription) || (target.Partner == actor.SimDescription))
            {
                success = TestScoringAbsolute(actor, target, "InterestInRomance", true);
            }
            else
            {
                success = TestScoringNormal(actor, target, "InterestInRomance", true);
            }

            if (!success)
            {
                ScoringLookup.IncStat("OnScoreTarget " + logName + " InterestInRomance");
                return(ScoreTestResult.InterestInRomance);
            }

            if (scoring != "InterestInRomance")
            {
                /*
                 * Relationship relation = Relationship.Get(actor, target, false);
                 * if ((relation != null) && ((relation.CurrentSTC == ShortTermContextTypes.Hot) || (relation.CurrentSTC == AmorousCommodity.sHot2)))
                 * {
                 *  success = TestScoringAbsolute(actor, target, scoring, true);
                 * }
                 * else
                 */
                {
                    success = TestScoringNormal(actor, target, scoring, true);
                }

                if (!success)
                {
                    ScoringLookup.IncStat("OnScoreTarget " + logName + " " + scoring);
                    return(ScoreTestResult.CustomScoring);
                }
            }

            ScoringLookup.IncStat("OnScoreTarget " + logName + " Success");
            return(ScoreTestResult.Success);
        }