diff --git a/CHANGELOG.md b/CHANGELOG.md
index b087e0e..5b63394 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -81,7 +81,6 @@ but they are meant mostly to have infectors immune against their own diseases.
- Gene: Sexual Genetic Swap. Pawns have a chance to switch a random gene with their sexpartner.
- (Archite) Gene: Sexual Genetic Thief. Pawns have a chance to steal a gene from their sexpartner. Genetic Disease Immunity shields against this.
- Pawns will have negative thoughts about pawns with more genetic diseases than themselves.
-- Faction Penalties for spreading diseases, stealing genes and aging pawns with age transfer
**Fixes:**
diff --git a/Common/Defs/GeneDefs/GeneDefs_Breeding.xml b/Common/Defs/GeneDefs/GeneDefs_Breeding.xml
index 832621a..b3a9844 100644
--- a/Common/Defs/GeneDefs/GeneDefs_Breeding.xml
+++ b/Common/Defs/GeneDefs/GeneDefs_Breeding.xml
@@ -152,16 +152,4 @@
1
0
-
-
- rjw_genes_pregnancy_overwrite
-
- Carriers of this gene can 'overwrite' an existing pregnancy, keeping the progress but effectively replacing the father.
- Genes/Icons/RJW_Genes_PheromoneSpit
- 75
-
- 4
- -2
-
-
\ No newline at end of file
diff --git a/Common/Defs/HistoryEventDefs/DiseaseHistoryEventDefs.xml b/Common/Defs/HistoryEventDefs/DiseaseHistoryEventDefs.xml
deleted file mode 100644
index 488fa5f..0000000
--- a/Common/Defs/HistoryEventDefs/DiseaseHistoryEventDefs.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
- rjw_genes_GoodwillChangedReason_StoleGene
-
-
-
-
- rjw_genes_GoodwillChangedReason_infected_with_disease
-
-
-
-
- rjw_genes_GoodwillChangedReason_spread_genetic_disease
-
-
-
-
\ No newline at end of file
diff --git a/Common/Defs/HistoryEventDefs/SpecialHistoryEventDefs.xml b/Common/Defs/HistoryEventDefs/SpecialHistoryEventDefs.xml
deleted file mode 100644
index c5668ad..0000000
--- a/Common/Defs/HistoryEventDefs/SpecialHistoryEventDefs.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
- rjw_genes_GoodwillChangedReason_aged_pawn_with_sex_gene
-
-
-
-
- rjw_genes_GoodwillChangedReason_youthed_pawn_with_sex_gene
-
-
-
-
\ No newline at end of file
diff --git a/Source/Common/Helpers/FactionUtility.cs b/Source/Common/Helpers/FactionUtility.cs
deleted file mode 100644
index 10a4e7c..0000000
--- a/Source/Common/Helpers/FactionUtility.cs
+++ /dev/null
@@ -1,42 +0,0 @@
-using RimWorld;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using Verse;
-
-namespace RJW_Genes
-{
- public class FactionUtility
- {
-
- ///
- /// Tries to change the goodwill between the factions of two pawns.
- /// Exceptions when nothing happens:
- /// - Pawns, or Pawns Factions, are null
- /// - The `actors` Faction is not the players faction
- /// - Both pawns have the same faction
- /// - The Event is not found
- ///
- /// The pawn that initiated a faction-goodwill change by his actions
- /// The pawn that was harmed/affected by the action
- /// The event defname, for proper reporting
- /// How much (positive or negative) the goodwill will change
- public static void HandleFactionGoodWillPenalties(Pawn actor, Pawn target, string HistoryEventDefname, int goodWillChange, bool canSendHostileLetter=true)
- {
- if (actor == null) return;
- if (target == null) return;
- if (
- target.Faction != null && actor.Faction != null
- && target.Faction != actor.Faction
- && target.Faction != Faction.OfPlayer)
- {
- HistoryEventDef reason = DefDatabase.GetNamedSilentFail(HistoryEventDefname);
- if (reason == null) return;
-
- target.Faction.TryAffectGoodwillWith(actor.Faction, goodWillChange, true, canSendHostileLetter, reason, target);
- }
- }
- }
-}
diff --git a/Source/GeneDefOf.cs b/Source/GeneDefOf.cs
index f4a2d08..873df6f 100644
--- a/Source/GeneDefOf.cs
+++ b/Source/GeneDefOf.cs
@@ -107,7 +107,6 @@ namespace RJW_Genes
public static readonly GeneDef rjw_genes_sex_tamer;
public static readonly GeneDef rjw_genes_sexual_genetic_swap;
public static readonly GeneDef rjw_genes_sexual_genetic_thief;
- public static readonly GeneDef rjw_genes_pregnancy_overwrite;
// Cosmetic
public static readonly GeneDef rjw_genes_succubus_tail;
diff --git a/Source/Genes/Diseases/Patches/Patch_AfterSexUtility_ApplyGeneticInfectors.cs b/Source/Genes/Diseases/Patches/Patch_AfterSexUtility_ApplyGeneticInfectors.cs
index 06b0998..1ee1e9f 100644
--- a/Source/Genes/Diseases/Patches/Patch_AfterSexUtility_ApplyGeneticInfectors.cs
+++ b/Source/Genes/Diseases/Patches/Patch_AfterSexUtility_ApplyGeneticInfectors.cs
@@ -1,5 +1,4 @@
using HarmonyLib;
-using RimWorld;
using rjw;
using System;
using System.Collections.Generic;
@@ -15,9 +14,6 @@ namespace RJW_Genes
[HarmonyPatch(typeof(SexUtility), "Aftersex")]
public class Patch_AfterSexUtility_ApplyGeneticInfectors
{
-
- const int FACTION_GOODWILL_CHANGE = -3;
-
public static void Postfix(SexProps props)
{
if (props == null || props.pawn == null || props.partner == null) return;
@@ -52,10 +48,7 @@ namespace RJW_Genes
continue;
if ((new Random()).NextDouble() < application_chance)
- {
partner.genes.AddGene(diseaseGeneDef, !RJW_Genes_Settings.rjw_genes_genetic_disease_as_endogenes);
- FactionUtility.HandleFactionGoodWillPenalties(infector, partner, "rjw_genes_GoodwillChangedReason_infected_with_disease",FACTION_GOODWILL_CHANGE);
- }
}
}
}
diff --git a/Source/Genes/Diseases/Patches/Patch_AftersexUtility_TransferGeneticDiseases.cs b/Source/Genes/Diseases/Patches/Patch_AftersexUtility_TransferGeneticDiseases.cs
index a00d40f..e33079f 100644
--- a/Source/Genes/Diseases/Patches/Patch_AftersexUtility_TransferGeneticDiseases.cs
+++ b/Source/Genes/Diseases/Patches/Patch_AftersexUtility_TransferGeneticDiseases.cs
@@ -1,5 +1,4 @@
using HarmonyLib;
-using RimWorld;
using rjw;
using System;
using System.Collections.Generic;
@@ -14,8 +13,6 @@ namespace RJW_Genes
public class Patch_AftersexUtility_TransferGeneticDiseases
{
- public const int FACTION_GOODWILL_CHANGE = -2;
-
public static void Postfix(SexProps props)
{
if (!RJW_Genes_Settings.rjw_genes_genetic_disease_spread) return;
@@ -51,7 +48,6 @@ namespace RJW_Genes
if ((new Random()).NextDouble() <= DiseaseHelper.LookupDiseaseInfectionChance(disease))
{
infected.genes.AddGene(disease, !RJW_Genes_Settings.rjw_genes_genetic_disease_as_endogenes);
- FactionUtility.HandleFactionGoodWillPenalties(infector, infected, "rjw_genes_GoodwillChangedReason_spread_genetic_disease", FACTION_GOODWILL_CHANGE);
}
}
}
diff --git a/Source/Genes/Special/Patches/Patch_AgeDrain.cs b/Source/Genes/Special/Patches/Patch_AgeDrain.cs
index 059baef..ab159b1 100644
--- a/Source/Genes/Special/Patches/Patch_AgeDrain.cs
+++ b/Source/Genes/Special/Patches/Patch_AgeDrain.cs
@@ -1,5 +1,4 @@
using HarmonyLib;
-using RimWorld;
using rjw;
using System;
using System.Collections.Generic;
@@ -25,8 +24,6 @@ namespace RJW_Genes.Genes.Special
// 18 Years * 60 Days / Year * 60k Ticks/Day + 1 for safety
const long MINIMUM_AGE_FALLBACK = 18 * 60 * 60000 + 1;
- const int FACTION_GOODWILL_CHANGE = -1;
-
public static void Postfix(SexProps props)
{
if (props == null || props.pawn == null || props.partner == null || props.partner.IsAnimal() )
@@ -83,9 +80,6 @@ namespace RJW_Genes.Genes.Special
if (RJW_Genes_Settings.rjw_genes_detailed_debug)
ModLog.Message($"[Sexual Age Drainer] {receiver} was too young ({receiver.ageTracker.AgeBiologicalYears}), and remains unchanged.");
}
-
- FactionUtility.HandleFactionGoodWillPenalties(receiver, giver, "rjw_genes_GoodwillChangedReason_aged_pawn_with_sex_gene",FACTION_GOODWILL_CHANGE);
}
-
}
}
diff --git a/Source/Genes/Special/Patches/Patch_GeneticSexThief.cs b/Source/Genes/Special/Patches/Patch_GeneticSexThief.cs
index d61f0bd..ecc2201 100644
--- a/Source/Genes/Special/Patches/Patch_GeneticSexThief.cs
+++ b/Source/Genes/Special/Patches/Patch_GeneticSexThief.cs
@@ -1,6 +1,4 @@
using HarmonyLib;
-using RimWorld;
-using RimWorld.Planet;
using rjw;
using System;
using System.Collections.Generic;
@@ -15,9 +13,6 @@ namespace RJW_Genes
[HarmonyPatch(typeof(SexUtility), "Aftersex")]
public class Patch_GeneticSexThief
{
-
- public const int FACTION_GOODWILL_CHANGE = -10;
-
public static void Postfix(SexProps props)
{
if (props == null || props.pawn == null || props.partner == null || props.partner.IsAnimal())
@@ -67,8 +62,6 @@ namespace RJW_Genes
stealer.genes.AddGene(stolenGene.def, AddAsXenogene);
victim.genes.RemoveGene(stolenGene);
-
- FactionUtility.HandleFactionGoodWillPenalties(stealer, victim, "rjw_genes_GoodwillChangedReason_StoleGene", FACTION_GOODWILL_CHANGE);
}
}
diff --git a/Source/Genes/Special/Patches/Patch_PregnancyOverwrite.cs b/Source/Genes/Special/Patches/Patch_PregnancyOverwrite.cs
deleted file mode 100644
index b7b35a6..0000000
--- a/Source/Genes/Special/Patches/Patch_PregnancyOverwrite.cs
+++ /dev/null
@@ -1,80 +0,0 @@
-using HarmonyLib;
-using RimWorld;
-using rjw;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using Verse;
-using static HarmonyLib.Code;
-
-namespace RJW_Genes
-{
- [HarmonyPatch(typeof(SexUtility), "Aftersex")]
- public class Patch_PregnancyOverwrite
- {
- public const int FACTION_GOODWILL_CHANGE = -5;
-
- public static void Postfix(SexProps props)
- {
- if (props == null || props.pawn == null || props.partner == null || props.partner.IsAnimal())
- {
- return;
- }
-
- Pawn pawn = props.pawn;
- Pawn partner = props.partner;
-
- if (pawn.genes == null || partner.genes == null) return;
-
- // If both have the swap gene, nothing happens
- if (GeneUtility.HasGeneNullCheck(pawn, GeneDefOf.rjw_genes_pregnancy_overwrite)
- && GeneUtility.HasGeneNullCheck(partner, GeneDefOf.rjw_genes_pregnancy_overwrite))
- return;
-
- // If both are pregnant, we have some weird interaction. Exit Early
- if (pawn.IsPregnant() && partner.IsPregnant())
- return;
- // If neither are pregnant, nothing can happen.
- if (!pawn.IsPregnant() && !partner.IsPregnant())
- return;
-
- ModLog.Debug("Firing Pregnancy Overwrite Patch - Passed Simple NullChecks");
-
- if (pawn.IsPregnant()
- && GeneUtility.HasGeneNullCheck(partner, GeneDefOf.rjw_genes_pregnancy_overwrite))
- TryReplacePregnancy(partner, pawn);
-
- if (partner.IsPregnant()
- && GeneUtility.HasGeneNullCheck(pawn, GeneDefOf.rjw_genes_pregnancy_overwrite))
- TryReplacePregnancy(pawn, partner);
- }
-
- public static void TryReplacePregnancy(Pawn replacer, Pawn pregnant)
- {
- // TODO: This mostly works, but needs some more checks.
- // - Check if there is a pregnancy occurring
- // - Check for Disease Immunity
- // - Add Faction Penalties
-
- ModLog.Debug($"Firing Pregnancy Overwrite for {replacer} and {pregnant}");
-
- // The "CanImpregnate" does not work as I want, as the pawn is already pregnant, so it wont allow to be pregnated.
- //PregnancyHelper.CanImpregnate(pawn, partner, props.sexType)
-
- Hediff pregnancyHediff = PregnancyUtility.GetPregnancyHediff(pregnant);
- if (pregnancyHediff == null)
- return;
-
- float gestationProgress = pregnancyHediff.Severity;
-
- PregnancyUtility.ForceEndPregnancy(pregnant);
-
- PregnancyHelper.StartVanillaPregnancy(pregnant, replacer);
- Hediff replacementPregnancyHediff = PregnancyUtility.GetPregnancyHediff(pregnant);
- replacementPregnancyHediff.Severity = gestationProgress;
- }
-
- }
-}
diff --git a/Source/Genes/Special/Patches/Patch_Youth_Fountain.cs b/Source/Genes/Special/Patches/Patch_Youth_Fountain.cs
index 96ba204..d810bc6 100644
--- a/Source/Genes/Special/Patches/Patch_Youth_Fountain.cs
+++ b/Source/Genes/Special/Patches/Patch_Youth_Fountain.cs
@@ -1,5 +1,4 @@
using HarmonyLib;
-using RimWorld;
using rjw;
using System;
using System.Collections.Generic;
@@ -24,8 +23,6 @@ namespace RJW_Genes.Genes.Special
// 18 Years * 60 Days / Year * 60k Ticks/Day + 1 for safety
const long MINIMUM_AGE_FALLBACK = 18 * 60 * 60000 + 1;
- const int FACTION_GOODWILL_CHANGE = 1;
-
public static void Postfix(SexProps props)
{
if (props == null || props.pawn == null || props.partner == null || props.partner.IsAnimal())
@@ -42,12 +39,10 @@ namespace RJW_Genes.Genes.Special
if (GeneUtility.IsYouthFountain(props.pawn))
{
ChangeAgeForPawn(props.partner, props.pawn);
- FactionUtility.HandleFactionGoodWillPenalties(props.pawn, props.partner, "rjw_genes_GoodwillChangedReason_youthed_pawn_with_sex_gene",+1);
}
if (GeneUtility.IsYouthFountain(props.partner))
{
ChangeAgeForPawn(props.pawn,props.partner);
- FactionUtility.HandleFactionGoodWillPenalties(props.pawn, props.partner, "rjw_genes_GoodwillChangedReason_youthed_pawn_with_sex_gene", +1);
}
}
@@ -70,7 +65,6 @@ namespace RJW_Genes.Genes.Special
ModLog.Message($"[Youth Fountain] {ToYouth} was too young ({ToYouth.ageTracker.AgeBiologicalYears}), and remains unchanged.");
}
-
}
}
diff --git a/Source/Rjw-Genes.csproj b/Source/Rjw-Genes.csproj
index 8354632..306bcb7 100644
--- a/Source/Rjw-Genes.csproj
+++ b/Source/Rjw-Genes.csproj
@@ -61,7 +61,6 @@
-
@@ -194,7 +193,6 @@
-