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.