Compare commits
3 Commits
e4bd9a1f3c
...
06cc59378c
Author | SHA1 | Date |
---|---|---|
lutepickle | 06cc59378c | |
lutepickle | 18af2fc24c | |
lutepickle | c9369028fa |
|
@ -1340,9 +1340,9 @@ namespace RJW_Menstruation
|
|||
|
||||
protected Pawn Fertilize()
|
||||
{
|
||||
if (cums.NullOrEmpty()) return null;
|
||||
if (cums == null) return null;
|
||||
List<Cum> eligibleCum = cums.FindAll(cum => CumCanFertilize(cum));
|
||||
if (eligibleCum.Count == 0) return null;
|
||||
if (eligibleCum.Empty()) return null;
|
||||
|
||||
float totalFertPower = eligibleCum.Sum(cum => cum.FertVolume);
|
||||
|
||||
|
|
|
@ -244,7 +244,7 @@ namespace RJW_Menstruation
|
|||
isInduced &&
|
||||
comp.Pawn.jobs.curDriver is JobDriver_Sex job &&
|
||||
job.Sexprops != null &&
|
||||
!job.Sexprops.usedCondom &&
|
||||
!UsingCondom(comp.Pawn, job.Partner) &&
|
||||
(job.Sexprops.sexType == xxx.rjwSextype.Vaginal || job.Sexprops.sexType == xxx.rjwSextype.DoublePenetration))
|
||||
ovulatoryProgress = 0.0f;
|
||||
else if (comp.curStage == HediffComp_Menstruation.Stage.Ovulatory) ovulatoryProgress = isInduced ? Mathf.Max(ovaryChanceToShow_01, comp.StageProgessNextUpdate) : comp.StageProgessNextUpdate;
|
||||
|
@ -466,5 +466,13 @@ namespace RJW_Menstruation
|
|||
|
||||
return damage.totalDamageDealt;
|
||||
}
|
||||
|
||||
public static bool UsingCondom(Pawn pawn, Pawn partner)
|
||||
{
|
||||
return
|
||||
((pawn?.jobs?.curDriver as JobDriver_Sex)?.Sexprops.usedCondom ?? false)
|
||||
||
|
||||
((partner?.jobs?.curDriver as JobDriver_Sex)?.Sexprops.usedCondom ?? false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -19,13 +19,11 @@ namespace RJW_Menstruation
|
|||
public static bool Prefix(SexProps props)
|
||||
{
|
||||
xxx.rjwSextype sextype = props.sexType;
|
||||
Pawn pawn = props.pawn;
|
||||
Pawn partner = props.partner;
|
||||
Pawn pawn = props.pawn; // Penis
|
||||
Pawn partner = props.partner; // Womb
|
||||
|
||||
if (sextype != xxx.rjwSextype.Vaginal && sextype != xxx.rjwSextype.DoublePenetration) return true;
|
||||
|
||||
if (!partner.ShouldCycle()) return true;
|
||||
|
||||
if (!InteractionCanCausePregnancy(props)) return false;
|
||||
|
||||
List<Hediff> pawnparts = Genital_Helper.get_PartsHediffList(pawn, Genital_Helper.get_genitalsBPR(pawn));
|
||||
|
@ -38,6 +36,8 @@ namespace RJW_Menstruation
|
|||
|
||||
if (Genital_Helper.has_penis_fertile(pawn, pawnparts) && PregnancyHelper.CanImpregnate(pawn, partner, sextype))
|
||||
{
|
||||
if (MenstruationUtility.UsingCondom(pawn, partner)) return false; // Probably unnecessary
|
||||
|
||||
PregnancyHelper.DoImpregnate(pawn, partner);
|
||||
return false;
|
||||
}
|
||||
|
@ -344,7 +344,7 @@ namespace RJW_Menstruation
|
|||
xxx.rjwSextype sextype = __instance.Sexprops.sexType;
|
||||
if (!(target is Pawn partner)) return;
|
||||
if (sextype != xxx.rjwSextype.Vaginal && sextype != xxx.rjwSextype.DoublePenetration) return;
|
||||
if (__instance.Sexprops.usedCondom) return;
|
||||
if (MenstruationUtility.UsingCondom(pawn, partner)) return;
|
||||
if (AndroidsCompatibility.IsAndroid(pawn)) return;
|
||||
if (!Impregnate_Patch.InteractionCanCausePregnancy(__instance.Sexprops)) return;
|
||||
if (!partner.ShouldCycle()) return;
|
||||
|
|
Loading…
Reference in New Issue