From ac5721df826cd805b736e962ab1da2a814b8ea96 Mon Sep 17 00:00:00 2001 From: c0ffeeeeeeee Date: Wed, 28 Oct 2020 20:47:16 -0700 Subject: [PATCH] job duration reset during actor shift --- 1.2/Assemblies/Rimworld-Animations.dll | Bin 56320 -> 57856 bytes Source/Comps/CompBodyAnimator.cs | 23 ++++++++++++++++++ .../MainTabWindow_OffsetConfigure.cs | 12 +++++++-- 3 files changed, 33 insertions(+), 2 deletions(-) diff --git a/1.2/Assemblies/Rimworld-Animations.dll b/1.2/Assemblies/Rimworld-Animations.dll index 57a3061c5d05e37118783a02ee37acdd22b1f718..3c1bb66790dd1dffc0fe3ba1b47429ff52d77e8d 100644 GIT binary patch delta 11420 zcmb_i33yaRwmx;&-qPutPC9$iNq0ggox}tPB&;D2*&*yC5J(IG6r`aM1smza@K793 zm|_@UP!XT<6qm_F9hpHzVHi=PGWt{yk%%ZRY)>3O5#Fh~H=E0wdCc@@{#*Y!r_MQb zs_w12SL&Y^>-UN4?oNOFyZ$G@_#K0Ex0U1r97chn3!l5V{_)B7Sr-Auash!?#r0`U zo11_Q1;bF0MAL*ET0y#5c7K2(H~t-__YglhLZ2hu$T519q{nYUL-rene*(y`rU790 ztpJ3+{BG~&a>0>ox?2W_1kmW*)La@L>6R=?@fq4bGGX>uAv6j=%E*;6UH+2L7;Fon zzKDSu082)$Ei+2E5)%)QX!6I0tlYG-Ob$6wW{VPhH=@0txU6dNy(}AHc_}KEr?EqKv{=hNH&(wdWV5A>p(Z8mNg$qbr9lcKIQfcL~D-sv=CJR{12k& zDeqk2c9~Ae@Cf7O=H(fyNjTNK7JHKnS8%NW3%6&)ngbu=fZ1&r?Uw^bu)RGaF8DjH zj5micWlQL8E=>sTFf-p#y0BYf_e*5BY7XQ8vGPB(Sc9sXkT9VqTXiSBDKik zRDu(=2BSV4=%bh6VsGr&feH0O-RCjX*n13mj)@v4UjeikW`J*Nr`A ze`*p6pj~J&!jkDY0a&E55C-XveJJ_otkL+>|BvyBe`wsJEfIA68Crv;#ZGl{)*U))}(LW0y0`kq_@`f8ZSVnJ)PL zhc`yR+b(u5KY+~l4HqS1xHJqG&BDQorRe2~awksC;`68vd`q|WaMR1#{YVTg_Ahk& z9fhF_3~*Pogf7ut{=D$_*mRmSlM=cey9X{KbzLE>LOF8LP#Ha&LO(DYtWHi4%pu$g zCEpd4_^u-4jxi*^YnS915+H3hcJx7zg#-k@t&NGu!W~rVqLh(2Ð}_Rit1N7fN4 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.ActorIndex + " for animation " + def.label + (curPawn.TryGetComp().Mirror ? " mirrored" : "")); + listingStandard.Label("Name: " + curPawn.Name + " Race: " + curPawn.def.defName + " Actor Index: " + curPawn.TryGetComp().ActorIndex + " Animation: " + def.label + (curPawn.TryGetComp().Mirror ? " mirrored" : "")); if(curPawn.def.defName == "Human") { listingStandard.Label("Warning--You generally don't want to change human offsets, only alien offsets"); @@ -82,6 +81,15 @@ namespace Rimworld_Animations { for(int i = 0; i < curPawn.TryGetComp().actorsInCurrentAnimation.Count; i++) { curPawn.TryGetComp().actorsInCurrentAnimation[i].TryGetComp()?.shiftActorPositionAndRestartAnimation(); + + //reset the clock time of every pawn in animation + if(curPawn.TryGetComp().actorsInCurrentAnimation[i].jobs.curDriver is rjw.JobDriver_Sex) { + (curPawn.TryGetComp().actorsInCurrentAnimation[i].jobs.curDriver as rjw.JobDriver_Sex).ticks_left = def.animationTimeTicks; + (curPawn.TryGetComp().actorsInCurrentAnimation[i].jobs.curDriver as rjw.JobDriver_Sex).ticksLeftThisToil = def.animationTimeTicks; + (curPawn.TryGetComp().actorsInCurrentAnimation[i].jobs.curDriver as rjw.JobDriver_Sex).duration = def.animationTimeTicks; + (curPawn.TryGetComp().actorsInCurrentAnimation[i].jobs.curDriver as rjw.JobDriver_Sex).ticks_remaining = def.animationTimeTicks; + } + } }