mirror of
https://gitgud.io/lutepickle/rjw_menstruation.git
synced 2024-08-14 22:46:52 +00:00
Compare commits
No commits in common. "f1b9d77ef075695af0e1bce7e445bde57a2056f5" and "2dd86964d408d775c65f9ecdb162ff8ea0385e22" have entirely different histories.
f1b9d77ef0
...
2dd86964d4
5 changed files with 59 additions and 23 deletions
Binary file not shown.
|
@ -16,8 +16,19 @@ namespace RJW_Menstruation
|
||||||
|
|
||||||
public static void CopyHARProperties(Pawn baby, Pawn original)
|
public static void CopyHARProperties(Pawn baby, Pawn original)
|
||||||
{
|
{
|
||||||
if (!baby.HasComp<AlienPartGenerator.AlienComp>() || !original.HasComp<AlienPartGenerator.AlienComp>()) return;
|
AlienPartGenerator.AlienComp babyHARComp = baby?.TryGetComp<AlienPartGenerator.AlienComp>();
|
||||||
AlienPartGenerator.AlienComp.CopyAlienData(original, baby);
|
AlienPartGenerator.AlienComp originalHARComp = original?.TryGetComp<AlienPartGenerator.AlienComp>();
|
||||||
|
if (babyHARComp == null || originalHARComp == null) return;
|
||||||
|
|
||||||
|
babyHARComp.addonVariants = new List<int>(originalHARComp.addonVariants);
|
||||||
|
foreach (KeyValuePair<string, AlienPartGenerator.ExposableValueTuple<Color, Color>> channel in originalHARComp.ColorChannels)
|
||||||
|
{
|
||||||
|
babyHARComp.OverwriteColorChannel(channel.Key, channel.Value.first, channel.Value.second);
|
||||||
|
}
|
||||||
|
babyHARComp.headVariant = originalHARComp.headVariant;
|
||||||
|
babyHARComp.bodyVariant = originalHARComp.bodyVariant;
|
||||||
|
babyHARComp.headMaskVariant = originalHARComp.headMaskVariant;
|
||||||
|
babyHARComp.bodyMaskVariant = originalHARComp.bodyMaskVariant;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1517,7 +1517,7 @@ namespace RJW_Menstruation
|
||||||
{
|
{
|
||||||
// ~1.5 per hour times acceleration
|
// ~1.5 per hour times acceleration
|
||||||
float bledAmount = Utility.VariationRange(0.03f * Configurations.BleedingAmount * Configurations.CycleAcceleration * HoursBetweenSimulations, 0.5f);
|
float bledAmount = Utility.VariationRange(0.03f * Configurations.BleedingAmount * Configurations.CycleAcceleration * HoursBetweenSimulations, 0.5f);
|
||||||
CumIn(Pawn, bledAmount, Translations.Menstrual_Blood, -5.0f, Utility.BloodDef(Pawn));
|
CumIn(Pawn, bledAmount, Translations.Menstrual_Blood, -5.0f, Pawn.RaceProps?.BloodDef ?? ThingDefOf.Filth_Blood);
|
||||||
Cum blood = GetNotCum(Translations.Menstrual_Blood);
|
Cum blood = GetNotCum(Translations.Menstrual_Blood);
|
||||||
if (blood != null) blood.Color = BloodColor;
|
if (blood != null) blood.Color = BloodColor;
|
||||||
}
|
}
|
||||||
|
|
|
@ -457,7 +457,6 @@ namespace RJW_Menstruation
|
||||||
return Color.white;
|
return Color.white;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static ThingDef BloodDef(Pawn pawn)
|
public static ThingDef BloodDef(Pawn pawn)
|
||||||
{
|
{
|
||||||
if (pawn == null) return ThingDefOf.Filth_Blood;
|
if (pawn == null) return ThingDefOf.Filth_Blood;
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
using RimWorld;
|
using RimWorld;
|
||||||
using rjw;
|
using rjw;
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using Verse;
|
using Verse;
|
||||||
|
@ -75,27 +74,26 @@ namespace RJW_Menstruation
|
||||||
return allkinds;
|
return allkinds;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private static HashSet<HediffDef> GetCompHashSet(Type type)
|
|
||||||
{
|
|
||||||
HashSet<HediffDef> set = new HashSet<HediffDef>();
|
|
||||||
foreach (HediffDef hediffDef in DefDatabase<HediffDef>.AllDefsListForReading)
|
|
||||||
{
|
|
||||||
if (hediffDef.comps.NullOrEmpty()) continue;
|
|
||||||
foreach (HediffCompProperties comp in hediffDef.comps)
|
|
||||||
if (comp.compClass == type || (comp.compClass?.IsSubclassOf(type) ?? false))
|
|
||||||
{
|
|
||||||
set.Add(hediffDef);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return set;
|
|
||||||
}
|
|
||||||
public static HashSet<HediffDef> AllVaginas
|
public static HashSet<HediffDef> AllVaginas
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
if (allvaginas != null) return allvaginas;
|
if (allvaginas != null) return allvaginas;
|
||||||
allvaginas = GetCompHashSet(typeof(HediffComp_Menstruation));
|
allvaginas = new HashSet<HediffDef>();
|
||||||
|
|
||||||
|
foreach(HediffDef hediffDef in DefDatabase<HediffDef>.AllDefsListForReading)
|
||||||
|
{
|
||||||
|
if (hediffDef.comps.NullOrEmpty()) continue;
|
||||||
|
foreach (HediffCompProperties comp in hediffDef.comps)
|
||||||
|
{
|
||||||
|
if (comp.compClass == typeof(HediffComp_Menstruation) || (comp.compClass?.IsSubclassOf(typeof(HediffComp_Menstruation)) ?? false))
|
||||||
|
{
|
||||||
|
allvaginas.Add(hediffDef);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return allvaginas;
|
return allvaginas;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -104,7 +102,21 @@ namespace RJW_Menstruation
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
if (allanuses != null) return allanuses;
|
if (allanuses != null) return allanuses;
|
||||||
allanuses = GetCompHashSet(typeof(HediffComp_Anus));
|
allanuses = new HashSet<HediffDef>();
|
||||||
|
|
||||||
|
foreach (HediffDef hediffDef in DefDatabase<HediffDef>.AllDefsListForReading)
|
||||||
|
{
|
||||||
|
if (hediffDef.comps.NullOrEmpty()) continue;
|
||||||
|
foreach (HediffCompProperties comp in hediffDef.comps)
|
||||||
|
{
|
||||||
|
if (comp.compClass == typeof(HediffComp_Anus) || (comp.compClass?.IsSubclassOf(typeof(HediffComp_Anus)) ?? false))
|
||||||
|
{
|
||||||
|
allanuses.Add(hediffDef);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return allanuses;
|
return allanuses;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -113,7 +125,21 @@ namespace RJW_Menstruation
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
if (allbreasts != null) return allbreasts;
|
if (allbreasts != null) return allbreasts;
|
||||||
allbreasts = GetCompHashSet(typeof(HediffComp_Breast));
|
allbreasts = new HashSet<HediffDef>();
|
||||||
|
|
||||||
|
foreach(HediffDef hediffDef in DefDatabase<HediffDef>.AllDefsListForReading)
|
||||||
|
{
|
||||||
|
if (hediffDef.comps.NullOrEmpty()) continue;
|
||||||
|
foreach(HediffCompProperties comp in hediffDef.comps)
|
||||||
|
{
|
||||||
|
if (comp.compClass == typeof(HediffComp_Breast) || (comp.compClass?.IsSubclassOf(typeof(HediffComp_Breast)) ?? false))
|
||||||
|
{
|
||||||
|
allbreasts.Add(hediffDef);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return allbreasts;
|
return allbreasts;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue