4.8.0 changes

This commit is contained in:
c0ffee 2021-08-28 10:29:18 -07:00
parent a0e88f1f23
commit 1195d292b0
7 changed files with 11 additions and 12 deletions

View file

@ -18,7 +18,7 @@ namespace Rimworld_Animations {
participants = participants =
participants.OrderBy(p => p.jobs.curDriver is rjw.JobDriver_SexBaseInitiator) participants.OrderBy(p => p.jobs.curDriver is rjw.JobDriver_SexBaseInitiator)
.OrderBy(p => p == sexProps.Giver) .OrderBy(p => p == sexProps.giver)
.OrderByDescending(p => rjw.GenderHelper.GetSex(p) == rjw.GenderHelper.Sex.futa) .OrderByDescending(p => rjw.GenderHelper.GetSex(p) == rjw.GenderHelper.Sex.futa)
.OrderBy(p => rjw.xxx.can_fuck(p)) .OrderBy(p => rjw.xxx.can_fuck(p))
.ToList(); .ToList();
@ -114,10 +114,10 @@ namespace Rimworld_Animations {
} }
return true; return true;
}); });
List<AnimationDef> optionsWithInteractionType = options.ToList().FindAll(x => x.interactionDefTypes != null && x.interactionDefTypes.Contains(sexProps.DictionaryKey)); List<AnimationDef> optionsWithInteractionType = options.ToList().FindAll(x => x.interactionDefTypes != null && x.interactionDefTypes.Contains(sexProps.sexType.ToStringSafe()));
if (optionsWithInteractionType.Any()) { if (optionsWithInteractionType.Any()) {
if (AnimationSettings.debugMode) if (AnimationSettings.debugMode)
Log.Message("Selecting animation for interaction type " + sexProps.DictionaryKey.defName + "..."); Log.Message("Selecting animation for interaction type " + sexProps.sexType.ToStringSafe() + "...");
return optionsWithInteractionType.RandomElement(); return optionsWithInteractionType.RandomElement();
} }
List<AnimationDef> optionsWithSexType = options.ToList().FindAll(x => x.sexTypes != null && x.sexTypes.Contains(sexType)); List<AnimationDef> optionsWithSexType = options.ToList().FindAll(x => x.sexTypes != null && x.sexTypes.Contains(sexType));

View file

@ -334,11 +334,10 @@ namespace Rimworld_Animations {
{ {
if(AnimationSettings.applySemenOnAnimationOrgasm && (pawn?.jobs?.curDriver is JobDriver_Sex)) if(AnimationSettings.applySemenOnAnimationOrgasm && (pawn?.jobs?.curDriver is JobDriver_Sex))
{ {
Pawn partner = (pawn.jobs.curDriver as JobDriver_Sex)?.Partner;
if (anim.sexTypes.Contains((pawn.jobs.curDriver as JobDriver_Sex).sexType)) if (anim.sexTypes.Contains((pawn.jobs.curDriver as JobDriver_Sex).Sexprops.sexType))
{ {
SemenHelper.calculateAndApplySemen(pawn, partner, (pawn.jobs.curDriver as JobDriver_Sex).sexType); SemenHelper.calculateAndApplySemen((pawn.jobs.curDriver as JobDriver_Sex).Sexprops);
} }
} }
} }

View file

@ -14,7 +14,7 @@ namespace Rimworld_Animations {
public int animationTimeTicks = 0; //do not set manually public int animationTimeTicks = 0; //do not set manually
public bool sounds = false; public bool sounds = false;
public List<rjw.xxx.rjwSextype> sexTypes = null; public List<rjw.xxx.rjwSextype> sexTypes = null;
public List<InteractionDef> interactionDefTypes = null; public List<String> interactionDefTypes = null;
public override void PostLoad() { public override void PostLoad() {
base.PostLoad(); base.PostLoad();

View file

@ -13,7 +13,7 @@ using Verse.AI;
namespace Rimworld_Animations namespace Rimworld_Animations
{ {
[HarmonyPatch(typeof(xxx), "in_same_bed")] [HarmonyPatch(typeof(Bed_Utility), "in_same_bed")]
public static class HarmonyPatch_JobDriver_InSameBedPatch public static class HarmonyPatch_JobDriver_InSameBedPatch
{ {
@ -44,7 +44,7 @@ namespace Rimworld_Animations
var toils = __result.ToList(); var toils = __result.ToList();
Toil goToPawnInBed = Toils_Goto.GotoThing(__instance.iTarget, PathEndMode.OnCell); Toil goToPawnInBed = Toils_Goto.GotoThing(__instance.iTarget, PathEndMode.OnCell);
goToPawnInBed.FailOn(() => !RestUtility.InBed(__instance.Partner) && __instance.Partner.CurJobDef != xxx.gettin_loved && !xxx.in_same_bed(__instance.Partner, __instance.pawn)); goToPawnInBed.FailOn(() => !RestUtility.InBed(__instance.Partner) && __instance.Partner.CurJobDef != xxx.gettin_loved && !Bed_Utility.in_same_bed(__instance.Partner, __instance.pawn));
toils[1] = goToPawnInBed; toils[1] = goToPawnInBed;

View file

@ -36,10 +36,10 @@ namespace Rimworld_Animations {
if (bed != null) { if (bed != null) {
RerollAnimations(Target, out AnimationTimeTicks, bed as Thing, __instance.sexType, quickie, sexProps: __instance.Sexprops); RerollAnimations(Target, out AnimationTimeTicks, bed as Thing, __instance.Sexprops.sexType, quickie, sexProps: __instance.Sexprops);
} }
else { else {
RerollAnimations(Target, out AnimationTimeTicks, sexType: __instance.sexType, fastAnimForQuickie: quickie, sexProps: __instance.Sexprops); RerollAnimations(Target, out AnimationTimeTicks, sexType: __instance.Sexprops.sexType, fastAnimForQuickie: quickie, sexProps: __instance.Sexprops);
} }

View file

@ -44,7 +44,7 @@
<Private>False</Private> <Private>False</Private>
</Reference> </Reference>
<Reference Include="RJW"> <Reference Include="RJW">
<HintPath>..\rjw\1.3\Assemblies\RJW.dll</HintPath> <HintPath>..\rjw-master\1.3\Assemblies\RJW.dll</HintPath>
<Private>False</Private> <Private>False</Private>
</Reference> </Reference>
<Reference Include="System" /> <Reference Include="System" />