mirror of
https://gitgud.io/c0ffeeeeeeee/rimworld-animations.git
synced 2024-08-15 00:43:45 +00:00
fixed a bug causing multiple casual sex to not play orgy anim + more bodytype offsets
This commit is contained in:
parent
b5b4073b08
commit
eb325a8dce
6 changed files with 19 additions and 7 deletions
Binary file not shown.
|
@ -20,6 +20,9 @@
|
||||||
</defNames>
|
</defNames>
|
||||||
<isFucking>true</isFucking>
|
<isFucking>true</isFucking>
|
||||||
<initiator>true</initiator>
|
<initiator>true</initiator>
|
||||||
|
<bodyTypeOffset>
|
||||||
|
<Hulk>(0, 0.2)</Hulk>
|
||||||
|
</bodyTypeOffset>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<defNames>
|
<defNames>
|
||||||
|
@ -27,6 +30,9 @@
|
||||||
</defNames>
|
</defNames>
|
||||||
<isFucking>true</isFucking>
|
<isFucking>true</isFucking>
|
||||||
<initiator>true</initiator>
|
<initiator>true</initiator>
|
||||||
|
<bodyTypeOffset>
|
||||||
|
<Hulk>(0, 0.2)</Hulk>
|
||||||
|
</bodyTypeOffset>
|
||||||
</li>
|
</li>
|
||||||
</actors>
|
</actors>
|
||||||
|
|
||||||
|
|
|
@ -182,5 +182,9 @@ namespace Rimworld_Animations {
|
||||||
GenDraw.DrawMeshNowOrLater(mesh, pawnHeadPosition, Quaternion.AngleAxis(pawnAnimator.headAngle, Vector3.up), material, portrait);
|
GenDraw.DrawMeshNowOrLater(mesh, pawnHeadPosition, Quaternion.AngleAxis(pawnAnimator.headAngle, Vector3.up), material, portrait);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static readonly JobDef JoinInBedAnimation = DefDatabase<JobDef>.GetNamed("JoinInBedAnimation", true);
|
||||||
|
public static readonly JobDef GettinLovedAnimation = DefDatabase<JobDef>.GetNamed("GettinLovedAnimation", true);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -38,7 +38,7 @@ namespace Rimworld_Animations {
|
||||||
yield return Toils_Reserve.Reserve(ibed, Bed.SleepingSlotsCount, 0);
|
yield return Toils_Reserve.Reserve(ibed, Bed.SleepingSlotsCount, 0);
|
||||||
|
|
||||||
Toil get_loved = new Toil();
|
Toil get_loved = new Toil();
|
||||||
get_loved.FailOn(() => Partner.CurJobDef != DefDatabase<JobDef>.GetNamed("JoinInBedAnimation", true));
|
get_loved.FailOn(() => Partner.CurJobDef != AnimationUtility.JoinInBedAnimation);
|
||||||
get_loved.defaultCompleteMode = ToilCompleteMode.Never;
|
get_loved.defaultCompleteMode = ToilCompleteMode.Never;
|
||||||
get_loved.socialMode = RandomSocialMode.Off;
|
get_loved.socialMode = RandomSocialMode.Off;
|
||||||
get_loved.handlingFacing = true;
|
get_loved.handlingFacing = true;
|
||||||
|
|
|
@ -27,7 +27,7 @@ namespace Rimworld_Animations {
|
||||||
yield return Toils_Reserve.Reserve(ipartner, xxx.max_rapists_per_prisoner, 0, null);
|
yield return Toils_Reserve.Reserve(ipartner, xxx.max_rapists_per_prisoner, 0, null);
|
||||||
|
|
||||||
Toil goToPawnInBed = Toils_Goto.GotoThing(ipartner, PathEndMode.OnCell);
|
Toil goToPawnInBed = Toils_Goto.GotoThing(ipartner, PathEndMode.OnCell);
|
||||||
goToPawnInBed.FailOn(() => !RestUtility.InBed(Partner) && !xxx.in_same_bed(Partner, pawn));
|
goToPawnInBed.FailOn(() => !(RestUtility.InBed(Partner) || Partner.CurJobDef == AnimationUtility.GettinLovedAnimation));
|
||||||
|
|
||||||
yield return goToPawnInBed;
|
yield return goToPawnInBed;
|
||||||
|
|
||||||
|
@ -35,15 +35,17 @@ namespace Rimworld_Animations {
|
||||||
Toil startPartnerSex = new Toil();
|
Toil startPartnerSex = new Toil();
|
||||||
startPartnerSex.initAction = delegate {
|
startPartnerSex.initAction = delegate {
|
||||||
|
|
||||||
Job gettinLovedJob = JobMaker.MakeJob(DefDatabase<JobDef>.GetNamed("GettinLovedAnimation"), pawn, Bed); // new gettin loved toil that wakes up the pawn goes here
|
if(Partner.CurJobDef != AnimationUtility.GettinLovedAnimation) {
|
||||||
|
Job gettinLovedJob = JobMaker.MakeJob(AnimationUtility.GettinLovedAnimation, pawn, Bed); // new gettin loved toil that wakes up the pawn goes here
|
||||||
Partner.jobs.jobQueue.EnqueueFirst(gettinLovedJob);
|
Partner.jobs.jobQueue.EnqueueFirst(gettinLovedJob);
|
||||||
Partner.jobs.EndCurrentJob(JobCondition.InterruptForced);
|
Partner.jobs.EndCurrentJob(JobCondition.InterruptForced);
|
||||||
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
yield return startPartnerSex;
|
yield return startPartnerSex;
|
||||||
|
|
||||||
Toil sexToil = new Toil();
|
Toil sexToil = new Toil();
|
||||||
sexToil.FailOn(() => (Partner.CurJobDef == null) || Partner.CurJobDef != DefDatabase<JobDef>.GetNamed("GettinLovedAnimation", true)); //partner jobdriver is not sexbaserecieverlovedforanim
|
sexToil.FailOn(() => (Partner.CurJobDef == null) || Partner.CurJobDef != AnimationUtility.GettinLovedAnimation); //partner jobdriver is not sexbaserecieverlovedforanim
|
||||||
sexToil.socialMode = RandomSocialMode.Off;
|
sexToil.socialMode = RandomSocialMode.Off;
|
||||||
sexToil.defaultCompleteMode = ToilCompleteMode.Never;
|
sexToil.defaultCompleteMode = ToilCompleteMode.Never;
|
||||||
sexToil.handlingFacing = true;
|
sexToil.handlingFacing = true;
|
||||||
|
|
|
@ -19,7 +19,7 @@ namespace Rimworld_Animations {
|
||||||
if(__result != null) {
|
if(__result != null) {
|
||||||
Pawn partnerInMyBed = LovePartnerRelationUtility.GetPartnerInMyBed(pawn);
|
Pawn partnerInMyBed = LovePartnerRelationUtility.GetPartnerInMyBed(pawn);
|
||||||
RestUtility.WakeUp(pawn);
|
RestUtility.WakeUp(pawn);
|
||||||
__result = JobMaker.MakeJob(DefDatabase<JobDef>.GetNamed("JoinInBedAnimation", true), partnerInMyBed, partnerInMyBed.CurrentBed());
|
__result = JobMaker.MakeJob(AnimationUtility.JoinInBedAnimation, partnerInMyBed, partnerInMyBed.CurrentBed());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue