further miscellaneous improvements

This commit is contained in:
c0ffee 2021-04-13 12:40:37 -07:00
parent eb7fe3bfae
commit c8b96b4b5c
8 changed files with 15 additions and 13 deletions

Binary file not shown.

View File

@ -19,7 +19,7 @@
</li> </li>
<li Class="ThinkNode_ConditionalRandom"> <li Class="ThinkNode_ConditionalRandom">
<chance>0.45</chance> <chance>0.40</chance>
<subNodes> <subNodes>
<li Class="RJW_Events.JobGiver_FindOrgyPartner"></li> <li Class="RJW_Events.JobGiver_FindOrgyPartner"></li>
</subNodes> </subNodes>

View File

@ -9,7 +9,7 @@
<calledOffMessage>The orgy has been called off.</calledOffMessage> <calledOffMessage>The orgy has been called off.</calledOffMessage>
<finishedMessage>The orgy has finished.</finishedMessage> <finishedMessage>The orgy has finished.</finishedMessage>
<duty>Orgy</duty> <duty>Orgy</duty>
<workerClass>GatheringWorker_Party</workerClass> <workerClass>RJW_Events.GatheringWorker_Orgy</workerClass>
<gatherSpotDefs> <gatherSpotDefs>
<li>PartySpot</li> <li>PartySpot</li>
</gatherSpotDefs> </gatherSpotDefs>

View File

@ -63,7 +63,7 @@ namespace RJW_Events
}; };
Toil toil = new Toil(); Toil toil = new Toil();
toil.defaultCompleteMode = ToilCompleteMode.Never; toil.defaultCompleteMode = ToilCompleteMode.Never;
toil.socialMode = RandomSocialMode.Off; toil.socialMode = RandomSocialMode.Normal;
toil.defaultDuration = this.duration; toil.defaultDuration = this.duration;
toil.handlingFacing = true; toil.handlingFacing = true;
toil.FailOn(() => this.Partner.CurJob.def != PartnerJob); toil.FailOn(() => this.Partner.CurJob.def != PartnerJob);

View File

@ -54,7 +54,7 @@ namespace RJW_Events
{ {
Toil toil = new Toil(); Toil toil = new Toil();
toil.defaultCompleteMode = ToilCompleteMode.Never; toil.defaultCompleteMode = ToilCompleteMode.Never;
toil.socialMode = RandomSocialMode.Off; toil.socialMode = RandomSocialMode.Normal;
toil.handlingFacing = true; toil.handlingFacing = true;
toil.tickAction = delegate () toil.tickAction = delegate ()
{ {

View File

@ -50,15 +50,15 @@ namespace RJW_Events
public override float VoluntaryJoinPriorityFor(Pawn p) public override float VoluntaryJoinPriorityFor(Pawn p)
{ {
if (!CasualSex_Helper.CanHaveSex(p) || p.Map.mapPawns.FreeColonists.Exists((Pawn p1) => if (!CasualSex_Helper.CanHaveSex(p)) return 0;
{
return p.relations.SecondaryRomanceChanceFactor(p1) > 0 || p1.relations.SecondaryRomanceChanceFactor(p) > 0;
})) return 0;
return base.VoluntaryJoinPriorityFor(p); return base.VoluntaryJoinPriorityFor(p);
} }
public bool IsGatheringAboutToEnd()
{
return timeoutTrigger.TicksLeft < 300;
}
} }
} }

View File

@ -15,9 +15,9 @@ namespace RJW_Events
public static void Postfix(LordToil_Party toil) public static void Postfix(LordToil_Party toil)
{ {
List<Pawn> ownedPawns = toil.lord.ownedPawns; List<Pawn> ownedPawns = toil.lord.ownedPawns;
foreach(Pawn p in ownedPawns) for (int i = 0; i < ownedPawns.Count; i++)
{ {
p.Drawer.renderer.graphics.ResolveApparelGraphics(); ownedPawns[i].Drawer.renderer.graphics.ResolveApparelGraphics();
} }
} }
} }

View File

@ -14,7 +14,9 @@ namespace RJW_Events
{ {
public static bool Prefix(PawnGraphicSet __instance) public static bool Prefix(PawnGraphicSet __instance)
{ {
if(LordUtility.GetLord(__instance.pawn)?.LordJob != null && LordUtility.GetLord(__instance.pawn).LordJob is LordJob_Joinable_Orgy) if(LordUtility.GetLord(__instance.pawn)?.LordJob != null &&
LordUtility.GetLord(__instance.pawn).LordJob is LordJob_Joinable_Orgy &&
!(LordUtility.GetLord(__instance.pawn).LordJob as LordJob_Joinable_Orgy).IsGatheringAboutToEnd())
{ {
return false; return false;
} }