public override InteractionTestResult Test(ref InteractionInstanceParameters parameters, ref GreyedOutTooltipCallback greyedOutTooltipCallback) { SwimHere.SwimHereType type = mSwimHereType; try { // Bypass some world restrictions encoded into the snorkel check mSwimHereType = SwimHere.SwimHereType.None; InteractionTestResult result = base.Test(ref parameters, ref greyedOutTooltipCallback); //Bypass pregnancy check if (result == InteractionTestResult.Tuning_Pregnant && greyedOutTooltipCallback != null) { result = InteractionTestResult.Pass; } if (result == InteractionTestResult.Pass) { //Stress test moved to the end Sim actor = parameters.Actor as Sim; if (actor.MoodManager.StressInteractionTest(ref greyedOutTooltipCallback) || actor.Motives.StressInteractionTest(ref greyedOutTooltipCallback, null)) { result = InteractionTestResult.GenericFail; } } return(result); } finally { mSwimHereType = type; } }
public override InteractionTestResult Test(ref InteractionInstanceParameters parameters, ref GreyedOutTooltipCallback greyedOutTooltipCallback) { if (Pool.GetPoolNearestPoint(parameters.Hit.mPoint) == null) { return(InteractionTestResult.Gen_BadTerrainType); } using (WoohooTuningControl control = new WoohooTuningControl(parameters.InteractionObjectPair.Tuning, Woohooer.Settings.mAllowTeenSkinnyDip)) { SwimHere.SwimHereType type = mSwimHereType; try { mSwimHereType = SwimHere.SwimHereType.None; return(base.Test(ref parameters, ref greyedOutTooltipCallback)); } finally { mSwimHereType = type; } } }