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 Class="ThinkNode_ConditionalRandom">
<chance>0.45</chance>
<chance>0.40</chance>
<subNodes>
<li Class="RJW_Events.JobGiver_FindOrgyPartner"></li>
</subNodes>

View File

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

View File

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

View File

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

View File

@ -50,15 +50,15 @@ namespace RJW_Events
public override float VoluntaryJoinPriorityFor(Pawn p)
{
if (!CasualSex_Helper.CanHaveSex(p) || p.Map.mapPawns.FreeColonists.Exists((Pawn p1) =>
{
return p.relations.SecondaryRomanceChanceFactor(p1) > 0 || p1.relations.SecondaryRomanceChanceFactor(p) > 0;
})) return 0;
if (!CasualSex_Helper.CanHaveSex(p)) return 0;
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)
{
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)
{
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;
}