diff --git a/1.5/Assemblies/RJW-Events.dll b/1.5/Assemblies/RJW-Events.dll
deleted file mode 100644
index 8884bdc..0000000
Binary files a/1.5/Assemblies/RJW-Events.dll and /dev/null differ
diff --git a/About/About.xml b/About/About.xml
index 8fa35f7..837eb8c 100644
--- a/About/About.xml
+++ b/About/About.xml
@@ -8,7 +8,6 @@
1.2
1.3
1.4
- 1.5
c0ffee.rjw.events
diff --git a/RJW-Events.csproj b/RJW-Events.csproj
index 8e6227c..1af1cb7 100644
--- a/RJW-Events.csproj
+++ b/RJW-Events.csproj
@@ -18,7 +18,7 @@
false
none
false
- 1.5\Assemblies\
+ 1.4\Assemblies\
DEBUG;TRACE
prompt
4
@@ -33,7 +33,7 @@
- ..\..\..\..\workshop\content\294100\839005762\1.5\Assemblies\0Harmony.dll
+ ..\..\..\..\workshop\content\294100\839005762\1.4\Assemblies\0Harmony.dll
False
@@ -41,7 +41,7 @@
False
- ..\rjw\1.5\Assemblies\RJW.dll
+ ..\rjw\1.4\Assemblies\RJW.dll
False
@@ -52,14 +52,6 @@
-
- ..\..\RimWorldWin64_Data\Managed\UnityEngine.dll
- False
-
-
- ..\..\RimWorldWin64_Data\Managed\UnityEngine.CoreModule.dll
- False
-
@@ -87,7 +79,6 @@
-
diff --git a/Source/IncidentWorkers/IncidentWorker_PsychicArouse.cs b/Source/IncidentWorkers/IncidentWorker_PsychicArouse.cs
index b4ddc11..11ec827 100644
--- a/Source/IncidentWorkers/IncidentWorker_PsychicArouse.cs
+++ b/Source/IncidentWorkers/IncidentWorker_PsychicArouse.cs
@@ -16,18 +16,32 @@ namespace RJW_Events
{
if (base.TryExecuteWorker(parms))
{
- SoundDefOf.PsychicSootheGlobal.PlayOneShotOnCamera(null);
- return true;
+ SoundDefOf.PsychicSootheGlobal.PlayOneShotOnCamera((Map)parms.target);
+ return true;
}
return false;
}
protected override void DoConditionAndLetter(IncidentParms parms, Map map, int duration, Gender gender, float points)
{
+ PsychicDroneLevel level;
+ if (points < 800f)
+ {
+ level = PsychicDroneLevel.BadLow;
+ }
+ else if (points < 2000f)
+ {
+ level = PsychicDroneLevel.BadMedium;
+ }
+ else
+ {
+ level = PsychicDroneLevel.BadHigh;
+ }
- GameCondition_PsychicEmanation gameCondition_PsychicEmanation = (GameCondition_PsychicEmanation)GameConditionMaker.MakeCondition(GameConditionDefOf.PsychicArouse, duration);
+ GameCondition_PsychicArouse gameCondition_PsychicEmanation = (GameCondition_PsychicArouse)GameConditionMaker.MakeCondition(GameConditionDefOf.PsychicArouse, duration);
gameCondition_PsychicEmanation.gender = gender;
+ gameCondition_PsychicEmanation.level = level;
map.gameConditionManager.RegisterCondition(gameCondition_PsychicEmanation);
base.SendStandardLetter(gameCondition_PsychicEmanation.LabelCap, gameCondition_PsychicEmanation.LetterText, gameCondition_PsychicEmanation.def.letterDef, parms, LookTargets.Invalid, Array.Empty());
diff --git a/Source/JobDrivers/JobDriver_GetNaked.cs b/Source/JobDrivers/JobDriver_GetNaked.cs
index bae7041..19f4e19 100644
--- a/Source/JobDrivers/JobDriver_GetNaked.cs
+++ b/Source/JobDrivers/JobDriver_GetNaked.cs
@@ -20,6 +20,7 @@ namespace RJW_Events
{
Toil t = new Toil();
t.AddFinishAction(() => {
+ GlobalTextureAtlasManager.TryMarkPawnFrameSetDirty(pawn);
SexUtility.DrawNude(pawn);
});
diff --git a/Source/LordJobs/LordJob_Joinable_Orgy.cs b/Source/LordJobs/LordJob_Joinable_Orgy.cs
index ea14f99..e4248e0 100644
--- a/Source/LordJobs/LordJob_Joinable_Orgy.cs
+++ b/Source/LordJobs/LordJob_Joinable_Orgy.cs
@@ -73,6 +73,11 @@ namespace RJW_Events
return base.VoluntaryJoinPriorityFor(p);
}
+ public new bool IsGatheringAboutToEnd()
+ {
+ return timeoutTrigger.TicksLeft < 300;
+ }
+
public override void Notify_PawnAdded(Pawn p)
{
if(participants == null)
@@ -88,8 +93,14 @@ namespace RJW_Events
foreach(Pawn participant in participants)
{
- participant.TryGetComp().drawNude = false;
- participant.Drawer.renderer.SetAllGraphicsDirty();
+ if (participant != null)
+ {
+ participant.mindState.Notify_OutfitChanged();
+
+ GlobalTextureAtlasManager.TryMarkPawnFrameSetDirty(participant);
+ if (xxx.is_human(participant))
+ participant.Drawer.renderer.graphics.ResolveAllGraphics();
+ }
}
participants = null;
diff --git a/Source/Patches/HarmonyPatch_Need_Sex.cs b/Source/Patches/HarmonyPatch_Need_Sex.cs
index 1f051fd..9ee48f1 100644
--- a/Source/Patches/HarmonyPatch_Need_Sex.cs
+++ b/Source/Patches/HarmonyPatch_Need_Sex.cs
@@ -33,7 +33,7 @@ namespace RJW_Events
case PsychicDroneLevel.None:
break;
case PsychicDroneLevel.GoodMedium:
- __result *= 1.5f;
+ __result *= 3;
break;
case PsychicDroneLevel.BadLow:
__result *= 3;
@@ -45,7 +45,7 @@ namespace RJW_Events
__result *= 9;
break;
case PsychicDroneLevel.BadExtreme:
- __result *= 12;
+ __result *= 9;
break;
default:
throw new NotImplementedException();
diff --git a/Source/Patches/HarmonyPatch_ReclotheOnEnd.cs b/Source/Patches/HarmonyPatch_ReclotheOnEnd.cs
index eb1fe12..8dc1ddd 100644
--- a/Source/Patches/HarmonyPatch_ReclotheOnEnd.cs
+++ b/Source/Patches/HarmonyPatch_ReclotheOnEnd.cs
@@ -17,7 +17,7 @@ namespace RJW_Events
List ownedPawns = toil.lord.ownedPawns;
for (int i = 0; i < ownedPawns.Count; i++)
{
- ownedPawns[i].Drawer.renderer.SetAllGraphicsDirty();
+ ownedPawns[i].Drawer.renderer.graphics.ResolveApparelGraphics();
}
}
}
diff --git a/Source/Patches/HarmonyPatch_ReclotheOnRemovePawn.cs b/Source/Patches/HarmonyPatch_ReclotheOnRemovePawn.cs
index 65da06d..832dc2e 100644
--- a/Source/Patches/HarmonyPatch_ReclotheOnRemovePawn.cs
+++ b/Source/Patches/HarmonyPatch_ReclotheOnRemovePawn.cs
@@ -16,7 +16,7 @@ namespace RJW_Events
{
if(__instance?.LordJob != null && __instance.LordJob is LordJob_Joinable_Orgy)
{
- p.Drawer.renderer.SetAllGraphicsDirty();
+ p.Drawer.renderer.graphics.ResolveApparelGraphics();
}
}
}
diff --git a/Source/Patches/HarmonyPatch_StayNudeForOrgy.cs b/Source/Patches/HarmonyPatch_StayNudeForOrgy.cs
index 600ca1a..b3f9c2a 100644
--- a/Source/Patches/HarmonyPatch_StayNudeForOrgy.cs
+++ b/Source/Patches/HarmonyPatch_StayNudeForOrgy.cs
@@ -9,7 +9,7 @@ using Verse.AI.Group;
namespace RJW_Events
{
- /*
+
[HarmonyPatch(typeof(PawnGraphicSet), "ResolveApparelGraphics")]
public static class HarmonyPatch_StayNudeForOrgy
{
@@ -24,6 +24,4 @@ namespace RJW_Events
return true;
}
}
-
- */
}
diff --git a/Source/ThinkNodes/ThinkNode_ConditionalNude.cs b/Source/ThinkNodes/ThinkNode_ConditionalNude.cs
index 7356c23..2f47e06 100644
--- a/Source/ThinkNodes/ThinkNode_ConditionalNude.cs
+++ b/Source/ThinkNodes/ThinkNode_ConditionalNude.cs
@@ -16,8 +16,27 @@ namespace RJW_Events
protected override bool Satisfied(Pawn pawn)
{
- if (!pawn.TryGetComp().drawNude)
+ //if pawn is rendering apparel they shouldn't be,
+ if (pawn.Drawer.renderer.graphics.apparelGraphics.Any((x) => {
+
+ if (
+ x.sourceApparel.def is bondage_gear_def
+ || x.sourceApparel.def.defName.ToLower().ContainsAny(new string[]
+ {
+ "vibrator",
+ "piercing",
+ "strapon"
+ })
+ || x.sourceApparel.def.apparel.bodyPartGroups.Contains(BodyPartGroupDefOf.UpperHead)
+ )
+ return false;
+
+ Log.Message("[c0ffee] " + x.sourceApparel.def.defName + " does not count as nude for Pawn " + pawn.Name.ToStringSafe());
+ return true;
+
+ }))
{
+ //they aren't nude
return false;
}