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); }
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); }