mirror of
https://gitgud.io/Ed86/rjw-cum.git
synced 2024-08-15 00:43:40 +00:00
support for 1.4
This commit is contained in:
parent
358b0d4f2e
commit
b943cb55c6
39 changed files with 1912 additions and 1 deletions
85
1.4/Source/Mod/Patch_JobDriver_DubsBadHygiene.cs
Normal file
85
1.4/Source/Mod/Patch_JobDriver_DubsBadHygiene.cs
Normal file
|
@ -0,0 +1,85 @@
|
|||
using System;
|
||||
using HarmonyLib;
|
||||
using Verse;
|
||||
using Verse.AI;
|
||||
using rjw;
|
||||
|
||||
namespace rjwcum
|
||||
{
|
||||
[HarmonyPatch(typeof(JobDriver), "Cleanup")]
|
||||
internal static class Patch_JobDriver_DubsBadHygiene
|
||||
{
|
||||
//not very good solution, some other mod can have same named jobdriver but w/e
|
||||
|
||||
//Dubs Bad Hygiene washing
|
||||
private readonly static Type JobDriver_useWashBucket = AccessTools.TypeByName("JobDriver_useWashBucket");
|
||||
//private readonly static Type JobDriver_washAtCell = AccessTools.TypeByName("JobDriver_washAtCell");
|
||||
|
||||
private readonly static Type JobDriver_UseHotTub = AccessTools.TypeByName("JobDriver_UseHotTub");
|
||||
private readonly static Type JobDriver_takeShower = AccessTools.TypeByName("JobDriver_takeShower");
|
||||
private readonly static Type JobDriver_takeBath = AccessTools.TypeByName("JobDriver_takeBath");
|
||||
|
||||
[HarmonyPostfix]
|
||||
private static void Cleanup_cum(JobDriver __instance, JobCondition condition)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (__instance == null)
|
||||
return;
|
||||
|
||||
if (condition == JobCondition.Succeeded)
|
||||
{
|
||||
Do_cleanup_cum(__instance);
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Log.Error(e.ToString());
|
||||
}
|
||||
}
|
||||
|
||||
public static void Do_cleanup_cum(JobDriver __instance)
|
||||
{
|
||||
Pawn pawn = __instance.pawn;
|
||||
|
||||
//ModLog.Message("patches_DubsBadHygiene::on_cleanup_driver" + xxx.get_pawnname(pawn));
|
||||
|
||||
if (xxx.DubsBadHygieneIsActive)
|
||||
//clear one instance of cum
|
||||
if (
|
||||
__instance.GetType() == JobDriver_useWashBucket// ||
|
||||
//__instance.GetType() == JobDriver_washAtCell
|
||||
)
|
||||
{
|
||||
Hediff hediff = pawn.health.hediffSet.hediffs.Find(x => (x.def == HediffDefOf.Hediff_Cum
|
||||
|| x.def == HediffDefOf.Hediff_InsectSpunk
|
||||
|| x.def == HediffDefOf.Hediff_MechaFluids
|
||||
));
|
||||
if (hediff != null)
|
||||
{
|
||||
//ModLog.Message("patches_DubsBadHygiene::" + __instance.GetType() + " clear => " + hediff.Label);
|
||||
hediff.Severity -= 1f;
|
||||
}
|
||||
}
|
||||
//clear all instance of cum
|
||||
else if (
|
||||
__instance.GetType() == JobDriver_UseHotTub ||
|
||||
__instance.GetType() == JobDriver_takeShower ||
|
||||
__instance.GetType() == JobDriver_takeBath
|
||||
)
|
||||
{
|
||||
foreach (Hediff hediff in pawn.health.hediffSet.hediffs)
|
||||
{
|
||||
if (hediff.def == HediffDefOf.Hediff_Cum ||
|
||||
hediff.def == HediffDefOf.Hediff_InsectSpunk ||
|
||||
hediff.def == HediffDefOf.Hediff_MechaFluids
|
||||
)
|
||||
{
|
||||
//ModLog.Message("patches_DubsBadHygiene::" + __instance.GetType() + " clear => " + hediff.Label);
|
||||
hediff.Severity -= 1f;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue