Compare commits

...

11 Commits

Author SHA1 Message Date
Akiyami Solo 9b09b7e36a Merge branch 'dev' into 'dev'
Breast fullness is not displayed and the "milk yourself" action is not invoked on a pawn when the rjw-mc-biotech mod is present

See merge request lutepickle/rjw_menstruation!6
2024-05-19 06:09:13 +00:00
lutepickle b5bfec7498 Small refactor of MultiplePregnancy birth code 2024-05-18 22:51:59 -07:00
lutepickle 16d17e01d7 Remove unnecessary "?? null" 2024-05-17 20:20:17 -07:00
lutepickle 514ffdf324 Initialize some hashsets and lists to their expected capacity 2024-05-17 19:16:27 -07:00
Акиями Соло cdfe9b44b8 reduction of unnecessary inspections 2024-01-11 20:55:26 +03:00
Акиями Соло b21fc85a29 fix JobDef link for mod rjw-mc-biotech mod 2024-01-11 20:39:07 +03:00
Акиями Соло 48f020d832 fix display of breast fullness in gui for rjw-mc-biotech mod 2024-01-11 20:38:38 +03:00
lutepickle 23ae342722 Merge branch 'dev' 2024-01-08 13:55:51 -08:00
lutepickle 509eeabddc Merge branch 'dev' 2023-07-28 17:29:32 -07:00
lutepickle 6fabfd6aaf Revert "Initialize womb when displaying gizmo if needed."
This reverts commit ebbbf8ee7f.
2023-07-03 09:08:52 -07:00
lutepickle ebbbf8ee7f Initialize womb when displaying gizmo if needed. 2023-07-03 08:54:19 -07:00
6 changed files with 21 additions and 26 deletions

View File

@ -276,7 +276,10 @@ namespace RJW_Menstruation
float res = 0;
if (VariousDefOf.Hediff_Heavy_Lactating_Permanent != null)
{
if (pawn.health.hediffSet.HasHediff(VariousDefOf.Hediff_Heavy_Lactating_Permanent)) milkcomp = pawn.AllComps.FirstOrDefault(x => x.GetType().ToString().ToLower().Contains("hypermilkable"));
if (pawn.health.hediffSet.HasHediff(VariousDefOf.Hediff_Heavy_Lactating_Permanent)
|| pawn.health.hediffSet.HasHediff(VariousDefOf.Hediff_Lactating_Permanent)
|| pawn.health.hediffSet.HasHediff(VariousDefOf.Hediff_Lactating_Natural)
|| pawn.health.hediffSet.HasHediff(VariousDefOf.Hediff_Lactating_Drug)) milkcomp = pawn.AllComps.FirstOrDefault(x => x.GetType().ToString().ToLower().Contains("milkablehuman"));
else milkcomp = pawn.AllComps.FirstOrDefault(x => x.GetType().ToString().ToLower().Contains("milkable"));
}
else

View File

@ -158,7 +158,7 @@ namespace RJW_Menstruation
public static readonly HediffDef Hediff_Lactating_Natural = DefDatabase<HediffDef>.GetNamedSilentFail("Lactating_Natural");
public static readonly HediffDef Hediff_Lactating_Permanent = DefDatabase<HediffDef>.GetNamedSilentFail("Lactating_Permanent");
public static readonly HediffDef Hediff_Heavy_Lactating_Permanent = DefDatabase<HediffDef>.GetNamedSilentFail("Heavy_Lactating_Permanent");
public static readonly JobDef Job_LactateSelf_MC = DefDatabase<JobDef>.GetNamedSilentFail("LactateSelf_MC");
public static readonly JobDef Job_LactateSelf_MC = DefDatabase<JobDef>.GetNamedSilentFail("MilkSelf");
// Defs from Sexperience Ideology
public static readonly PreceptDef Pregnancy_Elevated = DefDatabase<PreceptDef>.GetNamedSilentFail("Pregnancy_Elevated");

View File

@ -1013,7 +1013,7 @@ namespace RJW_Menstruation
float leakfactor = 1.0f;
float totalleak = 0f;
float cumd = TotalCumPercent;
List<string> filthlabels = new List<string>();
List<string> filthlabels = new List<string>(cums.Count);
BeforeCumOut(out Absorber absorber);
if (cums.NullOrEmpty()) return;
if (TotalCum > Props.maxCumCapacity * Pawn.BodySize) leakfactor = Math.Min(1 + (TotalCum - Props.maxCumCapacity * Pawn.BodySize) / 10, 2f);
@ -1045,10 +1045,10 @@ namespace RJW_Menstruation
{
if (cums.NullOrEmpty()) return 0;
float totalleak = 0;
List<string> filthlabels = new List<string>();
List<string> filthlabels = new List<string>(cums.Count);
float outcum = 0;
float cumd = TotalCumPercent;
HashSet<Cum> removecums = new HashSet<Cum>();
HashSet<Cum> removecums = new HashSet<Cum>(cums.Count);
foreach (Cum cum in cums)
{
float vd = cum.DismishForce(portion);
@ -1079,8 +1079,8 @@ namespace RJW_Menstruation
if (cums.NullOrEmpty()) return null;
Color color = GetCumMixtureColor;
float totalleak = 0;
List<string> cumlabels = new List<string>();
HashSet<Cum> removecums = new HashSet<Cum>();
List<string> cumlabels = new List<string>(cums.Count);
HashSet<Cum> removecums = new HashSet<Cum>(cums.Count);
bool pure = true;
foreach (Cum cum in cums)
{
@ -1370,7 +1370,7 @@ namespace RJW_Menstruation
{
if (eggs.NullOrEmpty()) return false;
HashSet<Egg> deadeggs = new HashSet<Egg>();
HashSet<Egg> deadeggs = new HashSet<Egg>(eggs.Count);
bool pregnant = false;
foreach (Egg egg in eggs)
{
@ -1574,7 +1574,7 @@ namespace RJW_Menstruation
protected void EggDecay()
{
HashSet<Egg> deadeggs = new HashSet<Egg>();
HashSet<Egg> deadeggs = new HashSet<Egg>(eggs.Count);
foreach (Egg egg in eggs)
{
egg.ageTicks += TickInterval * Configurations.CycleAcceleration;

View File

@ -87,14 +87,10 @@ namespace RJW_Menstruation
PawnUtility.TrySpawnHatchedOrBornPawn(baby, mother);
Need_Sex sex_need = mother.needs?.TryGetNeed<Need_Sex>();
if (mother.Faction != null && !(mother.Faction?.IsPlayer ?? false) && sex_need != null)
{
sex_need.CurLevel = 1.0f;
}
if (mother.Faction != null)
{
if (mother.Faction != baby.Faction)
baby.SetFaction(mother.Faction);
if (!mother.Faction.IsPlayer && sex_need != null) sex_need.CurLevel = 1.0f;
if (mother.Faction != baby.Faction) baby.SetFaction(mother.Faction);
}
if (mother.IsSlaveOfColony)
{
@ -149,14 +145,10 @@ namespace RJW_Menstruation
PawnUtility.TrySpawnHatchedOrBornPawn(baby, mother);
Need_Sex sex_need = mother.needs?.TryGetNeed<Need_Sex>();
if (mother.Faction != null && !(mother.Faction?.IsPlayer ?? false) && sex_need != null)
{
sex_need.CurLevel = 1.0f;
}
if (mother.Faction != null)
{
if (mother.Faction != baby.Faction)
baby.SetFaction(mother.Faction);
if (!mother.Faction.IsPlayer && sex_need != null) sex_need.CurLevel = 1.0f;
if (mother.Faction != baby.Faction) baby.SetFaction(mother.Faction);
}
Train(baby, mother);

View File

@ -217,7 +217,7 @@ namespace RJW_Menstruation
if (info != null)
{
res = info.GetHybridWith(opposite.def.defName) ?? null;
res = info.GetHybridWith(opposite.def.defName);
}
if (res != null) return res;
@ -226,14 +226,14 @@ namespace RJW_Menstruation
dna = first.def.GetModExtension<PawnDNAModExtension>();
if (dna != null)
{
res = dna.GetHybridWith(second.def.defName) ?? null;
res = dna.GetHybridWith(second.def.defName);
}
else
{
dna = second.def.GetModExtension<PawnDNAModExtension>();
if (dna != null)
{
res = dna.GetHybridWith(first.def.defName) ?? null;
res = dna.GetHybridWith(first.def.defName);
}
}
return res;

View File

@ -25,7 +25,7 @@ namespace RJW_Menstruation
public PawnKindDef GetHybridWith(string race)
{
return GetHybridExtension(race)?.ChooseOne() ?? null;
return GetHybridExtension(race)?.ChooseOne();
}
}
@ -128,7 +128,7 @@ namespace RJW_Menstruation
public PawnKindDef GetHybridWith(string race)
{
return GetHybridExtension(race)?.ChooseOne() ?? null;
return GetHybridExtension(race)?.ChooseOne();
}
public void ExposeData()