From a9ecd1e0fa2738003d5a95f472dcde4b16bfa60f Mon Sep 17 00:00:00 2001 From: "ProjectKoi-Kalo\\Kalo" Date: Tue, 16 Sep 2025 19:43:52 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9A=82=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 1.6/1.6/Assemblies/ArachnaeSwarm.dll | Bin 223232 -> 223232 bytes .../Thing_building/ARA_BioforgeIncubator.xml | 4 ++-- .../CompMultiFuelSpawner.cs | 20 ++++++++---------- .../CompRefuelableNutrition_WithKey.cs | 9 ++++++-- 4 files changed, 18 insertions(+), 15 deletions(-) diff --git a/1.6/1.6/Assemblies/ArachnaeSwarm.dll b/1.6/1.6/Assemblies/ArachnaeSwarm.dll index 4760967533c63054c9b43274a3a09b1cdca3b0a4..0d977f5f6725925707c8f9c1d60c84b838123f17 100644 GIT binary patch delta 9451 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 N+=1iF2Uyd__WuWtG%NrB delta 9356 zcmY+K30%}g8^`B2e|DF{1LcxLfzTucv9#25(abz5OT{dYlJYhcuRN0lK~w}m*Bm?{ z^B}pjMHa8}M9@IOQZX$pHR~<)?R?+fviF(!Pl|o&S-$)G%{ zID<0}W?dv-0t5a16Rt7lZM|!4?n1~9o(OQ>YSSHouE@5}Hb;r6kg z5u2Qk9Nq4>nR+$5z+m2OlWYd_p!VdszC5}D*y5aYJR0vg*BzgMtxnsCk$B(v=84(Z z<~nyGlw-T=x0A~_b~qDH^}tTo{!_ggBj5SQ`M2(F1m%+MU}I*S&F0EbWibmiy$1SrkhRvv4ZuTV8hb?z`p23u!os}$JUaL__lO)Rf3&b>mV_M6tc=lHqv);Z zYhN~P?r}FTld+ZwUUUxFB_5e89Xv8m8CiSA;49DTIu=&uo<0DVAwKF4A2IwnJcl~> zd(Yt`Lx>mgS#X&eK?D4#$QUa5XU3Y*OnXJ@OBmCB56O%A&>H;j8h#$lJfarSw2}AT zO?XSy*x|X^mqp{jXpJvL)L`_(9x;0`;)C2YdiFH3M6PA5gP(VxpHGK*v%eDG4@ML| z7ePbt7_NwcLlB8FF>46iL08pzHx~D#Mp5^krp&aDUyI&D5frA*Oi)N!}rq4v@QPjP9nJh%C z8-)+(=iZ~S8s|mbXru?7qlVJQ!J^lwFNI26}Y9602WFfai5GweL9l zrn~rcJOTbY7oR4gt?-UVEN;68#v>ZIWIu7~xS!@|kQ{0t{S{C$|t}{{A zDTAuh!<{gJ>TGRQyTBJMm8uL%ZA9-<*-gc+iImvi9Xbh(IrS`h3KbkGMoqyev=Qzp zsN;{TI$DYRx3CM3i@2%ii%ueED&9ei2$+U&&nL~vx{KIpxQad^Y&yoFr+evitOM-s zkQsOph!wfXcu3SHz#`ITBDzH%8pZfKhp42x0bA+$3iSTclSlRzXJ%prdWjLUs2Baj zqFL07=XEc>oQ0iuUZl;&TnrR%q|=uA&cU3Z0eX?gWG{$-J_PGEs!OW)9AFn zYgU~jwxrQy8{Nm!(4M12+**#8uuH_Qz%&$y!WG!+SE6e6UmQ$NzqzwTGFui3#lO?3 zNSE+iiSclY1uHR?AJnz-465~@D9nHp`(+Q82kp~^MbJcxWl)73c7K(L&1ij8tL>#K zgHkKaI!}uYS?Gf^;&K+A#Aj~*Y|P{$bQpc!WUoO+&^LN;Z#h^7HTXNx*@;KH=j~=J zB9XC1dl99M7im z+lp?|Z8x4x=XVs%Q3+@8pA@~Pv|0QYMV(c`Mf@*Czj@1XOSsiAz}SAe&RSs^Z(`if zmrmr6Yw{z*c$UGNH4rno9}VOSxT9BUMZp@1^LF>cwF` zK+#1tX9XXkXqD>dX+A>HyK1@Bd=!zxm#tAdbB4dB#Pe#JdOo2+F;{qk(#(yy$>%FF zH|Bf3Kv9T??8Og!ks@of!W0#`4D!s2!XrxfLS5J{zOJlFf=P-|6YoknA zzf;yQW1pg0MeU5E4N8kLPBowyqox6MHqNSX2UNSe8TE=Bs?hGn7mCa$<|*T{qHo%$ z9qnO!rO>Rqr*T!$AeG*3eB-V!#E;z^W2VwfEUkrovXw2vBt=)zzF#=ej0dy~MHTGN zCe4gxIQoEg+9b~tbE53aa6wa_9*+}U(c{XS$_zcH$$S;;j|fTg9SW0K#XO0F6Qr2T zF3;OYbWKqjo1Em;WjUNP%z>Mpead?Uax}d$p{G3^yEW}i{L>>H*EG2%|LL(3Av4W! zvg{1xX!=f3;4Ilks^;gp{p=ZdWR@he7a4f!0UCCXz%npH(Nz?5w6aX>*0eSwoQTbl zvm~=aUQ%nN=&IMsrOk{?v^5F#M5#s1frG49y{@HoBJ85Y)QLmvnMl#}?WDe>tyE-| zmWj0wP@bX`#;kHu&$s_s1c=%wG7DXWahhbIt1xFi809xBU4<+{SxnQk5%yIOCaFqS zVT;yep{tOuwMLW1kn?v9!hMOmZ-{&z^2;@PQV8BdZgonxbucx~;{>n!LSN*x$uTMP`b1sC|Gg zX{S61>(F02)WcnQ3(V9FZIp~~vKYb2*D3YC_=RXI-wJ6iC$E%uT`t|Txss^f4 zvL1dWsr9bMLt2vw*Q1TrMy++2M>eIYDs)GX>ADMVwFRQf{rYfYvvLU!FV)|16b4{}DV)~`uoK$X8G5r#2lI&A44k$AFRE!H+lYJ^diyYG_ z)0g1F21#c668x&@szdEl3H~xswXFmm8`VH{{g$ASNot!)@RBB(z67r*GM|GIj8$az zumn>T$?Lasj}pw&bjz!AkKI_J$>H|t++z9KuoK8uWFE^3)M}C&Q-K%q zWkU1WuE1nPSH0x-gbK_wNu7%d%-5Pc7Zq6U(4zdJP=WKBzK?u;CsowgOY`X<#R@T#;FJB`P(^vMUi)pzc4j?n(@#i|wCZK`JrCBvp4M zUe%hcyAttQljpe-?`x7}SE4|XEDb~zT9e1Q3YD5<`YQZYsDJ;Hzw=bVQl!$WgjHx{ zk~+^-@YkA5ScO+K$%IuHqsZ(`72Z;0cBTq*6s0f=?s`^XrKVD%Q`kyG_n$fNG>RJx zJPo(DIt^RwX?(1y&chb_2~KJX^K24Zje14qEH${U$V^{@TiSWt77$y5-!%P(kk~W0 zE6G6*!hRkSTMKKkTzv|A#R!T06ipPF)6^kIYeTI8v2|$QKs$@hT03Tmh&_t|4YbcO zL~Bo2y}EpkHydc@@RlM+3aj__>T(Xt8;IwzS`VB+1J7f}Jq_#vjwmt@R6UMsk~>Eg2;t9XQuk>K2`-Q#w4C~jW zw~BdUOcZa`ByWU#>#&MpBSm@?k3?_bisFyb%Vp_EdR;p5RAgg>XEcxGVe#T|dPSHR z70p|94I8WGRWV7$JQWYCctu4vPI|74myu17FsT zWr=S|>9C4nQ^l(tRf)+;N>GxDVKYRbDSa*n_ZELkN7CEUk*6Y?E855Kkj7#27Ex?nChsZ%pxP-jw1s-i+dZxF5wocmPEhK@<%mn4*`_lA@2%ieiWnO0l&OPO-BQ zLGcNrEyZVyb`+m=7?0A+3q}WuFB;JlhZ!*xhZ~Pke8cEWajZdqX~w1)T`5jAx>HOx z=x@qcieaaiZuFvX4yiYJVhD4sNiP`qI{ z;^^h3@iJaugLy~G2kb>lM@u0aNpTNLwfM0;EX@)?G2IeGF~br}ah0Vd#cWF}ifb&P ztdwmcXDQo4&QiA35>9a&IZN3Na+b1uO9aJTMW#weu z%l2E^Q9MZ2GIp4(W$dUWfZ}n>qZBL1S;i{KS;kITI#B$CoCnzVCu^Q{+6xdXn=Pi?zm3 z>`l%p7EjJ9_9i*2*aT}3t8%bOWUXRT$XdmwT3b<^PS$FcMAmAygsjyp%^FT|IXSCY zIytLZhBboXDstAaHRP;eYsp!|a%fF8Yy&xK*d}t;ur0Kt8kR@SGi)0<&#)cjJj3#7 zNoSa27g^7+Lb9G=#k8g~Y&Ti!*g>+^v5&}F$Bt6^I(D3#b*zG%b*z%o*RfONJj-gx zd6w0Z^DO&}(w}AL$a$7sAm>?jkBVYmNzv05 zLDAb5%IaAYn;%7ATL49WTU&~OK zvPg1XWbJJoC`OU=WD56l-k3zVuQ{*4wPk_6)_(+&{&XAGQN*#!~>co9YOOY+4Qe_Xn$j2aPva_KMBzd r$tvW}VXMOfd3mDyw|JukMDI6@0q!Pm8h;r4Lae*l1miYVce4E-uXiZI diff --git a/1.6/1.6/Defs/Thing_building/ARA_BioforgeIncubator.xml b/1.6/1.6/Defs/Thing_building/ARA_BioforgeIncubator.xml index c0985aa..a0dd17c 100644 --- a/1.6/1.6/Defs/Thing_building/ARA_BioforgeIncubator.xml +++ b/1.6/1.6/Defs/Thing_building/ARA_BioforgeIncubator.xml @@ -322,7 +322,7 @@ 50 - 25 + 12.5 true @@ -337,7 +337,7 @@ 50 - 25 + 12.5 true diff --git a/Source/ArachnaeSwarm/WULA_MutiFuelSpawner/CompMultiFuelSpawner.cs b/Source/ArachnaeSwarm/WULA_MutiFuelSpawner/CompMultiFuelSpawner.cs index 47bdfb6..7810269 100644 --- a/Source/ArachnaeSwarm/WULA_MutiFuelSpawner/CompMultiFuelSpawner.cs +++ b/Source/ArachnaeSwarm/WULA_MutiFuelSpawner/CompMultiFuelSpawner.cs @@ -28,7 +28,7 @@ namespace ArachnaeSwarm public class CompMultiFuelSpawner : ThingComp { private int ticksUntilSpawn; - private List fuelComps; // Changed to use the interface + private List fuelComps; public CompProperties_MultiFuelSpawner Props => (CompProperties_MultiFuelSpawner)props; @@ -39,7 +39,6 @@ namespace ArachnaeSwarm { ResetCountdown(); } - // Find all components that implement our interface fuelComps = parent.GetComps().OfType().ToList(); } @@ -54,21 +53,20 @@ namespace ArachnaeSwarm base.CompTick(); if (fuelComps.NullOrEmpty()) return; - - // Check if all fuel sources have fuel + bool allFuelsOk = fuelComps.All(c => c.HasFuel); - + if (allFuelsOk && (parent.GetComp()?.PowerOn ?? true)) { + // CORRECTED LOGIC: Consume fuel every tick + foreach (var comp in fuelComps) + { + comp.Notify_UsedThisTick(); + } + ticksUntilSpawn--; if (ticksUntilSpawn <= 0) { - // Consume fuel from all sources - foreach (var comp in fuelComps) - { - comp.Notify_UsedThisTick(); - } - TryDoSpawn(); ResetCountdown(); } diff --git a/Source/ArachnaeSwarm/WULA_MutiFuelSpawner/CompRefuelableNutrition_WithKey.cs b/Source/ArachnaeSwarm/WULA_MutiFuelSpawner/CompRefuelableNutrition_WithKey.cs index 9a59c22..d299841 100644 --- a/Source/ArachnaeSwarm/WULA_MutiFuelSpawner/CompRefuelableNutrition_WithKey.cs +++ b/Source/ArachnaeSwarm/WULA_MutiFuelSpawner/CompRefuelableNutrition_WithKey.cs @@ -59,7 +59,12 @@ namespace ArachnaeSwarm // ... and so on } - // We already have Notify_UsedThisTick from the previous step. - // If not, we would add it here. + public new void Notify_UsedThisTick() + { + if (Props.consumeFuelOnlyWhenUsed) + { + ConsumeFuel(Props.fuelConsumptionRate / 60000f); + } + } } } \ No newline at end of file