diff --git a/1.4/Assemblies/RJW_Menstruation.dll b/1.4/Assemblies/RJW_Menstruation.dll
index 0215954..32d579b 100644
Binary files a/1.4/Assemblies/RJW_Menstruation.dll and b/1.4/Assemblies/RJW_Menstruation.dll differ
diff --git a/1.4/Languages/Russian/Keyed/RJW_Menstruation.xml b/1.4/Languages/Russian/Keyed/RJW_Menstruation.xml
new file mode 100644
index 0000000..dd7f41f
--- /dev/null
+++ b/1.4/Languages/Russian/Keyed/RJW_Menstruation.xml
@@ -0,0 +1,140 @@
+
+
+ RJW обновление беремености
+
+ менструальная кровь
+ Пусто
+ фолликул
+ Овуляция
+ Лютеиновая
+ В период
+ Беременная
+ Восстановление после рождения
+ Нету
+ Климакс
+ Менопауза
+ Анэструс
+ Яичники готовятся выпустить яйцеклетку. Овуляция произойдет в конце этой фазы.
+ Яичники готовятся выпустить яйцеклетку. Овуляция произойдет, если сперма попадает в матку.
+ Яичники выпускают яйцеклетку в матку.
+ Матка готова принять оплодотворенную яйцеклетку. Беременность наступит, если кто-то оплодотворит до окончания этапа.
+ Матка сбрасывает свою слизистую оболочку вместе с любыми яйцеклетками, которые не смогли имплантироваться.
+ Ребенок растет в утробе матери. Со временем и заботой он станет новым жителем этого мира.
+ Матка восстанавливается после недавней беременности.
+ Матка не является фертильной и не может забеременеть.
+ Яичники близки к истощению, и менструальный цикл стал нерегулярным.
+ Яичники истощены, и матка больше не может производить яйцеклетки.
+ У матки закончился цикл. Цикл возобновится, как только будут выполнены условия.
+ Статус
+ Лактация
+ Состояние
+ Зародыш
+ Отец
+ Список спермы
+ Оплодотворенная
+ оплодотворение
+ Овулирование
+
+
+ Соберите сперму в ведро
+ Хранить сперму в утробе матери
+ Неизвестно
+
+
+
+ Включить значок матки
+ Кнопка включения вкладки здоровье
+ Включить животный цикл
+ Имитировать циклы животных.
Не рекомендуется.
+ Шанс имплантации
+ Базовый шанс имплантации оплодотворенной яйцеклетки
Это значение влияет на вероятность оплодотворения.
+ Шанс оплодотворения
+ Вероятность оплодотворения на мл сперматозоидов в час
Это значение влияет на вероятность оплодотворения.
+ Коэффициент распада спермы в час
+ Количество спермы в матке будет уменьшаться на эту величину каждый час
Это значение влияет на вероятность оплодотворения.
+ Коэффициент распада фертильности спермы в час
+ Сперма будет терять фертильность на это количество каждый час
Это значение косвенно влияет на вероятность оплодотворения.
+ Ускорение цикла
+ Ускорить менструальный цикл
Это может привести к ранней менопаузе и бесплодию.
Рекомендуется установить значение ниже x12.
Временная шкала Rimworld: x6(по умолчанию)
+ Debug
+ Показывать отладочную информацию.
Также переопределяет "Уровень информации о зародыше" для всех.
+ Статус матки
+ Нарисовать значок матки в окне состояния.
+ Состояние влагалища и груди
+ Нарисовать значки влагалища, ануса и груди в окне состояния.
+ Уровень информации о плоде
+ Показать всю информацию о плоде.
+ Показать всю информацию о плоде после обнаруженной беременности.
+ Показывать только изображение плода после обнаруженной беременности.
+ Не показывайть никакой информации о плоде.
+ Включить менопаузу
+ Включите эффект менопаузы, который делает пешку бесплодной с течением времени
Если у вас есть проблемы с гонками на долгую жизнь, отключите эту опцию.
+ Использовать многоплодную беременность
+ Использовать многоплодную беременность вместо беременности RJW по умолчанию
Отключите эту опцию, если у вас проблемы с оплодотворением
Беременность RJW должна быть включена.
+ Включить Разнояйцевых близнецов
+ Допускать беременность от нескольких яйцеклеток одновременно.
+ Включить Монозиготных близнецов
+ Дайть возможность одной яйцеклетке привести к появлению нескольких идентичных потомков.
+ Шанс монозиготных близнецов
+ Вероятность появления идентичных близнецов.
+ Макс монозиготных близнецов
+ Максимальное количество идентичных братьев и сестер.
+ Включить наложение яиц
+ Включить наложение яйца на значок матки.
+ Количество кровотечения
+ Предполагаемое общее количество кровотечения
+ Приблизительное количество кровотечения.
Нормальное количество кровотечения у человека составляет около 20 ~ 80 мл за цикл.
+ Колонист
+ Пленник
+ Союзная фракция
+ Нейтральная
+ Вражеская Фракция
+ Помеченые пешки:
+ Для этих пешек появятся штуковина и кнопка
+ Использовать гибридное расширение
+ Переопределяет гибридное определение RJW и RaceSupport.
Доминирующее гибридное расширение определяет, чье определение используется первым. Не рекомендуется изменять это.
+ Доминирующее гибридное расширение
+ Мать
+ Отец
+ Рост груди во время беременности
+ Изменить, насколько вырастет грудь беременной пешки во время беременности. Некоторые пешки будут расти больше, чем другие.
+ Изменение сосков во время беременности
+ Изменить, насколько сильно изменятся соски беременной пешки в процессе.
+ Постоянное изменение сосков после беременности
+ Приблизительно определяет, какая часть сосков беременной пешки останется измененной после окончания беременности.
+ Настройка гибридов
+ Откройте пользовательский гибридный редактор.
Это переопределит гибридные определения XML-файлов.
+ Разрешить сжатие значка
+ Значок станет меньше, если это необходимо.
+ Множитель продолжительности жизни яйца
+ Увеличить продолжительность жизни яйцеклетки.
Все неимплантированные яйцеклетки погибнут в конце лютеиновой стадии, независимо от этого параметра.
+ Включить трансформацию влагалища после рождения
+ Включить постоянное растяжение влагалища после родов.
Если вы используете другой мод, обрабатывающий это, отключите эту опцию.
+ Сила превращения
+ Установить силу превращения.
+ Включить сбор спермы gizmo
+ Течка переопределяет настройки подключения RJW
+ Если включено, пешка с видимой течкой будет использовать эти настройки для потенциальных подключений к оплодотворению вместо настроек RJW.
Все настройки по умолчанию соответствуют их аналогам RJW.
+ Минимальная возможность перепихнуться во время течки
+ Подключение минимальная привлекательность во время течки
+ Минимальное мнение о перепихоне во время течки
+ Расчетная продолжительность жизни спермотозоидов
+ Предполагаемый срок жизни яйца
+ Вероятность имплантации оплодотворенных яйцеклеток.
Вероятность оплодотворения в этот час: {0}%
+ Использовать базовый RJW pregnancy
+ Использовать менструацию при многоплодной беременности
+ Использовать систему беремености из biotech
+ Показывать статус матки при призыве
+ Нарисуйте значок матки для набранных пешек
+ Вернусть всё по умолчанию
+
+ Собрать сперму
+ Вагинальное мытье
+
+ Пользовательский гибридный редактор
+ Гибриды из {0}
+ Когда {0} скрещивается с {1}, {2} родится с вероятностью {3}.
Если обе расы имеют гибридные определения друг для друга, будет использоваться определение отца.
+
+ Никаких яиц
+
+
diff --git a/1.4/Patches/Hediffs_PrivateParts_Animal.xml b/1.4/Patches/Hediffs_PrivateParts_Animal.xml
index fc60760..63b12b5 100644
--- a/1.4/Patches/Hediffs_PrivateParts_Animal.xml
+++ b/1.4/Patches/Hediffs_PrivateParts_Animal.xml
@@ -11,27 +11,6 @@
- /Defs/rjw.HediffDef_PartBase[defName="DogVagina"]
-
-
-
- 8
- 1.0
- 1.0
- 14
- 166
- 8
- 15
- 4
- Womb/Womb
- Genitals/Vagina
- 9
-
-
-
-
-
-
+
/Defs/rjw.HediffDef_PartBase[defName="CatVagina"]
diff --git a/1.4/source/RJW_Menstruation/RJW_Menstruation/FilthMaker_Colored.cs b/1.4/source/RJW_Menstruation/RJW_Menstruation/FilthMaker_Colored.cs
index a14e186..fbb4723 100644
--- a/1.4/source/RJW_Menstruation/RJW_Menstruation/FilthMaker_Colored.cs
+++ b/1.4/source/RJW_Menstruation/RJW_Menstruation/FilthMaker_Colored.cs
@@ -28,10 +28,7 @@ namespace RJW_Menstruation
}
}
}
- if (filth != null)
- {
- filth.AddSources(sources);
- }
+ filth?.AddSources(sources);
return false;
}
if (filth != null)
diff --git a/1.4/source/RJW_Menstruation/RJW_Menstruation/HediffComps/HediffComp_InducedOvulator.cs b/1.4/source/RJW_Menstruation/RJW_Menstruation/HediffComps/HediffComp_InducedOvulator.cs
index 3bccc44..d069069 100644
--- a/1.4/source/RJW_Menstruation/RJW_Menstruation/HediffComps/HediffComp_InducedOvulator.cs
+++ b/1.4/source/RJW_Menstruation/RJW_Menstruation/HediffComps/HediffComp_InducedOvulator.cs
@@ -75,7 +75,7 @@ namespace RJW_Menstruation
case Stage.Ovulatory:
return true;
case Stage.Luteal:
- return IsEggExist && curStageHrs < EggLifespanHours * 24;
+ return IsEggExist && curStageHrs < EggLifespanHours;
default:
return false;
}
@@ -93,7 +93,7 @@ namespace RJW_Menstruation
case Stage.Ovulatory:
return true;
case Stage.Luteal:
- return IsEggExist && curStageHrs < EggLifespanHours * 24;
+ return IsEggExist && curStageHrs < EggLifespanHours;
default:
return false;
}
diff --git a/1.4/source/RJW_Menstruation/RJW_Menstruation/HediffComps/HediffComp_Menstruation.cs b/1.4/source/RJW_Menstruation/RJW_Menstruation/HediffComps/HediffComp_Menstruation.cs
index 070c6ef..ef575f0 100644
--- a/1.4/source/RJW_Menstruation/RJW_Menstruation/HediffComps/HediffComp_Menstruation.cs
+++ b/1.4/source/RJW_Menstruation/RJW_Menstruation/HediffComps/HediffComp_Menstruation.cs
@@ -498,7 +498,7 @@ namespace RJW_Menstruation
case Stage.Ovulatory:
return true;
case Stage.Luteal:
- return curStageHrs < EggLifespanHours * 24;
+ return curStageHrs < EggLifespanHours;
default:
return false;
}
@@ -744,6 +744,38 @@ namespace RJW_Menstruation
base.CompPostPostRemoved();
}
+ public override string CompTipStringExtra
+ {
+ get
+ {
+ StringBuilder tip = new StringBuilder();
+ tip.Append(Translations.Dialog_WombInfo01);
+ tip.Append(": ");
+ tip.Append(GetCurStageLabel);
+ string fertInfo = GetFertilizingInfo;
+ if(CurrentVisibleStage == Stage.Luteal && fertInfo.Length > 0)
+ {
+ tip.AppendLine();
+ tip.Append(fertInfo);
+ }
+ return tip.ToString();
+ }
+ }
+
+ protected virtual int HoursToNextStage()
+ {
+ return Math.Max(0,(currentIntervalHours - curStageHrs) / Configurations.CycleAcceleration);
+ }
+
+ public override string CompDebugString()
+ {
+ if (curStage == Stage.None || curStage == Stage.Infertile || curStage == Stage.Pregnant) return base.CompDebugString();
+ StringBuilder debugString = new StringBuilder();
+ debugString.Append($"Time to next state: ");
+ debugString.Append(GenDate.ToStringTicksToPeriod(HoursToNextStage() * GenDate.TicksPerHour));
+ return debugString.ToString();
+ }
+
///
/// Get fluid in womb that not a cum
///
@@ -1200,7 +1232,7 @@ namespace RJW_Menstruation
case Stage.Ovulatory:
return true;
case Stage.Luteal:
- return curStageHrs < EggLifespanHours * 24;
+ return curStageHrs < EggLifespanHours;
default:
return false;
}
@@ -1531,7 +1563,7 @@ namespace RJW_Menstruation
ovulated = (int)eggnum + eggstack;
for (int i = 0; i < ovulated; i++)
- eggs.Add(new Egg((int)(EggLifespanHours * 24 / CycleFactor)));
+ eggs.Add(new Egg((int)(EggLifespanHours / CycleFactor)));
ovarypower -= ovulated;
eggstack = 0;
diff --git a/1.4/source/RJW_Menstruation/RJW_Menstruation/HediffComps/HediffComp_PeriodicOvulator.cs b/1.4/source/RJW_Menstruation/RJW_Menstruation/HediffComps/HediffComp_PeriodicOvulator.cs
index b3fa2ac..6611547 100644
--- a/1.4/source/RJW_Menstruation/RJW_Menstruation/HediffComps/HediffComp_PeriodicOvulator.cs
+++ b/1.4/source/RJW_Menstruation/RJW_Menstruation/HediffComps/HediffComp_PeriodicOvulator.cs
@@ -57,6 +57,12 @@ namespace RJW_Menstruation
Scribe_Values.Look(ref averageCycleIntervalHours, "averageCycleIntervalHours", averageCycleIntervalHours, true);
}
+ protected override int HoursToNextStage()
+ {
+ if (curStage == Stage.Anestrus && hoursToNextCycle > 0) return hoursToNextCycle / Configurations.CycleAcceleration;
+ else return base.HoursToNextStage();
+ }
+
protected override void BleedingAction()
{
if (curStageHrs >= currentIntervalHours)
diff --git a/1.4/source/RJW_Menstruation/RJW_Menstruation/HediffComps/HediffComp_PregeneratedBabies.cs b/1.4/source/RJW_Menstruation/RJW_Menstruation/HediffComps/HediffComp_PregeneratedBabies.cs
index 51b497a..979077a 100644
--- a/1.4/source/RJW_Menstruation/RJW_Menstruation/HediffComps/HediffComp_PregeneratedBabies.cs
+++ b/1.4/source/RJW_Menstruation/RJW_Menstruation/HediffComps/HediffComp_PregeneratedBabies.cs
@@ -79,6 +79,7 @@ namespace RJW_Menstruation
kind: babyPawnKind,
faction: mother.Faction,
allowDowned: true,
+ // fixedLastName seems not to actually do anything, as we eventually end up in PawnBioAndNameGenerator.NameResolvedFrom, which ignores its forcedLastName argument
fixedLastName: (string)RandomLastName.Invoke(null, new object[] { mother, mother, xxx.is_human(father) ? father : null }),
forceNoIdeo: true,
forcedEndogenes: PregnancyUtility.GetInheritedGenes(father, mother),
@@ -207,8 +208,7 @@ namespace RJW_Menstruation
do
{
Pawn baby = comp.babies[0];
- Pawn thisFather = baby.GetFather();
- if (thisFather == null) thisFather = father;
+ Pawn thisFather = baby.GetFather() ?? father;
baby.relations.ClearAllRelations(); // To keep ApplyBirthOutcome from erroring when it tries to set up relations
PregnancyUtility.ApplyBirthOutcome(thisOutcome, quality, ritual, genes, geneticMother, birtherThing, thisFather, doctor, lordJobRitual, assignments);
@@ -258,8 +258,7 @@ namespace RJW_Menstruation
do
{
Pawn baby = comp.babies[0];
- Pawn thisFather = baby.GetFather();
- if (thisFather == null) thisFather = father;
+ Pawn thisFather = baby.GetFather() ?? father;
baby.relations.ClearAllRelations();
PregnancyUtility.ApplyBirthOutcome(outcome, quality, ritual, genes, geneticMother, birtherThing, thisFather, doctor, lordJobRitual, assignments);
diff --git a/1.4/source/RJW_Menstruation/RJW_Menstruation/HediffComps/MenstruationUtility.cs b/1.4/source/RJW_Menstruation/RJW_Menstruation/HediffComps/MenstruationUtility.cs
index 43e2717..a7e2918 100644
--- a/1.4/source/RJW_Menstruation/RJW_Menstruation/HediffComps/MenstruationUtility.cs
+++ b/1.4/source/RJW_Menstruation/RJW_Menstruation/HediffComps/MenstruationUtility.cs
@@ -151,10 +151,7 @@ namespace RJW_Menstruation
else if (gestationProgress < 0.8f) icon = fetustex + "04";
else icon = fetustex + "05";
- Texture2D result = TryGetTwinsIcon(icon, babycount);
-
- if (result == null) result = ContentFinder.Get((icon), true);
- return result;
+ return TryGetTwinsIcon(icon, babycount) ?? ContentFinder.Get((icon), true);
}
public static Texture2D TryGetTwinsIcon(string path, int babycount)
@@ -205,10 +202,7 @@ namespace RJW_Menstruation
if (hediffs.Count == 1) return ContentFinder.Get(path + "Womb_Egged_Large", true);
else return ContentFinder.Get(path + "Womb_Egged_ManyMixed", true);
}
- Texture2D result = ContentFinder.Get(path + "Womb_Egged_" + hediffs.Count(), false);
- if (result == null) result = ContentFinder.Get(path + "Womb_Egged_Many", true);
-
- return result;
+ return ContentFinder.Get(path + "Womb_Egged_" + hediffs.Count(), false) ?? ContentFinder.Get(path + "Womb_Egged_Many", true);
}
public static Texture2D GetWombIcon(this HediffComp_Menstruation comp)
{
@@ -307,8 +301,8 @@ namespace RJW_Menstruation
public static Texture2D GetAnalIcon(this Pawn pawn, bool drawOrigin = false)
{
- Hediff hediff = Genital_Helper.get_PartsHediffList(pawn, Genital_Helper.get_anusBPR(pawn)).FirstOrDefault(h => VariousDefOf.AllAnuses.Contains(h.def));
- if (hediff == null) hediff = Genital_Helper.get_PartsHediffList(pawn, Genital_Helper.get_anusBPR(pawn)).FirstOrDefault(h => h.def.defName.ToLower().Contains("anus"));
+ Hediff hediff = Genital_Helper.get_PartsHediffList(pawn, Genital_Helper.get_anusBPR(pawn)).FirstOrDefault(h => VariousDefOf.AllAnuses.Contains(h.def)) ??
+ Genital_Helper.get_PartsHediffList(pawn, Genital_Helper.get_anusBPR(pawn)).FirstOrDefault(h => h.def.defName.ToLower().Contains("anus"));
if (hediff == null) return ContentFinder.Get(("Genitals/Anal00"), true);
string icon;
diff --git a/1.4/source/RJW_Menstruation/RJW_Menstruation/Patch/RJW_Patch.cs b/1.4/source/RJW_Menstruation/RJW_Menstruation/Patch/RJW_Patch.cs
index a32877c..cc1ff7c 100644
--- a/1.4/source/RJW_Menstruation/RJW_Menstruation/Patch/RJW_Patch.cs
+++ b/1.4/source/RJW_Menstruation/RJW_Menstruation/Patch/RJW_Patch.cs
@@ -150,8 +150,7 @@ namespace RJW_Menstruation
if (Configurations.EnableBirthVaginaMorph)
{
// The comp still has the pregnancy attached at this point in the process
- Hediff vagina = __instance.GetMenstruationCompFromPregnancy()?.parent;
- if (vagina == null) vagina = mother.health.hediffSet.hediffs.FirstOrFallback(x => VariousDefOf.AllVaginas.Contains(x.def));
+ Hediff vagina = (__instance.GetMenstruationCompFromPregnancy()?.parent) ?? mother.health.hediffSet.hediffs.FirstOrFallback(x => VariousDefOf.AllVaginas.Contains(x.def));
if (vagina == null) return;
float morph = Mathf.Max(baby.BodySize - Mathf.Pow(vagina.Severity * mother.BodySize, 2), 0f);
vagina.Severity += morph * Configurations.VaginaMorphPower;
diff --git a/1.4/source/RJW_Menstruation/RJW_Menstruation/Reflect.cs b/1.4/source/RJW_Menstruation/RJW_Menstruation/Reflect.cs
index 8df18e6..8e55de8 100644
--- a/1.4/source/RJW_Menstruation/RJW_Menstruation/Reflect.cs
+++ b/1.4/source/RJW_Menstruation/RJW_Menstruation/Reflect.cs
@@ -37,20 +37,14 @@ namespace RJW_Menstruation
{
BindingFlags flags = BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic;
FieldInfo fieldInfo = type?.GetField(name, flags);
- if (fieldInfo != null)
- {
- fieldInfo.SetValue(null, value);
- }
+ fieldInfo?.SetValue(null, value);
}
public static void SetMemberValue(this object obj, string name, object value)
{
BindingFlags flags = BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic;
FieldInfo fieldInfo = obj?.GetType().GetField(name, flags);
- if (fieldInfo != null)
- {
- fieldInfo.SetValue(obj, value);
- }
+ fieldInfo?.SetValue(obj, value);
}
diff --git a/1.4/source/RJW_Menstruation/RJW_Menstruation/Utility.cs b/1.4/source/RJW_Menstruation/RJW_Menstruation/Utility.cs
index 406a54c..af02fef 100644
--- a/1.4/source/RJW_Menstruation/RJW_Menstruation/Utility.cs
+++ b/1.4/source/RJW_Menstruation/RJW_Menstruation/Utility.cs
@@ -66,12 +66,10 @@ namespace RJW_Menstruation
public static float GetCumVolume(this Pawn pawn, List hediffs)
{
- CompHediffBodyPart part = hediffs?.FindAll((Hediff hed) => hed.def.defName.ToLower().Contains("penis")).InRandomOrder().FirstOrDefault()?.TryGetComp();
- if (part == null) part = hediffs?.FindAll((Hediff hed) => hed.def.defName.ToLower().Contains("ovipositorf")).InRandomOrder().FirstOrDefault()?.TryGetComp();
- if (part == null) part = hediffs?.FindAll((Hediff hed) => hed.def.defName.ToLower().Contains("ovipositorm")).InRandomOrder().FirstOrDefault()?.TryGetComp();
- if (part == null) part = hediffs?.FindAll((Hediff hed) => hed.def.defName.ToLower().Contains("tentacle")).InRandomOrder().FirstOrDefault()?.TryGetComp();
-
-
+ CompHediffBodyPart part = (((hediffs?.FindAll((Hediff hed) => hed.def.defName.ToLower().Contains("penis")).InRandomOrder().FirstOrDefault()?.TryGetComp()) ??
+ (hediffs?.FindAll((Hediff hed) => hed.def.defName.ToLower().Contains("ovipositorf")).InRandomOrder().FirstOrDefault()?.TryGetComp())) ??
+ (hediffs?.FindAll((Hediff hed) => hed.def.defName.ToLower().Contains("ovipositorm")).InRandomOrder().FirstOrDefault()?.TryGetComp())) ??
+ (hediffs?.FindAll((Hediff hed) => hed.def.defName.ToLower().Contains("tentacle")).InRandomOrder().FirstOrDefault()?.TryGetComp());
return pawn.GetCumVolume(part);
}
@@ -194,9 +192,8 @@ namespace RJW_Menstruation
public static void DrawBreastIcon(this Pawn pawn, Rect rect)
{
- Hediff hediff = Genital_Helper.get_PartsHediffList(pawn, Genital_Helper.get_breastsBPR(pawn)).FirstOrDefault(h => VariousDefOf.AllBreasts.Contains(h.def));
- if (hediff == null)
- hediff = Genital_Helper.get_PartsHediffList(pawn, Genital_Helper.get_uddersBPR(pawn)).FirstOrDefault(h => VariousDefOf.AllBreasts.Contains(h.def));
+ Hediff hediff = Genital_Helper.get_PartsHediffList(pawn, Genital_Helper.get_breastsBPR(pawn)).FirstOrDefault(h => VariousDefOf.AllBreasts.Contains(h.def)) ??
+ Genital_Helper.get_PartsHediffList(pawn, Genital_Helper.get_uddersBPR(pawn)).FirstOrDefault(h => VariousDefOf.AllBreasts.Contains(h.def));
Texture2D breast, nipple, areola;
if (hediff != null)
{
@@ -359,15 +356,15 @@ namespace RJW_Menstruation
}
public static string GetAnusLabel(this Pawn pawn)
{
- Hediff hediff = Genital_Helper.get_PartsHediffList(pawn, Genital_Helper.get_anusBPR(pawn)).FirstOrDefault(h => VariousDefOf.AllAnuses.Contains(h.def));
- if (hediff == null) hediff = Genital_Helper.get_PartsHediffList(pawn, Genital_Helper.get_anusBPR(pawn)).FirstOrDefault(h => h.def.defName.ToLower().Contains("anus"));
+ Hediff hediff = Genital_Helper.get_PartsHediffList(pawn, Genital_Helper.get_anusBPR(pawn)).FirstOrDefault(h => VariousDefOf.AllAnuses.Contains(h.def)) ??
+ Genital_Helper.get_PartsHediffList(pawn, Genital_Helper.get_anusBPR(pawn)).FirstOrDefault(h => h.def.defName.ToLower().Contains("anus"));
if (hediff != null) return hediff.LabelBase.CapitalizeFirst() + "\n(" + hediff.LabelInBrackets + ")";
else return "";
}
public static string GetBreastLabel(this Pawn pawn)
{
- Hediff hediff = Genital_Helper.get_PartsHediffList(pawn, Genital_Helper.get_breastsBPR(pawn)).FirstOrDefault(h => VariousDefOf.AllBreasts.Contains(h.def));
- if (hediff == null) hediff = Genital_Helper.get_PartsHediffList(pawn, Genital_Helper.get_uddersBPR(pawn)).FirstOrDefault(h => VariousDefOf.AllBreasts.Contains(h.def));
+ Hediff hediff = Genital_Helper.get_PartsHediffList(pawn, Genital_Helper.get_breastsBPR(pawn)).FirstOrDefault(h => VariousDefOf.AllBreasts.Contains(h.def)) ??
+ Genital_Helper.get_PartsHediffList(pawn, Genital_Helper.get_uddersBPR(pawn)).FirstOrDefault(h => VariousDefOf.AllBreasts.Contains(h.def));
if (hediff != null) return hediff.LabelBase.CapitalizeFirst() + "\n(" + hediff.LabelInBrackets + ")";
else return "";
}
diff --git a/About/Manifest.xml b/About/Manifest.xml
index 015d8cc..5477ddb 100644
--- a/About/Manifest.xml
+++ b/About/Manifest.xml
@@ -1,7 +1,7 @@
RJW Menstruation
- 1.0.8.6
+ 1.0.8.7
diff --git a/changelogs.txt b/changelogs.txt
index b2c69dd..46e6221 100644
--- a/changelogs.txt
+++ b/changelogs.txt
@@ -1,3 +1,9 @@
+Version 1.0.8.7
+ - Fix missing texture when using Milkable Colonists.
+ - Fix estrus and egg lifespan lasting far longer than intended.
+ - Canine vaginas now use the new periodic ovulator cycle.
+ - Hovering over a vagina hediff will show the current state in the tooltip.
+
Version 1.0.8.6
- Updated Traditional Chinese translation by Hydrogen.
- Fix error when trying to terminate a non-Biotech pregnancy.