From 756831812ceef7a9208859cc414001d8d3822bcb Mon Sep 17 00:00:00 2001 From: BuildTools Date: Tue, 25 Jul 2017 17:23:59 -0400 Subject: [PATCH 1/2] Bugfixes Fixed Vehicle Turret firing animations, and Caravan setups of vehicles and colonists formation --- Assemblies/CompVehicle.dll | Bin 94720 -> 95232 bytes .../CompVehicle/CompVehicle.cs | 22 ++++++++++++++- .../CompVehicle/HarmonyCompVehicle.cs | 26 +++++++++++++++--- 3 files changed, 43 insertions(+), 5 deletions(-) diff --git a/Assemblies/CompVehicle.dll b/Assemblies/CompVehicle.dll index 744a63b35dafab710eb78811d5b111cd9ee44524..42d6a7aebb66221e26598c38e2fb96398d1b896f 100644 GIT binary patch delta 44671 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 delta 44323 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 diff --git a/Source/AllModdingComponents/CompVehicle/CompVehicle.cs b/Source/AllModdingComponents/CompVehicle/CompVehicle.cs index 4672e02b..c4d19250 100755 --- a/Source/AllModdingComponents/CompVehicle/CompVehicle.cs +++ b/Source/AllModdingComponents/CompVehicle/CompVehicle.cs @@ -448,6 +448,19 @@ public void ResolveStatus() //If it can move and it's in a caravan wandering than it might be stuck //aka the movement thing hasn't kicked in. Change draft status just to be safe. + //Fixes bug where weapon tries to fire even after gunner is removed + if (this.weaponStatus != WeaponState.able){ + if (this.Pawn.CurJob.def == JobDefOf.WaitCombat || this.Pawn.CurJob.def == JobDefOf.AttackStatic || this.Pawn.CurJob.def == JobDefOf.AttackMelee){ + if (!this.Pawn.pather.Moving) + { + this.Pawn.jobs.EndCurrentJob(JobCondition.None, false); + }else{ + this.Pawn.jobs.EndCurrentJob(JobCondition.None, true); + } + + } + //Log.Error(this.Pawn.CurJob.ToString()); + } if (this.movingStatus == MovingState.able) { //Removed caravan member check as apparently pawns currently forming a caravan aren't part of one yet @@ -468,13 +481,17 @@ public void ResolveStatus() //Vehicles that can't move shouldn't have Lords, it causes problems cause they never complete their jobs and toils if (this.Pawn.GetLord() != null) this.Pawn.GetLord().lordManager.RemoveLord(this.Pawn.GetLord()); + if (this.Pawn.pather != null && this.Pawn.pather.Moving) { if (this.tickCount > this.Props.momentumTimeSeconds * 60) { //No more fake momentum, vehicle should stop - this.Pawn.jobs.StopAll(); + //this.Pawn.jobs. + if(this.Pawn.pather.Moving){ + this.Pawn.jobs.EndCurrentJob(JobCondition.None, false); + } this.Pawn.pather.StopDead(); this.tickCount = 0; } @@ -485,6 +502,9 @@ public void ResolveStatus() } } } + if(this.movingStatus != MovingState.able && this.weaponStatus != WeaponState.able){ + this.Pawn.mindState.lastJobTag = JobTag.Idle; + } // ------ ADB Swenzi ------- } diff --git a/Source/AllModdingComponents/CompVehicle/HarmonyCompVehicle.cs b/Source/AllModdingComponents/CompVehicle/HarmonyCompVehicle.cs index 79240e33..4cfe8a06 100755 --- a/Source/AllModdingComponents/CompVehicle/HarmonyCompVehicle.cs +++ b/Source/AllModdingComponents/CompVehicle/HarmonyCompVehicle.cs @@ -155,24 +155,41 @@ static HarmonyCompVehicle() #endregion SwenziPatches } - //RimWorld.LordToil_PrepareCaravan_GatherItems + //RimWorld.LordToil_PrepareCaravan_GatherItems //Needs a transpiler i think.... Can't transpile cause my VM is down so i can't see IL code - public static bool ItemsLordToilTick_PreFix(LordToil_PrepareCaravan_GatherItems __instance) + private static bool firstRun = false; + public static bool ItemsLordToilTick_PreFix(LordToil_PrepareCaravan_GatherItems __instance) { if (Find.TickManager.TicksGame % 120 == 0) { + bool flag = true; for (int i = 0; i < __instance.lord.ownedPawns.Count; i++) { Pawn pawn = __instance.lord.ownedPawns[i]; if ((pawn.IsColonist || pawn.GetComp() != null) && pawn.mindState.lastJobTag != JobTag.WaitingForOthersToFinishGatheringItems) { - flag = false; - break; + //Rewrote this, it seems to fix the colonist + vehicle setups + //As to why? Dunno haha + if (!firstRun){ + flag = false; + firstRun = true; + break; + }else{ + if (pawn.CurJob.def != JobDefOf.WaitWander){ + flag = false; + break; + } + } + + //flag = false; + + //break; } } if (flag) { + //Log.Error("2nd Statement"); List allPawnsSpawned = __instance.Map.mapPawns.AllPawnsSpawned; for (int j = 0; j < allPawnsSpawned.Count; j++) { @@ -186,6 +203,7 @@ public static bool ItemsLordToilTick_PreFix(LordToil_PrepareCaravan_GatherItems if (flag) { __instance.lord.ReceiveMemo("AllItemsGathered"); + firstRun = false; } } return false; From 4638e8abb779788dafc7f56c93b20b1e0e165af8 Mon Sep 17 00:00:00 2001 From: BuildTools Date: Wed, 26 Jul 2017 00:35:12 -0400 Subject: [PATCH 2/2] BugFix Maybe maybe bug fix --- Assemblies/CompVehicle.dll | Bin 95232 -> 95744 bytes .../CompVehicle/CompVehicle.cs | 4 +- .../CompVehicle/HarmonyCompVehicle.cs | 281 ++++++++++++++++-- 3 files changed, 253 insertions(+), 32 deletions(-) diff --git a/Assemblies/CompVehicle.dll b/Assemblies/CompVehicle.dll index 42d6a7aebb66221e26598c38e2fb96398d1b896f..c9a3adc7fdd113dfee04374206f85efb85456e04 100644 GIT binary patch delta 43151 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

aTB3QrN2dhs?KDq+j`Hejv+F8 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

M0?QsXtMq4Q zvy=wIHcNjGSV8AX18d6w=ea3qsdZh6HK|$ZD{^b=P*(1l>`t1YM$4YC?Ngi6%95I- zooPdpVqdB63bTJ%)s%EVt;h?~L3MrAv?LBhvyvRPZ9UHh{7btqX|?625p78a)xOo! z1pT6yrv>TMBPZ%CtGM)+P0@-B_?8Dbv#0=b(I0ZS6BH>0FxZ{yC}Aa{u73 z*AdT_x z6fBq3xJFqW?$ItuSrnY;%2c-XJlDljaH}iR_PaMoqiiqXs=ZOUaPUUg#bOZdhS|5c z4k}ZFFSvHgm4i3YZh7!v9P}z$&4p^E6x-(A;%c;A+vg+Ke9P;h{jNQ-w||4B(RNMN z0heUualv!lU#?}sC-%rc_MVh{wQ$UvgkvrfVwQ=1T`%bO3i<(sdR>&^(EV_gU6-rwvFHq9^=s-raY?zyHZu1M`#$3Po_%yte@7ao zrMlF#M)kRHMOuxGyKkOySDyyUJ~}=bA;`wzs99Q@TYzyltawpctWmwZ@ba{;Y|rIg zlXgJ;9b^4~YQx=~TN&RQPv?{uE4QQ`P;bB(aVzKGnb`sLq=tLb4%)JZZAxPYoQj|u z%X=!V+4^YSF2I*d_ojU&2H|I7KsHe;`zyUt@>X>vmyTe%^ z+E<`(+`d>at(DUTG`J;uN#(Kb{lXGIOB`Z<7Pk3WMDM?Zqg^a)_Lm6Q8&bM%z#!OAUeAI8F~lr8ARg5IdaZXL0L8Wk}8%F_A@H4^wcXe zv)6el?PDtM^z@Z^URWrm`$fuA@PkUM{~O-&42A&opL|8-=bpbrJl{%xXAPC=?SY(c zJzFV+IpQy|3K}f)3^~f~$T{elFBF|&|19Y7ZYB<~n=F6g{U{DSImFse&?>$4)==?j zfN%Dl=j|btC%1ZQ)J>&Jyz_0mZZ1Y+u>L6)24vC>`waX0!Cz4YD>To3U!~%kZ~L*- z?kiCE_77ny9Q4h%KiM-Mly_YvzSYv`f?M~9=T;1f`;F8stdPg;a$yRmsvb}=$gk&eHF%K|bTgZ*F0 zP1Xnde(USucr^15pCs?+C6wb&z()D0y(pMK81Nb3ey?l4x`1Hz{V^}hi^2!XRru0+5s#1;o zSLKeBZt2o_p`P=bU@)oj3E|b6(Q=jfJisPyDfezkBtFQNdN7d!w%z zZJziq^4~QqPqgryQOXWg>iB5P=SHJCqC&|nb-au8D$hHGIk_F4SEr22ZDxgcc-|g6 z3#F0pt+~e?4^C;yRq>7X0pLin30NT7alJ?(QzGIaQ1I^{;6yH+%;~9|u8wnN4l?wd z@?&61GUbO{yaf%Z_;Woq@guPX_?YMfJ|T7jyT#+cr$jgKr(zHA-?;9xT=#jdd$pvF z$4L@vqNLU)$t}4)F+=_{uv*4{hQl2BEO4GY2)r3-MQoC;h5+zp%{z7H&CoX$8~+#Lt$ zCb0>)h)H)aHi;)dStDL5OvwMhXm-mZz$V9izy#xN#v_bp7#&$uTEsY;v57IkxSO$` z@d)E-#`qaN2q#q*&If@GP8TuGW^7_iFz#kN!gz+!;o^=NXEQc2CKz`!9$`Gg=x{SX zV|6@0U77(Rb#oebu0Xm!O!P<&rK=em(rJS!2A7T`tY++H>}Nd9DDs$x@pJ*DMIrMu zHZYonaUykdrk}Cy;v6``)u|G{8`=H2! z0&##4j3#3@Vd~{GW8-hS{^UC3{++v7U8SB>zfl)>+B{vJUwDpt^0RBQJF=h6ekB_Z z>GYNPs(s6S?Y`~4<36W9$6w@s$bZJ~4onF&23`r=5!?`r2e$?P82mW+WpH$;EOc|| z_E25ummw98bdPHvXPY8f=p*#mzFb#jU6icU#20l_%^#4jPsEQ5qe>?p~ z)pwXKN2lKUpbmGpz=J$+8wlJkKs1Rcuo>ZpVrwyQlNby90Zww_2Pp(31%GoZ0X~k) zw-iLxQs6FxDExjPDu7SpNhXRoiYvSo@v@i>Jd3M#6r3`-4){4vr7HMIbT&}P8lV!F zb8%2*Ezm1(0_My4zye(KrHE_gLf|C12v{YT0H@2_@#o^Ci~|2r76BiY#lS6cEbtK- z18$QOfZJsWhVWZ(7K`73vsnD6EC;>;&SLQlca8`-$fwM|Hpv)AGD)A4g z$`9u*DskW9cB?^kv^q~6=lPCjrgy#f0q-;37rf8;Zt*wxSNhxh8~uCym;HMJPX(U| z9uB@ATA(e{8nt~|ulAburgmBztN*M1w!S6j$(-p%gHf3}`C+(uAOD(ypH?%kb-9E1 z@rPcT_`}F$52e#Z_+f;8<8Y?4z;(G(@e|8mzgqC444ti~N5T-&YvT>6c^~~M{(I5y zIw<>HN98_y7O z?4UB&drB$sEdu|STqhBzbzIDT$njsnj~yGeKRJ$RLFJg{%-X1}lNYm%tc|*n^@CgV zb@Ew!p4Z#tSy}6t=Qfmwal-!7@H*MxtrM4XewL*ewT{ignN?wYmURlBV6M|ShDJ1F zeba^;SFK&!(mbo8zP@ylm|{Hd%<1^%+BLlu!oT{t@v!^?Dp;gx2FcVO=)vt-J1x!EzLzKmLr;`o2I zPE@jaRqEc$qoJ78YnM|hk98OqAc#-}dyoH~i$S8yBzrZR;-k&V_P8excjYTcvIls)lZ!LZT}} z=(1m0C_Ci|d+DumUVfX~W$1NMZ^ISEx^+sk-f<(*hNS)Px60?_CA)2r{Pl!dy~Y_4 zdb`sR!Gp^Xi30)3o4c}HdbG@eMt$m?AX^E_uvcwY+JQQ;WMv5VsJBVdj7TA3bw^T4fh=+GTI3OL~B<^ImRf(ZSYj3kB-6pH#{r2kH9#VU!{mE_eTDi-P-YzTRr<`t#;Sw%M z0tWEx7TqEX1quQ5$&NUN^T9|KMBS&i?@hm93cdXhaZ}fp^h6}8K#wQVLLjX;y{InH zGcb_WX@>6<__D`@q`V3WZ3QyxDKE>90b71<^^{$*R2D>QGagivg$5&JCQZ#)qK0yv z_UffF3i&K)Ke|-jWKe4+c_Y~fXV9h85>fl3rE*N%93+k58u>uL4d)5@d~i1S)>h`q z91<070iQ5?16lB@g^)!{R5`F*zI# zPhlC7%TT_BLbQUm1|ZN zv(*@yHB&(`#+iOAipn)r^r)iYIA$AkpeW=aR;++!hy^^}v{P9nL#8fCo4RDUq!f;e z8iB$BhgbU89Q)YB6>JoUkT#B0LUuO0)O3h2yV&e)G$VDZZJvsG1UH8jtrAtU?ssQI zrt+`|%S?< zw&I4Vy43*&&^vHD9u%Q{tJZMC>%Y|>2ROSt^?waoOl-CWXr5cJtv)8gPd+pJ8$))30`FuP^t0$w; z9vX;dt%A?{3^&Zo6G^vP?Vh`2&M5N=Mr*awC~C-OVL*hm_9z08{qkKh7HU%wc_B8f z3W)S=JL~0$g0>;&wc5}PN!d2EaXUS{W9Ri7z{mulnNnf4r+;BJ5evkW~Qza z3_c$!CJsaYM>9-%;`p_0Bdti3vKx~D;nJC|z9kJ5p!kArPavRiIDm(PARIVRh-Ob< z<$=Sah!2V0K-3*XE{EUO3V-?K<}u-Fy}$=!PdBAC&<4y}i8wrYgZ*n)JkbNqxIg}F*xCGm7T;-_%q!z0$nDrT<_kq4ss5fjZ9;LrU;qgZM71|x1ss?zck zmmsO)1Cx@O$&d*3tgZH2jdHZh9K^^6cdn45WQSd_LQZNS{UcnbU^5i4Lo!rs3^=EQegotf-bPg+NN z!B48$i#O?woU{kNo|HqAZ!ftlVurOhqfQ*tRf4cM)%c4gt*6NCMmszadUW&EOtJ;X z{YqT7TAhq4A=Vb17binAH%m2*iWde; zkE|yc85)m$1KSGNw*p20du zI?1yaG|PMitJ&ISIdUd%1Gm!Blv%DDv(r(IBLIRfg**gKOb#s>GxTH$5mYx%HT!V0 zyip#t)fTx1{*X394b5M24?Ec+=iEG#I=!A9>_j>~`H4bXfaH9YBu>sJpVX5}urI`_ z*M$`4>xkIG6D8S#v~}Fhxm!l6TGPhV%;O#`Krky(ASLfd;)D^wGLdW>%EE2tBi^t& zHrlOs%fiX{s{~PK6ZJz^L=@`DPBK!m(@m3KPj020c?gfVLgfg$$C7Bjc()uCr@hiC zHYjbPF=MSl#Z`c5k=#XV8x93DPHPj(Y^9lyO?x2{KBzX?gGRU^lHf;hG~IkckLWma zfi0AILbK|$y_#ESza7NNI{fD`fKc&Xw|50oF;-v3*)h zV=>_`HA7RY$9{jM+!V()I&BQhWJ>JEXjE?|g^dl_uaH=1q7+gtN-#V_L4txn!X629 zGLqRzsbYc{WuG5zu0w?=Q&Ge0rGgi-T*VL`v>B8=mT?QrcBt0B=jGb$w5jU^+QGo}GwcEUc5C@f^W2!V%H-HeH(MRS0rBLL=urO}swyq~J^_mdv z=Fm|Mm51=1L$84yAzCpDgmU^)MeBM`Nb$#6DBd?>NeR*V#%j+Tc;t${i4|eZhdgL# zVMxiwIkXV1j(Uxc7PkdKYxZ zt&<{9-@IavUMnltlwdpPK~?nOQ+z|a01M|zRie>wDDq?TYsE4lu*8SuVkjO`{VZ(j zA{={Z26i~HkcNEprH4gFE0}#0eGadcMKd~vgLGG5IFypqdo=oLghbDfP4T^s7gmsH z=V+1efv~wiY$BiOf=hra zZ7)PT^s$oLK4HJ!Dres;(Khxz>5fYHVD4pxLN7_iD@!5h*d}1qkg)5|^saO@`oah? zTkIA0%DI&to^it?8b>3_0$Od^#_663 PawnsInVehicle public bool CanManipulate => this.Props.manipulationHandling > HandlingType.HandlerRequired || ManipulationHandlerAvailable; public bool ManipulationHandlerAvailable { + get { bool result = false; @@ -228,6 +229,7 @@ public void InitializeVehicleHandlers() } public void ResolveFactionPilots() { + //this.Pawn.pather. //-------- Additions Made By Swenzi -------- //Purpose: Remove Spawning of Premade Pawns in Vehicles //Logic: Players should not get free pawns for making vehicles diff --git a/Source/AllModdingComponents/CompVehicle/HarmonyCompVehicle.cs b/Source/AllModdingComponents/CompVehicle/HarmonyCompVehicle.cs index 4cfe8a06..f0e4881e 100755 --- a/Source/AllModdingComponents/CompVehicle/HarmonyCompVehicle.cs +++ b/Source/AllModdingComponents/CompVehicle/HarmonyCompVehicle.cs @@ -1,4 +1,4 @@ -using Harmony; +using Harmony; using RimWorld; using System.Collections.Generic; using System.Linq; @@ -120,14 +120,14 @@ static HarmonyCompVehicle() //The math on this is sound, I just don't know what the game is doing to turn the result into tiny values harmony.Patch(AccessTools.Method(typeof(RimWorld.Planet.CaravanTicksPerMoveUtility), "GetTicksPerMove", new Type[] { typeof(List) }), null, new HarmonyMethod(typeof(HarmonyCompVehicle),nameof(GetTicksPerMove_PostFix))); - //Tries to find satisfy the vehicle's fuel "need" + ////Tries to find satisfy the vehicle's fuel "need" harmony.Patch(AccessTools.Method(typeof(RimWorld.Planet.CaravanPawnsNeedsUtility), "TrySatisfyPawnNeeds"), new HarmonyMethod(typeof(HarmonyCompVehicle),nameof(TrySatisfyPawnNeeds_PreFix)), null); - //Remove pawns from the vehicle when making a caravan + ////Remove pawns from the vehicle when making a caravan harmony.Patch(AccessTools.Method(typeof(RimWorld.Planet.CaravanMaker), "MakeCaravan"), null, new HarmonyMethod(typeof(HarmonyCompVehicle),nameof(MakeCaravan_PostFix))); - //Remove pawns from the vehicle when exiting the map in an already formed caravan - harmony.Patch(AccessTools.Method(typeof(RimWorld.Planet.CaravanExitMapUtility), "ExitMapAndJoinOrCreateCaravan"), null, new HarmonyMethod(typeof(HarmonyCompVehicle),nameof(ExitMapAndJoinOrCreateCaravan_PostFix))); + ////Remove pawns from the vehicle when exiting the map in an already formed caravan + harmony.Patch(AccessTools.Method(typeof(RimWorld.Planet.CaravanExitMapUtility), "ExitMapAndJoinOrCreateCaravan"), new HarmonyMethod(typeof(HarmonyCompVehicle), nameof(ExitMapAndJoinOrCreateCaravan_PreFix)), null); //Add pawns back to the vehicle and remove them from the caravan when entering the map //Converted to prefix which should fix map enter cloning (Cloning did occur previously but clones were removed via resolve ejection) @@ -147,6 +147,12 @@ static HarmonyCompVehicle() //Vehicles Item Pickup Fix! harmony.Patch(AccessTools.Method(typeof(LordToil_PrepareCaravan_GatherItems),"LordToilTick"), new HarmonyMethod(typeof(HarmonyCompVehicle), "ItemsLordToilTick_PreFix"), null); + //Vehicles Terrain Patch + //harmony.Patch(AccessTools.Method(typeof(PathGrid), "CalculatedCostAt"), new HarmonyMethod(typeof(HarmonyCompVehicle), "CalculatedCostAt_PreFix"), null); + + //harmony.Patch(AccessTools.Method(typeof(PathFinder), "FindPath",new Type[] { typeof(IntVec3),typeof(LocalTargetInfo), typeof(Pawn), typeof(PathEndMode) }), new HarmonyMethod(typeof(HarmonyCompVehicle), "FinalWalkableNonDoorCell_PreFix"), null); + + //harmony.Patch(AccessTools.Method(typeof(JobDriver), "DriverTick"), new HarmonyMethod(typeof(HarmonyCompVehicle), "DriverTick_PreFix"), null); //Not Working //Get the vehicle to spawn at a site in the world map when abandoned //harmony.Patch(AccessTools.Method(typeof(RimWorld.Planet.CaravanPawnsAndItemsAbandonUtility), "TryAbandonViaInterface"),new HarmonyMethod(typeof(RevampedEconomy.HarmonyPatches),nameof(TryAbandonViaInterface_PreFix)),null); @@ -155,6 +161,188 @@ static HarmonyCompVehicle() #endregion SwenziPatches } + // public static bool DriverTick_PreFix(JobDriver __instance){ + //Traverse traverseobj = Traverse.Create(__instance); + ////Map map = ; + // try + //{ + // __instance.ticksLeftThisToil--; + // __instance.debugTicksSpentThisToil++; + // if (traverseobj.Property("CurToil").GetValue() == null) + // { + // if (!__instance.pawn.stances.FullBodyBusy || traverseobj.Property("CanStartNextToilInBusyStance").GetValue()) + // { + // __instance.ReadyForNextToil(); + // } + // } + // else if ((bool)AccessTools.Method(typeof(JobDriver), "CheckCurrentToilEndOrFail").Invoke(__instance, new object[] {})) + // { + // if (traverseobj.Field("curToilCompleteMode").GetValue() == ToilCompleteMode.Delay) + // { + // if (__instance.ticksLeftThisToil <= 0) + // { + // __instance.ReadyForNextToil(); + // //return; + // return false; + // } + // } + // else if (traverseobj.Field("curToilCompleteMode").GetValue() == ToilCompleteMode.FinishedBusy && !__instance.pawn.stances.FullBodyBusy) + // { + // __instance.ReadyForNextToil(); + // return false; + // } + // if (traverseobj.Field("wantBeginNextToil").GetValue()) + // { + // TryActuallyStartNextToil(__instance) + // //AccessTools.Method(typeof(JobDriver), "TryActuallyStartNextToil").Invoke(__instance, new object[] { }); + // } + // else if (traverseobj.Field("curToilCompleteMode").GetValue() == ToilCompleteMode.Instant && __instance.debugTicksSpentThisToil > 300) + // { + // Log.Error(string.Concat(new object[] + // { + // __instance.pawn, + // " had to be broken from frozen state. He was doing job ", + // traverseobj.Property("CurJob").GetValue(), + // ", toilindex=", + // traverseobj.Property("CurToilIndex").GetValue() + // })); + // __instance.ReadyForNextToil(); + // } + // else + // { + // Job curJob = traverseobj.Property("CurJob").GetValue(); + // if (traverseobj.Property("CurToil").GetValue().preTickActions != null) + // { + // Toil curToil = traverseobj.Property("CurToil").GetValue(); + // for (int i = 0; i < curToil.preTickActions.Count; i++) + // { + // curToil.preTickActions[i](); + // if (traverseobj.Property("CurJob").GetValue() != curJob) + // { + // return false; + // } + // if (traverseobj.Property("CurToil").GetValue() != curToil ||traverseobj.Field("wantBeginNextToil").GetValue()) + // { + // return false; + // } + // } + // } + // if (traverseobj.Property("CurToil").GetValue().tickAction != null) + // { + // traverseobj.Property("CurToil").GetValue().tickAction(); + // } + // } + // } + //} + //catch (Exception ex) + //{ + // __instance.pawn.jobs.StartErrorRecoverJob(string.Concat(new object[] + // { + // "Exception in Tick (pawn=", + // __instance.pawn, + // ", job=", + // traverseobj.Property("CurJob").GetValue(), + // ", CurToil=", + // traverseobj.Property("CurToilIndex").GetValue(), + // "): ", + // ex + // })); + //} + // return false; + //} + + //private static void TryActuallyStartNextToil(JobDriver __instance) + //{ + // Traverse traverseobj = Traverse.Create(__instance); + // if (!__instance.pawn.Spawned) + // { + // return; + // } + // if (__instance.pawn.stances.FullBodyBusy && !traverseobj.Property("CanStartNextToilInBusyStance").GetValue()) + // { + // return; + // } + // if (traverseobj.Property("HaveCurToil").GetValue()) + // { + // traverseobj.Property("CurToil").GetValue().Cleanup(); + // } + // traverseobj.Field("curToilIndex").GetValue()++; + // traverseobj.Field("wantBeginNextToil").GetValue() = false; + // if (!traverseobj.Property("HaveCurToil").GetValue()) + // { + // if (__instance.pawn.stances != null && __instance.pawn.stances.curStance.StanceBusy) + // { + // Log.ErrorOnce(string.Concat(new object[] + // { + // __instance.pawn, + // " ended job ", + // traverseobj.Property("CurJob").GetValue(), + // " due to running out of toils during a busy stance." + // }), 6453432); + // } + // __instance.EndJobWith(JobCondition.Succeeded); + // return; + // } + // __instance.debugTicksSpentThisToil = 0; + // __instance.ticksLeftThisToil = traverseobj.Property("CurToil").GetValue().defaultDuration; + // traverseobj.Field("curToilCompleteMode").GetValue() = traverseobj.Property("CurToil").GetValue().defaultCompleteMode; + // if (!(bool)AccessTools.Method(typeof(JobDriver), "CheckCurrentToilEndOrFail").Invoke(__instance, new object[] { })) + // { + // int num = __instance.CurToilIndex; + // if (traverseobj.Property("CurToil").GetValue().preInitActions != null) + // { + // for (int i = 0; i < traverseobj.Property("CurToil").GetValue().preInitActions.Count; i++) + // { + // traverseobj.Property("CurToil").GetValue().preInitActions[i](); + // if (__instance.CurToilIndex != num) + // { + // break; + // } + // } + // } + // if (__instance.CurToilIndex == num) + // { + // if (traverseobj.Property("CurToil").GetValue().initAction != null) + // { + // try + // { + // traverseobj.Property("CurToil").GetValue().initAction(); + // } + // catch (Exception ex) + // { + // __instance.pawn.jobs.StartErrorRecoverJob(string.Concat(new object[] + // { + // "JobDriver threw exception in initAction. Pawn=", + // __instance.pawn, + // ", Job=", + // traverseobj.Property("CurJob").GetValue(), + // ", Exception: ", + // ex + // })); + // return; + // } + // } + // if (__instance.CurToilIndex == num && !__instance.ended && traverseobj.Field("curToilCompleteMode").GetValue() == ToilCompleteMode.Instant) + // { + // __instance.ReadyForNextToil(); + // } + // } + // } + //} + + public static void FinalWalkableNonDoorCell_Prefix(){ + Log.Error("t"); + } + + public static bool CalculatedCostAt_Prefix(IntVec3 c, bool perceivedStatic, IntVec3 prevCell, PathGrid __instance){ + Log.Error("test"); + Traverse traverseobj = Traverse.Create(__instance); + Map map = traverseobj.Field("map").GetValue(); + Log.Error(map.thingGrid.ThingsListAt(prevCell).First().Label); + return true; + } + + //RimWorld.LordToil_PrepareCaravan_GatherItems //Needs a transpiler i think.... Can't transpile cause my VM is down so i can't see IL code private static bool firstRun = false; @@ -162,7 +350,6 @@ public static bool ItemsLordToilTick_PreFix(LordToil_PrepareCaravan_GatherItems { if (Find.TickManager.TicksGame % 120 == 0) { - bool flag = true; for (int i = 0; i < __instance.lord.ownedPawns.Count; i++) { @@ -706,40 +893,72 @@ public static void MakeCaravan_PostFix(IEnumerable pawns, bool addToWorldP //Improvements: Combine this with the previous patch method? //RimWorld.Planet.CaravanExitMapUtility - public static void ExitMapAndJoinOrCreateCaravan_PostFix(Pawn pawn) + + //Bad code, needs transpiler cause i nuked vanilla code again + public static bool ExitMapAndJoinOrCreateCaravan_PreFix(Pawn pawn) { + //Vanilla code start Caravan caravan = CaravanExitMapUtility.FindCaravanToJoinFor(pawn); - CompVehicle vehicle = pawn.GetComp(); - if (vehicle.AllOccupants.Count > 0) + if (caravan != null) { - if (vehicle.PawnsInVehicle == null) - vehicle.PawnsInVehicle = vehicle.handlers; + pawn.DeSpawn(); + caravan.AddPawn(pawn, true); + pawn.ExitMap(false); } - if (vehicle != null && vehicle.handlers != null && vehicle.handlers.Count > 0) + //Vanilla code edit transpiler here for if statement + else if (pawn.IsColonist || pawn.GetComp() != null) { - foreach (VehicleHandlerGroup group in vehicle.handlers) + List list = CaravanExitMapUtility.AvailableExitTilesAt(pawn.Map); + Caravan caravan2 = CaravanExitMapUtility.ExitMapAndCreateCaravan(Gen.YieldSingle(pawn), pawn.Faction, pawn.Map.Tile, (!list.Any()) ? pawn.Map.Tile : list.RandomElement()); + caravan2.autoJoinable = true; + if (pawn.Faction == Faction.OfPlayer) { - for (int i = 0; i < group.handlers.Count; i++) + Messages.Message("MessagePawnLeftMapAndCreatedCaravan".Translate(new object[] { - Pawn tpawn = group.handlers[i]; - //Store vehicle handler group structure in comp variable - if (vehicle.AllOccupants.Count > 0) - { - //Add pawns to the comp variable for usage on reentering the map - foreach (VehicleHandlerGroup vgroup in vehicle.PawnsInVehicle) - { - if (vgroup.role == group.role) - { - vgroup.handlers.Add(tpawn); - } - } - } - //Remove the pawn from the vehicle and add it to the caravan - caravan.AddPawn(tpawn, true); - group.handlers.Remove(tpawn); - } + pawn.LabelShort + }).CapitalizeFirst(), caravan2, MessageSound.Benefit); } } + else + { + Log.Error("Pawn " + pawn + " didn't find any caravan to join, and he can't create one."); + } + //Vanilla Code end + //caravan = CaravanExitMapUtility.FindCaravanToJoinFor(pawn); + if (pawn.GetComp() is CompVehicle vehicle) + { + if (!vehicle.AllOccupants.NullOrEmpty()) + { + if (vehicle.PawnsInVehicle == null) + vehicle.PawnsInVehicle = vehicle.handlers; + } + if (vehicle.handlers != null && vehicle.handlers.Count > 0) + { + foreach (VehicleHandlerGroup group in vehicle.handlers) + { + for (int i = 0; i < group.handlers.Count; i++) + { + Pawn tpawn = group.handlers[i]; + //Store vehicle handler group structure in comp variable + if (vehicle.AllOccupants.Count > 0) + { + //Add pawns to the comp variable for usage on reentering the map + foreach (VehicleHandlerGroup vgroup in vehicle.PawnsInVehicle) + { + if (vgroup.role == group.role) + { + vgroup.handlers.Add(tpawn); + } + } + } + //Remove the pawn from the vehicle and add it to the caravan + caravan.AddPawn(tpawn, true); + group.handlers.Remove(tpawn); + } + } + } + } + return false; } //Purpose: Put pawns back into vehicles on entering the map