Only put cum in the womb when the one with the penis orgasms, and increase the volume to make up for it.

Also remove RJW's cum on body amount setting from the calculations.
This commit is contained in:
lutepickle 2022-03-10 12:12:37 -08:00
parent 6e0d6d691b
commit 9da2c39d0e
3 changed files with 19 additions and 67 deletions

Binary file not shown.

View file

@ -15,74 +15,26 @@ namespace RJW_Menstruation
Pawn pawn = props.pawn; Pawn pawn = props.pawn;
Pawn partner = props.partner; Pawn partner = props.partner;
if (sextype == xxx.rjwSextype.Vaginal) if (sextype != xxx.rjwSextype.Vaginal && sextype != xxx.rjwSextype.DoublePenetration) return true;
{
var pawnpartBPR = Genital_Helper.get_genitalsBPR(pawn);
var maleparts = Genital_Helper.get_PartsHediffList(pawn, pawnpartBPR);
var partnerpartBPR = Genital_Helper.get_genitalsBPR(partner);
var femaleparts = Genital_Helper.get_PartsHediffList(partner, partnerpartBPR);
Pawn female = null, male = null; if (partner.IsAnimal() && !Configurations.EnableAnimalCycle) return true;
if (Genital_Helper.has_vagina(partner, femaleparts)) var pawnparts = Genital_Helper.get_PartsHediffList(pawn, Genital_Helper.get_genitalsBPR(pawn));
{
female = partner;
male = pawn;
}
else if (Genital_Helper.has_vagina(pawn, maleparts))
{
female = pawn;
femaleparts = maleparts;
male = partner;
maleparts = Genital_Helper.get_PartsHediffList(partner, partnerpartBPR);
}
else return true;
if (female.IsAnimal() && !Configurations.EnableAnimalCycle) return true; HediffComp_Menstruation comp = partner.GetMenstruationComp();
HediffComp_Menstruation comp = female.GetMenstruationComp(); if (comp is null) return true;
if (comp != null)
if (Genital_Helper.has_penis_fertile(pawn, pawnparts) && PregnancyHelper.CanImpregnate(pawn, partner, sextype))
{ {
if (Genital_Helper.has_penis_fertile(male, maleparts) && PregnancyHelper.CanImpregnate(male, female, sextype)) PregnancyHelper.Doimpregnate(pawn, partner);
{
PregnancyHelper.Doimpregnate(male, female);
return false; return false;
} }
else if (Genital_Helper.has_ovipositorM(male, maleparts)) else if (Genital_Helper.has_ovipositorM(pawn, pawnparts))
{ {
comp.CumIn(male, Rand.Range(0.5f,3.0f) * RJWSettings.cum_on_body_amount_adjust * male.BodySize, 1.0f); comp.CumIn(pawn, Rand.Range(0.5f, 3.0f) * pawn.BodySize, 1.0f);
}
else comp.CumIn(male, male.GetCumVolume(maleparts), 0);
} }
else comp.CumIn(pawn, pawn.GetCumVolume(pawnparts), 0);
//if (Genital_Helper.has_vagina(partner, partnerparts))
//{
// if (partner.IsAnimal() && !Configurations.EnableAnimalCycle) return true;
// HediffComp_Menstruation comp = Utility.GetMenstruationComp(partner);
// if (comp != null)
// {
// if (Genital_Helper.has_penis_fertile(pawn, pawnparts) && PregnancyHelper.CanImpregnate(pawn, partner, sextype))
// {
// PregnancyHelper.Doimpregnate(pawn, partner);
// return false;
// }
// else comp.CumIn(pawn, pawn.GetCumVolume(), 0);
// }
//}
//else if (Genital_Helper.has_vagina(pawn, pawnparts))
//{
// if (pawn.IsAnimal() && !Configurations.EnableAnimalCycle) return true;
// HediffComp_Menstruation comp = Utility.GetMenstruationComp(pawn);
// if (comp != null)
// {
// if (Genital_Helper.has_penis_fertile(partner, partnerparts) && PregnancyHelper.CanImpregnate(partner, pawn, sextype))
// {
// PregnancyHelper.Doimpregnate(partner, pawn);
// return false;
// }
// else comp.CumIn(partner, partner.GetCumVolume(), 0);
// }
//}
}
return true; return true;

View file

@ -79,7 +79,7 @@ namespace RJW_Menstruation
try try
{ {
res = part.FluidAmmount * part.FluidModifier * pawn.BodySize / pawn.RaceProps.baseBodySize * Rand.Range(0.8f, 1.2f) * RJWSettings.cum_on_body_amount_adjust * 0.3f; res = part.FluidAmmount * part.FluidModifier * pawn.BodySize / pawn.RaceProps.baseBodySize * Rand.Range(0.8f, 1.2f);
} }
catch (NullReferenceException) catch (NullReferenceException)
{ {