From 8dae1194fb007aeb85333d3db438fa1ea46da784 Mon Sep 17 00:00:00 2001 From: "ProjectKoi-Kalo\\Kalo" Date: Mon, 25 Aug 2025 15:06:43 +0800 Subject: [PATCH] zc777777 --- 1.6/1.6/Assemblies/WulaFallenEmpire.dll | Bin 299520 -> 287232 bytes .../Building_WULA_ArmedShuttleWithPocket.xml | 1 - MCP/vector_cache/knowledge_cache.json | 1034 +++++++++++++++++ .../DialogEnterPortal_MapPatch.cs | 94 -- .../Building_ArmedShuttleWithPocket.cs | 796 ++++++------- .../WULA_Shuttle/CompPocketMapPortal.cs | 366 ------ .../WULA_Shuttle/PocketSpaceThingHolder.cs | 71 ++ .../WulaFallenEmpire/WulaFallenEmpire.csproj | 3 +- 8 files changed, 1461 insertions(+), 904 deletions(-) delete mode 100644 Source/WulaFallenEmpire/HarmonyPatches/DialogEnterPortal_MapPatch.cs delete mode 100644 Source/WulaFallenEmpire/WULA_Shuttle/CompPocketMapPortal.cs create mode 100644 Source/WulaFallenEmpire/WULA_Shuttle/PocketSpaceThingHolder.cs diff --git a/1.6/1.6/Assemblies/WulaFallenEmpire.dll b/1.6/1.6/Assemblies/WulaFallenEmpire.dll index 7ee2c6160a838d9ab25d85e4f3227276bd17b683..4bb6ece8b7cdfac8dc9b2240886eee56234a3c49 100644 GIT binary patch literal 287232 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

(A)l2UoPg7HJe04%%QWNpg03G=H zNP!dayT+t~dRaP`4&as14w~5F?%oK-xOrvgkd~b=rZXZBt_^n*09HkM6RRm6zCB&E zQzo3&dFhpr^+phnpjCnG37g8ziWfK`phPCt&s4 zcQ%{EL16yv0Mj8`6P9&rIANz;9K!8SEDb59dlUmOsNdx`4i9R$NBcf%yqm7rt{#%K zD#kn*X=sOzboCC}R-8-}1Nwh^w3~?sk!AUJ5ia1Q<3aj*VKdD#403uff|qnKMDCFS z4#f&n^U_l~l5Y$*tA!;Mk8m&dp|C-Ca|l>Xtcu7crwD-~68DrkBK5BD5O)-LQIqM8 zHDO0-j9A{>E9$drz>a8)C(xDKGubdi_)(kKdZN`c(P z)RHfqDi%>k{X9L*MlRTEfOos(Gyp1pS1`0g(RcTu+&9J*w-H=0Z}bH<40ZGK+LO>M zjVG=l+h>SP5%4TQr@1VFnyepNED=4ftzbEG1zl6el_tTyF+AAjt!$%`LYsI;GZYk) ztuUetyn1JJuw8O6KJ=Ttd$DEl0%RSw6zc*l+rfF5Af?ZB@i9n1BrYeyw?MRoi^Gdd zIIjy}JafZmHa8C8XBQtuW~;VxX&bp8Q)gpE%#z*~K|6t_U8Q+8T zZH;kH3>w`l3}qd~ZEqkzM#%(VIT1d+v@_bjJGLO1f$FPM6~Dz67U|V@M>{)kBFit1 z2Z&7*_(x<{@oe86^3)#U)#i|vKzn{yAB@m_XB_n?%^8H{UYadoreY0yZhh44naH4q zhq0U^iqg7-f>CY0OOw7V)EE&xWzbtAxTYgnLg&KujX%r3sT!^?sSu@4yt%_FtRROs zOUfgWiVe1U@Ca86A~;2;emy;qzE^nK9LoNcbe94sSFx^KjtH}Y{;hD;sKTb4)vVk_ z7aIDSq7A~($;1F7s0F>O(!78!&k?-+9YoPz{(wMYk(w51F zgSwC(=Wld2uqVK)IR7L+jH2Mn;uMopK;9Ycw?%YsS~8dps`M4r5Yx3Q%)nH}R|#i` z3fITucOwDAAB4oTu@m`Ts78tz2q&e0*tjm>EntIT8`lwe2Y7jSzc!?%9O=UGBJE(` zz3J$}!W$_J4MFJx%P855kdzq^>$5kg<-2t@r$0dhyN6_jsWhgSIICW6apxe5=EY9w zU0cXD1|8b$Mt#W9g!8>Bt~Zdoh8jD@JNJic=q|k-wz{!3L^Ng<(ZC|(;|NSR?pVk$ zh1*z4kd0a{s%A(@O!hoU&Fa0u5R;%Jy^!SuQ1)wo&G7oUK$q1tChV zD#q+sCE@5yDYDm#V3xf$ePcMCny#A0_V_^s?Uo`|9CJXJRW^1YO65t+V%II9UrO+T zCE3S-F-hd^oUgyT@$mQpj4=o|w1^rHN@v>cwuZn2IjyQ;tBBG)2+Hg`qrt&;_Z%r` zt1&ya+O~3IR3J74jW+5}+#zVTmeBcph-d@$E73riZI>&lMFPWToJsVVOcX_XdR?6) zUXS9bfS8$kP`?MDQJOB$*4a-Cck+h;Rg&12Z$r~VSFou*| zc$o|??8f3iWJJ(d^~DFKZlI2!iB7L$?hNp?L!6d7=HAA#32v|-($Kno19CG`a-dMM z(>Gqt74@qQLWd8CW*23P(g@=5_`&KfF-sa9GkU37wj_{PDm7U}@)`@8j4$(dhd-q) z=8rYa(5i$lqZK$2nH$aIrqPmJXFH(y!|r#Wm|AY;2b5+6OBU~rVx?xQo>tEOKop5a z)$WTH*lK=FHFI?kyOf5j(ico-;mELnj=sGy8AVCiqKPP16tc&A3?l4z>*4F3ugT__ zw2#B4+Vs`oL7T2S|0oE0j(N1LXn(YqMQ7gG*vW)Y0%;EEh@);z_<>MJA``{nGBQQq zy}ih|nXy*atgVEFsjb;fa?2*8tj6B>vgK(ARRJ&dvu2qD487FVfzmcvOeVcN$_Voq z03@kQr2GMS#j~MMi#_D96lJFu!))UF%@Y->f`-Wlo5tXfGIO_(6%H{?SN*MlWFeZ*80`LW0I0+G)>1$ z)+r%pD%uetq~or+P3$%n+qFmg!)u^A5Rl277+4^y+lO0hUq=8zsYfcx?q1Yz*K9-( z{g8tK<}{uVT7Xq5^GWtI9dsa*ha-1*d8AFb3X9W((w9td>;fH``P8J8pdgX)x@z7| z_(s5fsF7inb)h@xNSUzdHO#LKe1DH&n$#YGeyK zL(D&Tex}wG)pHMvcU`rlxk(9n&~^~h9(`+EUB4Ia zp&%pXA&Nk%obN%cu(-FWWno(LOtAP|v(5z)H&z2kFEKAVx4Mj_B?L7JM;VS9Y0K;k zs}cFlUOHwtq^Br4=#rQkd0=gHz^f4R_-kEI>%esDL0X((&92bgwdjT$_k*V}92`S; z7(e{hNV~RX`+OK)*^QIhMh1N6YQ|9-XfXEa@?I%&mzx$SQ4a@?miCC09$r|!LC^rC zlL(5Y4~Ky%o6m!_d)dZp0;sS?Eua1;5u zrTOK-D%bLLw_n@YCAJx>LG{Y)OT!)irbkDvn4t|W} zKO9_Q*9!j)^u{!>U&KcddnDKAGNuB<@s5NZY*(YkM8MXs+Tv z_7~Z1d=RM~c3|pbrly$PEx9zBFgdib;{*ERv0>=e1c%0lm^PRQ#GIBiz#44y@!(OODS_whm-wr>Iu0gWFLh>nqTq#;3N^WC+^anS#Xt{ocnda()Wv4$bkbey z0LmkZ*k)v#LtN!r+WZ@qn@H8!r>T2oA!Y7;Dhc zlC!T5P(ZOQW{?sDSYa(kv9izhHnUs2ojU9>)$(TvXQ~kuY&PttoYRY4jT|zm6V@xb zileEk*rx7inP_vwW?-SZr_j{F=ynmnJJ=$g)ZM!~P;~@_4h$P(`p4*>jJl}4UFi)- zP`judxNU0!og=R3-L9xg2rxE$IK6`GCyLLA3E1l%Xl<1ps5Xxs$lP$2x^;_EG!WSCDX2+xIi3M)h{1Ls#jin%~n)E>>jKI zm&W^#@MmrxTLf+2lLpsLq&^WeAKfV=wXT%yTB6dhQpekv132|zA|M`7Qfm)}8}DXP zd<{ic_|@Toi(M*3NKK|8`I#uYqNB|dMJsmtPb~n-2??%kVbcK^EN~PmN;sJww@-!BYdzgPVcMhj`n25N-mbslK z0JDca&}N;AP*roP&;$>VUkYS2Es5B`HU_EH>{-p9Nu|Q=kZd>rt`fZ`q^bZ@ja(a- zEbNPRh7;Q1L<7oSyPkz3C-cNcNDcX{(#{nPJ^h0IqkZ_I%2_^}hjubu33cXv3L6Of zNoFsGsVLLVh?c@eVKfpuqwT{{q%11}XXM-HiO3zm3^Ngu>DqWd%uKdbP$(UcQRe|_ z2Bs|wON%CN?XZIl6##(<5-~B2+{V5nZDp&CwkE2wgna3Ih0RhHw(?A-Un#C@fs8&$@`c0u3`Pg z0T}7Q@FBl0Vt8i38Z4*SqVEpXSrc~;CpuKg>8147ca$kUGUtsxZ!6WAZ^A<%M1PgP z?Ly4Bn`*;&uyF&Y*F{+PMRY2dv7_zUH8=yh%&tb)F6$=ga_Knf@~u$Xfd&~h#Y;lP z6}RH`J?xlOZ3=GS-+x5NsXVjxFceTT+V$H^;6R(3>PNJWY~9~k1Vb_j|3bkxlpk48 z%~grNzOX0h2y*NZ0!Z2!YYAb#Pq}=0koXI^q*4G1HYOy3>%cAuj0$i9Ta@o&RvG;` znjo^Jw*`=rkgV=3Ckyr!gI%{qGqW+kMeTfPe5hOGs8=;@N?mzhGm7xH`3m!H*;5{E ziw;uO%n5@e#AO=xIOp~vuB3O(I=2}=5#+amT6!#iIJKR&bcUW-O0W%n3{#a9go>lB zUf@~=7@6$oL$lSAilVk(J>0X3-9h*65szk=7D5S0(~=RQlC=s6Yn{+$(ry&td1jLd zh1_yohn+B;W&CXI5Y}m;i;T;BAx-h@#$!w;1tW$fD;SxPgQAf~l3|;euX;0xgD|lstOHN1s1ZWwr&I&uETbE3;Lyg_%l7 znWZ|iww`d*O4hc(axqJ0J6LRIK}ce4Fw&SgOoCl=(m5O8xw{R=4wKw0DJSiZo zZQLsx&y*o%8wVFh_maVdo%|lqaPz-6Q~o zUwy1NY3+dQPE zoGQ<9uqbY4xOSVl3ww0{ z5Au9!^zpVlg23@=a<0duI=~E1UhkWyiAeEC2E4)6UAZL<%w!74ISUIy$=9$zmFD)G zTlZkEA#^;B>qc`0$|D?UgbQh0i5CKyxjLkbr?a+)=~`KU-lap$#l~2DYx@yaOh{t} zgqJFT4%RJ^ErBEEO9UW9@4ngPRKp~AX0bgdPy_jgBp_|(YGO-cXW_+LJJ~4=zfnyV*D=6Ld zPx}07=knN!5{yJjeLNGfM-bySp%Ejdx_Y&i_c|D>s>3zx1csvV{LL{}zl;YEcWLPQ zMYIdb4~C_f?zC=7!-}Zqsg2gPaB+C>fKw2qb~}nZS=^3gIRxN!mOZIj7SmRFE;*iY zo9nQqX_%+m!XmJ&tCmfn3PjmWJSw<~{5IVRb4V1Gwz|=#CF0_+gXECQ*~ZN5#w-Mh z=q$&{$%AmrGWuRYNp@_iV@IVZ5tqfsdcQV4WU^;AB$1r^+s(cB+Yhlsy`H-029h1# zRoe(lRY|h^VI~OpJvJ_ji8Juxc!vmIs*2l@P$^rUvRLsvxBMM|PQ?z((6_5)q6>;% z_Lj0J>Y}4N*rj?kT+}!~5VH}FD=EiDM(qG!Ko(f4*dCEq%{Z^g%M5ss2?D$_;Xoc3 zlEq1*T}C}1dQxlWlz<@JVAqFx_b6o5b<*aL^ZYj}+sgBvjFrNt>5^AS8wZH=->F2ZKZfx(9W<9*PZw zjb@##Vo-`ajAAAlt8ZI$SGz7L-(X9a>`(Belx)agB^{@L)7r+F#)k*`741*P>q8O- zk?Sepk)O)9@l2J83s^V_?7okOib(i8^Q2@DHyeWiB&$6KX?_{>&O?w~G}eW)t>-Bdf(zXqyhvR?F==C0SkBTRmXIX1HvE7CrHsj3~?4jw&yup*l1eEE4>n&AMe;#A=~j$F@55 z-ZxFIE%YjfCCUtWS3*oxvx>BpgNY6=hNxWa6)RgA_*G@cjo5Mq>}ufP43DL7JjT5F=74prk-oKptX1nqSv- z%mgke>y@JYdT0vIlKTTsxO@X%k1UipX;8lu_y_->sXV}MK;%ml_2!&^!QPM@hM5i*(D z(F+?RWXtW9NY-W}BU%G~g-A>n($jH~j`88<-pTPr3RSYWCL$y|9>hnI83l_rn>`^3?zBOxFc20RfxL(I{^fI_dt6R?ym+HBx!T2BL3 zM5Qns2S81Q1D8H77f~pV8-4?#(n45|g*?cl5a=E`boUDFBro+LXvpMI6m8ZXNnMP! zGhZxXk&Y1%Y2zi+7Su0@y`_n26@+bcA*%98Lof2`2!yW*85e+%88dOJZ|lk7H$* zxnLM;(iCD!h?EtkyYsRj!hXi_x6+}I%?vCxxynD^_rxExWPlG@xfzCD+6S1BB&HSAb;xt z-V0%pXWPfyGv=f8he^2`F(7%uw#%mC2uAO-(T0P(e4#5wt81SG0lN$rOyEDzNaT;2 zppt)4(R(;q1*qdRd8!S)fT}^)iNltV#D)l^oq>r!AC$`RPsvniyRu5o!~|MBGJ&Gc z9B-InkEFB53!Q36c{vzsh2ZlIk`OGgoc+2HT37>jM*j4%Drv2ae~+^+O-6bb;lZG9 zPO-Ask@8$eg9w&kiMT`*V>q(TkoLKZBNfY_wOS0eIT8a|#d(OVs>+!qZk8h@creiV zx|--PGkNyQOg?X5!qnD1qG)mNP+C~t2F4NqS#zB=fw*!4mkX7kS6xX*L+0zai@GNW zHRfCEr3y%v=;@@2#VsZ9%-up3$I~ouK6EB zZc@3c5J~Pv_HwKI`jD|Eii_nAm@CRUiDK&*v_kYTTV$9B&{pWZIc_b>H7=F7JElAy zW_O~SwmHJRunx5Ojqq7rhTUcDL7OsC+_!CE27zA0xuZaLJ+Kk}q_?nTc17qzXE0zw z3t3lmW%Te^_*HHSLYvLToPdfu$s{DlTqFhU9n2Kei*JHy%vYdIZ+wR)<{>#_Puiz7 zglP9@0USPNF50Yp2;^!Zt~rK*6c}1)yul#*PLKg-mHgW(`z1zn>O|}@|&1Hkqaa3n-t(nHdWjxk#d0BbG102@5|fomz2nz0ABT`A?ROZ zLPAanD0)()A@)gxa@4D{R6uG{6lFsf

a9n-V11P!{mXXbldxe9M{k1c!&?2E2_tj9gl(M1AuzybNL*7}3%^_hG zH?U>LI1-i6{)Tbdf(sHKa9tZvK3a9KAE)=Tz$LO8xJw{MSY@){uMz7VP5sow5d+uy zRRS}L1tOA1YZ!ClC74m{d!Q0%R`>4gN4sG_B&4>>&^;qE5`tf%StEp8*EA*rvv`*K zz|4i&)9W;j`_7m%x8es#e9%KsBjVRhAH+ya*|A({bE&g*`IgSq9awE^U6uW|$fgQs zx2+WC=XKHMpitS6(0S{ac7Kkw!23L0)e*jp@JBnL_i9yO%6IL9OH zY~!?RS}#l5M2js;Dvp(mN6P7&w=NOuJK2Xz@yBNmooQC);o`3Ji~EsS3xG!vIk$z1 z>>lMRq!GepxT-kHnAq%@W9EBcRVyfXLJ;=yR!QV}p0f)uSJuqff8=|uZp!IYxN*$= zJW`mP#*1bNr$kmA!;&8G;)u4F85Sd5_}w0G+k&>(fEQ}q*@t_zgR@w(@Wv=|ZF1To zyT~*kvxfD$#%IImkYS*%ytn6>I12VCU>};H5cSs6Y{03`Nigy(cU;$e*@7KFZgLAv zViIdquP{ztxqKNbAq=1?cczq_Z^%&cc!tX;c1rffMx3AI30EwPfox-l+Pv7#VniGc z>u<jreu=nFsCKvu7G`eiT2ETP!Ox%j){j+l6KB}*}j`tR_dF)SH=rW zFy`gZgRk>Jph9A0yU1xPlNO-Q1i@>AV?NwJ-K9fYsm705!CuxVq6!OpLCsjf)#>MF zHe)T2Njsb2#9lwP%8U|UpYsJpldd4VPjL*r=B<)~`|@QNMGj41SXC=vw-nT!Rg6|{ zUAHiiUCs!kMVg-HrUEa@eZWjsUJN{mi<)ZmXLD>!sKMLl$M5Lxp;6@hUQSwp1<<3q z6V5r71nWqwT`CCWSVwo`jV&;9Dfjfi4$>`O%{;xLz+CXB9CKBKlehcMxuV6x11@uz zEj|v`uj3^^`U2c`XdtWy0p^gO@&>dO&5RRb0z@!V(ymM;Z^?9QluSl^O-X7@Div^- zWJ+Nwh;nAr4cZlXfjl^F+*jx{o6P5{%?F;lO& zOlM%>o~jV$!OJ6NqS3OoetcR&@&r(gSxZ<504n~q!RX0V`O*wTYupULAf`t%kZyI# zprfe}^J=|KWxkrBzMp_gl8D)^Ohf-95|$ppiH#*ACN5%5x<9-QA|EodrGVja9bL&} zSWpNy1yYYQ)Y`qX2nA%zy$~D3*N~ag#+PeU&Ug`mUZKj=j46+YRp9k8AITM0D`55A zN4kg^%d|}`ag24+Y~w-aXKtt9uquXV{dIN4@t$PO4=C;%EZT;Og`C+xrkT0I6k3Cm zAZg?U(9(AvuAl8?3m#W;0=Pr7-eb=9^31inbGPvN$`BD&Iqsa@W@y#+v$%U#({fif zZELxp8JIzYwQnHUnV9#h1TnDbTw`I=@*Dl&z8WnTfDK5CglkeZAX44k6+fpIcR0{S zW`d|>(ndu1%ym*N7vBTr!4A}0o?1ALDmtJqkEx4iXJrd}7Bn^WQUE23!fcQ*5y#m~ zZXX08s$wVXZm)=@qk}vQf1o@fX!V}sZIN1eQ_H5p^r?@F@R8QPrJoR>^5 zqNuxSa~*#^!nc&NRHM@|Xw;^-mb3j@OLu@SRx`hKlUEnVQRKM9IErLd_OS*CD`{F&;`?1`yaZ3 z?(Y*a&ZLG}MNhgFiX|ASU1dF1XOT}ukW`^5NlJ9@AXzuq0g59hPQ)f~c~6%QAB>GE zEh=_LtFl1jECekxfqAxw$A-`YJf-bd%(KEap(*iE^UOL)PFa`RjJJtTnW`odV)1D< zv^en(!w>IDVBGbK$9(R}`sKY#AS)~ZH!j{&*^mB-mygsC$G(j8`KWD#zOd2P0As3Fj&+Fq91f4r2Z5GQ^2^3tR`lQ~(S0 z){j8g3sUkhx~Q{~+{6HNzZ}IcpuvVmC`tw=8z*D1JEU`&CloE05KZnqGL{ibaa+~U zw+Njq&la>;HAn=KLchE(9GY6n_sem%uDoBmH!k8OhX|(S2`s(3Ln3IS2WC?`yQNZI zoVtqr851ugWd_`ZB_C6`IN7`w*UFbi%50Y0h0T~TiC4Ofn2ck^GwC+&K-~?VVValH zi*VSAAf?7J;3-cJ7pM4bH0~4u@DWA?ZenciygiMU#VI7$j7*&Rsj+EFE;~EQpHz&G zyJOzVEH>VKPTSIIek+Xac5e?6P|%*IlQ<``ckA#jM>)gIF|B5)_FE6Ue($2f*c3Aw z*b~Qd-bsLCSE-(AGmc;Q0y$?b`G5Q3dO|QJVhk&q-1h_LwO_SZdD^J|t~}iz1Q_77 z#l|_+VdS+gJxB;3L}Gc_AQdY2p5mp6s~V;eSQg{+1kUtm)ao^3TK3?wnn;*wMp{oY zkxhF?Ib@Drm%(qn{3iQ?i#{ycRo64Ixq*?5oj@{_gmOFRMK)4Bq8z4yPSR(m61v-3 zNtpL~*J=+qbMs~oPO>OHJzzb-+ykYEsC?PI=s3Jq#F$k$`=;~W!>!udgYoPl2w5)g z&H0W+QYptQ-IWv(GRQcIPHY3k*at2@Xb;<+ErljA%iRR@N3+CYLk9(s7rUcBeJ*o$q~PeVsu~wP-*DM+6;B z$6E&%{G`JoXM8x1OqqA~f{D`%XJ&w6Yxp)Ax|@l+9HCG(k)K&AjaIvHc{Q=wvyeeKkdoz_C4eAvrEOdd(ejph z51J;rOL3iu~Ckk)RGynL!^T1l?r0`BIw+p7idZIV zIO+wO1g7Z_H+u0F*6`gHQgTpof|?8dNLE&4IbwZ%&;1u7kKw_X3zo~p1 zqGLFZ0C#Wa7f4vODras#>J=MJ@Q9+Xf_lWY5h<6N<5G>V<}LJ?n;MJYGs&Ccj?}_1 zrK`5um_Vo$`7{SyAhKNJ4yC$p<-yt|LVa`nXtpD*Co^d#wk(QIaBlpr#C~7;Ioz?5i-!mpCu5A;K2y- zqX0@=WI~u0G^hB?LIUcLG8gm}?$JG7IetPSma8pi4<%`6A@>l-c|}%M_=|3!OlATO z?cN;kCC5%6t@N||@d!%FejJr{D}Cmt*9Cg+B6Z(ZC}O!UqN_p5P^gHx zo^D^{iYBw1aXzSN7ri5AXg3=VTg8wAFF4-lOg%E~XE6jgMG&*!g7TSLyes_+=0PptGOZR1njcjfm;C{y{Kv4)23sl z7;Tzma-nNly29DUKsKln@~Ofc$9nuy5u#57$aBwV22B?*!V~8VaPA@RXT{Ba25RBM zkTjSu!rF)%d&%1k!tGWzHxCnV5Z|>VVpM5DwUSlyTW_VV{3S`d?rGyOe~62r1s-48y`cqNG|sV4~8W-LMX-%LmT>5UOegV7-f*OQbAC=sS5PX$`Y`nWzgfK8R6Nj3#dL?YviJ3+?8hNeu&T?X;J zzWC6q`K416%oUETx^=rsstSw(mjC?3%k&-_K+e>pK!%T+AL!vR) zceX5}O&1;!`CHny;IjQ7uJzV5mttSCQ@tTNT;|RPb}UW!V_?1dYi`&G5t+LC{#XS zSYr&s2V5iRM_P!>TGFClzW$ycEX{j#LsrgDHyuifjc!MjEIZM+=awnSLyute0NEnIt(Z9gpa*#U!>=+uE0jopJLZTz}DWo@7 zsb*L9GK8`Ph`iU4n&-d@(sQ6gK7m^Lwu~{gJz-w?K>g<{B$< zCIimky^BQL+>*@ zT>jQ&q;Ca&R3~m-%9#1kyg`a`dsn8zSmXusQBbb9H+{hH{j^X@LOtIb{5xE2rC?() zNS0Red9=J_JWF1ZEg>y=mQ+^MLB8dfmXASdNQbk-pvnqr2Ibz##|fUL8@;#Xx|r4h42!u z4;49xASaPHGvx`El|7=}nQpE=+LoZ~Wg>lwu$I*R(|= zj%hoSENM+XNJwB!;Bjm93QpPOa<3I$x;AFt)eD*tYqV}9tWq-=9gbGyRV%_v2yW!K zEZiC5IgINO^-S`C=Z(?i`&5~cO|_|Tq6RQ;MV$%4h%J^|vGy{3b%U?wNG=UI%7lSL z0m`wq@l>_t=eADh9ns zuXDO060RxiJ>ssEN5C1gMKr{rKHM_TywtnN%|i6*nenU*%Z9av?N`7W@w2!+P2N_H z(o)M(3`ZQGGldL-F*=g1F{mCCvfN%Ra%?2t6r?FID;iNJ_DklM^W;m^ty)fcFGb~I zHATcpV`9;JqINjvD@(`vE!nlo~prK9Mn@iKWD~%%6ToZPam=e zt=Ob=5qfGyJ)P1_jdxN)I;GkZV4r00L$)x7fltxGaaj1&&9s>KQCc_=8=tz-9!5TO z8%MD6saqW-@&hM=svx%-~8aiqtso1qcgJDbt2fE&bv9 z>J{G7m4xa5V=<`M*V=)(FWaOP*)P`pXXU=}E+It}Lq?7YA#}!D%L8dc@Y(CEOWzll z74{LWWr{Ha@fDaE1t$wSu_p7af>GK)`b(={<~Q4cBg;;HA~(x&j6Cga|Nsx zt(lUvP0oN=ikZBv4I-GcG|zW^YHDM*q#oiJM6HSA%Ckp7_>gG$T{hof{3gs?Ig zYQu~QMFpu@M5>5#8teJlN7=KxFfV|!Q~I@0#{{r|B^461GuZcTnB|6= z==tOjcQei^ZpMgeOBRNJPuIf^d_{<%n26F`DKzrF08bon_LDyz%|7Y0Fq(~FhT&nK z)(m{N+>TtYIzgz71FX$G&;1n@LE48-=TWNI-sQAVcrGuLG3>bDct;NdA z#O-VohM>7PK-Gqt*K)LArYznQb@mB5i3Cua&cI!t=tI*&(SxG$$7tI&LamORND=qX zw+@OJC&7t$?k_&VKVBUd0bk~#f%IeOWUSh02ei5RY+G})KH@fOrSMB&6U>A^oE{vZ z%HrP&eKlUhm6C*iaAAoDl@c5m5XJ_}8v1D95DD358B=F7PRzJF1LF%gB+p6T z^pY&z#ea{{KuhfM-actLMCg4yWZnVba=@v-uR`xZ z?$7HU#AVXUdB1qHSL8D7PSKZ0ICGe_BMn-{Z{8UcNys*n5=q%g2#kSsY{LT^TAUml z1-5cYt(BMLmPgvsJe0HXfW5k>T#K4FAhwctkGDs|2YCx*FCU_B7|tO*_pPC^iYu%i z#8f6O+$_1=b|V6gDuhcx9RmAWgeP}k9D}8Rf@hgtTqc(`QM0U9vvGII?V7QMixC=| zPD75MdAVlEc;uN&&gs)Oey3K04$u!_f0Vf1eChpCgt&%#DnJh*9R%or%f0*Xu^-Ic zgX&m?)=Qg$a^2^1fxv7T6IDnp9EwlC!7k(o$C#%w(k+}1jo(<$8%Vf*f)(eB zy!!`_W*~vF(t3-Tr_JHcQq2}SP@Ctg#LJlDA98~J-63|3Od6Y#X}^AaT$hTJy%7l*iYpe`OP^e1dakrFp`Bt>S$ zSPhC9REi0t9ql8o8I7+Au%UEqv>zaXIllu49vHEi5w}=PRvg|pc2Nn-+XgaYYe^|e zI07!1INz6U^$NtlvQa#bu{~m$^+vT0$>%wzl6AkE2tz$H#MaCJ$|b5kkaMi$b-pwrh!cPC~D zo3P-O&fTdgZb^WnVAC_j~bt6 zIQ2mh8O5s27g4^=Z`O)PZi>TsJU_@l8|>*hXjV$Op@T^%Lblf`TdtYF4q8(wJxUI^ zr3B1Y{NWS!cqXuN(92jii+fhe<0{Gos8WiZqj}IwxyrDZK_t=jw z%o-O3{XvpAU>6~$m5-^fUz~8G!XB~$2iT94&g_SiYW8kSIHtA2Y=>pmXK8u`Itw+8 zf>D#8IX2MjmHvc1?4X&On>K2V_(A~8vlxd%SvU&q=6v0~Tq}3r-cs}{#AeyZNIlR# zB7@^Q-mt>%Bhc~EUJKPZ7VtKsUw=IL+MR=J0D9@+(wfcEUUqV~7A1MnB3>bQo4J0w z=G22=Vl{hZ+@;k7D!k7WDojg$P3L6PT)8ZSHzCU1tI!PDtvT_m-dI;*dNWJ>a0Mxl zOXbVJeX31YM@9t{>%i`Q1z5X_Jgm^D7S|_KNZegpGo7=m56Odh6>@bl8cb`3^XzTf zEmq+(CiV(sh;4;3O)VLybqXfeY#)y*j17`Ul-!x_-Fm-x$h>VP9GPMCNe6%%I=vMt z3;lwW2iga>gU%pQwGg)dVTL?IxjCK2dtpay8mgX*xP?G-tkj9`3@bq!T%{7e%;BJg zVSK6Hy%rX?Nbwm@=yD5lten%#hKeV$XVQWZ(YTjS=CUT?>H2^%NJF#$zvgwHvCrsn%+sa0d9KekuWd%3xfvwdzs3l$ ze$a}uhMvX@9gxo1T?6h66Gco}^SKS+mfq)0`JT4j&-ngB+Q^x2UY?)l7~QK&%?;jm zzF95(uPYj*udUF=Ht(7+b60qGj{OR69LDN5Z+=jXTya+O(-(Pq430R?<`qY656583 z8YN;(j`kgDY%srK%1p^8b4DF!^J+II$6(w~e$>1}`>vcbIbcuxNwO#ZPK$L z&u;?TiL`It;=PkztFZ#>r?ej1WaM8}Q1j8~+a}{}AXuEG0Bq>QYR$?28 zdgp;m`I{T|KPI)>PJIrxmb;Ccvp1QLHEP{#?ljl=uX&+O{pd-1oh{B1K#@R1>Y&-v z3rq-8^62!o7nxjV!O0YP6NPe_HW>AQEhZ{%P(n;LHT%d=7u4mLC7`@{c>0_BD3@EP z5+z4e35GK)5t=35u1n5)^MfaSi{wG#FG+NLe9H=ml27hH-|3bSKkSwS!~v!i^siBdgcH|Y^5N_Vu?yyRXnIW3&X;rekY*(buGzIx*NvJa z)qP@H;)A5jA><$(tSc!y+<`SDDQjNc0KQ8-qO5H0RqKW?bTYWXU7zhusTOc_i}w*OJ@4r58qop?9M#T?y6)fNn2AS zsQp`}|Dq`G`sN3%YO=$1sH#j#p@Fshoe%rekS$Xv#o5HrD(2DJS*eUd-F5zLx$>WJ zwte#hAc%p_%6gk;-LTEdlfK(FX2rm|J>3>4Cb`*Znm4m|HQzWZUuu|hjT$jFfY zo@_VeSR{h3^q^_(oQ_qO!SuHS(>qa4-0twIQiV=b0DmqmLPAHpLwbW9syBnC#c0=| z(uNIc+n;5|^J8#n!ZXc6^Vuqp$-CYC3Myd6xB7FGqW&r+6Q0~{+cckRU0Z3s{iM$& zol1Hdv-JHZebP4`rL|njK;IwIM`rwsU0YJ9q^#oJRdUW|)OzitTGx4l^VfW#(l>bo zcg6r;MO1dy`O06@yw&BZNNn3&nR872=5t-`%e27(!Llaw_-faeuGVau>(DZV#(TU0 z=T_T~nKAX&t*bHLPFIp6WhBTdb&swDCh&o^pg5@txVIG1t)l?n=V^(lLY9K7DGDf$ zZ2@t=N?$B}y;*qnbtvD$%WuaxM(y~c?3LG}z7(KO*{T1f+A~M*yd`f{xiVj8FjbhC#=k-dOZm!&`lZ<*S{MJpNs6E+(+FMIwd&G@i)GXZw=NY0E6ZbiQul@@ny4bTA8mncz|lw_v7ag-#%`<_#>f!ja++nu0h z=bTpQ-cnHYq?GcDj%sU_QRGmC?&y_NOdD6VUG*olqdmixSteIVRLU(W@mP5LUp!fN zT%+!Fi@nuTRh9!QF*pY@gO9+ypMhMyIy<=j+n7n@F5BNg=jdbsWrrjc;>^9Kd2JmG zko~L&!RO>RDc9AuAChjCyD3h}ss?DOb!Bd8s}VzGT^$pt_+eeyMf2<@8cfD7{dK72 z8|1&#{4QAj*O}ht@!$VdPj5xnt~>JhzF@A|E%}gKTI|YUb<1}iJI69m4G!X7@^J?8 z$!Jqo8w-&$&jlNX_hm)HuL@zr$@fsiRRU?2(|s{b%v9U0luF?yJ`|U zLCaOZ(?q8CP{%+B8{?-L#nB~wavXZ9X*=$PzrtyI{Kro-3pbcgweKw?rYGIosqs~} z%_G*bL*k}qbbfLqKCKrDA@^D7RNUtKSQWn@l6VF?(P!S$Fv~SQ=#BI5iS~cDum5(E zh6Ts)cH;9~VrPaog5?Br^p?j1$89A6(jn`ZaS3&Xm zxQWuf;9zG3+J(n|^s642I+3fCI$18bo9aIQ1~II=Y_Ibmg}T64+4$)?(J56f>?~p& z&;L%{t53yn78%l@`2o~hmEdFnQVUnD(J`E-n)@rUnbcovP)ll-it{HCZG{3+%4y1a zT_^tQr$GP>xvEg9(A}otbcp>bNjN5-4==`@+_BR%PTBQGmP#N0;@8>XN&#}-r>#t= zERo8L+sn=MR12&)oJL9+S7(R0%8r#uD#TRXNExrHoST&L4f#M0MVh1nLQ}l4r5*Nv z>Db8}YL$vUREfW`&g_dTwcDEMpwuwUqEf^+NNdA*le8@*IXaF$rfD+V0;4DAoKHGU zQv2D74640+JP(yl&yW8rWdtWs_s9Rs(;#1c$*}l3ckofB31E%s(uVA`J>mVZrVN~>L~@O#_utC8QZ7NMP~NvLcRay zqpkbN1NarP!=HVa^_AY%DOKUj&61P)RBQa1B%Uc~VPAczv%Ivhm!~XSCD<+WY&BN2 zkXI_?dMxlkQMG9GgJ?i%!j%Tx2Z?8;zCPveD19d-CohoZj$u(!jOyP^>JJTg4`z44(*O+BdN4w(Aa@Eoj>00g~JCMy!S(066aIzDIMdoL zD@kjJR7eM|vUhqTx|WPx(&C*ymHHM<4GPjq?zSk2{6GHxGCfYqybHk&r$PDn39G9- zuLb>Kqtdr<>9j4@X&a~E-@<3q)~fmmN`JDG{F}EbV)dO8N)X0!E4B4)J;SVyMtnfkiGP>JaBSl7|MO&B{-^{)U8u&nRCcD)*g1)0 zQ(V~$%rMam89aSmw0zZom}+B}8ywv!PFu+LkffbnUY;k|gO;)GDVppY0!HO71QLXkP1L_rwatBdO*( zIC2<{gXZ<)Y9ztwFKP4j~VYMkdYM*Qfu1b}`vHPytrX|^~n_MBm z11rXAG~e#q%xo_`NUpFP$lq);6-~Xg=~v3P$@7l1`MUD9YiG@BU0xJ#HN=0awsbf^+mMW}hF zlpaCT8Lgs-=YeKDGraQKqh zh)6wz6)Dyc!R*8?uaLRsi903AhtbtMt&$5Ok~sOfNE+Y6lmC`R(iEMnq2%ahu|HkF zY-Q5Tjk#ClbSB|Fue zu^;0|Lhjotmi9fd?L25$s2k|C7v-KmDXKi}DD}lTghcY(v|Sgilbve2@a2x;-0n@p zZ6=~Vw+`}D2Y>&3&B^uc!_i2z=9{;GdYDs6wuv6sO}r!QA5ZJO@ntt^jq1N0{r6aI zU(WfUmK}4YqrH|lPwr37;(BbC`@A#7wUmG^(QnCH63Ru=lAIf$kVHT-*eT`B7w>@9 z@A5B?SLcdIlamxCPilVWtJx%&Yy6~f4MGt(7=i+d=q@lDw##l*PF3zFkyb`cZSD zTEss8xgk^(|B<6n0T8s#ixh&LZzYEm6DyNBZD52bQKqh^7@F7SMHnZ$u8Z$)-gNM@FuwByX5^BrQJNx9^MW`N^72oqPVtH6Nei$y0!7aHDmwNK3+w(BkJhG__`9=gTxR-O`9HKSqWj$-OCF8jV^bOEP?_+8r zi8M*v-G9~+jnbo^M@CDa!-pHl@h?xE*_UfWNHcVHO#XQM&>hMmgOofwWH)0DMI5f7 zL>YxE!K_9(Cqow`M`%CnDxB8&dK=7#8$_k8IRW+l7>8ClmwaR)oI1H$qHor&#KHAd zml1!e7g%nY^)!CR{S1%)x046_%|JWVixhBj9#?r#RmPo?cc6Hm)k*8&9}O?c_bXJiSj3tMJm+pb%O^8E94_B6EnEH|_BoV~U;-KM-o z>C9Zda$+C3JI($o)OD>jpVo-t#*VpuDeKgCEmOOBRi@w!?1Vd|vmVA1pY2N32rIWU zjv#6Gg)lSAx5VH)QXytv2pJ{C-|ixelWS+sd~&D%Wa|Vv`N^f2KN(D}cJntnTJ;uk z(-L!f2g%CQs!z@#-k~*#bP67OY7G|GLXNNLP|6aI-m(-2x2z)R0&@Uc^UFE4{)9udu+|gRA%!)zt%_}+{ z_L zJUc38G!IUm#am_mD=xbO?5m72RRJa6j&kIROTXQvjy3%leTQnLK?{%nLI1_w#b6?y z-L#oBo%aVS;#RIK`*T7Pk&h>JuTi_><}#twghj#1$sLk{jf_iy#>thC^|`t_@4_it z<%4=$hb@`#J#L4(pj+hZm43X+CaX`*K4kBv%|hG;l!Rn{tBO9k%o)|w-(vk%)okZb zK8`${+-h!L-8Xff`>56V5RF)H&Qc_t7YTf4pAe)vweSZgQ@pvaK~LkV1zuYE`# z^Km`tECdUArtJ8k>D#kQB2*`R9M_=60Xa~8_59G3FXXivPQJ|W=lABqDLd>ag6qY~ z*5t?TBPoJNAbM28Nk&(QO0#`4$g{d?7xH*R9sWBIk=rn>W&S03zeD4F`@1;Qt#&GW zec~v|bR8A!s{Np^2IzL{rc_)wZaNoQzsku>YL($iR@|Xa!aQ&DUYRXs@0b4KN84|Y zCjVruhX`5AG=Ux66XyclJj?tQFJp^3hI}J-HoK ze?DMCKj+v+d+XK7&nB}^QDrImAkubs`aBb znJw;<Pe@vxA)FJM$BETkh~zPc;;!6LZ%{E9yE&De|TyB+4ez zFFcOG$Y1@7oVxxn>+93(QngtbPm;gRh?Y|{KdB2|J5}l0TWo@QnX=gRQD(%Bs@!S3 zNPA%Il59P$!;R)ZQ~$B+$sio4lWAGMBc~6tcC?RMAHY&LLwFM6 zJlQrry+<99Sor42Z%V;O{j;J?-S7(>C+hk)izxGR+27npHNO6K@1As~a=R;VD+YGk zUmI@El0Lt$K1lb;t(z3O;Q@v@954s3C~Yo=7rzsPveJ^Sr+b9 zv{Ic4x?m*4fC!3lij|Ma8@>y&|qIr+Jx*nh;1@&v8)QMMD$Z_^9y&Mt7%XPCt1Q{S{OC&2f6KdYXrH_NrVw|6~Vc>FKBuFjixKAI)=LeDg$5@*+4oK;Xw zqrh70tW3IJeNf8~tgeG~fBK}{S)pdPl)FJbS@aW2%7&$AQeGnI!xAxh% zL#Tp6H?SwM`K94U1B*6>+)L@d3rk-QYvz~YgZin$SGnA&*1S^~y3_bp;9DM~shEG1 z+sFldn?~ZJ=Av1{Yl>0X)~U8JU!M$2TAEECr!VG8C(Z9RWs0Rf>7kD#Rvi{qQji;e z;YWR(pGAm|hVyL8?+*}KKgbXG0|7UYc7V1>L^{84 zLbYEWIC+tmiX_n&@XL}u!F%h|vxczd#_ZyDsMARUl{(Gx(2h8CvytDm>DFx49$MR} zg4;Y-?pl=9Bw=x-)8y8BOOL3CkRRNh?s8Gv?bxAS=g!jVnJeD(JQnkk%6uD1GC%n3 zy`F#WYV;t*W zjZ8*@spGlc;PDVUj-ryWUCAc%f`jG-*E!aNS#Vxre4m+J@#dwYYuvnao%z}2J>9xD zpLW+91sn7BQpSGDe7x2#T7Kd8sG%=M9LSZJ-Nwnu>7ws; zX*W0BeDy7s?jLPj8QhcSKW5+P{MoV?Rk2FHOFwL_vyJup)hy29MqRmFA$Pg$b;5|J z6zf=uPI3z6%M&inaqX2tkhnhEV(#ovV_y-w`x2OZLmzkZlJwd+*bZJ2FmOFfwSGGb zc`;>&iE;^GxtyoUI&=P07IkkLmSre>XMO0Lg>@YBG%VEDS7zsOIdDjSd2`9} z>d}!K*7-Y$4%erR`~Lt@-wRiQKe12I$iYP10)h2iGJqu{rD9 zxeggliwE-yUC-}CJ+Xb2*3ux_yfxqBI?iKje_3H_hndJ-?pqDLvW?4>c>C2wz6Md} zr#Yd%r-F~I|Hb3lPm1Fhoju0%vKFrNUaSGjb!lGsUgLk@5g+n2;BkTT<^EP3D_5W& z03?-j-yNV#z9)%Nk@GdlY(y|1^bV{zLT|KsvUrLyuQFU#{GjC=HkH^kyJcNipkC=ZIYox7b+@RyU z81-|^$J8#z9#X(c1a~~g)cmULN_4~<#j&pTZTcP)^DtYF)%k3#+4U{v@wE@c#HevP9?G7Q)GS7C=HBtm zbeKIkk&2#u+j%(Y$y59D#h-xJVp}Co$M$OZdp-BzcX-nWJyi{|Tg`t&?X<8(Pv1HT z4~}9DD-nC4;*GHYV!Z-Fv=yaZzG38P#T_v_SIarcQVpH=Vh=gaw#J**=%~#FC{AT8 z9b?K~Tk}bXd({5H{A@kRlXb=%pW=)(K~*POeD)3KVDtSqi$k?Ll;+AQY$$m6IXY?b zd6T!KKnH93vPI%&E>}p;=?j1+hne%%Y_@3^~*-lr6 zZ1R0khpvF!%d|ua~k1j z{=L5Sq~&QIeYCMkXpfhI&NmW>lUa5%{%CJLZI(M6={9il2Os5q6>B;HWe#WF{V1)U zL<~Eo&=EEWzz@_aBn;I`-|6(p_6(JF!)uFEGfC`EU96f=6%ng;(p=KXCjqH`>23zq zlGL_7NTh2%xyE-IGm_G9>?+Y7CxHhs`|5`gKjVp4I>BtMZ9huB&=<@4{mrvt4dtCc zc1-!#k0Vj1kwKW!3D2CgAEKXc9`~N3q>$EM(NdB2kB%}$8=v(nB&EUq|ipcQqX+4()G#$>kd!-$8VDAP1o-jb=$NvG`iJiJ1J4=x>*ekI`lNB*kNVxK53|%KR*NaF65)R^x=D{ z8OHNNb-9{PFUK2GYMVE9&7aG?6)2(MM>OeL`7kGM)KHrr*6W{BV(S*qrJldU%-Ne= zNCgD9**gCv`Ey0%v)1ns?OZL`+Urgqf?tQ7J^1G`?S)-SY+j_%#PAjNn>Gn;QBrR^ zUM*PHhm*wpeip6;>F;#;!DJWan z_r!Taq5htXR=lcmwA(`*lX2L|bnUhC z>-Kf)+J!378d%Wj!;;lu`~!~{S82@_z4@f-*|MflIb*6e=oI*l^kS-k=BarvCu%M| zZ41|FSEh>z{|j|DNz$E(oF6R&(uw|sg*SjWHuV&Z=NW&X@n=A&N9&hO8zq<%h%9YIVv@0R)w~Bz67H9r3_11dNa;EwY?}+F|avH`dT2v!r_N@}4%4&nDKgIhcp7vOA`or`fp^0I=8mhd~!1|CA8#kUy4=J zL@P(~HX+GkwwP;T`*PKb{2qk(ZOhH?o_tSHV%!CusDfUutKvxwyJ=QVe%^7`bKg=j zd*nF9rgU>%ghD#z?uMo2(;3}#m33buE<)OG_k*I1RKtDK$JXX|pYFN#yHfKuo-c3v{pQL2 zp1Uug7m}y2oA|G?cb;2qq`FE3ii}d8l%jt^Ug{?fq-dK`p>FdkG^V4rd+r`(KLtbe zCv{Hph377yg&@B@!Lh`SleMG#H~io_qW+sCDM!FQ0q-uPtm|@~O|8|BHneUpU`H z!As4v=bLkn|JC!6JNNh>oA?VJj>NxSIQQO0fn-9+&no0+pF01-!iz7S@qf>sDNX$R z+okyD-+u1=8N2b~C(l0=O&;c5`-^h9T2s{ZG(rOw3CSkPRTrrIY_s{5``D z6H0TIN2|{~w_vl6|MJYoUwpPXbLPbtKk?i%yz$Y(*`HbP{-65i7au===FGVtvPx0# z()o{_d;H$HAD(;fQ3B5W(Vw`YwEEl`O3plg-X9-`6@Kqy&oS{I|BZ#_)!%BK`NYEK z&;G{3#}CZu&&wrkl&M=@e zBzYG_f9f3n(=+GZNa%m?(r+xp68{BFN6BwB&)fJLcI}UT^ZDlh{sjSm#qQzmNYc zfBu{SzY#q>_xP951dshvw6>}D{+)gL`LhhsRr>j}@s>|z?(v_M-#>r+=jXo#(*1(^ zXW#!PrK)Y5`BeOk)Tho3KUF5G`vK8@{twCKZ|z-lvG()D7tg)_PtU#o&uk=C^8J5a ze$KuBFV4OHzh~xOeCq7`e@R135YWfJD5EPsJo^0eXP#qc44Df?#zuhbte=SIfB($K&pi7amHvT1 z@}FSKW^-p;y!ZYzp68u^`l<8JP>lrtfBp;4ecB<2+OOY3vakH zt@~2Lw8t}_crJG)B_n{}&Um6uHlT z{__kCSYq9a;2BGvKhId#-BI@3Upm@feDXISwlAN1|KEb!pFE#Eco9^i@Q)W_yNN14 zlQ5lq{BQX`BVv^-ub{tRpopBR?$sWcUKo(7aGB7u-c{P;V3+CP~knDwS`8R2M!A8 zFsly>`U3UrKhWK!_RF|i_f}PRljzGM88^Cl?#?8VNFpziIJ-`E+|`XFYoduJPVz{` zx#!RC{C>al`*+Uevd&rKE4?)9 zKFeR4*)OoN6+N1L*x9nM(CAx~=}`AjLO;gPg>aKmWK$vR?eto>w<*UTUnd5+ zRqN%F8&v7#n-EWYk`wn-8$w9qreYq9H<%UGkze4VP%o2b?C5Md-JZ!h0KlWS04~aQ zu)?FChz%P3gFJ8Z7UtcQpbSNM0eKIIqT4*Vr5T{;Z+=1F00nnI%N#Jai2gZh zy9x}XmDCS^!WF5MyN=ew{VL9Pd986pKU~jOQj!~=(1GrYUxlbf!w}ic^nt)I^StrG z4!45C9TL{zL*f-gUhN%N$nHNRN=Ii4jhCD>YrNbk&W+BR=xDrrYi3a)+=KLpS8BM! zuWc~tO)=|0qAT2y^=liEF>b+yJKCHi3U{QXJ6x@%?nt|V!adSCa6`A>_=);x<9w02 zTkI{TQM{UGf6gHD#r@4&%|UWkQwTXfgRqvI0AhXjrlouvCv4Vx+cK?w?QZd*E^EY-S_)Hoxf^d^G$ai=P@-`~w znKWoV2lP#SDfp4!@G?e4E*)pghO6JBTODwyAC}XF`cKkXYe}IYZ5X9r*l8UcH}Mu8 zMHHC$>|vl(-iIemSchd3kZLH!a6FS~H4%WslSTx4)#EI%e7>iLMT^OCGF{9RWSr?D zbbsL_q`?H^S|1ifp>d|CDX1G~;9S4)0gdS|{Jg_!0RpbW&(pF__I4rQ{Gf~WT}Y)B z{@$3J)i73S`nCSs&EoI_>R|3U)?4iP8JUXAP@@}xpEV&}5k6zGI)13V6Ejiu%eFo0-68l<7We%)81Fig>#G#WXy#R3Fte#L^-8JGms9zF|nnB0M1 zdqDPzU)#={#TxPLSbj(nPj$-HRjWWSV`~H~W)lH26s#L$SU!)8Dm2dIR~6eKNf;KU zy1V_U<&sxSS76iAWR$x_7w|bFs6gwSCXV#uC)Q&ToDOvkdw*ch&g&vl69$k`v zl{S_%icGC>M!L<$lx6rHVqHUjo^BV!5>nN-7QuyZ1I!>~R9_O5)tB;1Gdb9fB6ly1 ztR8^kEAbk_QvjfDPfECvLu11eIrIspYoT$5Z_IJwsbu}0 za$uk8G8T$OjpTy_8%$+ZMT~LAj>lt>n$4Wf6a}##bi=J!#FDg#m6B%ObV~ z-k*>4&nE>>Vy0gtcbe%FNS4lbW!;ag98e|Bt_`^b^Jzz>6(v68xC8OY4LO6MoFn5S zd3$ua$wZ3Ti_UUvm+XOC@YGe`EGlfLPi#8kUaG4)2Q~y*+CWwqfp6unz3N%U6c)l=Ia@JC+-IcLw*2e%WO8{6V zF)$TKuNYFNf-dAly!48GSWM?_ofPAS#iU`ekXe|>glg5VR^1exPl)>$aGe%uY^Y=F`;i!;7XXrz*1NrY4~j1i6@(9eOFIY$TSK zYnob&YM~t7^rxPU%kr6aEq#m}7#0PRi5Q*yef@%qlfumy3ZCm6-=la(5A`Jdw-Jg z{n~^E$CZ}X9)plL!!~pk$)_*__uzm5_l@m1$`+&dllu&tV=eYUTvD#mZAHmvKgg#$ zy#;CR4d@SdSHkQiqt}bp0xEB73>1n8RIMJmSSCzq1Os{faHF3 zOF|aN8}%7mgqPIUawRKR(Ak9+O3F$V^)2yQH8;&zirgVfHG5$t;uusSn87lS`eM}- z_2n@99c2Q>13h!Ej04|sQd;^SpseVOinws#Aw<9oFoPB5B`O*pqfKmn@42gN+A1&B>beke!^DD)n zG53R^&*D?}ZKSU6C1wWX(s?02!S>3G-xKHYKDdF!Obxjr@a^d=3u>{~wOH{e6F^mB zFCQU|dwTfYpTX1-@X}Z)F64pqfPT1wrFEqruJZ0mKU|^V?WX;59nap%;=JoP)_00e zS=aHkB2?CSd@aSG>tt-%Z&o1u+K8^#7$$eI5Xxp3dv|A+#L}?(reA#%ci72BcLf&W z>#)ZUd+;OXRThg?-;4#~n~6YtGv>MKn>iD$QsuI;dg2OUPp2ei-Em{INtJ3dZAp~F zKrSV}ma3K_R-S~jQ z#s_U$dsF9F;0~PHj0xQ8M{2USTfu`c#0c=QWMxA!^{|&kTKj93Lsa5xvxrJC*KCf) zwV#npolhVvK~CAus*gdGzv;_7I=k)Mx~P=LJ#`jR)0NB0VJ z2>`1j0NroL%&^5Nn=_t?DmuMG1R4Re%lY@6Dq$RC})^$fPffb2TUCjWYHTvhb^v zT4l9{Z3ZW=;xfhcEFQgG(gk>OfIgiP{Ey=lx~SCSX#}HR-{VM%%Pv~jHxi%+> z&lIM6850cD-e9+*tkn@t_)*A=Nz=>3sXuqXGlv9v1htI~(wk7`Zt*(4dQ7+%KaN53 z7@Ecwjwj^p!yg*D;)gRLL96U4ekc)e;SBd?Y}L=i-cj^|TW`?|gxOFOLc0RXwP7^5 zlso}6alU-UJ{SI~UW_HibH>?WMI%*UU|B!m>2G9OsamL>aNO~devnddRP{v6SuY*% zR>jr`4AKw^(Oa#c!M?Ix&_Tw8uDSS-BDAS>CV3UJJmv^$On3e0k`|=&uJt3MsP?v? z)}LIg+zn=#_X%32WHyZSbT*$sZTI>_CnLfxaHWh}RdbeWFFC~w>04PT)97U_&ak)8 zc!(Q>9{J{o7D8=8oV^4!73D-1DJq$jO`AyOkTsXaVh}F5dnpmiVM36-4mPBoNrt`h zKmG8>G9WQrF`Yp7^bV1zWR(1|t{<|c75y}eQ^%$TQdE|~^q%xaxmrK=qf>DZVt|_eDC{T8MlXBKQ(ut7oDG(x0ea*mA(MaTW{Re@4A zs9qJ=&?SV$0V(kJ=GdB(lZ&AMwo~$&h>N5!oS<6HJeQnbMEZsO5ZWj$55szU4J!_` z>Vlu;#jNNrJR=?@A#F)O_EniBDy1gSREQ;59utudG$HW)feXb)?=A9LxS|FX{pc+d zTf<^#N)36)k#(6H;5>+LJ(4Kn!d52%kX=mK*@!R63Vj^sXi$p-DZ`gim$5;PI-8u5 zoHj6wmEktll)_=eHC?};Qn59rm(OJU@HKW}*}-HIs8qjptnjQM<_+Pp7mg&oKXbDm zz9D$y(fElwWo0r1*8+q|NVv_y&jkdECN%>-2A|+I7C%mZ7_@$UFZk82fxfy+6h%>k zqvlUra2Dfsx{=FZ$^ofBl^-Qaylt?)O|UZFQnYOWJRk=RTOds|k>8{!Jgr(+WIA*w z`pE7Bv#aM)dmJ&*oIdfQFW$`c`DVo}j@#!8r7Jv}RW zVz}QmxZj0U9HkrLdlyy>D_b%*GWM6rFOby~VU|a@n(#_wm=lN(XO__kAfQy7P?Kp% zgDgl4k7LRxSYz^xyt|c{fMPu?Vv8Qfji@ORPD|e-9%PZXSbgQvsF=8#mgx(#vAMI7 zIMQU6vGHu;?-K%%trWh`tyn>Y@8|lu7A&x?h?EP!IT3b?rCU5a-PVr2QA44j%1!{g zSqT7&E-~Ba6NQy5cP{>kZ=8!Y%=_-QdN#iPkeGPdHrouqj~~md5H|~djKsbPqp;87 zFgFidfD*nBu$r9^Cq}n1!w+NG_n{wtsM1*UM5fkWNQ~n56C7E<*m@BN)w2f3hY5B* z%-P1lhsmVF4`H@EfW_P@W|K^fF7WM8P)(>|d)#D!h`>U;fDEu==oEdf0ip{_GHxd} zx?m6*(k|F}2_cdeu0$;^EN3&V+pn>Pq6;bqLos^&c)x>ta^dusW22*4?RE~9*cFfn zue$No*^7%5cm%Cf=bKJ1@?Z|vhHLl}%ehc%wOD44 z6H`wAEa5-5MOAA{u4|o+A8VZ*=HR+6WH(K}rIMsmLd|%^*4H}=6_yL!W`Fdll$@;u z3Hj+W>CSkspL0=#S|Nr+v^!UzMuI~w`GP`H>$cWwtLHphUqp}zZDYBevvUKi8v6fK zs~QOx5M{Jf8-%^kWFBR0TCg;sYs3#NVu`1pm0pi|knxJLmReSEEgys8vfgB-N9O^; z)d8Sx6uivYs!2%`PX1teNfB!@kfRpF#PVymXm4#0pyd#Szt?_lD}Ie-w4+elCg!RA4)Y75qjFidX8KH@rI(uA^jbfiQ_<2L z8Yt{un(6Xu4?#?cAQwK=k9@Fb((xiol`7=bE=+Y~7HF8-?-<3-lJ(@9MO0D|d(g{u zI%yBkuBQp(%;v1SJrn^EhBWSL2(8yMA8K-DK+4bLBI-O|9`WG`%!v5T^f?(c)8}a6 zs!X4AHfPpsPJ*Wy2cu@?9H5e&_R#sUe3ml+9i94Q`C@`hpC@D-%K>P^x3)KF7)~~o zs_mb`C{z%Sp)kmR9CNt;1vZki24c#ZFpTE8N+PFr9j8CXZq8;9XT-m9*5$j3PBuM(>SB#u1JgchWA5QvN2pS?-doy&o zDXPvfF7r}~3O_h(C{|#Q;R zacU;)`(_a?YAP+0sji`Q9S7p8Czf5Y{NrVQBc5M8JZz>$Aj@W%HCD=P$t=p@|2msP z7-8@$z)tYngt=M6fwnS};0}}+Q_&OOcqse?%3+U5Lwa{{VQlL_2uWc3I=*P*SWvQn zJ2M^Ho^T&+rNLJf7t308L#7SK2^&25qF8i+aEUEwF06voZDk%%nFR*^e6CjaG$AU_ zhDMsW2+@#v%~XomLA#rd<*vLZ6Ik(PH50Y~QnU_`*JKI?Q6G6GI2$4m4yz|D?tu1% z9^5_+Q=7sI*MJ73xkmwpBPQdT7NoKr+U)t$%niQ$E12GVOijwdJkaczTNLuEnwF&C z>@^J9fvK5JhvLpZGVcY)(`o8ngCe1*z>6`1_)K^wyO@|oU7>$tZ=-InGcC!p|4u~* z%MFNgbi*rtv?ZpTBQgvk)v#AGpxc)H7G;+!=>@PfKTDEmqTA|s!6V7Y#u+*>CoRwJ zn$6#|f7l?dWWqO&wBeL;z{jsQZDQKlR>I6Jb9~zA<)(w8E!{D&F{Ba<&`Kb!@wH*! zXG1YHi^wR9R~J=OeHq*5^XD12w(*xF=&;(7Z?%^V`?Z&3Y|Px@NO1>Rk)`mFMJPk5 zI+*ZT3%}OhVtvXoK(E$*W(fNsQ2Wsj(>JlvRPTXbFqhs@LDt{n69It@&R{ORBME}X z6rag>+?nT(Got^vzbCfV_dpM34 zJCzifIkB8mD)m)5~IkE4LyUaLO? zMLwYqM}Hi9cUbL{yyE3A zw8_V7JX*6DkuQlw+&UKQeK|Z1(9@@5kU79F)Vp=23j{DB0%&G>$&f_9ad=fioG<2B zE;)b~RbWrYwMU7e#_OVXH0ERlmBUc;udlG1GsiG*6=?D67T6O{V<6N`Y}J<=rYrzc z?{%?6c71FiTP&O7&wSH2=y=TqL)}PMis|`Dbs`h9GMyaEh<#d4mTN z7EWZC`~VNmd{z{+zJ4h&&yb*6pI=`NeSQXzT7ii;=E?x?E3p2k727XZCa0GWWK7&N zx3txZPA<%^_br_kcF>LZOfb0S-Ax82oGpZ~K_GRLbyJbR zu)!UTg1862ehb?kZfNENGC&~#ujIBBnUtxo_c@|aU!e;8=_pivg=<+~!TuOqD?p@n zE4{+ZshIhz+G3|}7BiLl+MMmr9FSa~f?~sKSZ?PuRJ@Ib=YdJ)*9S5zEj2L|eeC1Ou(M|fiJ@3p z)YOMb?GfkEaPAYZx=`h`%p3IfH><1AL`@ zN1vw`!TCC|Y8WO4-NiKuF)n~W_)a1`qTM%?$wK3svRF)R*W2`7TLqp_RMMk(p~)+U4(>7eqF{z zQX&k@8%FZ_iUMQi`s3d+R-*z0{yG!bcIPw@J2~;REW~xjO$|0zM3t{&WHOzcZ4$Oj zv8Dew^Nko$_M@7#6z0^a>qHrMtg|=02uIbaT~`Z<8od>35Z0ZxUZ?`?=*SjqFB%0u zAG^LU-D~E(91Q(wey9059J%pU>x8^>K}0(nqc1UF5-t~X32R%}U+foFmMK(ea@36t zdWi+Gn53VZ8^x$-&*VBS%vp#o-K=dUn>l67RqW~fuIBvBz`=UZ<`>$WKZy;S1P#nO z`wY)Zm_jBZU)Y31C%bVU@+9On)yP9sOnqXuD75O{X*bzt23TM^Z;Ge!<=VM5O=vi z`jE-Oi&zV4(M3;>5rfdjI#L|$u@#y2cugQN5=B`*>htA!h{OV^#}-JPCmv0e){m<7 zMm>BL{Q|cjuLl?PS0uhwe?aP{K1pnlFsyS98#W|~*;<#B9@7a2!iPol$_2*eycU>{ zZ-(r;xI8xh!QC8*Ec+SNj5ixc;AAF37(A;uA{X%pShpx#D_XiL)`YcA*FU^k!`_jT z0l{~0uwRTLWAj*Vw?g;FdO72mb*E1X$8K?qR=Zaf*0@+leOq4QH*6RY>f6$bW20@( zQS_a9VnEcSUE_I!WVZ=T_5xq<8cGt0cI*MjYs0ZiOJcduk@HX%hH<@Wpr@Yh|jVx%tGizI3b5Z^aLma?%i%ktL}}I>p+nN&^qeE3Ck9l5EmR zb|8n9tac7gKf2guQnL2rGH|iO-Ser%f zX{9=Agoo$gk&p+xZJSK{>cyv7FuvYD&^|y7|JcUXTZRtbh2J$KJwLriCWtl zb%2yUkaA~DwC(Mb6t)P{TmH;mR+F6tI`)F(nYdmksIRtkT@t9RZxev-5#aRA#ZDGU zqj2mc9eYaq$6ik4jHx9JYppk;+2jkfE?fajR&+Oqb^*k&!N@ZWOhUtqRYlJIr@wsc zk>wly{#c71&2LF5Nh{$n4e=cw`$n92Ezc-Xm6nA{GD@;a-dx%EPRn!3{aYn}P6sKk z5jNb(_FEm30qenHjhuegl5;~G(4(lDE3ayrbWuKb`g&N*K1;Hu>G zCLk9=9x<>R;j$!COfrco;b6S0Q++eJ)kD*0eSB4$VcLa=qnj!nPU<`-5PvGLUsdup z;03~I>g33aqg$top^Z`O+>wR1{7RbqW<^Q0;VzV^8iFpc|85&^Cs{X7P)zCu^8 zlY|xqvggz+a<6jPMzt=XUlMe+QA8eT0J&F*Kag^wZ}lxzT-_d5G6*Q+tbbOJ^L6h}#8eYHSx|W=W{l14_1A1@xwk6CP6^pHcPuNxA9M+V`PD)hO~T zH-D&>hx4v$6VE&Z6OYN7)7@thC^>(w>mMf9oDJ6X42e78yNQOTgRQJq)!pY7#b8Gz z0~p(eU(=r`8#R4G$)M`KsN7*CLkY}QrS@8L$dfWRYH!Y78wl^l5OW+(x8KjjV}|b| zE0Ve#O3}>^o7W$5&A|c{{!)u1Q7jaMztyefOVrQhD#|bqnzfi}g#^&Bq<(&DmvBKK zf=1`W$@BDv+WbzpR;&8&tvaD1b}QUa4(HJZ?$%qBbSbfwDwf)#R_~ESuPJv)H#?O` z>eO#jGC&gjcjeSc^eZLI#>a%l5bGjT40OsaYbB{3S9TRjkQnw0*ldc}RQaDTQt%O{ zf8>~)lDlJ-zp(U@nrz_VZS*OE+59FCF}{IIN_mc2$FmCIJ*u}Qv9Ni1*eN8uTe@eX z`SIC((2}YOKptMzJ^j}P>=VvDG+1tS^Q@}wR`QsV!%lynQvQgNXPSp(LUv~~-7YPC~A)b{4l2JFJf!pr<*WMVhmHmp5Ht1ud7nms9F+L|NFcxpD($#h2%kD2OF z)0~vBZZ`T1R?)IzPE1JHGpij)zuMrih{6QlKvnC846e)X8Lee4aMvQkny$_7RZCx! z9p(7LuHP`bN>23~cKx=c?=I3aE#O_pGH|EPJJNjYj4&18KXLa0PX}A(Qy0#TE~t5Q zu^qZ$a&{GJtp*T}jh=vZFC-YlfZ=M1j)u%zi4^8FGN@K{=D?vO#|#`f(@`0^1HZpT z^#Fvk1V82avVMRw?*P9Mqh58dQt1X++2^lp+@k=a5&PVgH;q$&ue5fLo)(JfP~&l^ z+V2P(rU=!e0=ZDk9=nZFj>cloaiJ&&+?3a8V}%k*YL-B(1`)d=hR`e z%#YUCrT$k7#dHW)A??`Ncbe6OW$ef|s9vi7bB7tISK|a5J6#aIO+zMkbMB-H+}F_m zv5?kb?lt`C$t>-(3PissBY5tYC!XlY^$*AewyWJRuxEoUj8<_A4UB1`by_Pu;%fG0 ztFVRu_q9(F?>IUrnH@d>tA{iEa}L$X&ym+a6FrlDl0UO}qb)KrRcdJYzNJrCdf3uu zl-AzT5f{Rgid3G(lm-apc)&tHSl((sXX%eDebG`|C=j%_OUnpCMMj&NJ-<~iiVW=g zsH#ixiOGj$-C%#i2{CaI0@DePLcI@|wTqG!s+mmIdP!p8uiNSZpY=_S%PYca?V+xC zMfk{0&_NuRd2}&%qCDv?MX(IuU%JJ)4v;$$FAl2;WXnr8Mj%c4Y8EVmcv|VS^6PuS zF3~)QO_&)vk&W-ge4_|3rQ)ib(?bfvn-q;cV=|~GJvd~~&faC{|31uPg zo&2qrpfiN%Vo#HKVH9XyZkAdTO+^OXXv&?2Y7kfAFw@yWbMX;*A%-R?hk9Bq<$}Fu zILE{jYWRO{;!CnX33Kn@2MMzSLWtMh4ri%ZEwr7-@Y&e{vZ?rCGc7^dUa+1b1>E8L zH;o3Hnhl~&v;WDBJxGMCu}&jcL;QfTVmgDi(h%H6l!CCce)zt1nf!bx{l=kUvAZOG z(i|DeT=6WD0zW#JWFd;-!9BNAJ41&I_nI4LvSl?khmvL4)qsMS4;Jvm5U-q&=|Q^6 zvR_b`w%jEZZcq{^+0qs_3wP-90TMhXa=Vp0rsS}aBTAm32TYIFtTcSP8k%U`q>j6Zg|r2L03s*z>1yybG1_6UR?HLE>u1qNmGeak;#>0wJXHAIZ1?D~<~&)+KY|!${n~Z<=Xu*w-i>P? z9N4{etTY@vJv#Q}ZI1+FaPp-f zZLW+@j1KP^DIcu_j|Qb9qa(N8z3WJDpj;Y?C%J2)G+_{}zti*XOY!d0%jjWK+fgb5 z%}8nFK(KRkP}4DRE(7KEjh@$^^6tKB7b<+XJW(kP?K(0#@ugjSMGxOQ5{$$X+UDAC z9U3i7>B->1;OX6?+%Lkkk+7cYxr{V4^jYFjGRVEIM4hN5x#zx8`ha900hyy9_-Ya1G zif-;38a?nN9c&vPuLRc1hV@?}>A#|vFOkq2AlSZ?_k*tnNNCu1e`(@yFt&AcY}?3F zqX*!l(Gi>Mt#_;7$zaS?*m;=A&*BYGuc`r1Y=03Tvxb6wo5w2U@nA=Je4MLW??xp( zQW`1`ZVrYVYeL7nQ{G)yfOub}JTwSm_Vteq2ZOr~S0*On_D+XLlWqJmx?Q#LqveUi zJHd9q0s)NKZth@(-JA0M^a>c7+JgB!RUTxeNkv=hSbu;p0m396Nb!o2%U3r-fB(K+ zhet=zIYSfo1*KtYtjq)Di3bBLmHnfYu_iLsvrv0d-XeAM0D^xr+8d)I7N7TeULob> ze*GV3K7Hl%XMg)&e)HDfx{}|_O#LQ$b8g9}fBjd#`Ol|*{ld(z|NY;%I_InZ?l=G8 zL{jIQoL8dPG&WbKsgND0q4JTTfP%JdBd|hwA{g}kb;^4}Q!b5^F)H>z(DKCOHP$f8 zwvEgVftfH|8X0`J#QOKVO3K?Wy&0^1AQ&tkJh*S$$X`^(t~CIilDGE_AwwTVfqGu_ zos`FtAI5YV8eF?|bae3gOg!^wd1z>$G|>tn_PS~AEImDPjnVtK>v{KK))Erz8uxzv z;Qm*;CdVg&;kEaTjt&JSurfS;0D_eF&ze#joT>ixHq`#R?ke4J;Ep@jV|WGYHg39} zeZxP0`u`LE{9q3M{4?`hcjl30{SP60@{()Y#&=c96SC2z46ff=zP>WZ^Pc$!P*Xl? zyfQR+UofkzJn6@BQ&Z^1!x)(5>!c_bZ5uZ;YUGe}%sua^)O94<4O@s#^p6Z;;_NRE z;-HL8PDqJxoZ-2YH{P7~&Y{vsFtL`vMd_*1$i4^BqvN~BO4wOr*H~UG-aR(C3)6J` z;G`6#jpTWUQ{Fx&qqdZW@jkbW92~vI1M47&=QZw1d3k>SeC}x1UZwsZR(!j_^$?MS zYpD1Bk#>FkG|&Op^?jp*aMaku!vQA7;5BBR>nr?5<}#yL|JGeN6bFLMn6igPueq&! z9j$@uX_Q^hz7I7e;X{Nf@sF+(>aXVFPc^aBbgG>T-E^(DS;*%aFFqef z-w9GT8p;fK!lufY4OCp?fqOO|4h}rYa9hU$R8kz6zb}}0ItWGp;dsicR+~5>fOfw{ z@?4bVdj}8VfD=`s{k*8pH3qUBg{pBG9+0NzQfaYK!-nv%pkDo~Wkxh_{P(Mn2*V@V3BRo_kNrLKkzGhc_hx%0Ts=;7Wum%I~r79;<6bl6~YnBT|c)VQ1$8?8-0v(uYu h^?uPIdq?rtwG-~I+2=@$m!q={1jqmR^G^>0{|8}F7jXap literal 299520 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�K6!r4QX9A24rtYWNV!{x@@ZBmRs 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 LzyAIIM}hwX#{wFL diff --git a/1.6/1.6/Defs/ThingDefs_Buildings/Building_WULA_ArmedShuttleWithPocket.xml b/1.6/1.6/Defs/ThingDefs_Buildings/Building_WULA_ArmedShuttleWithPocket.xml index b5728ab4..ead296f8 100644 --- a/1.6/1.6/Defs/ThingDefs_Buildings/Building_WULA_ArmedShuttleWithPocket.xml +++ b/1.6/1.6/Defs/ThingDefs_Buildings/Building_WULA_ArmedShuttleWithPocket.xml @@ -102,7 +102,6 @@ Shuttle_PawnExit true -

  • 500 true diff --git a/MCP/vector_cache/knowledge_cache.json b/MCP/vector_cache/knowledge_cache.json index aab11e09..8b43e0b6 100644 --- a/MCP/vector_cache/knowledge_cache.json +++ b/MCP/vector_cache/knowledge_cache.json @@ -6209,5 +6209,1039 @@ ], "result": "--- 结果 1 (相似度: 1.000) ---\n文件路径: C:\\Steam\\steamapps\\common\\RimWorld\\Data\\dll1.6\\Verse\\Thing.txt\n\npublic class Thing : Entity, ISelectable, ILoadReferenceable, ISignalReceiver, IExposable, IEquatable\n{\n\tpublic ThingDef def;\n\n\tpublic int thingIDNumber = -1;\n\n\tprivate sbyte mapIndexOrState = -1;\n\n\tprivate IntVec3 positionInt = IntVec3.Invalid;\n\n\tprivate Rot4 rotationInt = Rot4.North;\n\n\tpublic int stackCount = 1;\n\n\tprotected Faction factionInt;\n\n\tprivate ThingDef stuffInt;\n\n\tprivate Graphic graphicInt;\n\n\tprotected Graphic styleGraphicInt;\n\n\tprivate int hitPointsInt = -1;\n\n\tpublic ThingOwner holdingOwner;\n\n\tpublic List questTags;\n\n\tpublic int spawnedTick = -1;\n\n\tpublic int despawnedTick = -1;\n\n\tpublic int? overrideGraphicIndex;\n\n\tpublic bool debugRotLocked;\n\n\tprivate bool beingTransportedOnGravship;\n\n\tprivate int tickDelta;\n\n\tprivate bool beenRevealed;\n\n\tpublic bool shouldHighlightCached;\n\n\tpublic int shouldHighlightCachedTick;\n\n\tpublic Color highlightColorCached;\n\n\tpublic int highlightColorCachedTick;\n\n\tprotected const sbyte UnspawnedState = -1;\n\n\tprivate const sbyte MemoryState = -2;\n\n\tprivate const sbyte DiscardedState = -3;\n\n\tprivate List tmpHolders;\n\n\tpublic static bool allowDestroyNonDestroyable = false;\n\n\tprivate static Dictionary facIDsCached = new Dictionary();\n\n\tprivate static List tmpDeteriorationReasons = new List();\n\n\tpublic static HashSet showingGizmosForRitualsTmp = new HashSet();\n\n\tprivate static List tmpIdeoNames = new List();\n\n\tpublic const float SmeltCostRecoverFraction = 0.25f;\n\n\tpublic virtual int HitPoints\n\t{\n\t\tget\n\t\t{\n\t\t\treturn hitPointsInt;\n\t\t}\n\t\tset\n\t\t{\n\t\t\thitPointsInt = value;\n\t\t}\n\t}\n\n\tpublic int MaxHitPoints => Mathf.RoundToInt(this.GetStatValue(StatDefOf.MaxHitPoints, applyPostProcess: true, 10));\n\n\tpublic virtual float MarketValue => this.GetStatValue(StatDefOf.MarketValue);\n\n\tpublic virtual float RoyalFavorValue => this.GetStatValue(StatDefOf.RoyalFavorValue);\n\n\tpublic virtual int? OverrideGraphicIndex => overrideGraphicIndex;\n\n\tpublic virtual Texture UIIconOverride => null;\n\n\tpublic bool EverSeenByPlayer\n\t{\n\t\tget\n\t\t{\n\t\t\treturn this.GetEverSeenByPlayer();\n\t\t}\n\t\tset\n\t\t{\n\t\t\tthis.SetEverSeenByPlayer(value);\n\t\t}\n\t}\n\n\tpublic virtual ThingStyleDef StyleDef\n\t{\n\t\tget\n\t\t{\n\t\t\treturn this.GetStyleDef();\n\t\t}\n\t\tset\n\t\t{\n\t\t\tstyleGraphicInt = null;\n\t\t\tthis.SetStyleDef(value);\n\t\t}\n\t}\n\n\tpublic Precept_ThingStyle StyleSourcePrecept\n\t{\n\t\tget\n\t\t{\n\t\t\treturn this.GetStyleSourcePrecept();\n\t\t}\n\t\tset\n\t\t{\n\t\t\tthis.SetStyleSourcePrecept(value);\n\t\t}\n\t}\n\n\tpublic bool FlammableNow\n\t{\n\t\tget\n\t\t{\n\t\t\tif (this.GetStatValue(StatDefOf.Flammability) < 0.01f)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tif (Spawned && !FireBulwark)\n\t\t\t{\n\t\t\t\tList thingList = Position.GetThingList(Map);\n\t\t\t\tif (thingList != null)\n\t\t\t\t{\n\t\t\t\t\tfor (int i = 0; i < thingList.Count; i++)\n\t\t\t\t\t{\n\t\t\t\t\t\tif (thingList[i].FireBulwark)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t}\n\n\tpublic virtual bool FireBulwark => def.Fillage == FillCategory.Full;\n\n\tpublic bool Destroyed\n\t{\n\t\tget\n\t\t{\n\t\t\tif (mapIndexOrState != -2)\n\t\t\t{\n\t\t\t\treturn mapIndexOrState == -3;\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t}\n\n\tpublic bool Discarded => mapIndexOrState == -3;\n\n\tpublic bool Spawned\n\t{\n\t\tget\n\t\t{\n\t\t\tif (mapIndexOrState < 0 || Find.Maps == null)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tif (mapIndexOrState < Find.Maps.Count)\n\t\t\t{\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tLog.ErrorOnce($\"Thing {ThingID} is associated with invalid map index {mapIndexOrState}\", 64664487);\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic bool SpawnedOrAnyParentSpawned => SpawnedParentOrMe != null;\n\n\tpublic Thing SpawnedParentOrMe\n\t{\n\t\tget\n\t\t{\n\t\t\tif (Spawned)\n\t\t\t{\n\t\t\t\treturn this;\n\t\t\t}\n\t\t\tif (ParentHolder != null)\n\t\t\t{\n\t\t\t\treturn ThingOwnerUtility.SpawnedParentOrMe(ParentHolder);\n\t\t\t}\n\t\t\treturn null;\n\t\t}\n\t}\n\n\tpublic int TickSpawned => spawnedTick;\n\n\tpublic int TickDeSpawned => despawnedTick;\n\n\tpublic Map Map\n\t{\n\t\tget\n\t\t{\n\t\t\tif (mapIndexOrState >= 0)\n\t\t\t{\n\t\t\t\treturn Find.Maps?[mapIndexOrState];\n\t\t\t}\n\t\t\treturn null;\n\t\t}\n\t}\n\n\tpublic Map MapHeld\n\t{\n\t\tget\n\t\t{\n\t\t\tif (Spawned)\n\t\t\t{\n\t\t\t\treturn Map;\n\t\t\t}\n\t\t\tif (ParentHolder == null)\n\t\t\t{\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\treturn ThingOwnerUtility.GetRootMap(ParentHolder);\n\t\t}\n\t}\n\n\tpublic IntVec3 Position\n\t{\n\t\tget\n\t\t{\n\t\t\treturn positionInt;\n\t\t}\n\t\tset\n\t\t{\n\t\t\tif (value == positionInt)\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (Spawned)\n\t\t\t{\n\t\t\t\tif (def.AffectsRegions)\n\t\t\t\t{\n\t\t\t\t\tLog.Warning(\"Changed position of a spawned thing which affects regions. This is not supported.\");\n\t\t\t\t}\n\t\t\t\tDirtyMapMesh(Map);\n\t\t\t\tRegionListersUpdater.DeregisterInRegions(this, Map);\n\t\t\t\tMap.thingGrid.Deregister(this);\n\t\t\t\tMap.coverGrid.DeRegister(this);\n\t\t\t}\n\t\t\tpositionInt = value;\n\t\t\tif (Spawned)\n\t\t\t{\n\t\t\t\tMap.thingGrid.Register(this);\n\t\t\t\tMap.coverGrid.Register(this);\n\t\t\t\tMap.gasGrid.Notify_ThingSpawned(this);\n\t\t\t\tRegionListersUpdater.RegisterInRegions(this, Map);\n\t\t\t\tDirtyMapMesh(Map);\n\t\t\t\tif (def.AffectsReachability)\n\t\t\t\t{\n\t\t\t\t\tMap.reachability.ClearCache();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic IntVec3 PositionHeld\n\t{\n\t\tget\n\t\t{\n\t\t\tif (Spawned)\n\t\t\t{\n\t\t\t\treturn Position;\n\t\t\t}\n\t\t\tIntVec3 rootPosition = ThingOwnerUtility.GetRootPosition(ParentHolder);\n\t\t\tif (rootPosition.IsValid)\n\t\t\t{\n\t\t\t\treturn rootPosition;\n\t\t\t}\n\t\t\treturn Position;\n\t\t}\n\t}\n\n\tpublic Rot4 Rotation\n\t{\n\t\tget\n\t\t{\n\t\t\treturn rotationInt;\n\t\t}\n\t\tset\n\t\t{\n\t\t\tif (value == rotationInt || debugRotLocked)\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (Spawned && (def.size.x != 1 || def.size.z != 1))\n\t\t\t{\n\t\t\t\tif (def.AffectsRegions)\n\t\t\t\t{\n\t\t\t\t\tLog.Warning(\"Changed rotation of a spawned non-single-cell thing which affects regions. This is not supported.\");\n\t\t\t\t}\n\t\t\t\tRegionListersUpdater.DeregisterInRegions(this, Map);\n\t\t\t\tMap.thingGrid.Deregister(this);\n\t\t\t}\n\t\t\trotationInt = value;\n\t\t\tif (Spawned && (def.size.x != 1 || def.size.z != 1))\n\t\t\t{\n\t\t\t\tMap.thingGrid.Register(this);\n\t\t\t\tRegionListersUpdater.RegisterInRegions(this, Map);\n\t\t\t\tMap.gasGrid.Notify_ThingSpawned(this);\n\t\t\t\tif (def.AffectsReachability)\n\t\t\t\t{\n\t\t\t\t\tMap.reachability.ClearCache();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic bool Smeltable\n\t{\n\t\tget\n\t\t{\n\t\t\tif (this.IsRelic())\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tif (def.smeltable)\n\t\t\t{\n\t\t\t\tif (def.MadeFromStuff)\n\t\t\t\t{\n\t\t\t\t\treturn Stuff.smeltable;\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic bool BurnableByRecipe\n\t{\n\t\tget\n\t\t{\n\t\t\tif (def.burnableByRecipe)\n\t\t\t{\n\t\t\t\tif (def.MadeFromStuff)\n\t\t\t\t{\n\t\t\t\t\treturn Stuff.burnableByRecipe;\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic IThingHolder ParentHolder => holdingOwner?.Owner;\n\n\tpublic Faction Faction => factionInt;\n\n\tpublic string ThingID\n\t{\n\t\tget\n\t\t{\n\t\t\tif (def.HasThingIDNumber)\n\t\t\t{\n\t\t\t\treturn def.defName + thingIDNumber;\n\t\t\t}\n\t\t\treturn def.defName;\n\t\t}\n\t\tset\n\t\t{\n\t\t\tthingIDNumber = IDNumberFromThingID(value);\n\t\t}\n\t}\n\n\tpublic IntVec2 RotatedSize\n\t{\n\t\tget\n\t\t{\n\t\t\tif (!rotationInt.IsHorizontal)\n\t\t\t{\n\t\t\t\treturn def.size;\n\t\t\t}\n\t\t\treturn new IntVec2(def.size.z, def.size.x);\n\t\t}\n\t}\n\n\tpublic virtual CellRect? CustomRectForSelector => null;\n\n\tpublic override string Label\n\t{\n\t\tget\n\t\t{\n\t\t\tif (stackCount > 1)\n\t\t\t{\n\t\t\t\treturn LabelNoCount + \" x\" + stackCount.ToStringCached();\n\t\t\t}\n\t\t\treturn LabelNoCount;\n\t\t}\n\t}\n\n\tpublic virtual string LabelNoCount => GenLabel.ThingLabel(this, 1);\n\n\tpublic override string LabelCap => Label.CapitalizeFirst(def);\n\n\tpublic virtual string LabelCapNoCount => LabelNoCount.CapitalizeFirst(def);\n\n\tpublic override string LabelShort => LabelNoCount;\n\n\tpublic virtual string LabelNoParenthesis => GenLabel.ThingLabel(this, 1, includeHp: false, includeQuality: false);\n\n\tpublic string LabelNoParenthesisCap => LabelNoParenthesis.CapitalizeFirst();\n\n\tpublic virtual ModContentPack ContentSource => def.modContentPack;\n\n\tpublic virtual bool IngestibleNow\n\t{\n\t\tget\n\t\t{\n\t\t\tif (this.IsBurning())\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn def.IsIngestible;\n\t\t}\n\t}\n\n\tpublic ThingDef Stuff => stuffInt;\n\n\tpublic Graphic DefaultGraphic\n\t{\n\t\tget\n\t\t{\n\t\t\tif (graphicInt == null)\n\t\t\t{\n\t\t\t\tif (def.graphicData == null)\n\t\t\t\t{\n\t\t\t\t\treturn BaseContent.BadGraphic;\n\t\t\t\t}\n\t\t\t\tgraphicInt = def.graphicData.GraphicColoredFor(this);\n\t\t\t}\n\t\t\treturn graphicInt;\n\t\t}\n\t}\n\n\tpublic virtual Graphic Graphic\n\t{\n\t\tget\n\t\t{\n\t\t\tThingStyleDef styleDef = StyleDef;\n\t\t\tif (styleDef?.Graphic != null)\n\t\t\t{\n\t\t\t\tif (styleGraphicInt == null)\n\t\t\t\t{\n\t\t\t\t\tif (styleDef.graphicData != null)\n\t\t\t\t\t{\n\t\t\t\t\t\tstyleGraphicInt = styleDef.graphicData.GraphicColoredFor(this);\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tstyleGraphicInt = styleDef.Graphic;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn styleGraphicInt;\n\t\t\t}\n\t\t\treturn DefaultGraphic;\n\t\t}\n\t}\n\n\tpublic virtual List InteractionCells => ThingUtility.InteractionCellsWhenAt(def, Position, Rotation, Map, allowFallbackCell: true);\n\n\tpublic virtual IntVec3 InteractionCell => ThingUtility.InteractionCellWhenAt(def, Position, Rotation, Map);\n\n\tpublic float AmbientTemperature\n\t{\n\t\tget\n\t\t{\n\t\t\tif (Spawned)\n\t\t\t{\n\t\t\t\treturn GenTemperature.GetTemperatureForCell(Position, Map);\n\t\t\t}\n\t\t\tif (ParentHolder != null)\n\t\t\t{\n\t\t\t\tfor (IThingHolder parentHolder = ParentHolder; parentHolder != null; parentHolder = parentHolder.ParentHolder)\n\t\t\t\t{\n\t\t\t\t\tif (ThingOwnerUtility.TryGetFixedTemperature(parentHolder, this, out var temperature))\n\t\t\t\t\t{\n\t\t\t\t\t\treturn temperature;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (SpawnedOrAnyParentSpawned)\n\t\t\t{\n\t\t\t\treturn GenTemperature.GetTemperatureForCell(PositionHeld, MapHeld);\n\t\t\t}\n\t\t\tif (Tile.Valid)\n\t\t\t{\n\t\t\t\treturn GenTemperature.GetTemperatureAtTile(Tile);\n\t\t\t}\n\t\t\treturn 21f;\n\t\t}\n\t}\n\n\tpublic PlanetTile Tile\n\t{\n\t\tget\n\t\t{\n\t\t\tif (Spawned)\n\t\t\t{\n\t\t\t\treturn Map.Tile;\n\t\t\t}\n\t\t\tif (ParentHolder != null)\n\t\t\t{\n\t\t\t\treturn ThingOwnerUtility.GetRootTile(ParentHolder);\n\t\t\t}\n\t\t\treturn PlanetTile.Invalid;\n\t\t}\n\t}\n\n\tpublic virtual bool Suspended\n\t{\n\t\tget\n\t\t{\n\t\t\tif (Spawned)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tif (ParentHolder != null)\n\t\t\t{\n\t\t\t\treturn ThingOwnerUtility.ContentsSuspended(ParentHolder);\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic bool InCryptosleep\n\t{\n\t\tget\n\t\t{\n\t\t\tif (Spawned)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tif (ParentHolder != null)\n\t\t\t{\n\t\t\t\treturn ThingOwnerUtility.ContentsInCryptosleep(ParentHolder);\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic virtual string DescriptionDetailed => def.DescriptionDetailed;\n\n\tpublic virtual string DescriptionFlavor => def.description;\n\n\tpublic bool IsOnHoldingPlatform\n\t{\n\t\tget\n\t\t{\n\t\t\tif (ModsConfig.AnomalyActive)\n\t\t\t{\n\t\t\t\treturn ParentHolder is Building_HoldingPlatform;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic TerrainAffordanceDef TerrainAffordanceNeeded => def.GetTerrainAffordanceNeed(stuffInt);\n\n\tpublic bool BeingTransportedOnGravship => beingTransportedOnGravship;\n\n\tprotected virtual int MinTickIntervalRate => 1;\n\n\tprotected virtual int MaxTickIntervalRate => 15;\n\n\tprotected virtual int UpdateRateTickOffset => this.HashOffset();\n\n\tpublic virtual int UpdateRateTicks => GenTicks.GetCameraUpdateRate(this);\n\n\tpublic Vector3? DrawPosHeld\n\t{\n\t\tget\n\t\t{\n\t\t\tif (Spawned)\n\t\t\t{\n\t\t\t\treturn DrawPos;\n\t\t\t}\n\t\t\treturn ThingOwnerUtility.SpawnedParentOrMe(ParentHolder)?.DrawPos;\n\t\t}\n\t}\n\n\tpublic virtual Vector3 DrawPos => this.TrueCenter();\n\n\tpublic virtual Vector2 DrawSize\n\t{\n\t\tget\n\t\t{\n\t\t\tif (def.graphicData != null)\n\t\t\t{\n\t\t\t\treturn def.graphicData.drawSize;\n\t\t\t}\n\t\t\treturn Vector2.one;\n\t\t}\n\t}\n\n\tpublic virtual Color DrawColor\n\t{\n\t\tget\n\t\t{\n\t\t\tif (Stuff != null)\n\t\t\t{\n\t\t\t\treturn def.GetColorForStuff(Stuff);\n\t\t\t}\n\t\t\tif (def.graphicData != null)\n\t\t\t{\n\t\t\t\treturn def.graphicData.color;\n\t\t\t}\n\t\t\treturn Color.white;\n\t\t}\n\t\tset\n\t\t{\n\t\t\tLog.Error($\"Cannot set instance color on non-ThingWithComps {LabelCap} at {Position}.\");\n\t\t}\n\t}\n\n\tpublic virtual Color DrawColorTwo\n\t{\n\t\tget\n\t\t{\n\t\t\tif (def.graphicData != null)\n\t\t\t{\n\t\t\t\treturn def.graphicData.colorTwo;\n\t\t\t}\n\t\t\treturn Color.white;\n\t\t}\n\t}\n\n\tpublic virtual IEnumerable DescriptionHyperlinks\n\t{\n\t\tget\n\t\t{\n\t\t\tif (def.descriptionHyperlinks != null)\n\t\t\t{\n\t\t\t\tfor (int i = 0; i < def.descriptionHyperlinks.Count; i++)\n\t\t\t\t{\n\t\t\t\t\tyield return def.descriptionHyperlinks[i];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic static int IDNumberFromThingID(string thingID)\n\t{\n\t\tstring value = Regex.Match(thingID, \"\\\\d+$\").Value;\n\t\tint result = 0;\n\t\ttry\n\t\t{\n\t\t\tCultureInfo invariantCulture = CultureInfo.InvariantCulture;\n\t\t\tresult = Convert.ToInt32(value, invariantCulture);\n\t\t}\n\t\tcatch (Exception ex)\n\t\t{\n\t\t\tLog.Error(\"Could not convert id number from thingID=\" + thingID + \", numString=\" + value + \" Exception=\" + ex);\n\t\t}\n\t\treturn result;\n\t}\n\n\tpublic void DoTick()\n\t{\n\t\tif (Destroyed)\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\tif (def.tickerType == TickerType.Normal)\n\t\t{\n\t\t\tusing (ProfilerBlock.Scope(\"DoTick()\"))\n\t\t\t{\n\t\t\t\tusing (ProfilerBlock.Scope(\"Tick()\"))\n\t\t\t\t{\n\t\t\t\t\tTick();\n\t\t\t\t}\n\t\t\t\tif (Destroyed)\n\t\t\t\t{\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\ttickDelta++;\n\t\t\t\tint num = Mathf.Min(Mathf.Max(UpdateRateTicks, MinTickIntervalRate), MaxTickIntervalRate);\n\t\t\t\tif (tickDelta >= num || GenTicks.IsTickInterval(UpdateRateTickOffset, num))\n\t\t\t\t{\n\t\t\t\t\tusing (ProfilerBlock.Scope(\"TickInterval()\"))\n\t\t\t\t\t{\n\t\t\t\t\t\tTickInterval(tickDelta);\n\t\t\t\t\t}\n\t\t\t\t\ttickDelta = 0;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (Destroyed || !(this is IThingHolder thingHolder) || this is IThingHolderTickable { ShouldTickContents: false })\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\tif (tmpHolders == null)\n\t\t{\n\t\t\ttmpHolders = new List(8);\n\t\t}\n\t\ttmpHolders.Add(thingHolder);\n\t\tthingHolder.GetChildHolders(tmpHolders);\n\t\tfor (int i = 0; i < tmpHolders.Count; i++)\n\t\t{\n\t\t\tThingOwner directlyHeldThings = tmpHolders[i].GetDirectlyHeldThings();\n\t\t\tif (directlyHeldThings != null)\n\t\t\t{\n\t\t\t\tdirectlyHeldThings.DoTick();\n\t\t\t\tif (Destroyed)\n\t\t\t\t{\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\ttmpHolders.Clear();\n\t}\n\n\tpublic virtual void PostMake()\n\t{\n\t\tThingIDMaker.GiveIDTo(this);\n\t\tif (def.useHitPoints)\n\t\t{\n\t\t\tHitPoints = Mathf.RoundToInt((float)MaxHitPoints * Mathf.Clamp01(def.startingHpRange.RandomInRange));\n\t\t}\n\t}\n\n\tpublic virtual void PostPostMake()\n\t{\n\t\tif (!def.randomStyle.NullOrEmpty() && Rand.Chance(def.randomStyleChance))\n\t\t{\n\t\t\tStyleDef = def.randomStyle.RandomElementByWeight((ThingStyleChance x) => x.Chance).StyleDef;\n\t\t}\n\t}\n\n\tpublic virtual void PostQualitySet()\n\t{\n\t}\n\n\tpublic string GetUniqueLoadID()\n\t{\n\t\treturn \"Thing_\" + ThingID;\n\t}\n\n\tpublic override void SpawnSetup(Map map, bool respawningAfterLoad)\n\t{\n\t\tif (Destroyed)\n\t\t{\n\t\t\tLog.Error(\"Spawning destroyed thing \" + this?.ToString() + \" at \" + Position.ToString() + \". Correcting.\");\n\t\t\tmapIndexOrState = -1;\n\t\t\tif (HitPoints <= 0 && def.useHitPoints)\n\t\t\t{\n\t\t\t\tHitPoints = 1;\n\t\t\t}\n\t\t}\n\t\tif (Spawned)\n\t\t{\n\t\t\tLog.Error(\"Tried to spawn already-spawned thing \" + this?.ToString() + \" at \" + Position.ToString());\n\t\t\treturn;\n\t\t}\n\t\tint num = Find.Maps.IndexOf(map);\n\t\tif (num < 0)\n\t\t{\n\t\t\tLog.Error(\"Tried to spawn thing \" + this?.ToString() + \", but the map provided does not exist.\");\n\t\t\treturn;\n\t\t}\n\t\tif (stackCount > def.stackLimit)\n\t\t{\n\t\t\tLog.Error(\"Spawned \" + this?.ToString() + \" with stackCount \" + stackCount + \" but stackLimit is \" + def.stackLimit + \". Truncating.\");\n\t\t\tstackCount = def.stackLimit;\n\t\t}\n\t\tmapIndexOrState = (sbyte)num;\n\t\tRegionListersUpdater.RegisterInRegions(this, map);\n\t\tif (!map.spawnedThings.TryAdd(this, canMergeWithExistingStacks: false))\n\t\t{\n\t\t\tLog.Error(\"Couldn't add thing \" + this?.ToString() + \" to spawned things.\");\n\t\t}\n\t\tmap.listerThings.Add(this);\n\t\tmap.thingGrid.Register(this);\n\t\tmap.gasGrid.Notify_ThingSpawned(this);\n\t\tmap.mapTemperature.Notify_ThingSpawned(this);\n\t\tif (map.IsPlayerHome)\n\t\t{\n\t\t\tEverSeenByPlayer = true;\n\t\t}\n\t\tif (Find.TickManager != null)\n\t\t{\n\t\t\tFind.TickManager.RegisterAllTickabilityFor(this);\n\t\t}\n\t\tDirtyMapMesh(map);\n\t\tif (def.drawerType != DrawerType.MapMeshOnly)\n\t\t{\n\t\t\tmap.dynamicDrawManager.RegisterDrawable(this);\n\t\t}\n\t\tmap.tooltipGiverList.Notify_ThingSpawned(this);\n\t\tif (def.CanAffectLinker)\n\t\t{\n\t\t\tmap.linkGrid.Notify_LinkerCreatedOrDestroyed(this);\n\t\t\tmap.mapDrawer.MapMeshDirty(Position, MapMeshFlagDefOf.Things, regenAdjacentCells: true, regenAdjacentSections: false);\n\t\t}\n\t\tif (!def.CanOverlapZones)\n\t\t{\n\t\t\tmap.zoneManager.Notify_NoZoneOverlapThingSpawned(this);\n\t\t}\n\t\tif (def.AffectsRegions)\n\t\t{\n\t\t\tmap.regionDirtyer.Notify_ThingAffectingRegionsSpawned(this);\n\t\t}\n\t\tif (def.pathCost != 0 || def.passability == Traversability.Impassable)\n\t\t{\n\t\t\tmap.pathing.RecalculatePerceivedPathCostUnderThing(this);\n\t\t}\n\t\tif (def.AffectsReachability)\n\t\t{\n\t\t\tmap.reachability.ClearCache();\n\t\t}\n\t\tmap.coverGrid.Register(this);\n\t\tif (def.category == ThingCategory.Item)\n\t\t{\n\t\t\tmap.listerHaulables.Notify_Spawned(this);\n\t\t\tmap.listerMergeables.Notify_Spawned(this);\n\t\t}\n\t\tmap.attackTargetsCache.Notify_ThingSpawned(this);\n\t\tmap.regionGrid.GetValidRegionAt_NoRebuild(Position)?.Room?.Notify_ContainedThingSpawnedOrDespawned(this);\n\t\tStealAIDebugDrawer.Notify_ThingChanged(this);\n\t\tif (this is IHaulDestination haulDestination)\n\t\t{\n\t\t\tmap.haulDestinationManager.AddHaulDestination(haulDestination);\n\t\t}\n\t\tif (this is IHaulSource source)\n\t\t{\n\t\t\tmap.haulDestinationManager.AddHaulSource(source);\n\t\t}\n\t\tif (this is IThingHolder && Find.ColonistBar != null)\n\t\t{\n\t\t\tFind.ColonistBar.MarkColonistsDirty();\n\t\t}\n\t\tif (def.category == ThingCategory.Item)\n\t\t{\n\t\t\tISlotGroupParent slotGroupParent = Position.GetSlotGroup(map)?.parent;\n\t\t\tif (slotGroupParent != null)\n\t\t\t{\n\t\t\t\tslotGroupParent.Notify_ReceivedThing(this);\n\t\t\t\tGenThing.TryDirtyAdjacentGroupContainers(slotGroupParent, map);\n\t\t\t}\n\t\t}\n\t\tif (def.receivesSignals)\n\t\t{\n\t\t\tFind.SignalManager.RegisterReceiver(this);\n\t\t}\n\t\tif (!BeingTransportedOnGravship)\n\t\t{\n\t\t\tdef.soundSpawned?.PlayOneShot(this);\n\t\t\tif (!respawningAfterLoad)\n\t\t\t{\n\t\t\t\tQuestUtility.SendQuestTargetSignals(questTags, \"Spawned\", this.Named(\"SUBJECT\"));\n\t\t\t\tspawnedTick = Find.TickManager.TicksGame;\n\t\t\t\tdespawnedTick = -1;\n\t\t\t\tif (AnomalyUtility.ShouldNotifyCodex(this, EntityDiscoveryType.Spawn, out var entries))\n\t\t\t\t{\n\t\t\t\t\tFind.EntityCodex.SetDiscovered(entries, def, this);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tFind.HiddenItemsManager.SetDiscovered(def);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tmap.events.Notify_ThingSpawned(this);\n\t}\n\n\tpublic bool DeSpawnOrDeselect(DestroyMode mode = DestroyMode.Vanish)\n\t{\n\t\tbool flag = Current.ProgramState == ProgramState.Playing && Find.Selector.IsSelected(this);\n\t\tif (Spawned)\n\t\t{\n\t\t\tDeSpawn(mode);\n\t\t}\n\t\telse if (flag)\n\t\t{\n\t\t\tFind.Selector.Deselect(this);\n\t\t\tFind.MainButtonsRoot.tabs.Notify_SelectedObjectDespawned();\n\t\t}\n\t\treturn flag;\n\t}\n\n\tpublic override void DeSpawn(DestroyMode mode = DestroyMode.Vanish)\n\t{\n\t\tif (Destroyed)\n\t\t{\n\t\t\tLog.Error(\"Tried to despawn \" + this.ToStringSafe() + \" which is already destroyed.\");\n\t\t\treturn;\n\t\t}\n\t\tif (!Spawned)\n\t\t{\n\t\t\tLog.Error(\"Tried to despawn \" + this.ToStringSafe() + \" which is not spawned.\");\n\t\t\treturn;\n\t\t}\n\t\tMap map = Map;\n\t\tmap.overlayDrawer.DisposeHandle(this);\n\t\tRegionListersUpdater.DeregisterInRegions(this, map);\n\t\tmap.spawnedThings.Remove(this);\n\t\tmap.listerThings.Remove(this);\n\t\tmap.thingGrid.Deregister(this);\n\t\tmap.coverGrid.DeRegister(this);\n\t\tif (def.receivesSignals)\n\t\t{\n\t\t\tFind.SignalManager.DeregisterReceiver(this);\n\t\t}\n\t\tmap.tooltipGiverList.Notify_ThingDespawned(this);\n\t\tif (def.CanAffectLinker)\n\t\t{\n\t\t\tmap.linkGrid.Notify_LinkerCreatedOrDestroyed(this);\n\t\t\tmap.mapDrawer.MapMeshDirty(Position, MapMeshFlagDefOf.Things, regenAdjacentCells: true, regenAdjacentSections: false);\n\t\t}\n\t\tif (Find.Selector.IsSelected(this))\n\t\t{\n\t\t\tFind.Selector.Deselect(this);\n\t\t\tFind.MainButtonsRoot.tabs.Notify_SelectedObjectDespawned();\n\t\t}\n\t\tDirtyMapMesh(map);\n\t\tif (def.drawerType != DrawerType.MapMeshOnly)\n\t\t{\n\t\t\tmap.dynamicDrawManager.DeRegisterDrawable(this);\n\t\t}\n\t\tmap.regionGrid.GetValidRegionAt_NoRebuild(Position)?.Room?.Notify_ContainedThingSpawnedOrDespawned(this);\n\t\tif (def.AffectsRegions)\n\t\t{\n\t\t\tmap.regionDirtyer.Notify_ThingAffectingRegionsDespawned(this);\n\t\t}\n\t\tif (def.pathCost != 0 || def.passability == Traversability.Impassable)\n\t\t{\n\t\t\tmap.pathing.RecalculatePerceivedPathCostUnderThing(this);\n\t\t}\n\t\tif (def.AffectsReachability)\n\t\t{\n\t\t\tmap.reachability.ClearCache();\n\t\t}\n\t\tFind.TickManager.DeRegisterAllTickabilityFor(this);\n\t\tmapIndexOrState = -1;\n\t\tif (def.category == ThingCategory.Item)\n\t\t{\n\t\t\tmap.listerHaulables.Notify_DeSpawned(this);\n\t\t\tmap.listerMergeables.Notify_DeSpawned(this);\n\t\t}\n\t\tmap.attackTargetsCache.Notify_ThingDespawned(this);\n\t\tmap.physicalInteractionReservationManager.ReleaseAllForTarget(this);\n\t\tif (this is IHaulEnroute thing)\n\t\t{\n\t\t\tmap.enrouteManager.Notify_ContainerDespawned(thing);\n\t\t}\n\t\tStealAIDebugDrawer.Notify_ThingChanged(this);\n\t\tif (this is IHaulDestination haulDestination)\n\t\t{\n\t\t\tmap.haulDestinationManager.RemoveHaulDestination(haulDestination);\n\t\t}\n\t\tif (this is IHaulSource source)\n\t\t{\n\t\t\tmap.haulDestinationManager.RemoveHaulSource(source);\n\t\t}\n\t\tif (this is IThingHolder && Find.ColonistBar != null)\n\t\t{\n\t\t\tFind.ColonistBar.MarkColonistsDirty();\n\t\t}\n\t\tif (def.category == ThingCategory.Item)\n\t\t{\n\t\t\tISlotGroupParent slotGroupParent = Position.GetSlotGroup(map)?.parent;\n\t\t\tif (slotGroupParent != null)\n\t\t\t{\n\t\t\t\tslotGroupParent.Notify_LostThing(this);\n\t\t\t\tGenThing.TryDirtyAdjacentGroupContainers(slotGroupParent, map);\n\t\t\t}\n\t\t}\n\t\tQuestUtility.SendQuestTargetSignals(questTags, \"Despawned\", this.Named(\"SUBJECT\"));\n\t\tspawnedTick = -1;\n\t\tdespawnedTick = Find.TickManager.TicksGame;\n\t\tmap.events.Notify_ThingDespawned(this);\n\t}\n\n\tpublic virtual void Kill(DamageInfo? dinfo = null, Hediff exactCulprit = null)\n\t{\n\t\tDestroy(DestroyMode.KillFinalize);\n\t}\n\n\tpublic virtual void Destroy(DestroyMode mode = DestroyMode.Vanish)\n\t{\n\t\tif (!allowDestroyNonDestroyable && !def.destroyable)\n\t\t{\n\t\t\tLog.Error(\"Tried to destroy non-destroyable thing \" + this);\n\t\t\treturn;\n\t\t}\n\t\tif (Destroyed)\n\t\t{\n\t\t\tLog.Error(\"Tried to destroy already-destroyed thing \" + this);\n\t\t\treturn;\n\t\t}\n\t\tbool spawned = Spawned;\n\t\tMap map = Map;\n\t\tif (StyleSourcePrecept != null)\n\t\t{\n\t\t\tStyleSourcePrecept.Notify_ThingLost(this, spawned);\n\t\t}\n\t\tif (Spawned)\n\t\t{\n\t\t\tDeSpawn(mode);\n\t\t}\n\t\telse if (Current.ProgramState == ProgramState.Playing && Find.Selector.IsSelected(this))\n\t\t{\n\t\t\tFind.Selector.Deselect(this);\n\t\t\tFind.MainButtonsRoot.tabs.Notify_SelectedObjectDespawned();\n\t\t}\n\t\tmapIndexOrState = -2;\n\t\tif (def.DiscardOnDestroyed)\n\t\t{\n\t\t\tDiscard();\n\t\t}\n\t\tCompExplosive compExplosive = this.TryGetComp();\n\t\tif (spawned)\n\t\t{\n\t\t\tList list = new List();\n\t\t\tGenLeaving.DoLeavingsFor(this, map, mode, list);\n\t\t\tcompExplosive?.AddThingsIgnoredByExplosion(list);\n\t\t\tNotify_KilledLeavingsLeft(list);\n\t\t}\n\t\tif (holdingOwner != null)\n\t\t{\n\t\t\tholdingOwner.Notify_ContainedItemDestroyed(this);\n\t\t}\n\t\tRemoveAllReservationsAndDesignationsOnThis();\n\t\tif (!(this is Pawn))\n\t\t{\n\t\t\tstackCount = 0;\n\t\t}\n\t\tif (mode != DestroyMode.QuestLogic)\n\t\t{\n\t\t\tQuestUtility.SendQuestTargetSignals(questTags, \"Destroyed\", this.Named(\"SUBJECT\"));\n\t\t}\n\t\tif (mode == DestroyMode.KillFinalize)\n\t\t{\n\t\t\tQuestUtility.SendQuestTargetSignals(questTags, \"Killed\", this.Named(\"SUBJECT\"), map.Named(\"MAP\"));\n\t\t}\n\t}\n\n\tpublic virtual void PreTraded(TradeAction action, Pawn playerNegotiator, ITrader trader)\n\t{\n\t}\n\n\tpublic virtual void PostGeneratedForTrader(TraderKindDef trader, PlanetTile forTile, Faction forFaction)\n\t{\n\t\tif (def.colorGeneratorInTraderStock != null)\n\t\t{\n\t\t\tthis.SetColor(def.colorGeneratorInTraderStock.NewRandomizedColor());\n\t\t}\n\t}\n\n\tpublic virtual float GetBeauty(bool outside)\n\t{\n\t\tif (!outside || !def.StatBaseDefined(StatDefOf.BeautyOutdoors))\n\t\t{\n\t\t\treturn this.GetStatValue(StatDefOf.Beauty);\n\t\t}\n\t\treturn this.GetStatValue(StatDefOf.BeautyOutdoors);\n\t}\n\n\tpublic virtual void Notify_MyMapRemoved()\n\t{\n\t\tif (def.receivesSignals)\n\t\t{\n\t\t\tFind.SignalManager.DeregisterReceiver(this);\n\t\t}\n\t\tif (StyleSourcePrecept != null)\n\t\t{\n\t\t\tStyleSourcePrecept.Notify_ThingLost(this);\n\t\t}\n\t\tif (!ThingOwnerUtility.AnyParentIs(this))\n\t\t{\n\t\t\tmapIndexOrState = -3;\n\t\t}\n\t\tThingOwner thingOwner = holdingOwner;\n\t\tif (thingOwner != null && thingOwner.Owner is Map)\n\t\t{\n\t\t\tholdingOwner = null;\n\t\t}\n\t\tRemoveAllReservationsAndDesignationsOnThis();\n\t}\n\n\tpublic virtual void Notify_LordDestroyed()\n\t{\n\t}\n\n\tpublic virtual void Notify_AbandonedAtTile(PlanetTile tile)\n\t{\n\t}\n\n\tpublic virtual void Notify_KilledLeavingsLeft(List leavings)\n\t{\n\t}\n\n\tpublic virtual void Notify_Studied(Pawn studier, float amount, KnowledgeCategoryDef category = null)\n\t{\n\t}\n\n\tpublic virtual void Notify_Unfogged()\n\t{\n\t\tif (!beenRevealed)\n\t\t{\n\t\t\tbeenRevealed = true;\n\t\t\tif (ModsConfig.AnomalyActive && AnomalyUtility.ShouldNotifyCodex(this, EntityDiscoveryType.Unfog, out var entries))\n\t\t\t{\n\t\t\t\tFind.EntityCodex.SetDiscovered(entries, def, this);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tFind.HiddenItemsManager.SetDiscovered(def);\n\t\t\t}\n\t\t\tQuestUtility.SendQuestTargetSignals(questTags, \"Unfogged\", this);\n\t\t\tCompLetterOnRevealed compLetterOnRevealed = this.TryGetComp();\n\t\t\tif (compLetterOnRevealed != null)\n\t\t\t{\n\t\t\t\tFind.LetterStack.ReceiveLetter(compLetterOnRevealed.Props.label, compLetterOnRevealed.Props.text, compLetterOnRevealed.Props.letterDef, this);\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic void ForceSetStateToUnspawned()\n\t{\n\t\tmapIndexOrState = -1;\n\t}\n\n\tpublic void DecrementMapIndex()\n\t{\n\t\tif (mapIndexOrState <= 0)\n\t\t{\n\t\t\tLog.Warning(\"Tried to decrement map index for \" + this?.ToString() + \", but mapIndexOrState=\" + mapIndexOrState);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tmapIndexOrState--;\n\t\t}\n\t}\n\n\tprivate void RemoveAllReservationsAndDesignationsOnThis()\n\t{\n\t\tif (def.category == ThingCategory.Mote)\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\tList maps = Find.Maps;\n\t\tfor (int i = 0; i < maps.Count; i++)\n\t\t{\n\t\t\tmaps[i].reservationManager.ReleaseAllForTarget(this);\n\t\t\tmaps[i].physicalInteractionReservationManager.ReleaseAllForTarget(this);\n\t\t\tif (this is IAttackTarget target)\n\t\t\t{\n\t\t\t\tmaps[i].attackTargetReservationManager.ReleaseAllForTarget(target);\n\t\t\t}\n\t\t\tmaps[i].designationManager.RemoveAllDesignationsOn(this);\n\t\t}\n\t}\n\n\tpublic virtual void ExposeData()\n\t{\n\t\tScribe_Defs.Look(ref def, \"def\");\n\t\tScribe_Values.Look(ref tickDelta, \"tickDelta\", 0);\n\t\tif (def.HasThingIDNumber)\n\t\t{\n\t\t\tstring value = ThingID;\n\t\t\tScribe_Values.Look(ref value, \"id\");\n\t\t\tif (Scribe.mode != LoadSaveMode.Saving)\n\t\t\t{\n\t\t\t\tThingID = value;\n\t\t\t}\n\t\t}\n\t\tScribe_Values.Look(ref mapIndexOrState, \"map\", -1);\n\t\tif (Scribe.mode == LoadSaveMode.LoadingVars && mapIndexOrState >= 0)\n\t\t{\n\t\t\tmapIndexOrState = -1;\n\t\t}\n\t\tScribe_Values.Look(ref positionInt, \"pos\", IntVec3.Invalid);\n\t\tScribe_Values.Look(ref rotationInt, \"rot\", Rot4.North);\n\t\tScribe_Values.Look(ref debugRotLocked, \"debugRotLocked\", defaultValue: false);\n\t\tif (def.useHitPoints)\n\t\t{\n\t\t\tScribe_Values.Look(ref hitPointsInt, \"health\", -1);\n\t\t}\n\t\tbool flag = def.tradeability != 0 && def.category == ThingCategory.Item;\n\t\tif (def.stackLimit > 1 || flag)\n\t\t{\n\t\t\tScribe_Values.Look(ref stackCount, \"stackCount\", 0, forceSave: true);\n\t\t}\n\t\tScribe_Defs.Look(ref stuffInt, \"stuff\");\n\t\tstring facID = ((factionInt != null) ? factionInt.GetUniqueLoadID() : \"null\");\n\t\tScribe_Values.Look(ref facID, \"faction\", \"null\");\n\t\tif (Scribe.mode == LoadSaveMode.LoadingVars)\n\t\t{\n\t\t\tif (facID == \"null\")\n\t\t\t{\n\t\t\t\tfactionInt = null;\n\t\t\t}\n\t\t\telse if (Find.World != null && Find.FactionManager != null)\n\t\t\t{\n\t\t\t\tfactionInt = Find.FactionManager.AllFactions.FirstOrDefault((Faction fa) => fa.GetUniqueLoadID() == facID);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tfacIDsCached.SetOrAdd(this, facID);\n\t\t\t}\n\t\t}\n\t\tif (Scribe.mode == LoadSaveMode.ResolvingCrossRefs)\n\t\t{\n\t\t\tif (facID == \"null\" && facIDsCached.TryGetValue(this, out facID))\n\t\t\t{\n\t\t\t\tfacIDsCached.Remove(this);\n\t\t\t}\n\t\t\tif (facID != \"null\")\n\t\t\t{\n\t\t\t\tfactionInt = Find.FactionManager.AllFactions.FirstOrDefault((Faction fa) => fa.GetUniqueLoadID() == facID);\n\t\t\t}\n\t\t}\n\t\tif (Scribe.mode == LoadSaveMode.PostLoadInit)\n\t\t{\n\t\t\tfacIDsCached.Clear();\n\t\t}\n\t\tScribe_Collections.Look(ref questTags, \"questTags\", LookMode.Value);\n\t\tScribe_Values.Look(ref overrideGraphicIndex, \"overrideGraphicIndex\");\n\t\tScribe_Values.Look(ref spawnedTick, \"spawnedTick\", -1);\n\t\tScribe_Values.Look(ref despawnedTick, \"despawnedTick\", 0);\n\t\tScribe_Values.Look(ref beenRevealed, \"beenRevealed\", defaultValue: false);\n\t\tBackCompatibility.PostExposeData(this);\n\t}\n\n\tpublic virtual void PostMapInit()\n\t{\n\t}\n\n\tpublic void DrawNowAt(Vector3 drawLoc, bool flip = false)\n\t{\n\t\tDynamicDrawPhaseAt(DrawPhase.Draw, drawLoc, flip);\n\t}\n\n\tpublic void DynamicDrawPhase(DrawPhase phase)\n\t{\n\t\tif (def.drawerType != DrawerType.MapMeshOnly)\n\t\t{\n\t\t\tDynamicDrawPhaseAt(phase, DrawPos);\n\t\t}\n\t}\n\n\tpublic virtual void DynamicDrawPhaseAt(DrawPhase phase, Vector3 drawLoc, bool flip = false)\n\t{\n\t\tif (phase == DrawPhase.Draw)\n\t\t{\n\t\t\tDrawAt(drawLoc, flip);\n\t\t}\n\t}\n\n\tprotected virtual void DrawAt(Vector3 drawLoc, bool flip = false)\n\t{\n\t\tif (def.drawerType == DrawerType.RealtimeOnly || !Spawned)\n\t\t{\n\t\t\tGraphic.Draw(drawLoc, flip ? Rotation.Opposite : Rotation, this);\n\t\t}\n\t\tSilhouetteUtility.DrawGraphicSilhouette(this, drawLoc);\n\t}\n\n\tpublic virtual void Print(SectionLayer layer)\n\t{\n\t\tif (!def.dontPrint)\n\t\t{\n\t\t\tGraphic.Print(layer, this, 0f);\n\t\t}\n\t}\n\n\tpublic void DirtyMapMesh(Map map)\n\t{\n\t\tif (def.drawerType == DrawerType.RealtimeOnly)\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\tforeach (IntVec3 item in this.OccupiedRect())\n\t\t{\n\t\t\tmap.mapDrawer.MapMeshDirty(item, MapMeshFlagDefOf.Things);\n\t\t}\n\t}\n\n\tpublic virtual void DrawGUIOverlay()\n\t{\n\t\tif (Find.CameraDriver.CurrentZoom == CameraZoomRange.Closest)\n\t\t{\n\t\t\tQualityCategory qc;\n\t\t\tif (def.stackLimit > 1)\n\t\t\t{\n\t\t\t\tGenMapUI.DrawThingLabel(this, stackCount.ToStringCached());\n\t\t\t}\n\t\t\telse if (def.drawGUIOverlayQuality && this.TryGetQuality(out qc))\n\t\t\t{\n\t\t\t\tGenMapUI.DrawThingLabel(this, qc.GetLabelShort());\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic virtual void DrawExtraSelectionOverlays()\n\t{\n\t\tif (def.specialDisplayRadius > 0.1f)\n\t\t{\n\t\t\tGenDraw.DrawRadiusRing(Position, def.specialDisplayRadius);\n\t\t}\n\t\tif (def.drawPlaceWorkersWhileSelected && def.PlaceWorkers != null)\n\t\t{\n\t\t\tfor (int i = 0; i < def.PlaceWorkers.Count; i++)\n\t\t\t{\n\t\t\t\tdef.PlaceWorkers[i].DrawGhost(def, Position, Rotation, Color.white, this);\n\t\t\t}\n\t\t}\n\t\tGenDraw.DrawInteractionCells(def, Position, rotationInt);\n\t}\n\n\tpublic virtual string GetInspectString()\n\t{\n\t\tStringBuilder stringBuilder = new StringBuilder();\n\t\tQuestUtility.AppendInspectStringsFromQuestParts(stringBuilder, this);\n\t\treturn stringBuilder.ToString();\n\t}\n\n\tpublic virtual string GetInspectStringLowPriority()\n\t{\n\t\tstring result = null;\n\t\ttmpDeteriorationReasons.Clear();\n\t\tfloat f = SteadyEnvironmentEffects.FinalDeteriorationRate(this, tmpDeteriorationReasons);\n\t\tif (tmpDeteriorationReasons.Count != 0)\n\t\t{\n\t\t\tresult = string.Format(\"{0}: {1} ({2})\", \"DeterioratingBecauseOf\".Translate(), tmpDeteriorationReasons.ToCommaList().CapitalizeFirst(), \"PerDay\".Translate(f.ToStringByStyle(ToStringStyle.FloatMaxTwo)));\n\t\t}\n\t\treturn result;\n\t}\n\n\tpublic virtual IEnumerable GetGizmos()\n\t{\n\t\tGizmo gizmo = ContainingSelectionUtility.SelectContainingThingGizmo(this);\n\t\tif (gizmo != null)\n\t\t{\n\t\t\tyield return gizmo;\n\t\t}\n\t\tshowingGizmosForRitualsTmp.Clear();\n\t\tforeach (Ideo ideo in Faction.OfPlayer.ideos.AllIdeos)\n\t\t{\n\t\t\tfor (int i = 0; i < ideo.PreceptsListForReading.Count; i++)\n\t\t\t{\n\t\t\t\tPrecept precept = ideo.PreceptsListForReading[i];\n\t\t\t\tif (!(precept is Precept_Ritual ritual) || (precept.def.mergeRitualGizmosFromAllIdeos && showingGizmosForRitualsTmp.Contains(ritual.sourcePattern)) || !ritual.ShouldShowGizmo(this))\n\t\t\t\t{\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tforeach (Gizmo item in ritual.GetGizmoFor(this))\n\t\t\t\t{\n\t\t\t\t\tyield return item;\n\t\t\t\t\tshowingGizmosForRitualsTmp.Add(ritual.sourcePattern);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tList activeRituals = Find.IdeoManager.GetActiveRituals(MapHeld);\n\t\tforeach (LordJob_Ritual item2 in activeRituals)\n\t\t{\n\t\t\tif (item2.selectedTarget == this)\n\t\t\t{\n\t\t\t\tyield return item2.GetCancelGizmo();\n\t\t\t}\n\t\t}\n\t\tif (ModsConfig.AnomalyActive)\n\t\t{\n\t\t\tGizmo gizmo2 = AnomalyUtility.OpenCodexGizmo(this);\n\t\t\tif (gizmo2 != null)\n\t\t\t{\n\t\t\t\tyield return gizmo2;\n\t\t\t}\n\t\t}\n\t\tif (DebugSettings.ShowDevGizmos && this.HasAttachment(ThingDefOf.Fire))\n\t\t{\n\t\t\tyield return new Command_Action\n\t\t\t{\n\t\t\t\tdefaultLabel = \"DEV: Extinguish\",\n\t\t\t\taction = delegate\n\t\t\t\t{\n\t\t\t\t\tthis.GetAttachment(ThingDefOf.Fire)?.Destroy();\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\t}\n\n\tpublic virtual IEnumerable GetFloatMenuOptions(Pawn selPawn)\n\t{\n\t\treturn Enumerable.Empty();\n\t}\n\n\tpublic virtual IEnumerable GetMultiSelectFloatMenuOptions(IEnumerable selPawns)\n\t{\n\t\treturn Enumerable.Empty();\n\t}\n\n\tpublic virtual IEnumerable GetInspectTabs()\n\t{\n\t\treturn def.inspectorTabsResolved;\n\t}\n\n\tpublic virtual string GetCustomLabelNoCount(bool includeHp = true)\n\t{\n\t\treturn GenLabel.ThingLabel(this, 1, includeHp);\n\t}\n\n\tpublic DamageWorker.DamageResult TakeDamage(DamageInfo dinfo)\n\t{\n\t\tif (Destroyed)\n\t\t{\n\t\t\treturn new DamageWorker.DamageResult();\n\t\t}\n\t\tif (dinfo.Amount == 0f)\n\t\t{\n\t\t\treturn new DamageWorker.DamageResult();\n\t\t}\n\t\tif (def.damageMultipliers != null)\n\t\t{\n\t\t\tfor (int i = 0; i < def.damageMultipliers.Count; i++)\n\t\t\t{\n\t\t\t\tif (def.damageMultipliers[i].damageDef == dinfo.Def)\n\t\t\t\t{\n\t\t\t\t\tint num = Mathf.RoundToInt(dinfo.Amount * def.damageMultipliers[i].multiplier);\n\t\t\t\t\tdinfo.SetAmount(num);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tPreApplyDamage(ref dinfo, out var absorbed);\n\t\tif (absorbed)\n\t\t{\n\t\t\treturn new DamageWorker.DamageResult();\n\t\t}\n\t\tbool spawnedOrAnyParentSpawned = SpawnedOrAnyParentSpawned;\n\t\tMap mapHeld = MapHeld;\n\t\tDamageWorker.DamageResult damageResult = dinfo.Def.Worker.Apply(dinfo, this);\n\t\tif (dinfo.Def.harmsHealth && spawnedOrAnyParentSpawned)\n\t\t{\n\t\t\tmapHeld.damageWatcher.Notify_DamageTaken(this, damageResult.totalDamageDealt);\n\t\t}\n\t\tif (dinfo.Instigator is Pawn pawn)\n\t\t{\n\t\t\tforeach (Hediff hediff in pawn.health.hediffSet.hediffs)\n\t\t\t{\n\t\t\t\thediff.Notify_PawnDamagedThing(this, dinfo, damageResult);\n\t\t\t}\n\t\t}\n\t\tif (dinfo.Def.ExternalViolenceFor(this))\n\t\t{\n\t\t\tif (dinfo.SpawnFilth)\n\t\t\t{\n\t\t\t\tGenLeaving.DropFilthDueToDamage(this, damageResult.totalDamageDealt);\n\t\t\t}\n\t\t\tif (dinfo.Instigator != null)\n\t\t\t{\n\t\t\t\tif (dinfo.Instigator is Pawn pawn2)\n\t\t\t\t{\n\t\t\t\t\tpawn2.records.AddTo(RecordDefOf.DamageDealt, damageResult.totalDamageDealt);\n\t\t\t\t}\n\t\t\t\tif (dinfo.Instigator.Faction == Faction.OfPlayer)\n\t\t\t\t{\n\t\t\t\t\tQuestUtility.SendQuestTargetSignals(questTags, \"TookDamageFromPlayer\", this.Named(\"SUBJECT\"), dinfo.Instigator.Named(\"INSTIGATOR\"));\n\t\t\t\t}\n\t\t\t}\n\t\t\tQuestUtility.SendQuestTargetSignals(questTags, \"TookDamage\", this.Named(\"SUBJECT\"), dinfo.Instigator.Named(\"INSTIGATOR\"), mapHeld.Named(\"MAP\"));\n\t\t}\n\t\tif (!Destroyed && FlammableNow && dinfo.Def.igniteChanceByTargetFlammability != null && Rand.Chance(dinfo.Def.igniteChanceByTargetFlammability.Evaluate(this.GetStatValue(StatDefOf.Flammability))))\n\t\t{\n\t\t\tthis.TryAttachFire(Rand.Range(0.55f, 0.85f), dinfo.Instigator);\n\t\t}\n\t\tPostApplyDamage(dinfo, damageResult.totalDamageDealt);\n\t\treturn damageResult;\n\t}\n\n\tpublic virtual void PreApplyDamage(ref DamageInfo dinfo, out bool absorbed)\n\t{\n\t\tabsorbed = false;\n\t}\n\n\tpublic virtual void PostApplyDamage(DamageInfo dinfo, float totalDamageDealt)\n\t{\n\t}\n\n\tpublic virtual bool CanStackWith(Thing other)\n\t{\n\t\tif (Destroyed || other.Destroyed)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tif (def.category != ThingCategory.Item)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tif (this.IsRelic() || other.IsRelic())\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tif (def == other.def)\n\t\t{\n\t\t\treturn Stuff == other.Stuff;\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic virtual bool TryAbsorbStack(Thing other, bool respectStackLimit)\n\t{\n\t\tif (!CanStackWith(other))\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tint num = ThingUtility.TryAbsorbStackNumToTake(this, other, respectStackLimit);\n\t\tif (def.useHitPoints)\n\t\t{\n\t\t\tHitPoints = Mathf.CeilToInt((float)(HitPoints * stackCount + other.HitPoints * num) / (float)(stackCount + num));\n\t\t}\n\t\tstackCount += num;\n\t\tother.stackCount -= num;\n\t\tif (Map != null)\n\t\t{\n\t\t\tDirtyMapMesh(Map);\n\t\t}\n\t\tStealAIDebugDrawer.Notify_ThingChanged(this);\n\t\tif (Spawned)\n\t\t{\n\t\t\tMap.listerMergeables.Notify_ThingStackChanged(this);\n\t\t}\n\t\tif (other.stackCount <= 0)\n\t\t{\n\t\t\tother.Destroy();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic virtual Thing SplitOff(int count)\n\t{\n\t\tif (count <= 0)\n\t\t{\n\t\t\tthrow new ArgumentException(\"SplitOff with count <= 0\", \"count\");\n\t\t}\n\t\tif (count >= stackCount)\n\t\t{\n\t\t\tif (count > stackCount)\n\t\t\t{\n\t\t\t\tLog.Error(\"Tried to split off \" + count + \" of \" + this?.ToString() + \" but there are only \" + stackCount);\n\t\t\t}\n\t\t\tDeSpawnOrDeselect();\n\t\t\tholdingOwner?.Remove(this);\n\t\t\treturn this;\n\t\t}\n\t\tThing thing = ThingMaker.MakeThing(def, Stuff);\n\t\tthing.stackCount = count;\n\t\tstackCount -= count;\n\t\tif (Map != null)\n\t\t{\n\t\t\tDirtyMapMesh(Map);\n\t\t}\n\t\tif (Spawned)\n\t\t{\n\t\t\tMap.listerMergeables.Notify_ThingStackChanged(this);\n\t\t}\n\t\tif (def.useHitPoints)\n\t\t{\n\t\t\tthing.HitPoints = HitPoints;\n\t\t}\n\t\treturn thing;\n\t}\n\n\tpublic virtual IEnumerable SpecialDisplayStats()\n\t{\n\t\tif (Stuff != null)\n\t\t{\n\t\t\tyield return new StatDrawEntry(StatCategoryDefOf.BasicsImportant, \"Stat_Stuff_Name\".Translate(), Stuff.LabelCap, \"Stat_Stuff_Desc\".Translate(), 1100, null, new Dialog_InfoCard.Hyperlink[1]\n\t\t\t{\n\t\t\t\tnew Dialog_InfoCard.Hyperlink(Stuff)\n\t\t\t});\n\t\t}\n\t\tif (!ModsConfig.IdeologyActive || Find.IdeoManager.classicMode)\n\t\t{\n\t\t\tyield break;\n\t\t}\n\t\ttmpIdeoNames.Clear();\n\t\tStyleCategoryDef styleCategoryDef = StyleDef?.Category ?? def.dominantStyleCategory;\n\t\tif (styleCategoryDef == null)\n\t\t{\n\t\t\tyield break;\n\t\t}\n\t\tforeach (Ideo item in Find.IdeoManager.IdeosListForReading)\n\t\t{\n\t\t\tif (IdeoUtility.ThingSatisfiesIdeo(this, item))\n\t\t\t{\n\t\t\t\ttmpIdeoNames.Add(item.name.Colorize(item.Color));\n\t\t\t}\n\t\t}\n\t\tyield return new StatDrawEntry(StatCategoryDefOf.BasicsNonPawn, \"Stat_Thing_StyleDominanceCategory\".Translate(), styleCategoryDef.LabelCap, \"Stat_Thing_StyleDominanceCategoryDesc\".Translate() + \"\\n\\n\" + \"Stat_Thing_IdeosSatisfied\".Translate() + \":\" + \"\\n\" + tmpIdeoNames.ToLineList(\" - \"), 6005);\n\t}\n\n\tpublic virtual void Notify_ColorChanged()\n\t{\n\t\tgraphicInt = null;\n\t\tstyleGraphicInt = null;\n\t\tif (Spawned && (def.drawerType == DrawerType.MapMeshOnly || def.drawerType == DrawerType.MapMeshAndRealTime))\n\t\t{\n\t\t\tMap.mapDrawer.MapMeshDirty(Position, MapMeshFlagDefOf.Things);\n\t\t}\n\t}\n\n\tpublic virtual void Notify_Equipped(Pawn pawn)\n\t{\n\t}\n\n\tpublic virtual void Notify_Unequipped(Pawn pawn)\n\t{\n\t}\n\n\tpublic virtual void Notify_UsedVerb(Pawn pawn, Verb verb)\n\t{\n\t}\n\n\tpublic virtual void Notify_UsedWeapon(Pawn pawn)\n\t{\n\t}\n\n\tpublic virtual void Notify_DebugSpawned()\n\t{\n\t}\n\n\tpublic virtual void Notify_RecipeProduced(Pawn pawn)\n\t{\n\t}\n\n\tpublic virtual void Notify_SignalReceived(Signal signal)\n\t{\n\t}\n\n\tpublic virtual void Notify_Explosion(Explosion explosion)\n\t{\n\t}\n\n\tpublic virtual void Notify_BulletImpactNearby(BulletImpactData impactData)\n\t{\n\t}\n\n\tpublic virtual void Notify_ThingSelected()\n\t{\n\t}\n\n\tpublic virtual TipSignal GetTooltip()\n\t{\n\t\tstring text = LabelCap;\n\t\tif (def.useHitPoints)\n\t\t{\n\t\t\ttext = text + \"\\n\" + HitPoints + \" / \" + MaxHitPoints;\n\t\t}\n\t\treturn new TipSignal(text, thingIDNumber * 251235);\n\t}\n\n\tpublic virtual bool BlocksPawn(Pawn p)\n\t{\n\t\tif (def.passability == Traversability.Impassable)\n\t\t{\n\t\t\treturn true;\n\t\t}\n\t\tif (def.IsFence && p.def.race.FenceBlocked)\n\t\t{\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic void SetFactionDirect(Faction newFaction)\n\t{\n\t\tif (!def.CanHaveFaction)\n\t\t{\n\t\t\tLog.Error(\"Tried to SetFactionDirect on \" + this?.ToString() + \" which cannot have a faction.\");\n\t\t}\n\t\telse\n\t\t{\n\t\t\tfactionInt = newFaction;\n\t\t}\n\t}\n\n\tpublic virtual void SetFaction(Faction newFaction, Pawn recruiter = null)\n\t{\n\t\tif (!def.CanHaveFaction)\n\t\t{\n\t\t\tLog.Error(\"Tried to SetFaction on \" + this?.ToString() + \" which cannot have a faction.\");\n\t\t\treturn;\n\t\t}\n\t\tFaction previous = factionInt;\n\t\tfactionInt = newFaction;\n\t\tif (Spawned && this is IAttackTarget t)\n\t\t{\n\t\t\tMap.attackTargetsCache.UpdateTarget(t);\n\t\t}\n\t\tQuestUtility.SendQuestTargetSignals(questTags, \"ChangedFaction\", this.Named(\"SUBJECT\"), newFaction.Named(\"FACTION\"));\n\t\tif (newFaction != Faction.OfPlayer)\n\t\t{\n\t\t\tQuestUtility.SendQuestTargetSignals(questTags, \"ChangedFactionToNonPlayer\", this.Named(\"SUBJECT\"), newFaction.Named(\"FACTION\"));\n\t\t}\n\t\telse\n\t\t{\n\t\t\tQuestUtility.SendQuestTargetSignals(questTags, \"ChangedFactionToPlayer\", this.Named(\"SUBJECT\"), newFaction.Named(\"FACTION\"));\n\t\t}\n\t\tif (Spawned)\n\t\t{\n\t\t\tMap.events.Notify_ThingFactionChanged(previous, factionInt);\n\t\t}\n\t}\n\n\tpublic virtual AcceptanceReport ClaimableBy(Faction by)\n\t{\n\t\treturn false;\n\t}\n\n\tpublic virtual bool AdoptableBy(Faction by, StringBuilder reason = null)\n\t{\n\t\treturn false;\n\t}\n\n\tpublic bool FactionPreventsClaimingOrAdopting(Faction faction, bool forClaim, out string reason)\n\t{\n\t\treason = null;\n\t\tif (faction == null)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tif (faction == Faction.OfInsects)\n\t\t{\n\t\t\tif (HiveUtility.AnyHivePreventsClaiming(this))\n\t\t\t{\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\telse if (faction == Faction.OfMechanoids)\n\t\t{\n\t\t\tforeach (IAttackTarget item in MapHeld.attackTargetsCache.TargetsHostileToFaction(Faction.OfPlayer))\n\t\t\t{\n\t\t\t\tif (item.Thing == null || item.Thing.Faction != faction)\n\t\t\t\t{\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tif (item.Thing is Pawn pawn)\n\t\t\t\t{\n\t\t\t\t\tif (GenHostility.IsActiveThreatToPlayer(pawn))\n\t\t\t\t\t{\n\t\t\t\t\t\tif (forClaim)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\treason = \"MessageCannotClaimWhenPawnThreatsAreNear\".Translate(this.Named(\"CLAIMABLE\"), pawn.Named(\"THREAT\"));\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\treason = \"MessageCannotAdoptWhilePawnThreatsAreNear\".Translate(this.Named(\"CLAIMABLE\"), pawn.Named(\"THREAT\"));\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tif (forClaim)\n\t\t\t\t{\n\t\t\t\t\treason = \"MessageCannotClaimWhenThreatsAreNear\".Translate(this.Named(\"CLAIMABLE\"), item.Named(\"THREAT\"));\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\treason = \"MessageCannotAdoptWhileThreatsAreNear\".Translate(this.Named(\"CLAIMABLE\"), item.Named(\"THREAT\"));\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tif (faction == Faction.OfAncients && Spawned && !Map.IsPlayerHome && GenHostility.AnyHostileActiveThreatToPlayer(Map, countDormantPawnsAsHostile: true, canBeFogged: true))\n\t\t\t{\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tif (Spawned && faction != Faction.OfPlayer)\n\t\t\t{\n\t\t\t\tList list = Map.mapPawns.SpawnedPawnsInFaction(faction);\n\t\t\t\tfor (int i = 0; i < list.Count; i++)\n\t\t\t\t{\n\t\t\t\t\tif (list[i].RaceProps.ToolUser && GenHostility.IsPotentialThreat(list[i]))\n\t\t\t\t\t{\n\t\t\t\t\t\tif (forClaim)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\treason = \"MessageCannotClaimWhenThreatsAreNear\".Translate(this.Named(\"CLAIMABLE\"), list[i].Named(\"THREAT\"));\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\treason = \"MessageCannotAdoptWhileThreatsAreNear\".Translate(this.Named(\"CLAIMABLE\"), list[i].Named(\"THREAT\"));\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic void SetPositionDirect(IntVec3 newPos)\n\t{\n\t\tpositionInt = newPos;\n\t}\n\n\tpublic void SetStuffDirect(ThingDef newStuff)\n\t{\n\t\tstuffInt = newStuff;\n\t}\n\n\tpublic override string ToString()\n\t{\n\t\tif (def != null)\n\t\t{\n\t\t\treturn ThingID;\n\t\t}\n\t\treturn GetType().ToString();\n\t}\n\n\tpublic bool Equals(Thing other)\n\t{\n\t\tif (other == null)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tif (def.category == ThingCategory.Mote)\n\t\t{\n\t\t\treturn this == other;\n\t\t}\n\t\tif (thingIDNumber == other.thingIDNumber)\n\t\t{\n\t\t\treturn def.Equals(other.def);\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic override int GetHashCode()\n\t{\n\t\tif (thingIDNumber == -1)\n\t\t{\n\t\t\treturn base.GetHashCode();\n\t\t}\n\t\treturn thingIDNumber;\n\t}\n\n\tpublic virtual void Discard(bool silentlyRemoveReferences = false)\n\t{\n\t\tif (mapIndexOrState != -2)\n\t\t{\n\t\t\tLog.Warning(\"Tried to discard \" + this?.ToString() + \" whose state is \" + mapIndexOrState + \".\");\n\t\t}\n\t\telse\n\t\t{\n\t\t\tmapIndexOrState = -3;\n\t\t}\n\t}\n\n\tpublic virtual void Notify_DefsHotReloaded()\n\t{\n\t\tgraphicInt = null;\n\t}\n\n\tpublic virtual IEnumerable ButcherProducts(Pawn butcher, float efficiency)\n\t{\n\t\tif (def.butcherProducts == null)\n\t\t{\n\t\t\tyield break;\n\t\t}\n\t\tfor (int i = 0; i < def.butcherProducts.Count; i++)\n\t\t{\n\t\t\tThingDefCountClass thingDefCountClass = def.butcherProducts[i];\n\t\t\tint num = GenMath.RoundRandom((float)thingDefCountClass.count * efficiency);\n\t\t\tif (num > 0)\n\t\t\t{\n\t\t\t\tThing thing = ThingMaker.MakeThing(thingDefCountClass.thingDef);\n\t\t\t\tthing.stackCount = num;\n\t\t\t\tyield return thing;\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic virtual IEnumerable SmeltProducts(float efficiency)\n\t{\n\t\tList costListAdj = def.CostListAdjusted(Stuff);\n\t\tfor (int i = 0; i < costListAdj.Count; i++)\n\t\t{\n\t\t\tif (!costListAdj[i].thingDef.intricate && costListAdj[i].thingDef.smeltable)\n\t\t\t{\n\t\t\t\tint num = GenMath.RoundRandom((float)costListAdj[i].count * 0.25f);\n\t\t\t\tif (num > 0)\n\t\t\t\t{\n\t\t\t\t\tThing thing = ThingMaker.MakeThing(costListAdj[i].thingDef);\n\t\t\t\t\tthing.stackCount = num;\n\t\t\t\t\tyield return thing;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (def.smeltProducts != null)\n\t\t{\n\t\t\tfor (int i = 0; i < def.smeltProducts.Count; i++)\n\t\t\t{\n\t\t\t\tThingDefCountClass thingDefCountClass = def.smeltProducts[i];\n\t\t\t\tThing thing2 = ThingMaker.MakeThing(thingDefCountClass.thingDef);\n\t\t\t\tthing2.stackCount = thingDefCountClass.count;\n\t\t\t\tyield return thing2;\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic float Ingested(Pawn ingester, float nutritionWanted)\n\t{\n\t\tif (Destroyed)\n\t\t{\n\t\t\tLog.Error(ingester?.ToString() + \" ingested destroyed thing \" + this);\n\t\t\treturn 0f;\n\t\t}\n\t\tif (!IngestibleNow)\n\t\t{\n\t\t\tLog.Error(ingester?.ToString() + \" ingested IngestibleNow=false thing \" + this);\n\t\t\treturn 0f;\n\t\t}\n\t\tingester.mindState.lastIngestTick = Find.TickManager.TicksGame;\n\t\tif (ingester.needs.mood != null)\n\t\t{\n\t\t\tList list = FoodUtility.ThoughtsFromIngesting(ingester, this, def);\n\t\t\tfor (int i = 0; i < list.Count; i++)\n\t\t\t{\n\t\t\t\tThought_Memory thought_Memory = ThoughtMaker.MakeThought(list[i].thought, list[i].fromPrecept);\n\t\t\t\tif (thought_Memory is Thought_FoodEaten thought_FoodEaten)\n\t\t\t\t{\n\t\t\t\t\tthought_FoodEaten.SetFood(this);\n\t\t\t\t}\n\t\t\t\tingester.needs.mood.thoughts.memories.TryGainMemory(thought_Memory);\n\t\t\t}\n\t\t}\n\t\tingester.needs.drugsDesire?.Notify_IngestedDrug(this);\n\t\tbool flag = FoodUtility.IsHumanlikeCorpseOrHumanlikeMeat(this, def);\n\t\tbool flag2 = FoodUtility.IsHumanlikeCorpseOrHumanlikeMeatOrIngredient(this);\n\t\tif (flag && ingester.IsColonist)\n\t\t{\n\t\t\tTaleRecorder.RecordTale(TaleDefOf.AteRawHumanlikeMeat, ingester);\n\t\t}\n\t\tif (flag2)\n\t\t{\n\t\t\tingester.mindState.lastHumanMeatIngestedTick = Find.TickManager.TicksGame;\n\t\t\tFind.HistoryEventsManager.RecordEvent(new HistoryEvent(HistoryEventDefOf.AteHumanMeat, ingester.Named(HistoryEventArgsNames.Doer)), canApplySelfTookThoughts: false);\n\t\t\tif (flag)\n\t\t\t{\n\t\t\t\tFind.HistoryEventsManager.RecordEvent(new HistoryEvent(HistoryEventDefOf.AteHumanMeatDirect, ingester.Named(HistoryEventArgsNames.Doer)), canApplySelfTookThoughts: false);\n\t\t\t}\n\t\t}\n\t\telse if (ModsConfig.IdeologyActive && !FoodUtility.AcceptableCannibalNonHumanlikeMeatFood(def))\n\t\t{\n\t\t\tFind.HistoryEventsManager.RecordEvent(new HistoryEvent(HistoryEventDefOf.AteNonCannibalFood, ingester.Named(HistoryEventArgsNames.Doer)), canApplySelfTookThoughts: false);\n\t\t}\n\t\tif (def.ingestible.ateEvent != null)\n\t\t{\n\t\t\tFind.HistoryEventsManager.RecordEvent(new HistoryEvent(def.ingestible.ateEvent, ingester.Named(HistoryEventArgsNames.Doer)), canApplySelfTookThoughts: false);\n\t\t}\n\t\tif (ModsConfig.IdeologyActive)\n\t\t{\n\t\t\tFoodKind foodKind = FoodUtility.GetFoodKind(this);\n\t\t\tif (foodKind != FoodKind.Any && !def.IsProcessedFood)\n\t\t\t{\n\t\t\t\tif (foodKind == FoodKind.Meat)\n\t\t\t\t{\n\t\t\t\t\tif (!flag2)\n\t\t\t\t\t{\n\t\t\t\t\t\tFind.HistoryEventsManager.RecordEvent(new HistoryEvent(HistoryEventDefOf.AteMeat, ingester.Named(HistoryEventArgsNames.Doer)), canApplySelfTookThoughts: false);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse if (!def.IsDrug && def.ingestible.CachedNutrition > 0f)\n\t\t\t\t{\n\t\t\t\t\tFind.HistoryEventsManager.RecordEvent(new HistoryEvent(HistoryEventDefOf.AteNonMeat, ingester.Named(HistoryEventArgsNames.Doer)), canApplySelfTookThoughts: false);\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (FoodUtility.IsVeneratedAnimalMeatOrCorpseOrHasIngredients(this, ingester))\n\t\t\t{\n\t\t\t\tFind.HistoryEventsManager.RecordEvent(new HistoryEvent(HistoryEventDefOf.AteVeneratedAnimalMeat, ingester.Named(HistoryEventArgsNames.Doer)), canApplySelfTookThoughts: false);\n\t\t\t}\n\t\t\tif (def.thingCategories != null && def.thingCategories.Contains(ThingCategoryDefOf.PlantFoodRaw))\n\t\t\t{\n\t\t\t\tif (def.IsFungus)\n\t\t\t\t{\n\t\t\t\t\tFind.HistoryEventsManager.RecordEvent(new HistoryEvent(HistoryEventDefOf.AteFungus, ingester.Named(HistoryEventArgsNames.Doer)), canApplySelfTookThoughts: false);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tFind.HistoryEventsManager.RecordEvent(new HistoryEvent(HistoryEventDefOf.AteNonFungusPlant, ingester.Named(HistoryEventArgsNames.Doer)), canApplySelfTookThoughts: false);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tCompIngredients compIngredients = this.TryGetComp();\n\t\tif (compIngredients != null)\n\t\t{\n\t\t\tbool flag3 = false;\n\t\t\tbool flag4 = false;\n\t\t\tbool flag5 = false;\n\t\t\tbool flag6 = false;\n\t\t\tbool flag7 = false;\n\t\t\tfor (int j = 0; j < compIngredients.ingredients.Count; j++)\n\t\t\t{\n\t\t\t\tif (!flag3 && FoodUtility.GetMeatSourceCategory(compIngredients.ingredients[j]) == MeatSourceCategory.Humanlike)\n\t\t\t\t{\n\t\t\t\t\tingester.mindState.lastHumanMeatIngestedTick = Find.TickManager.TicksGame;\n\t\t\t\t\tFind.HistoryEventsManager.RecordEvent(new HistoryEvent(HistoryEventDefOf.AteHumanMeatAsIngredient, ingester.Named(HistoryEventArgsNames.Doer)), canApplySelfTookThoughts: false);\n\t\t\t\t\tflag3 = true;\n\t\t\t\t}\n\t\t\t\telse if (!flag4 && ingester.Ideo != null && compIngredients.ingredients[j].IsMeat && ingester.Ideo.IsVeneratedAnimal(compIngredients.ingredients[j].ingestible.sourceDef))\n\t\t\t\t{\n\t\t\t\t\tFind.HistoryEventsManager.RecordEvent(new HistoryEvent(HistoryEventDefOf.AteVeneratedAnimalMeat, ingester.Named(HistoryEventArgsNames.Doer)), canApplySelfTookThoughts: false);\n\t\t\t\t\tflag4 = true;\n\t\t\t\t}\n\t\t\t\tif (!flag5 && FoodUtility.GetMeatSourceCategory(compIngredients.ingredients[j]) == MeatSourceCategory.Insect)\n\t\t\t\t{\n\t\t\t\t\tFind.HistoryEventsManager.RecordEvent(new HistoryEvent(HistoryEventDefOf.AteInsectMeatAsIngredient, ingester.Named(HistoryEventArgsNames.Doer)), canApplySelfTookThoughts: false);\n\t\t\t\t\tflag5 = true;\n\t\t\t\t}\n\t\t\t\tif (ModsConfig.IdeologyActive && !flag6 && compIngredients.ingredients[j].thingCategories.Contains(ThingCategoryDefOf.PlantFoodRaw))\n\t\t\t\t{\n\t\t\t\t\tif (compIngredients.ingredients[j].IsFungus)\n\t\t\t\t\t{\n\t\t\t\t\t\tFind.HistoryEventsManager.RecordEvent(new HistoryEvent(HistoryEventDefOf.AteFungusAsIngredient, ingester.Named(HistoryEventArgsNames.Doer)), canApplySelfTookThoughts: false);\n\t\t\t\t\t\tflag6 = true;\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tflag7 = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (ModsConfig.IdeologyActive && !flag6 && flag7)\n\t\t\t{\n\t\t\t\tFind.HistoryEventsManager.RecordEvent(new HistoryEvent(HistoryEventDefOf.AteNonFungusMealWithPlants, ingester.Named(HistoryEventArgsNames.Doer)), canApplySelfTookThoughts: false);\n\t\t\t}\n\t\t}\n\t\tIngestedCalculateAmounts(ingester, nutritionWanted, out var numTaken, out var nutritionIngested);\n\t\tif (!ingester.Dead && ingester.needs.joy != null && Mathf.Abs(def.ingestible.joy) > 0.0001f && numTaken > 0)\n\t\t{\n\t\t\tingester.needs.joy.GainJoy((float)numTaken * def.ingestible.joy, def.ingestible.joyKind ?? JoyKindDefOf.Gluttonous);\n\t\t}\n\t\tfloat poisonChanceOverride;\n\t\tfloat chance = (FoodUtility.TryGetFoodPoisoningChanceOverrideFromTraits(ingester, this, out poisonChanceOverride) ? poisonChanceOverride : (this.GetStatValue(StatDefOf.FoodPoisonChanceFixedHuman) * FoodUtility.GetFoodPoisonChanceFactor(ingester)));\n\t\tif (ingester.RaceProps.Humanlike && Rand.Chance(chance))\n\t\t{\n\t\t\tFoodUtility.AddFoodPoisoningHediff(ingester, this, FoodPoisonCause.DangerousFoodType);\n\t\t}\n\t\tList hediffs = ingester.health.hediffSet.hediffs;\n\t\tfor (int k = 0; k < hediffs.Count; k++)\n\t\t{\n\t\t\thediffs[k].Notify_IngestedThing(this, numTaken);\n\t\t}\n\t\tingester.genes?.Notify_IngestedThing(this, numTaken);\n\t\tbool flag8 = false;\n\t\tif (numTaken > 0)\n\t\t{\n\t\t\tif (stackCount == 0)\n\t\t\t{\n\t\t\t\tLog.Error(this?.ToString() + \" stack count is 0.\");\n\t\t\t}\n\t\t\tif (numTaken == stackCount)\n\t\t\t{\n\t\t\t\tflag8 = true;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tSplitOff(numTaken);\n\t\t\t}\n\t\t}\n\t\tPrePostIngested(ingester);\n\t\tif (flag8)\n\t\t{\n\t\t\tingester.carryTracker.innerContainer.Remove(this);\n\t\t}\n\t\tif (def.ingestible.outcomeDoers != null)\n\t\t{\n\t\t\tfor (int l = 0; l < def.ingestible.outcomeDoers.Count; l++)\n\t\t\t{\n\t\t\t\tdef.ingestible.outcomeDoers[l].DoIngestionOutcome(ingester, this, numTaken);\n\t\t\t}\n\t\t}\n\t\tif (flag8 && !Destroyed)\n\t\t{\n\t\t\tDestroy();\n\t\t}\n\t\tPostIngested(ingester);\n\t\treturn nutritionIngested;\n\t}\n\n\tprotected virtual void PrePostIngested(Pawn ingester)\n\t{\n\t}\n\n\tprotected virtual void PostIngested(Pawn ingester)\n\t{\n\t}\n\n\tprotected virtual void IngestedCalculateAmounts(Pawn ingester, float nutritionWanted, out int numTaken, out float nutritionIngested)\n\t{\n\t\tfloat num = FoodUtility.NutritionForEater(ingester, this);\n\t\tnumTaken = Mathf.CeilToInt(nutritionWanted / num);\n\t\tnumTaken = Mathf.Min(numTaken, stackCount);\n\t\tif (def.ingestible.maxNumToIngestAtOnce > 0)\n\t\t{\n\t\t\tnumTaken = Mathf.Min(numTaken, def.ingestible.maxNumToIngestAtOnce);\n\t\t}\n\t\tnumTaken = Mathf.Max(numTaken, 1);\n\t\tnutritionIngested = (float)numTaken * num;\n\t}\n\n\tpublic virtual bool PreventPlayerSellingThingsNearby(out string reason)\n\t{\n\t\treason = null;\n\t\treturn false;\n\t}\n\n\tpublic virtual void PreSwapMap()\n\t{\n\t\tbeingTransportedOnGravship = true;\n\t}\n\n\tpublic virtual void PostSwapMap()\n\t{\n\t\tbeingTransportedOnGravship = false;\n\t\tQuestUtility.SendQuestTargetSignals(questTags, \"SwappedMap\", this.Named(\"SUBJECT\"));\n\t}\n\n\tpublic void Notify_LeftBehind()\n\t{\n\t\tQuestUtility.SendQuestTargetSignals(questTags, \"LeftBehind\", this.Named(\"SUBJECT\"));\n\t\tif (!(this is IThingHolder thingHolder) || thingHolder.GetDirectlyHeldThings() == null)\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\tforeach (Thing item in (IEnumerable)thingHolder.GetDirectlyHeldThings())\n\t\t{\n\t\t\titem.Notify_LeftBehind();\n\t\t}\n\t}\n}\n\n", "timestamp": "2025-08-25 14:10:31,694" + }, + "MapPortal": { + "keywords": [ + "MapPortal" + ], + "question": "MapPortal class definition", + "embedding": [ + -0.004828896373510361, + 0.044337302446365356, + 0.01690523698925972, + -0.03522060811519623, + -0.003080573631450534, + 0.00954301469027996, + -0.020119035616517067, + 0.042238496243953705, + 0.028497867286205292, + 0.07752469182014465, + 0.04843653738498688, + -0.0265138391405344, + -0.04653449356555939, + 0.0222342386841774, + -0.00924786925315857, + 0.03735221177339554, + -0.0023529597092419863, + -0.09300339967012405, + -0.06053747236728668, + 0.02067653089761734, + 0.003947561141103506, + 0.03761456161737442, + 0.04168099910020828, + -0.04633772745728493, + 0.004304194822907448, + 0.0005006188293918967, + 0.01136307418346405, + 0.017741480842232704, + 0.027546845376491547, + -0.01890566200017929, + -0.009001915343105793, + -0.009116694331169128, + 0.03535178676247597, + -0.03177725523710251, + 0.051748715341091156, + 0.00955941155552864, + -0.025382449850440025, + 0.018118608742952347, + 0.0207913089543581, + 0.005185529589653015, + -0.03349893167614937, + 0.002933001145720482, + -0.017610304057598114, + 0.010912158526480198, + -0.010469441302120686, + 0.006845719181001186, + 0.015560688450932503, + -0.029563667252659798, + -0.061029378324747086, + -0.015905024483799934, + -0.012863392941653728, + 0.022283431142568588, + 0.03243312984704971, + 0.013174934312701225, + 0.01875809021294117, + 0.015626275911927223, + 0.028973378241062164, + -0.0341712050139904, + 0.005070751067250967, + 0.03456473350524902, + 0.01906963251531124, + -0.005070751067250967, + -0.0457802340388298, + -0.00038891471922397614, + 0.016569100320339203, + -0.010641608387231827, + -0.00427959905937314, + 0.000527776253875345, + -0.02100447006523609, + -0.03574531152844429, + 0.03394164890050888, + 0.036761920899152756, + -0.021758727729320526, + 0.031301744282245636, + -0.014814628288149834, + 0.013388094492256641, + -0.01142866164445877, + -0.03640118986368179, + -0.01872529648244381, + -0.026907365769147873, + -0.02085689641535282, + 0.022267034277319908, + -0.01895485259592533, + -0.013757025822997093, + -0.0028100241906940937, + 0.05263414978981018, + 0.0419105589389801, + -0.007776245009154081, + 0.00847721379250288, + 0.02033219486474991, + 0.040926743298769, + -0.010576020926237106, + 0.012527256272733212, + -0.016454320400953293, + 0.02789118140935898, + 0.014429300092160702, + -0.023873932659626007, + -0.04709198698401451, + 0.01702001504600048, + 0.04017248377203941, + -0.04013969004154205, + -0.025644801557064056, + -0.06634198874235153, + 0.0024185474030673504, + -0.031137773767113686, + 0.01506058219820261, + -0.03931984305381775, + 0.030727850273251534, + -0.011928767897188663, + -0.015396718867123127, + 0.01890566200017929, + -0.055651187896728516, + -0.0064644902013242245, + 0.08021379262208939, + -0.012806003913283348, + 0.03768014907836914, + 0.032941434532403946, + 0.008854343555867672, + 0.0025415243580937386, + 0.04295996204018593, + 0.023168863728642464, + 0.01407676562666893, + 0.011149914003908634, + -0.025448037311434746, + -0.0132569195702672, + 0.04440288990736008, + -0.017987433820962906, + -0.0035007449332624674, + -0.028874997049570084, + 0.004304194822907448, + -0.01406036876142025, + -0.007099871523678303, + 0.0032937335781753063, + 0.002031169831752777, + -0.0279567688703537, + -0.03564693033695221, + 0.03213798627257347, + -0.04384539648890495, + -0.0680144727230072, + -0.005587254650890827, + -0.08919931203126907, + 0.009895548224449158, + -0.008846145123243332, + 0.003756946884095669, + 0.006214437074959278, + 0.006144750397652388, + -0.01900404319167137, + -0.021906301379203796, + -0.008095985278487206, + -0.004357484634965658, + -0.0066653527319431305, + 0.006370208226144314, + -0.02831750176846981, + 0.04699360579252243, + 0.01405217032879591, + -0.05502810329198837, + 0.009969334118068218, + -0.04459965601563454, + -0.004759209230542183, + -0.05827469378709793, + -0.029694844037294388, + 0.004078736994415522, + -0.023775551468133926, + -0.04305834323167801, + 0.005128140561282635, + 0.003418760374188423, + 0.01854492910206318, + 0.04564905911684036, + -0.022267034277319908, + -0.05289650335907936, + 0.01867610588669777, + -0.01726596988737583, + -0.014355514198541641, + -0.010084113106131554, + 0.08336199820041656, + -0.05210945010185242, + 0.009411838836967945, + 0.06034070998430252, + 0.025726785883307457, + -0.05981600657105446, + 0.014568673446774483, + 0.009977532550692558, + 0.09254427999258041, + -0.01705280877649784, + 0.019282791763544083, + -0.030481895431876183, + -0.04650169983506203, + 0.04692801833152771, + -0.006710444111377001, + 0.0012625637464225292, + 0.03561413660645485, + -0.019676318392157555, + -0.011281088925898075, + 0.010059517808258533, + -0.0633249506354332, + -0.025743182748556137, + 0.0068703144788742065, + -0.023611580953001976, + -0.034728702157735825, + -0.03781132400035858, + 0.012863392941653728, + 0.0170856025069952, + 0.010862966999411583, + 0.012625637464225292, + 0.04361584037542343, + 0.004664927255362272, + 0.01406036876142025, + -0.02090608887374401, + 0.014945803210139275, + -0.0074974969029426575, + 0.02082410268485546, + 0.01402757503092289, + 0.00839522946625948, + -0.017364351078867912, + -0.031268950551748276, + -0.02816992811858654, + -0.012879789806902409, + -0.025661198422312737, + 0.011764798313379288, + -0.007349924650043249, + -0.04374701529741287, + 0.049617115408182144, + 0.02830110490322113, + 0.004146374296396971, + 0.029120950028300285, + 0.051584746688604355, + 0.00612015463411808, + 0.011830386705696583, + 0.003224046668037772, + 0.011887775734066963, + 0.001663263770751655, + 0.008731366135179996, + -0.006821123417466879, + 0.06411200016736984, + 0.023841138929128647, + -0.0076983594335615635, + -0.007727053947746754, + -0.015257344581186771, + -0.013470079749822617, + 0.0003492034156806767, + -0.004751010797917843, + 0.03909028694033623, + 0.0012851095525547862, + 0.004832995589822531, + 0.022070270031690598, + -0.060996584594249725, + -0.015281940810382366, + 0.030990201979875565, + 0.0712282732129097, + -0.047879040241241455, + 0.04905961826443672, + -0.008714969269931316, + 0.01895485259592533, + 0.011723806150257587, + 0.04843653738498688, + -0.013174934312701225, + -0.011699210852384567, + -0.003918866626918316, + 0.05214224383234978, + -0.002838718704879284, + -0.005464277695864439, + 0.014667055569589138, + -0.01902044005692005, + 0.017479129135608673, + -0.0227261483669281, + -0.010018525645136833, + 0.00664075743407011, + 0.04476362466812134, + -0.018184198066592216, + -0.06253790110349655, + -0.013699636794626713, + 0.0419105589389801, + 0.02098807319998741, + -0.023267246782779694, + -0.03725383058190346, + -0.03522060811519623, + 0.012650232762098312, + -0.006017673760652542, + 0.0048944843001663685, + -0.030826231464743614, + -0.012018950656056404, + -0.003041630843654275, + -0.012478064745664597, + 0.03643398359417915, + -0.004927278030663729, + 0.017364351078867912, + 0.02423466555774212, + 0.022168651223182678, + 0.015650872141122818, + -0.027841990813612938, + 0.036663539707660675, + -0.010116906836628914, + 0.0170036181807518, + -0.002180791925638914, + -0.00925606768578291, + 0.03410561755299568, + -0.03764735534787178, + 0.04348466172814369, + -0.01893845573067665, + 0.00477970577776432, + -0.053749144077301025, + 0.006915405858308077, + -0.0037630959413945675, + 0.027415670454502106, + 0.04856771230697632, + -0.015511497855186462, + -0.006443994119763374, + -0.1269778460264206, + 0.07699999213218689, + -0.10133303701877594, + 0.03218717873096466, + 0.0013189282035455108, + -0.03895910829305649, + 0.028858600184321404, + 0.006427597254514694, + -0.04154982417821884, + -0.006218536291271448, + 0.018200594931840897, + -0.008608389645814896, + 0.024808557704091072, + -0.0340072363615036, + 0.0008879963424988091, + 0.06594845652580261, + 0.007349924650043249, + 0.04499318078160286, + -0.01893845573067665, + 0.005345399957150221, + 0.005718430038541555, + -0.008391129784286022, + -0.03800808638334274, + 0.0034966457169502974, + 0.019938668236136436, + -0.013388094492256641, + 0.04063159599900246, + -0.04722316190600395, + 0.027481257915496826, + 0.026759792119264603, + 0.01895485259592533, + 0.0008726242231205106, + -0.03225276619195938, + 0.020283004269003868, + 0.05470016598701477, + 0.021758727729320526, + -0.008665778674185276, + 0.03879513964056969, + 0.05824190005660057, + 0.053322821855545044, + 0.038532789796590805, + 0.0207913089543581, + 0.013847208581864834, + -0.06388244777917862, + 0.0004988253931514919, + 0.046009790152311325, + 0.04112350568175316, + 0.02033219486474991, + -0.01898764632642269, + 0.027120525017380714, + 0.004861690104007721, + -0.055224865674972534, + -0.00427959905937314, + -0.005517567507922649, + 0.015191757120192051, + -0.0025661198887974024, + 0.047682277858257294, + 0.04738713428378105, + 0.015544291585683823, + -0.04837094992399216, + 0.01410136092454195, + -0.0676865354180336, + 0.024956129491329193, + -0.009157686494290829, + -0.03131813928484917, + 0.012806003913283348, + 0.0316624753177166, + -0.05417546257376671, + 0.05460178107023239, + 0.007300734054297209, + 0.006538276560604572, + 0.01715118996798992, + 0.030908215790987015, + -0.011026936583220959, + -0.0014787983382120728, + -0.04197614639997482, + -0.05227341875433922, + -0.008714969269931316, + -0.026776188984513283, + -0.0024021505378186703, + -0.0068621160462498665, + 0.02443142794072628, + -0.06237392872571945, + 0.018331769853830338, + 0.00848541222512722, + 0.014806429855525494, + 0.0009694686159491539, + 0.008928129449486732, + 0.0013875903096050024, + 0.0006174469599500299, + 0.002326314803212881, + 0.033138200640678406, + -0.025070909410715103, + 0.008739564567804337, + -0.0057389261201024055, + 0.06558772921562195, + -0.015724657103419304, + 0.03564693033695221, + 0.01142866164445877, + -0.0013732430525124073, + 0.007362222298979759, + -0.015240947715938091, + -0.008243557065725327, + -0.016421526670455933, + 0.00306417653337121, + 0.04292716830968857, + 0.0016089489217847586, + -0.047715071588754654, + 0.016036199405789375, + 0.014248933643102646, + -0.0018712998135015368, + 0.01887286826968193, + -0.0023017192725092173, + 0.0036052754148840904, + 0.01724957302212715, + -0.021955491974949837, + -0.02420187182724476, + -0.0036483174189925194, + 0.0725400298833847, + -0.005743025336414576, + 0.005066651850938797, + 0.019479554146528244, + 0.004714117851108313, + 0.03512222692370415, + 0.0024820854887366295, + -0.008780556730926037, + 0.05273253098130226, + 0.019200807437300682, + -0.03003917820751667, + 0.027727210894227028, + -0.0244150310754776, + -0.02989160642027855, + -0.010936753824353218, + -0.06499743461608887, + -0.007759848143905401, + -0.010010327212512493, + -0.021397996693849564, + -0.04896123707294464, + -0.07194973528385162, + 0.030727850273251534, + 0.010141502134501934, + 0.04204173386096954, + 0.02466098591685295, + 0.011781195178627968, + 0.011904172599315643, + 0.06168525665998459, + -0.0028633142355829477, + 0.03361371159553528, + 0.04128747433423996, + -0.03146571293473244, + -0.03356451913714409, + -0.007202352397143841, + 0.027743607759475708, + 0.03912308067083359, + -0.019463157281279564, + -0.012978171929717064, + -0.02607112191617489, + -0.004746911581605673, + 0.007522092666476965, + 0.011789393611252308, + -0.009141289629042149, + -0.07837733626365662, + -0.05296209082007408, + -0.03525340184569359, + 0.036663539707660675, + 0.06148849427700043, + 0.0035417373292148113, + 0.02238181233406067, + -0.05279812216758728, + -0.036532364785671234, + 0.031301744282245636, + 0.009444632567465305, + 0.04066438972949982, + -0.026972953230142593, + 0.012469866313040257, + 0.011559836566448212, + -0.009411838836967945, + -0.09195399284362793, + -0.0802793800830841, + 0.012535454705357552, + -0.05620868131518364, + 0.04115629941225052, + 0.009747975505888462, + -0.05420825630426407, + -0.00926426611840725, + -0.00607506325468421, + 0.023988710716366768, + -0.044337302446365356, + 0.0013445484219118953, + 0.034761495888233185, + 0.03518781438469887, + 0.023267246782779694, + -0.008300947025418282, + 0.03397444263100624, + 0.013748827390372753, + 0.005968483164906502, + -0.018167801201343536, + -0.05791396275162697, + 0.0045911408960819244, + -0.03718824312090874, + 0.0009115669527091086, + -0.05663500353693962, + -0.004886285867542028, + 0.04095953702926636, + 0.038663964718580246, + 0.034400761127471924, + -0.009198678657412529, + -0.014339116401970387, + 0.01038745604455471, + 0.0414186492562294, + 0.03528619557619095, + -0.014175147749483585, + -0.025628404691815376, + -0.029465286061167717, + -0.0017339754849672318, + -0.011592631228268147, + -0.0132569195702672, + -0.047813452780246735, + 0.049879465252161026, + 0.007149062119424343, + 0.01607719250023365, + 0.0265958234667778, + 0.00043067566002719104, + -0.019938668236136436, + 0.05240459367632866, + -0.042238496243953705, + -0.02270974963903427, + 0.02592354826629162, + -0.004328790120780468, + -0.0004760234151035547, + 0.015191757120192051, + 0.03548296168446541, + 0.09851276874542236, + -0.01667567901313305, + -0.03587648645043373, + 0.0003909643564838916, + 0.005468376912176609, + 0.027563242241740227, + -0.019971463829278946, + 0.025907151401042938, + -0.017807068303227425, + -0.02034859172999859, + -0.013912796974182129, + 0.003256840631365776, + 0.0012164473300799727, + 0.016380535438656807, + -0.04004130885004997, + 0.014806429855525494, + -0.022037476301193237, + 0.00841162633150816, + 0.057323671877384186, + 0.018069418147206306, + 0.006985093001276255, + 0.01323232427239418, + -0.022955704480409622, + -0.031055789440870285, + 0.011740203015506268, + -0.01888926513493061, + 0.018216991797089577, + -0.003756946884095669, + -0.030514689162373543, + -0.03358091786503792, + 0.011518844403326511, + -0.055487215518951416, + 0.02254578098654747, + -0.025300465524196625, + -0.006796528119593859, + 0.047846246510744095, + 0.06814564764499664, + -0.047846246510744095, + 0.011732004582881927, + 0.034400761127471924, + 0.004345186986029148, + -0.009846357628703117, + 0.029694844037294388, + -0.040238071233034134, + -0.0457802340388298, + -0.019381172955036163, + 0.02246379666030407, + 0.01682325266301632, + -0.016249358654022217, + -0.006222635507583618, + -0.0728679671883583, + 0.029366904869675636, + 0.006911306641995907, + -0.04912520945072174, + -0.0074933976866304874, + -0.034794289618730545, + 0.04440288990736008, + 0.010772784240543842, + -0.014503085985779762, + 0.016733068972826004, + 0.0018405555747449398, + 0.004150473512709141, + 0.0005656941211782396, + -0.025234878063201904, + 0.005583155434578657, + -0.02462819218635559, + 0.0037712943740189075, + 0.01395378913730383, + 0.03225276619195938, + 0.025841563940048218, + -0.01627395488321781, + -0.042697612196207047, + 0.023185262456536293, + -0.06020953506231308, + -0.0020219467114657164, + 0.030678659677505493, + 0.008382931351661682, + 0.010477639734745026, + 0.04099233075976372, + -0.004035694990307093, + 0.010584219358861446, + 0.03143291920423508, + -0.015790244564414024, + 0.03340055048465729, + -0.023218056187033653, + 0.03800808638334274, + 0.03535178676247597, + 0.06788329780101776, + -0.011674615554511547, + -0.01222391240298748, + -0.005800414830446243, + -0.012043545953929424, + 0.007681962568312883, + -0.013740628957748413, + 0.04328789934515953, + 0.04905961826443672, + -0.007198253180831671, + -0.014757238328456879, + 0.00427549984306097, + 0.017479129135608673, + -0.033007021993398666, + -0.005960284732282162, + -0.02236541546881199, + 0.02828470803797245, + -0.01706920564174652, + -0.040238071233034134, + -0.02284092642366886, + -0.044107746332883835, + -0.031301744282245636, + -0.005017461255192757, + 0.006398902740329504, + 0.030514689162373543, + 0.048239775002002716, + 0.03604045510292053, + -0.011018738150596619, + -0.02218504808843136, + -0.015823038294911385, + -0.03361371159553528, + -0.03577810525894165, + -0.0009868902852758765, + -0.04391098394989967, + -0.036565158516168594, + 0.002383704064413905, + 0.01620836742222309, + 0.026808982715010643, + -0.038434408605098724, + 0.03325297683477402, + 0.015437711030244827, + -0.019249998033046722, + -0.010059517808258533, + 0.002838718704879284, + 0.0016468667890876532, + -0.02846507355570793, + 0.00030206222436390817, + 0.00424680532887578, + -0.0009412863873876631, + -0.04194335266947746, + -0.08395229279994965, + -0.014839223586022854, + 0.05476575344800949, + -0.019512349739670753, + 0.04256643354892731, + 0.06503023207187653, + -0.02789118140935898, + -0.0281207375228405, + -0.01687244325876236, + -0.020102638751268387, + -0.009870952926576138, + -0.007304833270609379, + -0.06548934429883957, + 0.030957406386733055, + 0.011961561627686024, + -0.026907365769147873, + 0.09483985602855682, + -0.01869250275194645, + -0.027169715613126755, + -0.028842203319072723, + -0.025562817230820656, + -0.04377980902791023, + 0.0037487484514713287, + 0.014617864973843098, + 0.01898764632642269, + -0.04679684340953827, + -0.002229982754215598, + -0.019791096448898315, + 0.017823465168476105, + -0.014544078148901463, + 0.03141652047634125, + -0.025021718814969063, + 0.008100084029138088, + 0.030744247138500214, + 0.032613497227430344, + 0.02229982800781727, + 0.06470229476690292, + -0.0024103489704430103, + 0.014453895390033722, + 0.03407282382249832, + 0.007755748927593231, + -0.0373850055038929, + -0.032875847071409225, + 0.00018856472161132842, + 0.017364351078867912, + -0.008169771172106266, + 0.019873080775141716, + 0.014306322671473026, + 0.005271613597869873, + 0.017725083976984024, + 0.02626788429915905, + -0.012748614884912968, + 0.016495313495397568, + 0.08368994295597076, + -0.023103276267647743, + -0.057159703224897385, + -0.03620442375540733, + -0.07536029815673828, + -0.042140115052461624, + -0.018233388662338257, + 0.009108495898544788, + -0.027514051645994186, + -0.025103703141212463, + -0.01400297973304987, + -0.013707835227251053, + -0.018216991797089577, + 0.04309113696217537, + -0.02434944361448288, + 0.0314985066652298, + -0.03928704932332039, + -0.04686243087053299, + 0.1089412122964859, + 0.0191024262458086, + -0.045616265386343, + 0.04466524347662926, + 0.055388834327459335, + 0.08093525469303131, + 0.009338052943348885, + 0.05424105003476143, + -0.011469653807580471, + 0.059422481805086136, + -0.00211930344812572, + -0.0025374251417815685, + 0.020069845020771027, + 0.037057064473629, + 0.0036134738475084305, + 0.009174083359539509, + 0.000812160549685359, + -0.0380408801138401, + 0.02610391564667225, + 0.01141226477921009, + 0.019446760416030884, + -0.04273040592670441, + 0.04538670554757118, + -0.03905749320983887, + -0.007977107539772987, + 0.03745059296488762, + 0.0412546806037426, + 0.0184465479105711, + 0.019479554146528244, + -0.03708985820412636, + 0.0191024262458086, + 0.011633623391389847, + 0.013174934312701225, + 0.004009049851447344, + 0.031104980036616325, + -0.05069931223988533, + -0.003211749019101262, + 0.02259497158229351, + -0.012010752223432064, + -0.027612432837486267, + 0.02056175284087658, + -0.005919292569160461, + 0.03715544566512108, + 0.023955916985869408, + -0.013494675047695637, + 0.047879040241241455, + 0.014125957153737545, + -0.025415243580937386, + -0.0070629785768687725, + 0.020086241886019707, + 0.05099445953965187, + 0.010133303701877594, + 0.025612007826566696, + 0.002242280403152108, + -0.07621294260025024, + 0.021725933998823166, + -0.03879513964056969, + 0.02082410268485546, + 0.0063620093278586864, + -0.0023734557908028364, + -0.013166735880076885, + -0.023709964007139206, + -0.04735434055328369, + 0.023054085671901703, + 0.03522060811519623, + 0.0170856025069952, + -0.011797592043876648, + -0.03230195492506027, + -0.01713479310274124, + -0.04187776520848274, + -0.003252741415053606, + -0.010985944420099258, + 0.009157686494290829, + -0.011330279521644115, + 0.0415826179087162, + 0.013027362525463104, + 0.0016601893585175276, + -0.008665778674185276, + 0.01021528895944357, + -0.024037901312112808, + 0.001562832505442202, + 0.03176085650920868, + -0.018036624416708946, + 0.01854492910206318, + -0.02033219486474991, + -0.05584795027971268, + 0.003154359757900238, + -0.021496377885341644, + 0.04673125594854355, + -0.015544291585683823, + 0.001519790617749095, + -0.0038245844189077616, + 0.020135432481765747, + 0.00786642823368311, + -0.017397144809365273, + -0.0035950273741036654, + -0.012822400778532028, + -0.029547270387411118, + -0.033072613179683685, + 0.028547057881951332, + -0.022070270031690598, + -0.01698722131550312, + 0.0058373077772557735, + 0.04128747433423996, + -0.04696081206202507, + -0.030875422060489655, + 0.05778278782963753, + -0.0038040881045162678, + 0.03558134287595749, + 0.015987008810043335, + -0.04459965601563454, + -0.023103276267647743, + 0.00663665821775794, + 0.0064644902013242245, + -0.038368821144104004, + 0.0017339754849672318, + -0.057454850524663925, + -0.03407282382249832, + 0.009354449808597565, + 0.07581941038370132, + 0.002084459876641631, + -0.007735252380371094, + -0.026972953230142593, + 0.019577937200665474, + -0.04518994316458702, + 0.003172806231305003, + -0.025989137589931488, + 0.03627001494169235, + 0.002125452272593975, + -0.03303981572389603, + 0.01110072247684002, + 0.04541949927806854, + -0.019709112122654915, + 0.0368930958211422, + -0.0095512131229043, + 0.016364138573408127, + -0.011248295195400715, + 0.016085390001535416, + 0.03505663946270943, + 0.025120100006461143, + -0.0010401803301647305, + 0.0013804166810587049, + -0.028760218992829323, + -0.007747550494968891, + -8.429047738900408e-05, + -0.004845293238759041, + -0.012592843733727932, + 0.010051319375634193, + -0.014863818883895874, + 0.032875847071409225, + -0.022988498210906982, + 0.007300734054297209, + -0.07004769146442413, + 0.027645226567983627, + -0.0323183536529541, + -0.00604636874049902, + -0.002723940182477236, + -0.008600190281867981, + -0.06404641270637512, + -0.03902469947934151, + -0.010994142852723598, + -0.03817205876111984, + -0.027005746960639954, + -0.006275925785303116, + 0.00476740812882781, + 0.05060093104839325, + 0.011043333448469639, + -0.020217416808009148, + -0.04840374365448952, + -0.02810434065759182, + 0.05096166580915451, + -0.029580064117908478, + 0.012887988239526749, + 0.008837946690618992, + -0.058963365852832794, + 0.061258938163518906, + -0.021070057526230812, + 0.029284920543432236, + -0.0005218836013227701, + -0.012018950656056404, + -0.011772996746003628, + 0.034794289618730545, + 0.02989160642027855, + 0.005476575344800949, + 0.06794888526201248, + 0.0208732932806015, + -0.015552490018308163, + 0.01037105917930603, + 0.01713479310274124, + -0.027317289263010025, + -0.014855620451271534, + -0.016421526670455933, + -0.024759367108345032, + 0.006677650380879641, + 0.013076553121209145, + 0.004177118185907602, + -0.016372336074709892, + 0.0003599638876039535, + 0.03561413660645485, + 0.023332834243774414, + -0.05630706250667572, + -0.014962200075387955, + 0.011715607717633247, + -0.04299275577068329, + -0.014716246165335178, + -0.04279599338769913, + -0.0452883243560791, + -0.0009136165608651936, + -0.0021992383990436792, + 0.02239820919930935, + 0.013650445267558098, + -0.023857535794377327, + -0.03205600008368492, + 0.042140115052461624, + 0.02610391564667225, + 0.01513436809182167, + -0.057389263063669205, + 0.042697612196207047, + -0.04256643354892731, + 0.013724232092499733, + 0.008259953930974007, + 0.000707630068063736, + 0.032908640801906586, + 0.03254790976643562, + 0.029071759432554245, + 0.02843227982521057, + -0.07162179797887802, + -0.034892670810222626, + -0.04489479959011078, + -0.025677595287561417, + -0.03522060811519623, + 0.014183346182107925, + -0.032925039529800415, + 0.017183983698487282, + 0.009600403718650341, + 0.05768440663814545, + 0.0017657446442171931, + -0.007374519947916269, + -0.014839223586022854, + 0.04538670554757118, + 0.02067653089761734, + 0.04351745545864105, + -0.05020740628242493, + -0.021988285705447197, + -0.05476575344800949, + 0.0036298707127571106, + 0.008665778674185276, + 0.0026808984111994505, + -0.02443142794072628, + -0.03225276619195938, + -0.04741992801427841, + 0.0017411492299288511, + 0.015199955552816391, + 0.0377129428088665, + 0.025530023500323296, + -0.021512774750590324, + -0.017364351078867912, + 0.015495100989937782, + 0.08539522439241409, + 0.026825379580259323, + -0.03349893167614937, + -0.04007410258054733, + -0.10139862447977066, + 0.03627001494169235, + 0.0013988632708787918, + 0.015790244564414024, + -0.00608736090362072, + 0.02051256224513054, + -0.009600403718650341, + -0.051978275179862976, + -0.004064389504492283, + 0.0007060928619466722, + -0.03218717873096466, + -0.04574744030833244, + 0.00665305508300662, + 0.004074637778103352, + 0.03994292765855789 + ], + "result": "--- 结果 1 (相似度: 1.000) ---\n文件路径: C:\\Steam\\steamapps\\common\\RimWorld\\Data\\dll1.6\\RimWorld\\MapPortal.txt\n\npublic class MapPortal : Building, IThingHolder\n{\n\tprivate static readonly Texture2D ViewPocketMapTex = ContentFinder.Get(\"UI/Commands/ViewCave\");\n\n\tprivate static readonly Texture2D CancelEnterTex = ContentFinder.Get(\"UI/Designators/Cancel\");\n\n\tprivate static readonly Texture2D DefaultEnterTex = ContentFinder.Get(\"UI/Commands/EnterCave\");\n\n\tprotected Map pocketMap;\n\n\tpublic PocketMapExit exit;\n\n\tprotected bool beenEntered;\n\n\tpublic List leftToLoad;\n\n\tpublic PortalContainerProxy containerProxy;\n\n\tpublic bool notifiedCantLoadMore;\n\n\tpublic Map PocketMap\n\t{\n\t\tget\n\t\t{\n\t\t\tMap map = pocketMap;\n\t\t\tif (map != null && map.Parent?.HasMap == false)\n\t\t\t{\n\t\t\t\tpocketMap = null;\n\t\t\t}\n\t\t\treturn pocketMap;\n\t\t}\n\t}\n\n\tpublic bool PocketMapExists => PocketMap != null;\n\n\tpublic virtual bool AutoDraftOnEnter => false;\n\n\tprotected virtual Texture2D EnterTex => DefaultEnterTex;\n\n\tpublic virtual string EnterString => \"EnterPortal\".Translate(Label);\n\n\tpublic virtual string CancelEnterString => \"CommandCancelEnterPortal\".Translate();\n\n\tpublic virtual string EnteringString => \"EnteringPortal\".Translate(Label);\n\n\tpublic bool LoadInProgress\n\t{\n\t\tget\n\t\t{\n\t\t\tif (leftToLoad != null)\n\t\t\t{\n\t\t\t\treturn leftToLoad.Any();\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic bool AnyPawnCanLoadAnythingNow\n\t{\n\t\tget\n\t\t{\n\t\t\tif (!LoadInProgress)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tif (!base.Spawned)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tIReadOnlyList allPawnsSpawned = base.Map.mapPawns.AllPawnsSpawned;\n\t\t\tfor (int i = 0; i < allPawnsSpawned.Count; i++)\n\t\t\t{\n\t\t\t\tif (allPawnsSpawned[i].CurJobDef == JobDefOf.HaulToPortal && ((JobDriver_HaulToPortal)allPawnsSpawned[i].jobs.curDriver).MapPortal == this)\n\t\t\t\t{\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\tif (allPawnsSpawned[i].CurJobDef == JobDefOf.EnterPortal && ((JobDriver_EnterPortal)allPawnsSpawned[i].jobs.curDriver).MapPortal == this)\n\t\t\t\t{\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t\tfor (int j = 0; j < allPawnsSpawned.Count; j++)\n\t\t\t{\n\t\t\t\tThing thing = allPawnsSpawned[j].mindState?.duty?.focus.Thing;\n\t\t\t\tif (thing != null && thing == this && allPawnsSpawned[j].CanReach(thing, PathEndMode.Touch, Danger.Deadly))\n\t\t\t\t{\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t\tfor (int k = 0; k < allPawnsSpawned.Count; k++)\n\t\t\t{\n\t\t\t\tif (allPawnsSpawned[k].IsColonist && EnterPortalUtility.HasJobOnPortal(allPawnsSpawned[k], this))\n\t\t\t\t{\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic override void ExposeData()\n\t{\n\t\tbase.ExposeData();\n\t\tMap map = pocketMap;\n\t\tif (map != null && map.Parent?.HasMap == false)\n\t\t{\n\t\t\tpocketMap = null;\n\t\t}\n\t\tScribe_References.Look(ref pocketMap, \"pocketMap\");\n\t\tScribe_References.Look(ref exit, \"exit\");\n\t\tScribe_Values.Look(ref beenEntered, \"beenEntered\", defaultValue: false);\n\t\tScribe_Collections.Look(ref leftToLoad, \"leftToLoad\", LookMode.Deep);\n\t\tif (Scribe.mode == LoadSaveMode.PostLoadInit)\n\t\t{\n\t\t\tleftToLoad?.RemoveAll((TransferableOneWay x) => x.AnyThing == null);\n\t\t}\n\t}\n\n\tpublic override void SpawnSetup(Map map, bool respawningAfterLoad)\n\t{\n\t\tbase.SpawnSetup(map, respawningAfterLoad);\n\t\tcontainerProxy = new PortalContainerProxy\n\t\t{\n\t\t\tportal = this\n\t\t};\n\t}\n\n\tprotected override void Tick()\n\t{\n\t\tbase.Tick();\n\t\tif (this.IsHashIntervalTick(60) && base.Spawned && LoadInProgress && !notifiedCantLoadMore && !AnyPawnCanLoadAnythingNow && leftToLoad[0]?.AnyThing != null)\n\t\t{\n\t\t\tnotifiedCantLoadMore = true;\n\t\t\tMessages.Message(\"MessageCantLoadMoreIntoPortal\".Translate(Label, Faction.OfPlayer.def.pawnsPlural, leftToLoad[0].AnyThing), this, MessageTypeDefOf.CautionInput);\n\t\t}\n\t}\n\n\tpublic void GetChildHolders(List outChildren)\n\t{\n\t}\n\n\tpublic ThingOwner GetDirectlyHeldThings()\n\t{\n\t\treturn containerProxy;\n\t}\n\n\tpublic void Notify_ThingAdded(Thing t)\n\t{\n\t\tSubtractFromToLoadList(t, t.stackCount);\n\t}\n\n\tpublic void AddToTheToLoadList(TransferableOneWay t, int count)\n\t{\n\t\tif (!t.HasAnyThing || count <= 0)\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\tif (leftToLoad == null)\n\t\t{\n\t\t\tleftToLoad = new List();\n\t\t}\n\t\tTransferableOneWay transferableOneWay = TransferableUtility.TransferableMatching(t.AnyThing, leftToLoad, TransferAsOneMode.PodsOrCaravanPacking);\n\t\tif (transferableOneWay != null)\n\t\t{\n\t\t\tfor (int i = 0; i < t.things.Count; i++)\n\t\t\t{\n\t\t\t\tif (!transferableOneWay.things.Contains(t.things[i]))\n\t\t\t\t{\n\t\t\t\t\ttransferableOneWay.things.Add(t.things[i]);\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (transferableOneWay.CanAdjustBy(count).Accepted)\n\t\t\t{\n\t\t\t\ttransferableOneWay.AdjustBy(count);\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tTransferableOneWay transferableOneWay2 = new TransferableOneWay();\n\t\t\tleftToLoad.Add(transferableOneWay2);\n\t\t\ttransferableOneWay2.things.AddRange(t.things);\n\t\t\ttransferableOneWay2.AdjustTo(count);\n\t\t}\n\t}\n\n\tpublic int SubtractFromToLoadList(Thing t, int count)\n\t{\n\t\tif (leftToLoad == null)\n\t\t{\n\t\t\treturn 0;\n\t\t}\n\t\tTransferableOneWay transferableOneWay = TransferableUtility.TransferableMatchingDesperate(t, leftToLoad, TransferAsOneMode.PodsOrCaravanPacking);\n\t\tif (transferableOneWay == null)\n\t\t{\n\t\t\treturn 0;\n\t\t}\n\t\tif (transferableOneWay.CountToTransfer <= 0)\n\t\t{\n\t\t\treturn 0;\n\t\t}\n\t\tint num = Mathf.Min(count, transferableOneWay.CountToTransfer);\n\t\ttransferableOneWay.AdjustBy(-num);\n\t\ttransferableOneWay.things.Remove(t);\n\t\tif (transferableOneWay.CountToTransfer <= 0)\n\t\t{\n\t\t\tleftToLoad.Remove(transferableOneWay);\n\t\t}\n\t\treturn num;\n\t}\n\n\tpublic void CancelLoad()\n\t{\n\t\tLord lord = base.Map.lordManager.lords.FirstOrDefault((Lord l) => l.LordJob is LordJob_LoadAndEnterPortal lordJob_LoadAndEnterPortal && lordJob_LoadAndEnterPortal.portal == this);\n\t\tif (lord != null)\n\t\t{\n\t\t\tbase.Map.lordManager.RemoveLord(lord);\n\t\t}\n\t\tleftToLoad.Clear();\n\t}\n\n\tpublic virtual bool IsEnterable(out string reason)\n\t{\n\t\treason = \"\";\n\t\treturn true;\n\t}\n\n\tpublic virtual Map GetOtherMap()\n\t{\n\t\tif (PocketMap == null)\n\t\t{\n\t\t\tGeneratePocketMap();\n\t\t}\n\t\treturn PocketMap;\n\t}\n\n\tpublic virtual IntVec3 GetDestinationLocation()\n\t{\n\t\treturn exit?.Position ?? IntVec3.Invalid;\n\t}\n\n\tpublic virtual void OnEntered(Pawn pawn)\n\t{\n\t\tNotify_ThingAdded(pawn);\n\t\tif (!beenEntered)\n\t\t{\n\t\t\tbeenEntered = true;\n\t\t\tif (!def.portal.enteredLetterLabel.NullOrEmpty())\n\t\t\t{\n\t\t\t\tFind.LetterStack.ReceiveLetter(def.portal.enteredLetterLabel, def.portal.enteredLetterText.Formatted(pawn.Named(\"PAWN\")), def.portal.enteredLetterDef, exit);\n\t\t\t}\n\t\t}\n\t\tif (Find.CurrentMap == base.Map)\n\t\t{\n\t\t\tdef.portal.traverseSound?.PlayOneShot(this);\n\t\t}\n\t\telse if (Find.CurrentMap == exit.Map)\n\t\t{\n\t\t\tdef.portal.traverseSound?.PlayOneShot(exit);\n\t\t}\n\t}\n\n\tpublic override IEnumerable GetGizmos()\n\t{\n\t\tforeach (Gizmo gizmo in base.GetGizmos())\n\t\t{\n\t\t\tyield return gizmo;\n\t\t}\n\t\tCommand_Action command_Action = new Command_Action();\n\t\tcommand_Action.action = delegate\n\t\t{\n\t\t\tDialog_EnterPortal window = new Dialog_EnterPortal(this);\n\t\t\tFind.WindowStack.Add(window);\n\t\t};\n\t\tcommand_Action.icon = EnterTex;\n\t\tcommand_Action.defaultLabel = EnterString + \"...\";\n\t\tcommand_Action.defaultDesc = \"CommandEnterPortalDesc\".Translate(Label);\n\t\tcommand_Action.Disabled = !IsEnterable(out var reason);\n\t\tcommand_Action.disabledReason = reason;\n\t\tyield return command_Action;\n\t\tif (LoadInProgress)\n\t\t{\n\t\t\tCommand_Action command_Action2 = new Command_Action();\n\t\t\tcommand_Action2.action = CancelLoad;\n\t\t\tcommand_Action2.icon = CancelEnterTex;\n\t\t\tcommand_Action2.defaultLabel = CancelEnterString;\n\t\t\tcommand_Action2.defaultDesc = \"CommandCancelEnterPortalDesc\".Translate();\n\t\t\tyield return command_Action2;\n\t\t}\n\t\tif (pocketMap != null)\n\t\t{\n\t\t\tyield return new Command_Action\n\t\t\t{\n\t\t\t\tdefaultLabel = \"CommandViewPocketMapLabel\".Translate(def.portal.pocketMapGenerator.label),\n\t\t\t\tdefaultDesc = \"CommandViewPocketMapDesc\".Translate(def.portal.pocketMapGenerator.label),\n\t\t\t\ticon = ViewPocketMapTex,\n\t\t\t\taction = delegate\n\t\t\t\t{\n\t\t\t\t\tCameraJumper.TryJumpAndSelect(exit);\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\t}\n\n\tprivate void GeneratePocketMap()\n\t{\n\t\tPocketMapUtility.currentlyGeneratingPortal = this;\n\t\tpocketMap = GeneratePocketMapInt();\n\t\tPocketMapUtility.currentlyGeneratingPortal = null;\n\t}\n\n\tprotected virtual Map GeneratePocketMapInt()\n\t{\n\t\treturn PocketMapUtility.GeneratePocketMap(new IntVec3(def.portal.pocketMapSize, 1, def.portal.pocketMapSize), def.portal.pocketMapGenerator, GetExtraGenSteps(), base.Map);\n\t}\n\n\tprotected virtual IEnumerable GetExtraGenSteps()\n\t{\n\t\treturn Enumerable.Empty();\n\t}\n}\n\n", + "timestamp": "2025-08-25 14:32:36,132" } } \ No newline at end of file diff --git a/Source/WulaFallenEmpire/HarmonyPatches/DialogEnterPortal_MapPatch.cs b/Source/WulaFallenEmpire/HarmonyPatches/DialogEnterPortal_MapPatch.cs deleted file mode 100644 index a79384b8..00000000 --- a/Source/WulaFallenEmpire/HarmonyPatches/DialogEnterPortal_MapPatch.cs +++ /dev/null @@ -1,94 +0,0 @@ -using HarmonyLib; -using RimWorld; -using Verse; -using System.Reflection; -using System.Collections.Generic; -using System.Reflection.Emit; - -namespace WulaFallenEmpire -{ - [HarmonyPatch(typeof(Dialog_EnterPortal), "CalculateAndRecacheTransferables")] - public static class DialogEnterPortal_CalculateAndRecacheTransferables_Patch - { - // Transpiler 负责修改方法的 IL 代码 - public static IEnumerable Transpiler(IEnumerable instructions) - { - var codes = new List(instructions); - // 找到 Thing.Map 属性的 getter 方法 (MapPortal 继承自 Thing) - var mapPropertyGetter = AccessTools.PropertyGetter(typeof(Verse.Thing), "Map"); - // 找到我们自定义的静态方法,它将返回正确的 Map - var getShuttleMapMethod = AccessTools.Method(typeof(DialogEnterPortal_CalculateAndRecacheTransferables_Patch), nameof(GetShuttleMap)); - - Log.Message("[WULA-DEBUG] Transpiler for CalculateAndRecacheTransferables started."); - - for (int i = 0; i < codes.Count; i++) - { - // 查找对 Thing.Map 的 get 访问 - if (codes[i].opcode == OpCodes.Call && codes[i].operand is MethodInfo method && method == mapPropertyGetter) - { - Log.Message($"[WULA-DEBUG] Transpiler found Thing.Map getter at index {i}."); - // 替换为调用我们的静态方法 - yield return new CodeInstruction(OpCodes.Call, getShuttleMapMethod); - } - else - { - yield return codes[i]; - } - } - Log.Message("[WULA-DEBUG] Transpiler for CalculateAndRecacheTransferables finished."); - } - - // 这个静态方法将由 Transpiler 注入,用于返回正确的 Map - // 参数 portalInstance 是原始方法中对 MapPortal 实例的引用 - public static Map GetShuttleMap(MapPortal portalInstance) - { - if (portalInstance is ShuttlePortalAdapter adapter) - { - Log.Message($"[WULA-DEBUG] portalInstance is ShuttlePortalAdapter. adapter.shuttle: {adapter.shuttle?.def.defName ?? "null"}"); - if (adapter.shuttle != null) - { - // 确保 adapter.shuttle.Map 不为 null - if (adapter.shuttle.Map != null) - { - return adapter.shuttle.Map; - } - else - { - Log.Error($"[WULA] Shuttle {adapter.shuttle.def.defName} is not spawned on any map when trying to get its map."); - return null; // 返回 null,让后续代码处理 - } - } - } - - // 如果不是我们的适配器,或者适配器中的 shuttle 为空, - // 则尝试获取原始 MapPortal 的 Map。 - // 这里需要非常小心,因为 portalInstance 本身也可能是 null, - // 或者它继承自 Thing 的 Map 属性是 null。 - if (portalInstance == null) - { - Log.Error("[WULA] GetShuttleMap received a null portalInstance."); - return null; - } - - var originalMapGetter = AccessTools.PropertyGetter(typeof(Thing), "Map"); - if (originalMapGetter == null) - { - Log.Error("[WULA] Could not get Thing.Map getter via AccessTools."); - return null; - } - - Map result = null; - try - { - result = (Map)originalMapGetter.Invoke(portalInstance, null); - } - catch (System.Exception ex) - { - Log.Error($"[WULA] Error invoking original Thing.Map getter: {ex.Message}"); - } - - Log.Message($"[WULA-DEBUG] GetShuttleMap returning original Map. Result: {result?.ToString() ?? "null"}"); - return result; - } - } -} \ No newline at end of file diff --git a/Source/WulaFallenEmpire/WULA_Shuttle/Building_ArmedShuttleWithPocket.cs b/Source/WulaFallenEmpire/WULA_Shuttle/Building_ArmedShuttleWithPocket.cs index e270a996..b806cba6 100644 --- a/Source/WulaFallenEmpire/WULA_Shuttle/Building_ArmedShuttleWithPocket.cs +++ b/Source/WulaFallenEmpire/WULA_Shuttle/Building_ArmedShuttleWithPocket.cs @@ -7,6 +7,7 @@ using RimWorld.Planet; using UnityEngine; using Verse; using Verse.AI; +using Verse.AI.Group; using Verse.Sound; namespace WulaFallenEmpire @@ -16,91 +17,94 @@ namespace WulaFallenEmpire /// 结合了武装防御能力和口袋空间技术的复合型载具 /// [StaticConstructorOnStartup] - public class Building_ArmedShuttleWithPocket : Building_ArmedShuttle + public class Building_ArmedShuttleWithPocket : Building_ArmedShuttle, IThingHolder { #region 静态图标定义(使用原版MapPortal的图标) - + /// 取消进入图标 private static readonly Texture2D CancelEnterTex = ContentFinder.Get("UI/Designators/Cancel"); - + /// 默认进入图标 private static readonly Texture2D DefaultEnterTex = ContentFinder.Get("UI/Commands/LoadTransporter"); - + #endregion #region 口袋空间字段 - + /// 内部口袋地图实例 private Map pocketMap; - + /// 口袋地图是否已生成 private bool pocketMapGenerated; - + /// 内部空间大小 private IntVec2 pocketMapSize = new IntVec2(80, 80); - + /// 地图生成器定义 private MapGeneratorDef mapGenerator; - + /// 退出点定义 private ThingDef exitDef; - + /// 允许直接访问(无需骇入) private bool allowDirectAccess = true; - + /// 传送功能是否暂停(飞行时为 true) private bool transportDisabled = false; - + // 注意:我们不再使用自定义的innerContainer, // 所有物品都存储在CompTransporter.innerContainer中,保持简单和一致 - + + /// 新的口袋空间物品容器 + private PocketSpaceThingHolder pocketSpaceContainer; + /// 口袋地图退出点(模仿原版 MapPortal.exit) public Building_PocketMapExit exit; - + /// 是否已经进入过(模仿原版 MapPortal.beenEntered) protected bool beenEntered; - + /// 待加载物品列表(模仿原版 MapPortal.leftToLoad) public List leftToLoad; - + /// 是否已通知无法加载更多(模仿原版 MapPortal.notifiedCantLoadMore) public bool notifiedCantLoadMore; - + #endregion #region 属性 /// 获取内部口袋地图 public Map PocketMap => pocketMap; - + /// 口袋地图是否已生成 public bool PocketMapGenerated => pocketMapGenerated; - + /// 是否允许直接访问口袋空间 public bool AllowDirectAccess => allowDirectAccess; - + // 注意:我们不再提供InnerContainer属性,因为所有物品都在CompTransporter.innerContainer中 - + /// /// 获取进入按钮的图标 /// protected virtual Texture2D EnterTex => DefaultEnterTex; - + /// /// 获取进入按钮的文本 /// public virtual string EnterString => "WULA.PocketSpace.Enter".Translate(); - + /// /// 获取取消进入按钮的文本 /// public virtual string CancelEnterString => "WULA.PocketSpace.CancelEnter".Translate(); - + /// /// 获取进入中的文本 /// public virtual string EnteringString => "WULA.PocketSpace.Entering".Translate(); - + /// 加载是否正在进行(模仿原版 MapPortal.LoadInProgress) public bool LoadInProgress { @@ -113,7 +117,7 @@ namespace WulaFallenEmpire return false; } } - + /// 是否有Pawn可以加载任何东西(模仿原版 MapPortal.AnyPawnCanLoadAnythingNow) public bool AnyPawnCanLoadAnythingNow { @@ -134,12 +138,38 @@ namespace WulaFallenEmpire #endregion + #region IThingHolder 实现 (模仿 MapPortal) + + /// + /// 获取直接持有的物品(模仿 MapPortal.GetDirectlyHeldThings) + /// + public ThingOwner GetDirectlyHeldThings() + { + return pocketSpaceContainer.innerContainer; + } + + /// + /// 获取子持有者(模仿 MapPortal.GetChildHolders) + /// + public void GetChildHolders(List outChildren) + { + // 目前没有子持有者,留空 + } + + + /// + /// 实现IThingHolder.ParentHolder属性 + /// + public new IThingHolder ParentHolder => this; + + #endregion + #region 构造函数 public Building_ArmedShuttleWithPocket() { Log.Message("[WULA-DEBUG] Building_ArmedShuttleWithPocket constructor called"); - // 不再初始化innerContainer,只使用CompTransporter的容器 + pocketSpaceContainer = new PocketSpaceThingHolder(this); } #endregion @@ -158,7 +188,7 @@ namespace WulaFallenEmpire public override void ExposeData() { Log.Message($"[WULA-DEBUG] ExposeData called, mode: {Scribe.mode}"); - + base.ExposeData(); Scribe_Deep.Look(ref pocketMap, "pocketMap"); Scribe_Values.Look(ref pocketMapGenerated, "pocketMapGenerated", false); @@ -167,13 +197,12 @@ namespace WulaFallenEmpire Scribe_Defs.Look(ref exitDef, "exitDef"); Scribe_Values.Look(ref allowDirectAccess, "allowDirectAccess", true); Scribe_Values.Look(ref transportDisabled, "transportDisabled", false); - - // 不再序列化innerContainer,只使用CompTransporter的容器 - + Scribe_Deep.Look(ref pocketSpaceContainer, "pocketSpaceContainer", this); + if (Scribe.mode == LoadSaveMode.PostLoadInit) { Log.Message("[WULA-DEBUG] PostLoadInit: Validating components after load"); - + // 验证CompTransporter组件是否正常 CompTransporter transporter = this.GetComp(); if (transporter == null) @@ -190,7 +219,7 @@ namespace WulaFallenEmpire public override void DeSpawn(DestroyMode mode = DestroyMode.Vanish) { Log.Message($"[WULA-DEBUG] DeSpawn called with mode: {mode}"); - + // 只在真正销毁时清理口袋地图,发射时保留 if (ShouldDestroyPocketMapOnDeSpawn(mode)) { @@ -199,10 +228,10 @@ namespace WulaFallenEmpire try { Log.Message("[WULA-DEBUG] Destroying pocket map due to shuttle destruction"); - + // 将口袋空间中的物品和人员转移到主地图 TransferAllFromPocketToMainMap(); - + // 销毁口袋地图 PocketMapUtility.DestroyPocketMap(pocketMap); pocketMap = null; @@ -217,37 +246,34 @@ namespace WulaFallenEmpire else { Log.Message("[WULA-DEBUG] Preserving pocket map during shuttle launch/transport"); - // 发射时暂停传送功能,但保留口袋空间 transportDisabled = true; if (pocketMap != null && exit != null) { - // 标记传送功能暂停 Log.Message("[WULA-DEBUG] Transport functionality disabled during flight"); } } - + base.DeSpawn(mode); } - + /// /// 判断是否应该在DeSpawn时销毁口袋地图 /// private bool ShouldDestroyPocketMapOnDeSpawn(DestroyMode mode) { - // 只在真正销毁时删除口袋空间 switch (mode) { - case DestroyMode.Vanish: // 发射时使用,保留口袋空间 + case DestroyMode.Vanish: return false; - case DestroyMode.Deconstruct: // 拆除,删除口袋空间 + case DestroyMode.Deconstruct: return true; - case DestroyMode.KillFinalize: // 被摧毁,删除口袋空间 + case DestroyMode.KillFinalize: return true; - case DestroyMode.Cancel: // 取消建造,删除口袋空间 + case DestroyMode.Cancel: return true; - case DestroyMode.Refund: // 退款,删除口袋空间 + case DestroyMode.Refund: return true; - case DestroyMode.FailConstruction: // 建造失败,删除口袋空间 + case DestroyMode.FailConstruction: return true; default: Log.Warning($"[WULA-WARNING] Unknown DestroyMode: {mode}, defaulting to preserve pocket map"); @@ -258,26 +284,24 @@ namespace WulaFallenEmpire public override string GetInspectString() { StringBuilder sb = new StringBuilder(base.GetInspectString()); - + if (pocketMapGenerated) { sb.AppendLine("WULA.PocketSpace.Status".Translate() + ": " + "WULA.PocketSpace.Ready".Translate()); - - // 显示主容器中的物品数量 + CompTransporter transporter = this.GetComp(); int mainContainerItems = transporter?.innerContainer?.Count ?? 0; - + if (mainContainerItems > 0) { sb.AppendLine($"容器物品: {mainContainerItems}"); } - - // 显示口袋空间中的物品和人员数量 + if (pocketMap != null) { int pocketItems = pocketMap.listerThings.AllThings.Count(t => t.def.category == ThingCategory.Item && t.def.EverHaulable); int pawnCount = pocketMap.mapPawns.AllPawnsSpawned.Where(p => p.IsColonist).Count(); - + if (pocketItems > 0) { sb.AppendLine($"口袋空间物品: {pocketItems}"); @@ -287,8 +311,7 @@ namespace WulaFallenEmpire sb.AppendLine("WULA.PocketSpace.PawnCount".Translate(pawnCount)); } } - - // 在开发模式下显示详细调试信息 + if (Prefs.DevMode) { sb.AppendLine($"[Debug] {GetPocketSpaceDebugInfo()}"); @@ -298,7 +321,7 @@ namespace WulaFallenEmpire { sb.AppendLine("WULA.PocketSpace.Status".Translate() + ": " + "WULA.PocketSpace.NotGenerated".Translate()); } - + return sb.ToString().TrimEndNewlines(); } @@ -313,19 +336,19 @@ namespace WulaFallenEmpire { if (!allowDirectAccess) { - return false; // 需要特殊权限 + return false; } - + if (!Spawned) { return false; } - + if (transportDisabled) { - return false; // 飞行中禁用传送功能 + return false; } - + return true; } @@ -354,7 +377,7 @@ namespace WulaFallenEmpire // 传送玩家到口袋空间 List pawnsToTransfer = new List(); - + if (pawns != null) { pawnsToTransfer.AddRange(pawns.Where(p => p != null && p.Spawned && p.IsColonist)); @@ -375,16 +398,24 @@ namespace WulaFallenEmpire int transferredCount = 0; foreach (Pawn pawn in pawnsToTransfer) { - if (TransferPawnToPocketSpace(pawn)) + if (pawn.Spawned) + { + pawn.DeSpawn(); + } + if (pocketSpaceContainer.innerContainer.TryAdd(pawn)) { transferredCount++; } + else + { + Log.Warning($"[WULA-WARNING] Failed to add pawn {pawn.LabelShort} to pocketSpaceContainer."); + } } if (transferredCount > 0) { Messages.Message("WULA.PocketSpace.TransferSuccess".Translate(transferredCount), MessageTypeDefOf.PositiveEvent); - + // 切换到口袋地图 Current.Game.CurrentMap = pocketMap; Find.CameraDriver.JumpToCurrentMapLoc(pocketMap.Center); @@ -402,7 +433,7 @@ namespace WulaFallenEmpire { CreatePocketMap(); } - + if (pocketMap == null) { Messages.Message("WULA.PocketSpace.CreationFailed".Translate(), this, MessageTypeDefOf.RejectInput); @@ -425,14 +456,14 @@ namespace WulaFallenEmpire PocketMapUtility.currentlyGeneratingPortal = null; // 我们不是 MapPortal,但可以设为 null pocketMap = GeneratePocketMapInt(); PocketMapUtility.currentlyGeneratingPortal = null; - + if (pocketMap != null) { pocketMapGenerated = true; - + // 在口袋地图中心放置退出点 CreateExitPoint(); - + Log.Message($"[WULA] Successfully created pocket map of size {pocketMapSize} for armed shuttle"); } else @@ -445,7 +476,7 @@ namespace WulaFallenEmpire Log.Error($"[WULA] Exception creating pocket map: {ex}"); } } - + /// /// 生成口袋地图的内部实现(模仿 MapPortal.GeneratePocketMapInt) /// @@ -453,7 +484,7 @@ namespace WulaFallenEmpire { return PocketMapUtility.GeneratePocketMap(new IntVec3(pocketMapSize.x, 1, pocketMapSize.z), mapGenerator, GetExtraGenSteps(), this.Map); } - + /// /// 获取额外的生成步骤(模仿 MapPortal.GetExtraGenSteps) /// @@ -472,29 +503,13 @@ namespace WulaFallenEmpire try { // 在地图中心找一个合适的位置 - IntVec3 exitPos = pocketMap.Center; - - // 寻找可建造的位置 - if (!exitPos.Standable(pocketMap) || exitPos.GetThingList(pocketMap).Any(t => t.def.category == ThingCategory.Building)) - { - exitPos = CellFinder.RandomClosewalkCellNear(pocketMap.Center, pocketMap, 5, - p => p.Standable(pocketMap) && !p.GetThingList(pocketMap).Any(t => t.def.category == ThingCategory.Building)); - } + IntVec3 exitPos = CellFinder.RandomClosewalkCellNear(pocketMap.Center, pocketMap, 5, (IntVec3 c) => c.IsValid && c.Standable(pocketMap) && !c.Roofed(pocketMap)); if (exitPos.IsValid) { - // 创建退出点建筑 - Thing exitBuilding = ThingMaker.MakeThing(exitDef); - if (exitBuilding is Building_PocketMapExit exitPortal) - { - exitPortal.targetMap = this.Map; - exitPortal.targetPos = this.Position; - exitPortal.parentShuttle = this; - exit = exitPortal; // 设置 exit 引用,模仿原版 MapPortal - } - - GenPlace.TryPlaceThing(exitBuilding, exitPos, pocketMap, ThingPlaceMode.Direct); - Log.Message($"[WULA] Created exit point at {exitPos} in pocket map"); + exit = (Building_PocketMapExit)ThingMaker.MakeThing(exitDef); + GenPlace.TryPlaceThing(exit, exitPos, pocketMap, ThingPlaceMode.Direct); + Log.Message($"[WULA] Created exit point at {exitPos} in pocket map."); } else { @@ -517,7 +532,7 @@ namespace WulaFallenEmpire try { // 找一个安全的位置 - IntVec3 spawnPos = CellFinder.RandomClosewalkCellNear(pocketMap.Center, pocketMap, 10, + IntVec3 spawnPos = CellFinder.RandomClosewalkCellNear(pocketMap.Center, pocketMap, 10, p => p.Standable(pocketMap) && !p.GetThingList(pocketMap).Any(t => t is Pawn)); if (spawnPos.IsValid) @@ -531,7 +546,7 @@ namespace WulaFallenEmpire { Log.Error($"[WULA] Error transferring pawn {pawn?.LabelShort} to pocket space: {ex}"); } - + return false; } @@ -541,13 +556,13 @@ namespace WulaFallenEmpire private void TransferAllFromPocketToMainMap() { Log.Message("[WULA-DEBUG] TransferAllFromPocketToMainMap started"); - + if (pocketMap == null) { Log.Warning("[WULA-DEBUG] TransferAllFromPocketToMainMap: pocketMap is null, nothing to transfer"); return; } - + if (!Spawned) { Log.Error("[WULA-ERROR] TransferAllFromPocketToMainMap: Shuttle not spawned, cannot transfer items"); @@ -556,93 +571,34 @@ namespace WulaFallenEmpire try { - // 获取穿梭机的 CompTransporter - CompTransporter transporter = this.GetComp(); - if (transporter == null) - { - Log.Error("[WULA-ERROR] CompTransporter not found on shuttle! Cannot transfer items."); - return; - } - - Log.Message($"[WULA-DEBUG] Found CompTransporter with {transporter.innerContainer.Count} existing items"); - - // 转移所有殖民者 - List pawnsToTransfer = pocketMap.mapPawns.AllPawnsSpawned - .Where(p => p.IsColonist).ToList(); - - Log.Message($"[WULA-DEBUG] Found {pawnsToTransfer.Count} colonists to transfer"); - + // 转移所有殖民者到 pocketSpaceContainer + List pawnsToTransfer = pocketMap.mapPawns.AllPawnsSpawned.ToList(); + Log.Message($"[WULA-DEBUG] Found {pawnsToTransfer.Count} pawns to transfer from pocket map."); foreach (Pawn pawn in pawnsToTransfer) { if (pawn.Spawned) { - Log.Message($"[WULA-DEBUG] Transferring pawn: {pawn.LabelShort}"); pawn.DeSpawn(); - - // 直接放入穿梭机的容器,如果失败就放到地面 - if (!transporter.innerContainer.TryAdd(pawn)) - { - Log.Warning($"[WULA-WARNING] Container full, placing pawn {pawn.LabelShort} near shuttle"); - // 如果容器满了,放到穿梭机附近 - IntVec3 spawnPos = CellFinder.RandomClosewalkCellNear(this.Position, this.Map, 5, - p => p.Standable(this.Map) && !p.GetThingList(this.Map).Any(t => t is Pawn)); - - if (spawnPos.IsValid) - { - GenPlace.TryPlaceThing(pawn, spawnPos, this.Map, ThingPlaceMode.Near); - Log.Message($"[WULA-DEBUG] Placed pawn {pawn.LabelShort} at {spawnPos}"); - } - else - { - Log.Error($"[WULA-ERROR] Could not find valid position for pawn {pawn.LabelShort}"); - } - } - else - { - Log.Message($"[WULA-DEBUG] Successfully added pawn {pawn.LabelShort} to container"); - } } + pocketSpaceContainer.innerContainer.TryAdd(pawn); } - // 转移所有物品到穿梭机的容器 - List itemsToTransfer = pocketMap.listerThings.AllThings - .Where(t => t.def.category == ThingCategory.Item && t.def.EverHaulable).ToList(); - - Log.Message($"[WULA-DEBUG] Found {itemsToTransfer.Count} items to transfer"); - + // 转移所有物品到 pocketSpaceContainer + List itemsToTransfer = pocketMap.listerThings.AllThings.Where(t => t.def.category == ThingCategory.Item && t.def.EverHaulable).ToList(); + Log.Message($"[WULA-DEBUG] Found {itemsToTransfer.Count} items to transfer from pocket map."); foreach (Thing item in itemsToTransfer) { if (item.Spawned) { - Log.Message($"[WULA-DEBUG] Transferring item: {item.LabelShort} (stack: {item.stackCount})"); item.DeSpawn(); - - // 直接使用穿梭机的主容器 - if (!transporter.innerContainer.TryAdd(item)) - { - Log.Warning($"[WULA-WARNING] Container full, dropping item {item.LabelShort} near shuttle"); - // 如果容器满了,丢到穿梭机附近(玩家可以手动重新装载) - IntVec3 dropPos = CellFinder.RandomClosewalkCellNear(this.Position, this.Map, 3); - if (dropPos.IsValid) - { - GenPlace.TryPlaceThing(item, dropPos, this.Map, ThingPlaceMode.Near); - Messages.Message($"容器已满:{item.LabelShort} 被放置在穿梭机附近", this, MessageTypeDefOf.CautionInput); - Log.Message($"[WULA-DEBUG] Dropped item {item.LabelShort} at {dropPos}"); - } - else - { - Log.Error($"[WULA-ERROR] Could not find valid drop position for item {item.LabelShort}"); - } - } - else - { - Log.Message($"[WULA-DEBUG] Successfully added item {item.LabelShort} to container"); - } } + pocketSpaceContainer.innerContainer.TryAdd(item); } - - Log.Message($"[WULA-DEBUG] Transfer complete. Container now has {transporter.innerContainer.Count} total items"); - Log.Message($"[WULA-SUCCESS] Transferred {pawnsToTransfer.Count} pawns and {itemsToTransfer.Count} items from pocket space"); + + Log.Message($"[WULA] Transferred all pawns and items from pocket map to pocketSpaceContainer."); + + // 调用新的同步方法,将 pocketSpaceContainer 中的所有物品和 Pawn 转移到主地图的 CompTransporter + TransferPocketContainerToMainTransporter(); } catch (Exception ex) { @@ -652,102 +608,40 @@ namespace WulaFallenEmpire } /// - /// 手动同步口袋空间中的所有物品到穿梭机主容器 - /// 用于解决物品消失问题 + /// 将pocketSpaceContainer中的所有物品和Pawn转移到主地图的CompTransporter /// - public void SyncPocketItemsToMainContainer() + public void TransferPocketContainerToMainTransporter() { - Log.Message("[WULA-DEBUG] SyncPocketItemsToMainContainer started"); - - if (pocketMap == null || !pocketMapGenerated) - { - Log.Warning("[WULA-DEBUG] SyncPocketItemsToMainContainer: No pocket map to sync"); - return; - } - + Log.Message("[WULA-DEBUG] TransferPocketContainerToMainTransporter started."); + CompTransporter transporter = this.GetComp(); if (transporter == null) { - Log.Error("[WULA-ERROR] No CompTransporter found on shuttle, cannot sync items"); + Log.Error("[WULA-ERROR] CompTransporter not found on shuttle! Cannot transfer items from pocketSpaceContainer."); return; } - - Log.Message($"[WULA-DEBUG] Starting sync. Current container has {transporter.innerContainer.Count} items"); - - try + + List thingsToTransfer = pocketSpaceContainer.innerContainer.ToList(); + int transferredCount = 0; + + foreach (Thing t in thingsToTransfer) { - List itemsInPocket = pocketMap.listerThings.AllThings - .Where(t => t.def.category == ThingCategory.Item && t.def.EverHaulable && t.Spawned).ToList(); - - Log.Message($"[WULA-DEBUG] Found {itemsInPocket.Count} items in pocket space to check"); - - int syncedCount = 0; - int droppedCount = 0; - int skippedCount = 0; - - foreach (Thing item in itemsInPocket) + if (pocketSpaceContainer.innerContainer.Remove(t)) { - // 检查物品是否已经在主容器中 - if (!transporter.innerContainer.Contains(item)) + if (transporter.innerContainer.TryAdd(t)) { - Log.Message($"[WULA-DEBUG] Syncing item: {item.LabelShort} (not in main container)"); - - // 从口袋地图中移除 - IntVec3 originalPos = item.Position; - item.DeSpawn(); - - // 尝试添加到主容器 - if (transporter.innerContainer.TryAdd(item)) - { - syncedCount++; - Log.Message($"[WULA-DEBUG] Successfully synced item: {item.LabelShort}"); - } - else - { - Log.Warning($"[WULA-WARNING] Container full, dropping item: {item.LabelShort}"); - // 如果主容器满了,放到穿梭机附近(玩家可以手动装载) - IntVec3 dropPos = CellFinder.RandomClosewalkCellNear(this.Position, this.Map, 3); - if (dropPos.IsValid) - { - GenPlace.TryPlaceThing(item, dropPos, this.Map, ThingPlaceMode.Near); - droppedCount++; - Log.Message($"[WULA-DEBUG] Dropped item {item.LabelShort} at {dropPos}"); - } - else - { - // 如果找不到合适位置,重新放回口袋空间 - GenPlace.TryPlaceThing(item, originalPos, pocketMap, ThingPlaceMode.Near); - Log.Warning($"[WULA-WARNING] Could not find drop position, returned item {item.LabelShort} to pocket"); - } - } + transferredCount++; } else { - skippedCount++; - Log.Message($"[WULA-DEBUG] Item {item.LabelShort} already in main container, skipping"); + Log.Warning($"[WULA-WARNING] Failed to add {t.LabelShort} to main transporter container. Dropping on ground."); + GenPlace.TryPlaceThing(t, this.Position, this.Map, ThingPlaceMode.Near); } } - - string message = $"[WULA-SUCCESS] 同步完成: {syncedCount} 个物品已同步"; - if (droppedCount > 0) - { - message += $", {droppedCount} 个物品因容器已满被放置在附近"; - } - if (skippedCount > 0) - { - message += $", {skippedCount} 个物品已在容器中"; - } - - Log.Message(message); - Log.Message($"[WULA-DEBUG] Final container state: {transporter.innerContainer.Count} items"); - } - catch (Exception ex) - { - Log.Error($"[WULA-ERROR] Error syncing pocket items to main container: {ex}"); - Log.Error($"[WULA-ERROR] Stack trace: {ex.StackTrace}"); } + Log.Message($"[WULA] Transferred {transferredCount} items/pawns from pocketSpaceContainer to main transporter."); } - + /// /// 获取口袋空间状态信息(用于调试) /// @@ -757,11 +651,11 @@ namespace WulaFallenEmpire { return "Pocket space not initialized"; } - + CompTransporter transporter = this.GetComp(); int pocketItems = pocketMap.listerThings.AllThings.Count(t => t.def.category == ThingCategory.Item && t.def.EverHaulable); int mainContainerItems = transporter?.innerContainer?.Count ?? 0; - + return $"Pocket: {pocketItems}, Main: {mainContainerItems}"; } @@ -775,7 +669,7 @@ namespace WulaFallenEmpire { yield return gizmo; } - + if (allowDirectAccess) { // 进入口袋空间按钮(模仿原版MapPortal) @@ -788,13 +682,13 @@ namespace WulaFallenEmpire enterCommand.icon = EnterTex; enterCommand.defaultLabel = EnterString + "..."; enterCommand.defaultDesc = "WULA.PocketSpace.EnterDesc".Translate(); - + // 检查是否可以进入(模仿原版MapPortal.IsEnterable) string reason; enterCommand.Disabled = !IsEnterable(out reason); enterCommand.disabledReason = reason; yield return enterCommand; - + } } @@ -804,138 +698,104 @@ namespace WulaFallenEmpire #endregion #region MapPortal兼容接口(使Dialog_EnterPortal能正常工作) - + /// - /// 检查是否可以进入(模仿原版MapPortal.IsEnterable) + /// 判断是否可以进入(模仿原版MapPortal.IsEnterable) /// public virtual bool IsEnterable(out string reason) { - if (!allowDirectAccess) - { - reason = "WULA.PocketSpace.AccessDenied".Translate(); - return false; - } - + reason = ""; if (!Spawned) { reason = "WULA.PocketSpace.NotSpawned".Translate(); return false; } - if (transportDisabled) { reason = "WULA.PocketSpace.TransportDisabled".Translate(); return false; } - - reason = ""; + if (!this.CanEnterPocketSpace()) + { + reason = "WULA.PocketSpace.CannotEnterReason".Translate(); + return false; + } return true; } - + /// - /// 获取目标地图(模仿原版MapPortal.GetOtherMap) + /// 获取另一个地图(模仿原版MapPortal.GetOtherMap) /// public virtual Map GetOtherMap() { - if (pocketMap == null) + if (PocketMap == null) { CreatePocketMap(); } - return pocketMap; + return PocketMap; } - + /// /// 获取目标位置(模仿原版MapPortal.GetDestinationLocation) /// public virtual IntVec3 GetDestinationLocation() { - if (exit != null) - { - return exit.Position; - } - return pocketMap?.Center ?? IntVec3.Invalid; + return exit?.Position ?? IntVec3.Invalid; } - + /// - /// 处理进入事件(模仿原版MapPortal.OnEntered) + /// 进入时回调(模仿原版MapPortal.OnEntered) /// public virtual void OnEntered(Pawn pawn) { - // 通知物品被添加(用于统计和管理) - Notify_ThingAdded(pawn); - - // 播放传送音效(如果存在) - if (Find.CurrentMap == this.Map) + // 将Pawn添加到口袋空间容器 + if (pawn.Spawned) { - // 可以在这里添加音效播放 - // def.portal?.traverseSound?.PlayOneShot(this); + pawn.DeSpawn(); + } + pocketSpaceContainer.innerContainer.TryAdd(pawn); + + if (!beenEntered) + { + beenEntered = true; + // 这里可以添加一些首次进入的信件/事件 + } + if (Find.CurrentMap == base.Map) + { + // def.portal.traverseSound?.PlayOneShot(this); // 暂时移除,避免NRE + } + else if (Find.CurrentMap == exit.Map) + { + // def.portal.traverseSound?.PlayOneShot(exit); // 暂时移除,避免NRE } } - + /// - /// 打开殖民者选择对话框(模仿原版Dialog_EnterPortal的功能) + /// 打开殖民者选择对话框(模仿原版Dialog_EnterPortal) /// private void OpenPawnSelectionDialog() { - // 获取所有可用的殖民者 - List availablePawns = Map.mapPawns.AllPawnsSpawned - .Where(p => p.IsColonist && !p.Downed && p.CanReach(this, PathEndMode.Touch, Danger.Deadly)) - .ToList(); - - if (availablePawns.Count == 0) - { - Messages.Message("WULA.PocketSpace.NoPawnsAvailable".Translate(), this, MessageTypeDefOf.RejectInput); - return; - } - - // 创建选项列表 - List options = new List(); - - // 添加单个殖民者选项 - foreach (Pawn pawn in availablePawns) - { - FloatMenuOption option = new FloatMenuOption( - $"{pawn.LabelShort}", - delegate - { - EnterPocketSpace(new List { pawn }); - } - ); - options.Add(option); - } - - // 添加“全部殖民者”选项 - if (availablePawns.Count > 1) - { - FloatMenuOption allOption = new FloatMenuOption( - "WULA.PocketSpace.AllColonists".Translate(availablePawns.Count), - delegate - { - EnterPocketSpace(availablePawns); - } - ); - options.Add(allOption); - } - - // 显示浮动菜单 - FloatMenu floatMenu = new FloatMenu(options); - Find.WindowStack.Add(floatMenu); + List pawns = CaravanFormingUtility.AllSendablePawns(this.Map, true, true, true, true, true, 0).ToList(); + List items = CaravanFormingUtility.AllReachableColonyItems(this.Map, true, true).ToList(); + + // 创建并显示对话框 + Dialog_EnterPortal window = new Dialog_EnterPortal(new global::WulaFallenEmpire.MapPortalAdapter(this)); // 使用适配器 + Find.WindowStack.Add(window); } - - #endregion - - #region 原版MapPortal的物品传送方法 - + /// - /// 通知有物品被添加(模仿原版 MapPortal.Notify_ThingAdded) + /// 通知物品被添加到此持有者(从IThingHolder继承,但现在由PocketSpaceThingHolder处理) /// public void Notify_ThingAdded(Thing t) { - SubtractFromToLoadList(t, t.stackCount); + // 这个方法现在由 PocketSpaceThingHolder 内部处理,这里只是为了满足IThingHolder接口 + // 或者,如果Building_ArmedShuttleWithPocket仍然需要实现IThingHolder,则可以将其转发 + // Log.Message($"[WULA] Building_ArmedShuttleWithPocket.Notify_ThingAdded called for {t.LabelCap}"); + // pocketSpaceContainer.innerContainer.Notify_ThingAdded(t); // 转发给内部容器 } - + /// - /// 添加到加载列表(模仿原版 MapPortal.AddToTheToLoadList) + /// 添加到待加载列表(模仿原版MapPortal.AddToTheToLoadList) /// public void AddToTheToLoadList(TransferableOneWay t, int count) { @@ -970,9 +830,9 @@ namespace WulaFallenEmpire transferableOneWay2.AdjustTo(count); } } - + /// - /// 从加载列表中减去(模仿原版 MapPortal.SubtractFromToLoadList) + /// 从待加载列表移除(模仿原版MapPortal.SubtractFromToLoadList) /// public int SubtractFromToLoadList(Thing t, int count) { @@ -998,75 +858,63 @@ namespace WulaFallenEmpire } return num; } - + /// - /// 取消加载(模仿原版 MapPortal.CancelLoad) + /// 取消加载(模仿原版MapPortal.CancelLoad) /// public void CancelLoad() { - // 简化版本,只清理列表 - if (leftToLoad != null) + Lord lord = base.Map.lordManager.lords.FirstOrDefault((Lord l) => l.LordJob is LordJob_LoadAndEnterPortal lordJob_LoadAndEnterPortal && lordJob_LoadAndEnterPortal.portal is global::WulaFallenEmpire.MapPortalAdapter adapter && adapter.shuttle == this); + if (lord != null) { - leftToLoad.Clear(); + base.Map.lordManager.RemoveLord(lord); } + leftToLoad.Clear(); } #endregion - - #region 穿梭机状态变化处理 - + + #region 生命周期方法 + /// - /// 更新口袋空间中退出点的目标位置(处理穿梭机位置变化) + /// 更新退出点目标 /// public void UpdateExitPointTarget() { - if (pocketMap == null || exit == null) return; - + if (exit == null) return; + if (base.Map == null) + { + Log.Warning("[WULA] UpdateExitPointTarget: Shuttle map is null, cannot update exit point target."); + return; + } + try { - // 如果退出点是我们的Building_PocketMapExit类型,更新其目标位置 - if (exit is Building_PocketMapExit pocketExit) - { - // 更新目标地图和位置 - if (this.Spawned) - { - // 穿梭机在地图上,更新目标位置 - if (pocketExit.targetMap != this.Map || pocketExit.targetPos != this.Position) - { - pocketExit.targetMap = this.Map; - pocketExit.targetPos = this.Position; - pocketExit.parentShuttle = this; - Log.Message($"[WULA] Updated pocket map exit target to shuttle location: {this.Map?.uniqueID} at {this.Position}"); - } - } - else - { - // 穿梭机不在地图上(可能在飞行中),记录警告但保持原有目标 - Log.Warning($"[WULA] Shuttle not spawned, pocket map exit target may be outdated. Current target: {pocketExit.targetMap?.uniqueID} at {pocketExit.targetPos}"); - } - } + exit.targetMap = base.Map; + exit.targetPos = base.Position; + Log.Message($"[WULA] Updated exit point target to map {base.Map.uniqueID} at position {base.Position}"); } catch (Exception ex) { Log.Error($"[WULA] Error updating exit point target: {ex}"); } } - + /// /// 重写Tick方法,定期检查穿梭机状态变化和物品同步 /// protected override void Tick() { base.Tick(); - + // 每隔一段时间检查退出点目标是否需要更新(处理穿梭机移动的情况) if (this.IsHashIntervalTick(2500) && pocketMapGenerated && exit != null) { UpdateExitPointTarget(); } - + // 定期检查并同步口袋空间中的物品(每5分钟检查一次) - if (this.IsHashIntervalTick(18000) && pocketMapGenerated && pocketMap != null) // 18000 ticks = 5 minutes + if (this.IsHashIntervalTick(18000) && pocketMapGenerated && pocketMap != null) { // 自动同步口袋空间中的物品到主容器 try @@ -1074,7 +922,7 @@ namespace WulaFallenEmpire int itemsInPocket = pocketMap.listerThings.AllThings.Count(t => t.def.category == ThingCategory.Item && t.def.EverHaulable && t.Spawned); if (itemsInPocket > 0) { - SyncPocketItemsToMainContainer(); + TransferPocketContainerToMainTransporter(); if (Prefs.DevMode) { Log.Message($"[WULA] Auto-synced pocket items. Current status: {GetPocketSpaceDebugInfo()}"); @@ -1087,20 +935,20 @@ namespace WulaFallenEmpire } } } - + /// /// 重写 SpawnSetup,确保位置变化时更新退出点 /// public override void SpawnSetup(Map map, bool respawningAfterLoad) { - Log.Message($"[WULA-DEBUG] SpawnSetup called: map={map?.uniqueID}, respawning={respawningAfterLoad}"); - + Log.Message($"[WULA-DEBUG] Building_ArmedShuttleWithPocket.SpawnSetup START. Instance ID: {this.ThingID}, Map param: {map?.GetUniqueLoadID() ?? "null"}, Respawning: {respawningAfterLoad}"); + // 保存旧位置信息 Map oldMap = this.Map; IntVec3 oldPos = this.Position; - + base.SpawnSetup(map, respawningAfterLoad); - + // 验证关键组件 CompTransporter transporter = this.GetComp(); if (transporter == null) @@ -1111,92 +959,158 @@ namespace WulaFallenEmpire { Log.Message($"[WULA-DEBUG] CompTransporter found with {transporter.innerContainer?.Count ?? 0} items"); } - + // 更新退出点目标(处理穿梭机重新部署的情况) UpdateExitPointTarget(); - + // 如果是从飞行状态恢复,重新启用传送功能 if (transportDisabled) { Log.Message("[WULA-DEBUG] Re-enabling transport functionality after landing"); transportDisabled = false; - + // 如果有口袋空间,确保退出点正确连接到新地图 if (pocketMapGenerated && pocketMap != null && exit != null) { - Log.Message($"[WULA-DEBUG] Reconnecting pocket space exit to new map: {map?.uniqueID} at {this.Position}"); - // 退出点会在 UpdateExitPointTarget 中自动更新 + Log.Message($"[WULA-DEBUG] Reconnecting pocket space exit to new map: {map?.GetUniqueLoadID() ?? "null"} at {this.Position}"); } } - + // 从 ThingDef 中读取 portal 配置 if (def.HasModExtension()) { - var portalProps = def.GetModExtension(); - Log.Message($"[WULA-DEBUG] Loading portal properties from ThingDef"); - - if (portalProps.pocketMapGenerator != null) + if (this.Map == null) { - mapGenerator = portalProps.pocketMapGenerator; - Log.Message($"[WULA-DEBUG] Set mapGenerator: {mapGenerator.defName}"); + Log.Error($"[WULA-ERROR] Building_ArmedShuttleWithPocket {this.ThingID} Map is NULL after SpawnSetup!"); } - if (portalProps.exitDef != null) - { - exitDef = portalProps.exitDef; - Log.Message($"[WULA-DEBUG] Set exitDef: {exitDef.defName}"); - } - if (portalProps.pocketMapSize != IntVec2.Zero) - { - pocketMapSize = portalProps.pocketMapSize; - Log.Message($"[WULA-DEBUG] Set pocketMapSize: {pocketMapSize}"); - } - allowDirectAccess = portalProps.allowDirectAccess; - Log.Message($"[WULA-DEBUG] Set allowDirectAccess: {allowDirectAccess}"); + PocketMapProperties props = def.GetModExtension(); + pocketMapSize = props.pocketMapSize; + mapGenerator = props.mapGenerator; + exitDef = props.exitDef; + allowDirectAccess = props.allowDirectAccess; } - - // 初始化地图生成器和退出点定义(如果 XML 中没有配置) - if (mapGenerator == null) - { - mapGenerator = DefDatabase.GetNamed("AncientStockpile", false) - ?? DefDatabase.GetNamed("Base_Player", false) - ?? MapGeneratorDefOf.Base_Player; - Log.Message($"[WULA-DEBUG] Using fallback mapGenerator: {mapGenerator.defName}"); - } - - if (exitDef == null) - { - exitDef = DefDatabase.GetNamed("WULA_PocketMapExit", false) - ?? ThingDefOf.Door; - Log.Message($"[WULA-DEBUG] Using fallback exitDef: {exitDef.defName}"); - } - - // 如果位置发生了变化,记录日志 - if (oldMap != null && (oldMap != map || oldPos != this.Position)) - { - Log.Message($"[WULA-DEBUG] Shuttle moved from {oldMap?.uniqueID}:{oldPos} to {map?.uniqueID}:{this.Position}, updating pocket map exit target"); - } - - Log.Message($"[WULA-DEBUG] SpawnSetup completed successfully"); } - - #endregion + } + + public class PocketMapProperties : DefModExtension + { + public IntVec2 pocketMapSize = new IntVec2(80, 80); + public MapGeneratorDef mapGenerator; + public ThingDef exitDef; + public bool allowDirectAccess = true; } /// - /// 口袋空间属性配置类 + /// 适配器类,使Building_ArmedShuttleWithPocket能够作为MapPortal被Dialog_EnterPortal使用 /// - public class PocketMapProperties : DefModExtension + public class MapPortalAdapter : MapPortal { - /// 口袋地图生成器 - public MapGeneratorDef pocketMapGenerator; - - /// 退出点定义 - public ThingDef exitDef; - - /// 口袋地图大小 - public IntVec2 pocketMapSize = new IntVec2(13, 13); - - /// 允许直接访问 - public bool allowDirectAccess = true; + public Building_ArmedShuttleWithPocket shuttle; + + public MapPortalAdapter() { } // Scribe需要无参数构造函数 + + public MapPortalAdapter(Building_ArmedShuttleWithPocket shuttle) + { + this.shuttle = shuttle; + } + + public new Map PocketMap => shuttle?.PocketMap; + + public new bool PocketMapExists => shuttle?.PocketMap != null; // 修正 + + public new bool AutoDraftOnEnter => false; // 修正 + + protected new Texture2D EnterTex => ContentFinder.Get("UI/Commands/LoadTransporter"); // 修正 + + public new string EnterString => shuttle?.EnterString; + + public new string CancelEnterString => shuttle?.CancelEnterString; + + public new string EnteringString => shuttle?.EnteringString; + + public new bool LoadInProgress => shuttle?.LoadInProgress ?? false; + + public new bool AnyPawnCanLoadAnythingNow => shuttle?.AnyPawnCanLoadAnythingNow ?? false; + + public override void ExposeData() + { + base.ExposeData(); + Scribe_References.Look(ref shuttle, "shuttle"); + } + + public override void SpawnSetup(Map map, bool respawningAfterLoad) + { + // 适配器不应该被Spawn,此方法留空或报错 + Log.Error("MapPortalAdapter should not be spawned directly."); + } + + protected override void Tick() + { + // 适配器不应该Tick,此方法留空 + } + + public new ThingOwner GetDirectlyHeldThings() + { + return shuttle?.GetDirectlyHeldThings(); + } + + public new void GetChildHolders(List outChildren) + { + shuttle?.GetChildHolders(outChildren); + } + + public new void Notify_ThingAdded(Thing t) + { + shuttle?.Notify_ThingAdded(t); + } + + public new void AddToTheToLoadList(TransferableOneWay t, int count) + { + shuttle?.AddToTheToLoadList(t, count); + } + + public new int SubtractFromToLoadList(Thing t, int count) + { + return shuttle?.SubtractFromToLoadList(t, count) ?? 0; + } + + public new void CancelLoad() + { + shuttle?.CancelLoad(); + } + + public new bool IsEnterable(out string reason) + { + if (shuttle == null) + { + reason = "WULA.PocketSpace.AdapterError".Translate(); + return false; + } + return shuttle.IsEnterable(out reason); + } + + public new Map GetOtherMap() + { + return shuttle?.GetOtherMap(); + } + + public new IntVec3 GetDestinationLocation() + { + return shuttle?.GetDestinationLocation() ?? IntVec3.Invalid; + } + + public new void OnEntered(Pawn pawn) + { + shuttle?.OnEntered(pawn); + } + + public new IEnumerable GetGizmos() + { + // 适配器不直接提供Gizmo,Gizmo应该由shuttle提供 + return base.GetGizmos(); // 或者返回空的IEnumerable + } } + + #endregion // MapPortal兼容接口 + } \ No newline at end of file diff --git a/Source/WulaFallenEmpire/WULA_Shuttle/CompPocketMapPortal.cs b/Source/WulaFallenEmpire/WULA_Shuttle/CompPocketMapPortal.cs deleted file mode 100644 index 31c11371..00000000 --- a/Source/WulaFallenEmpire/WULA_Shuttle/CompPocketMapPortal.cs +++ /dev/null @@ -1,366 +0,0 @@ -using RimWorld; -using Verse; -using System.Collections.Generic; -using UnityEngine; -using System.Reflection; - -namespace WulaFallenEmpire -{ - /// - /// 口袋空间传送门组件 - 只作为入口功能,附加在穿梭机上处理进入内部空间的逻辑 - /// - public class CompPocketMapPortal : ThingComp - { - /// 组件属性 - public CompProperties_PocketMapPortal Props => (CompProperties_PocketMapPortal)props; - - /// 父建筑(必须是穿梭机) - public Building_ArmedShuttleWithPocket ParentShuttle => parent as Building_ArmedShuttleWithPocket; - - /// MapPortal适配器,用于使用原版Dialog_EnterPortal - private ShuttlePortalAdapter portalAdapter; - - public override void PostSpawnSetup(bool respawningAfterLoad) - { - base.PostSpawnSetup(respawningAfterLoad); - - Log.Message($"[WULA-DEBUG] CompPocketMapPortal.PostSpawnSetup called. Parent: {parent?.def?.defName ?? "null"}"); - - // 检查父对象是否是穿梭机 - if (ParentShuttle == null) - { - Log.Error($"[WULA] CompPocketMapPortal attached to non-shuttle building: {parent?.def?.defName}"); - return; // Early exit if parent is not a shuttle - } - - // 创建MapPortal适配器,并设置其地图和位置信息 - portalAdapter = new ShuttlePortalAdapter(ParentShuttle); - // 确保 portalAdapter 的 shuttle 引用被正确设置 - if (portalAdapter != null) - { - portalAdapter.shuttle = ParentShuttle; - Log.Message($"[WULA-DEBUG] portalAdapter.shuttle set in PostSpawnSetup: {portalAdapter.shuttle?.def.defName ?? "null"}"); - } - } - - /// - /// 检查穿梭机是否可以进入(仅作为入口功能) - /// - public bool IsEnterable(out string reason) - { - if (ParentShuttle == null) - { - reason = "WULA.PocketSpace.NotSpawned".Translate(); - return false; - } - - if (!ParentShuttle.AllowDirectAccess) - { - reason = "WULA.PocketSpace.AccessDenied".Translate(); - return false; - } - - if (!ParentShuttle.Spawned) - { - reason = "WULA.PocketSpace.NotSpawned".Translate(); - return false; - } - - // 检查穿梭机的传送状态 - var transportDisabledField = typeof(Building_ArmedShuttleWithPocket).GetField("transportDisabled", - System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance); - - if (transportDisabledField != null) - { - bool transportDisabled = (bool)transportDisabledField.GetValue(ParentShuttle); - if (transportDisabled) - { - reason = "WULA.PocketSpace.TransportDisabled".Translate(); - return false; - } - } - - // 检查口袋地图是否存在 - if (ParentShuttle.PocketMap == null) - { - reason = "WULA.PocketSpace.NoTargetMap".Translate(); - return false; - } - - reason = ""; - return true; - } - - - /// - /// 获取组件额外的Gizmo按钮(根据口袋空间初始化状态显示不同按钮) - /// 重写CompGetGizmosExtra方法,这样RimWorld会自动调用并显示按钮 - /// - public override IEnumerable CompGetGizmosExtra() - { - if (ParentShuttle == null) yield break; - - // 检查口袋空间是否已初始化 - bool pocketMapExists = ParentShuttle.PocketMap != null; - - if (!pocketMapExists) - { - // 口袋空间未创建,显示初始化按钮 - Command_Action initializeCommand = new Command_Action(); - initializeCommand.action = delegate - { - // 创建口袋空间 - InitializePocketSpace(); - }; - initializeCommand.icon = ContentFinder.Get("UI/Commands/LoadTransporter"); - initializeCommand.defaultLabel = "WULA.PocketSpace.Initialize".Translate(); - initializeCommand.defaultDesc = "WULA.PocketSpace.InitializeDesc".Translate(); - - // 检查是否可以初始化 - if (!ParentShuttle.Spawned) - { - initializeCommand.Disabled = true; - initializeCommand.disabledReason = "WULA.PocketSpace.NotSpawned".Translate(); - } - - yield return initializeCommand; - } - else - { - // 穿梭机已创建,显示装载按钮(使用原版Dialog_EnterPortal) - Command_Action enterCommand = new Command_Action(); - enterCommand.action = delegate - { - // 使用和Building_PocketMapExit一模一样的Dialog_EnterPortal方法 - if (portalAdapter == null || portalAdapter.shuttle != ParentShuttle) - { - // 重新创建并设置适配器,确保其指向正确的穿梭机 - portalAdapter = new ShuttlePortalAdapter(ParentShuttle); - // 再次尝试设置 MapPortal 基类的地图和位置信息 - try - { - var mapField = typeof(Thing).GetField("mapIndexOrState", - System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance); - var positionField = typeof(Thing).GetField("positionInt", - System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance); - - if (mapField != null && positionField != null && ParentShuttle.Spawned) - { - mapField.SetValue(portalAdapter, (sbyte)ParentShuttle.Map.Index); // 显式转换为 sbyte - positionField.SetValue(portalAdapter, ParentShuttle.Position); - } - } - catch (System.Exception ex) - { - Log.Error($"[WULA] Error setting MapPortal base fields during Gizmo click: {ex.Message}"); - } - } - - if (portalAdapter != null) - { - Log.Message($"[WULA-DEBUG] Opening Dialog_EnterPortal with portalAdapter. Type: {portalAdapter.GetType().Name}. Shuttle: {portalAdapter.shuttle?.def.defName ?? "null"}"); - var dialog = new Dialog_EnterPortal(portalAdapter); - Find.WindowStack.Add(dialog); - } - else - { - Messages.Message("WULA.PocketSpace.AdapterError".Translate(), ParentShuttle, MessageTypeDefOf.RejectInput); - Log.Error("[WULA] Portal adapter is null after recreation attempt."); - } - }; - enterCommand.icon = ContentFinder.Get(Props.buttonIconPath); - enterCommand.defaultLabel = Props.enterButtonTextKey.Translate() + "..."; - enterCommand.defaultDesc = Props.enterButtonDescKey.Translate(); - - // 检查是否可以进入 - string reason; - enterCommand.Disabled = !IsEnterable(out reason); - enterCommand.disabledReason = reason; - yield return enterCommand; - - // 查看口袋地图按钮 - yield return new Command_Action - { - defaultLabel = "WULA.PocketSpace.SwitchTo".Translate(), - defaultDesc = "WULA.PocketSpace.SwitchToDesc".Translate(), - icon = ContentFinder.Get("UI/Commands/ViewCave"), - action = delegate - { - Current.Game.CurrentMap = ParentShuttle.PocketMap; - Find.CameraDriver.JumpToCurrentMapLoc(ParentShuttle.PocketMap.Center); - } - }; - } - } - - /// - /// 初始化口袋空间 - /// - private void InitializePocketSpace() - { - if (ParentShuttle == null || !ParentShuttle.Spawned) - { - Messages.Message("WULA.PocketSpace.CannotInitialize".Translate(), ParentShuttle, MessageTypeDefOf.RejectInput); - return; - } - - if (ParentShuttle.PocketMap != null) - { - Messages.Message("WULA.PocketSpace.AlreadyInitialized".Translate(), ParentShuttle, MessageTypeDefOf.RejectInput); - return; - } - - try - { - Log.Message("[WULA] Starting pocket space initialization via component"); - - // 使用穿梭机的SwitchToPocketSpace方法,它会自动创建口袋空间 - ParentShuttle.SwitchToPocketSpace(); - - if (ParentShuttle.PocketMap != null) - { - Messages.Message("WULA.PocketSpace.InitializeSuccess".Translate(), ParentShuttle, MessageTypeDefOf.PositiveEvent); - Log.Message("[WULA] Pocket space initialization completed successfully"); - } - else - { - Messages.Message("WULA.PocketSpace.InitializeFailed".Translate(), ParentShuttle, MessageTypeDefOf.RejectInput); - Log.Error("[WULA] Pocket space initialization failed"); - } - } - catch (System.Exception ex) - { - Log.Error($"[WULA] Error during pocket space initialization: {ex}"); - Messages.Message("WULA.PocketSpace.InitializeFailed".Translate(), ParentShuttle, MessageTypeDefOf.RejectInput); - } - } - - } - - /// - /// 口袋空间传送门组件属性 - /// - public class CompProperties_PocketMapPortal : CompProperties - { - /// 进入按钮文本键 - public string enterButtonTextKey = "WULA.PocketSpace.Enter"; - - /// 进入按钮描述键 - public string enterButtonDescKey = "WULA.PocketSpace.EnterDesc"; - - /// 按钮图标路径 - public string buttonIconPath = "UI/Commands/LoadTransporter"; - - public CompProperties_PocketMapPortal() - { - this.compClass = typeof(CompPocketMapPortal); - } - } - - /// - /// MapPortal适配器类,将Building_ArmedShuttleWithPocket适配为MapPortal接口 - /// 完全模仿Building_PocketMapExit的实现方式 - /// - public class ShuttlePortalAdapter : MapPortal - { - /// 关联的穿梭机 - public Building_ArmedShuttleWithPocket shuttle; - - /// - /// 默认构造函数(RimWorld组件系统要求) - /// - public ShuttlePortalAdapter() - { - // 在这里不初始化 shuttle,因为它将在 PostSpawnSetup 中设置 - } - - public ShuttlePortalAdapter(Building_ArmedShuttleWithPocket shuttle) - { - this.shuttle = shuttle; - } - - /// - /// 重写获取其他地图,返回口袋空间(模仿Building_PocketMapExit.GetOtherMap) - /// - public override Map GetOtherMap() - { - if (shuttle?.PocketMap == null) - { - // 如口袋空间还没创建,先创建它 - shuttle?.SwitchToPocketSpace(); - } - return shuttle?.PocketMap; - } - - /// - /// 重写获取目标位置,返回口袋空间中心(模仿Building_PocketMapExit.GetDestinationLocation) - /// - public override IntVec3 GetDestinationLocation() - { - return shuttle?.PocketMap?.Center ?? IntVec3.Invalid; - } - - /// - /// 重写是否可进入,检查穿梭机状态(模仿Building_PocketMapExit.IsEnterable) - /// - public override bool IsEnterable(out string reason) - { - if (shuttle == null || !shuttle.Spawned) - { - reason = "WULA.PocketSpace.NotSpawned".Translate(); - return false; - } - - if (!shuttle.AllowDirectAccess) - { - reason = "WULA.PocketSpace.AccessDenied".Translate(); - return false; - } - - // 检查穿梭机的传送状态 - var transportDisabledField = typeof(Building_ArmedShuttleWithPocket).GetField("transportDisabled", - System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance); - - if (transportDisabledField != null) - { - bool transportDisabled = (bool)transportDisabledField.GetValue(shuttle); - if (transportDisabled) - { - reason = "WULA.PocketSpace.TransportDisabled".Translate(); - return false; - } - } - - reason = ""; - return true; - } - - /// - /// 重写进入事件,处理进入口袋空间(模仿Building_PocketMapExit.OnEntered) - /// - public override void OnEntered(Pawn pawn) - { - // 通知穿梭机有物品被添加(用于统计和管理) - shuttle?.Notify_ThingAdded(pawn); - - // 播放传送音效(如果存在) - if (Find.CurrentMap == shuttle?.Map) - { - // 可以在这里添加音效播放 - // def.portal?.traverseSound?.PlayOneShot(this); - } - } - /// 重写进入按钮文本 - /// - public override string EnterString => "WULA.PocketSpace.Enter".Translate(); - - /// - /// 重写进入按钮图标,使用装载按钮的贴图 - /// - protected override Texture2D EnterTex => ContentFinder.Get("UI/Commands/LoadTransporter"); - - // 移除了 new 关键字的 Map, Position, def 属性,因为它们在 MapPortal 基类中可能不是 virtual 的 - // 并且我们依赖 PostSpawnSetup 中的反射来设置 MapPortal 基类的私有字段 - // 这确保了 Dialog_EnterPortal 能够直接访问到正确的地图和位置信息。 - } -} \ No newline at end of file diff --git a/Source/WulaFallenEmpire/WULA_Shuttle/PocketSpaceThingHolder.cs b/Source/WulaFallenEmpire/WULA_Shuttle/PocketSpaceThingHolder.cs new file mode 100644 index 00000000..291d1b22 --- /dev/null +++ b/Source/WulaFallenEmpire/WULA_Shuttle/PocketSpaceThingHolder.cs @@ -0,0 +1,71 @@ +using System; +using System.Collections.Generic; +using Verse; + +namespace WulaFallenEmpire +{ + /// + /// 用于武装穿梭机口袋空间的IThingHolder实现,与CompTransporter的容器分离 + /// + public class PocketSpaceThingHolder : IThingHolder, IExposable + { + /// 持有的物品容器 + public ThingOwner innerContainer; + + /// 该容器的拥有者(通常是Building_ArmedShuttleWithPocket) + private IThingHolder owner; + + /// 实现IThingHolder.ParentHolder属性 + public IThingHolder ParentHolder => owner; + + public PocketSpaceThingHolder() + { + innerContainer = new ThingOwner(this); + } + + public PocketSpaceThingHolder(IThingHolder owner) : this() + { + this.owner = owner; + } + + /// + /// 获取直接持有的物品 + /// + public ThingOwner GetDirectlyHeldThings() + { + return innerContainer; + } + + /// + /// 获取子持有者 + /// + public void GetChildHolders(List outChildren) + { + // 目前没有子持有者,留空 + } + + /// + /// 通知物品被添加 + /// + public void Notify_ThingAdded(Thing t) + { + // 这里可以添加逻辑来处理物品被添加到口袋空间的情况 + Log.Message($"[WULA] Item {t.LabelCap} added to pocket space container."); + } + + /// + /// 通知物品被移除 + /// + public void Notify_ThingRemoved(Thing t) + { + // 这里可以添加逻辑来处理物品被从口袋空间移除的情况 + Log.Message($"[WULA] Item {t.LabelCap} removed from pocket space container."); + } + + public void ExposeData() + { + Scribe_Deep.Look(ref innerContainer, "innerContainer", this); + // owner 通常在构造函数中设置,不需要序列化 + } + } +} \ No newline at end of file diff --git a/Source/WulaFallenEmpire/WulaFallenEmpire.csproj b/Source/WulaFallenEmpire/WulaFallenEmpire.csproj index 5a565947..9e17192e 100644 --- a/Source/WulaFallenEmpire/WulaFallenEmpire.csproj +++ b/Source/WulaFallenEmpire/WulaFallenEmpire.csproj @@ -96,7 +96,6 @@ - @@ -172,8 +171,8 @@ - +