From cda3ad1317bd5f55633f15cedcf40636e4292577 Mon Sep 17 00:00:00 2001 From: Vegapnk Date: Tue, 4 Jun 2024 08:46:37 +0200 Subject: [PATCH] Some Progress on Damaging Genitalia - but it's tricky --- Common/Defs/DamageDefs/DangerousGenitaliaDamage.xml | 2 +- Source/Genes/Damage/Patches/Patch_DangerousGenitalia.cs | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/Common/Defs/DamageDefs/DangerousGenitaliaDamage.xml b/Common/Defs/DamageDefs/DangerousGenitaliaDamage.xml index 5a559ff..79c7429 100644 --- a/Common/Defs/DamageDefs/DangerousGenitaliaDamage.xml +++ b/Common/Defs/DamageDefs/DangerousGenitaliaDamage.xml @@ -41,7 +41,7 @@ 0.15
  • - rupture scar + tear scar
  • diff --git a/Source/Genes/Damage/Patches/Patch_DangerousGenitalia.cs b/Source/Genes/Damage/Patches/Patch_DangerousGenitalia.cs index bc19e82..c6c25dc 100644 --- a/Source/Genes/Damage/Patches/Patch_DangerousGenitalia.cs +++ b/Source/Genes/Damage/Patches/Patch_DangerousGenitalia.cs @@ -53,6 +53,8 @@ namespace RJW_Genes switch (props.sexType) { case xxx.rjwSextype.Oral: + case xxx.rjwSextype.Fellatio: + case xxx.rjwSextype.Cunnilingus: { float penetrated_bodysize = GetBodySize(damaged); float damage = CalculateSizeRelatedDamage(penetrator_bodysize, penetrator_genitalsize, penetrated_bodysize, 0.0f); @@ -66,9 +68,11 @@ namespace RJW_Genes DamageWorker.Apply(dInfo, damaged); } break; + case xxx.rjwSextype.Vaginal: + case xxx.rjwSextype.Scissoring: { - Hediff vagina = Genital_Helper.get_AllPartsHediffList(damaged).First(part => Genital_Helper.is_vagina(part)); + Hediff vagina = Genital_Helper.get_AllPartsHediffList(damaged).FirstOrDefault(part => Genital_Helper.is_vagina(part)); if (vagina == null) return; CompHediffBodyPart comps = vagina.TryGetComp(); float penetrated_bodysize = GetBodySize(damaged, vagina); @@ -85,7 +89,7 @@ namespace RJW_Genes case xxx.rjwSextype.Anal: { - Hediff anus = Genital_Helper.get_AllPartsHediffList(damaged).First(part => Genital_Helper.is_anus(part)); + Hediff anus = Genital_Helper.get_AllPartsHediffList(damaged).FirstOrDefault(part => Genital_Helper.is_anus(part)); if (anus == null) return; CompHediffBodyPart comps = anus.TryGetComp(); float penetrated_bodysize = GetBodySize(damaged, anus);