{ "ThingDef": { "keywords": [ "ThingDef" ], "question": "What is a ThingDef?", "embedding": [ -0.019440101459622383, 0.0362212248146534, 0.00969050731509924, 0.03294181451201439, -0.04809800535440445, -0.0006195055320858955, -0.016131149604916573, 0.06724266707897186, 0.04210052639245987, 0.11746785044670105, -0.053061433136463165, -0.06990164518356323, -0.038112055510282516, -0.0914689302444458, 0.029056748375296593, -0.017874257639050484, 0.00430237827822566, -0.07279697805643082, 0.01387840136885643, -0.013413080014288425, 0.027978384867310524, 0.022675195708870888, -0.029115837067365646, 0.06281103193759918, 0.019454874098300934, -0.05279553681612015, 0.01324320025742054, 0.06245649978518486, -0.03876202926039696, 0.011958026327192783, -0.0014559765113517642, 0.04142100736498833, 0.012238696217536926, 0.007696271408349276, 0.002598045626655221, 0.03973698616027832, 0.0067877862602472305, -0.014247704297304153, 0.020001443102955818, -0.037107549607753754, 0.036191679537296295, -0.01231255754828453, -0.02537849172949791, -0.0331190787255764, -0.04130282998085022, -0.007703657727688551, 0.03693028539419174, -0.06446550786495209, -0.05066835135221481, 0.03394631668925285, -0.012002342380583286, 0.02050369419157505, -0.03636894375085831, -0.017726536840200424, 0.012777878902852535, 0.03282363712787628, 0.03970744460821152, -0.028569268062710762, -0.004054945427924395, 0.008715547621250153, 0.009764367714524269, 0.032557740807533264, -0.07220609486103058, -0.023133130744099617, 0.07108341157436371, -0.06594271957874298, -0.011529634706676006, -0.02477283589541912, 0.04839344695210457, -0.016278870403766632, -0.03831886500120163, 0.04836390167474747, -0.07622411102056503, -0.021818412467837334, -0.07356512546539307, 0.026102324947714806, -0.023133130744099617, -0.00922518502920866, -0.02286723256111145, -0.022305892780423164, 0.020400289446115494, -0.004095568787306547, -0.03264637291431427, -0.005713114980608225, 0.03678256273269653, 0.025629617273807526, -0.009904702194035053, -0.03595532476902008, -0.028968116268515587, 0.09383247047662735, -0.05932481214404106, 0.046620793640613556, 0.0299430750310421, -0.01830264925956726, 0.04546856880187988, 0.07474689930677414, -0.04446406289935112, 0.03958926722407341, 0.016603855416178703, 0.02034120075404644, -0.03291226923465729, -0.040948301553726196, -0.010340480133891106, 0.06812898814678192, 0.015244822017848492, 0.07126067578792572, -0.028569268062710762, -0.040593769401311874, -0.016485679894685745, -0.0028251667972654104, -0.006086111068725586, 0.04210052639245987, -0.00900360383093357, 0.01716519705951214, -0.008021257817745209, 0.06121564283967018, -0.030312377959489822, -0.027815891429781914, 0.05264781415462494, -0.005343812517821789, 0.032557740807533264, -0.051170602440834045, 0.013029004447162151, -0.027092058211565018, -0.002982120495289564, 0.013989192433655262, 0.040977843105793, 0.03595532476902008, -0.01024446077644825, -0.04797982797026634, -0.05250009521842003, -0.012260855175554752, 0.013582958839833736, -0.007312196306884289, -0.020562782883644104, -0.0457049198448658, 0.04269140958786011, 0.03261682763695717, -0.04682760313153267, 0.027092058211565018, -0.037934787571430206, -0.0015778464730829, -0.05031381919980049, 0.009993335232138634, 0.11398163437843323, -0.0022195102646946907, -0.0013165646232664585, -0.055277250707149506, -0.02901243232190609, 0.020385516807436943, 0.018169701099395752, -0.029381735250353813, -0.010340480133891106, 0.015422087162733078, -0.001591695356182754, 0.016278870403766632, -0.009845614433288574, -0.04452315345406532, 0.0022878311574459076, -0.012186993844807148, 0.039973340928554535, 0.006987209897488356, -0.04331183806061745, 0.009158710949122906, 0.004956044256687164, -0.02161160297691822, -0.05725671350955963, 0.03548261895775795, -0.07202883064746857, 0.003549000481143594, 0.026235274970531464, -0.020725276321172714, -0.01087966188788414, -0.0004101569938939065, -0.004114033654332161, -0.03072599694132805, 0.007711043581366539, 0.01349432673305273, 0.048659343272447586, -0.04765484109520912, 0.03820068761706352, 0.009720050729811192, 0.08083301037549973, 0.010606378316879272, 0.012054044753313065, -0.023384256288409233, -0.03196685388684273, 0.03214412182569504, -0.0055986312218010426, 0.0027328410651534796, -0.033975861966609955, 0.041893716901540756, 0.050875160843133926, 0.06133381649851799, -0.05693172663450241, -0.009409836493432522, 0.006270762532949448, 0.02808178961277008, 0.017889030277729034, 0.0015981581527739763, 0.025452353060245514, 0.011175104416906834, 0.022187715396285057, -0.011817690916359425, 0.05282508209347725, -0.027225006371736526, 0.03025328926742077, -0.00884111039340496, 0.013102864846587181, 0.0012353180209174752, 0.027313638478517532, -0.01277049258351326, 0.04018015041947365, -0.01921852119266987, -0.014786886051297188, -0.01118987612426281, -0.04475950449705124, -0.0007441452471539378, -0.028332915157079697, -0.0061267344281077385, 0.0024170870892703533, -0.009956404566764832, 0.02651594579219818, 0.02729886770248413, 0.028510181233286858, -0.006507116369903088, 0.03122824989259243, 0.013834085315465927, 0.02301495335996151, -0.03580760583281517, 0.023413801565766335, 0.03598487004637718, -0.08898721635341644, 0.06759719550609589, 0.039973340928554535, -0.0020311656408011913, -0.028598813340067863, -0.025023961439728737, 0.03663484379649162, 0.03731435909867287, -0.028303369879722595, 0.018494686111807823, -0.0457935556769371, 0.030208973214030266, -0.027239779010415077, 0.0013073320733383298, -0.06399279832839966, -0.06411097198724747, 0.028022700920701027, -0.009653576649725437, -0.017726536840200424, 0.0053548915311694145, -0.055247705429792404, -0.009358134120702744, -0.02068096026778221, 0.0457344651222229, -0.03105098381638527, -0.01474995631724596, 0.005188704933971167, 0.02443307638168335, -0.007866150699555874, -0.0037687355652451515, 0.0005137926200404763, -0.036664389073848724, -0.03447811305522919, 0.017268601804971695, -0.0031132230069488287, -0.05406593903899193, -0.07959215342998505, -0.038112055510282516, 0.004051252268254757, 0.0378757007420063, 0.01720951311290264, -0.029691949486732483, 0.001599081326276064, 0.023768331855535507, 0.007917853072285652, 0.0457344651222229, -0.08059665560722351, -0.0141886156052351, -0.01765267550945282, 0.00536597054451704, -0.011219420470297337, -0.05001837760210037, -0.023871736600995064, 0.019115116447210312, 0.024698974564671516, 0.021980905905365944, 0.039057470858097076, 0.021212756633758545, 0.061865612864494324, 0.015259593725204468, -0.007441452704370022, -0.004904341883957386, -0.026885248720645905, -0.018081067129969597, 0.025319403037428856, 0.03480309993028641, -0.006832102779299021, 0.027963612228631973, 0.0009601874044165015, 0.014159071259200573, -0.0047012255527079105, -0.0204889215528965, 0.0866236761212349, 0.00962403230369091, -0.013435238040983677, -0.07480598986148834, -0.005949468817561865, -0.05060926452279091, 0.025452353060245514, -0.016943614929914474, -0.0016886373050510883, -0.011980184353888035, 0.020592326298356056, 0.025334175676107407, -0.04665033519268036, -0.004435327369719744, -0.028126105666160583, 0.01386362873017788, -0.048009369522333145, -0.012984688393771648, -0.003803819417953491, 0.0181549284607172, -0.03217366337776184, -0.013029004447162151, 0.02588074468076229, -0.001548302243463695, -0.00992686115205288, 0.0012473204405978322, 0.010510358959436417, 0.004715997260063887, 0.02161160297691822, 0.016840210184454918, -0.05489317700266838, 0.008338858373463154, 0.015377771109342575, 0.034596290439367294, 0.007755360100418329, 0.009542785584926605, -0.032557740807533264, 0.018095839768648148, 0.023561522364616394, -0.023694470524787903, 0.04085966944694519, -0.008966673165559769, 0.02348766103386879, 0.056370388716459274, -0.0378166139125824, 0.021966133266687393, -0.006802558433264494, -0.02619095891714096, -0.028273826465010643, 0.024344444274902344, -0.01278526522219181, 0.0014799812342971563, -0.004756620619446039, -0.0165447685867548, -0.024241039529442787, 0.006152585614472628, -0.02065141499042511, 0.054154571145772934, -0.0020145471207797527, 0.006492344196885824, 0.03551216423511505, -0.0017800397472456098, -0.001140222535468638, 0.08130571991205215, 0.007245722226798534, 0.024373987689614296, 0.02963286079466343, -0.03294181451201439, 0.010754099115729332, 0.01638227514922619, -0.0347440131008625, -0.0014605928445234895, 0.01497153751552105, 0.0204889215528965, -0.017076563090085983, -0.0005784205859526992, 0.07628319412469864, 0.016441363841295242, 0.004291299264878035, -0.055572692304849625, -0.021168438717722893, -0.002655287506058812, 0.013272744603455067, 0.010517745278775692, -0.011064313352108002, -0.035718973726034164, 0.05114106088876724, -0.014314178377389908, 0.024004684761166573, -0.01302161905914545, 0.04747757315635681, 0.006001171190291643, -0.015451631508767605, 0.01985372230410576, -0.01874581351876259, -0.0291453804820776, 0.015348226763308048, -0.029248785227537155, -0.03820068761706352, 0.018539004027843475, -0.023000182583928108, -0.021345704793930054, -0.005528463516384363, 0.04325275123119354, -0.0009878851706162095, 0.020769592374563217, -0.03592578321695328, 0.012689245864748955, 0.042336877435445786, -0.020060531795024872, -0.07746496796607971, -0.018184471875429153, -0.009136552922427654, -0.0019111422589048743, 0.06192470341920853, -0.04647307097911835, 0.012733562849462032, 0.03435993939638138, 0.0023506127763539553, -0.015119259245693684, -0.010813187807798386, -0.021552514284849167, -0.017874257639050484, -0.0038444427773356438, -0.015540264546871185, -0.0028897947631776333, -0.06860169768333435, -0.0173572339117527, -0.03344406560063362, 0.05628175660967827, 0.014550532214343548, -0.05063880607485771, 0.027328411117196083, -0.00037230344605632126, -0.006684381514787674, -0.0040290942415595055, -0.07043343782424927, -0.01356818713247776, 0.01458746287971735, -0.037284817546606064, -0.03701891750097275, 0.012002342380583286, 0.047566208988428116, -0.0048009371384978294, 0.004350387491285801, 0.01018537301570177, -0.034448571503162384, 0.024654658511281013, 0.022010449320077896, 0.03329634666442871, -0.016810666769742966, 0.009173482656478882, -0.005048369988799095, 0.0094615388661623, -0.00322955334559083, -0.04936840385198593, 0.006584669928997755, -0.014594849199056625, 0.03858476132154465, 0.03825977444648743, -0.016914071515202522, -0.021065033972263336, -0.02115366794168949, 0.03181913495063782, 0.003914610482752323, -0.03858476132154465, 0.027860207483172417, 0.0038333635311573744, 0.0014116601087152958, 0.00116422725841403, 0.030814630910754204, 0.002893487922847271, 0.017445866018533707, 0.004933886229991913, 0.019513962790369987, 0.016337959095835686, 0.030179429799318314, 0.010155828669667244, 0.02427058294415474, 0.005325347185134888, -0.08461467176675797, -0.015687985345721245, -0.013531256467103958, -0.0315532349050045, 0.015835706144571304, -0.024255812168121338, 0.0007898464682511985, -0.01986849308013916, 0.0013304135063663125, -0.006736083887517452, 0.011950640007853508, -0.05533634126186371, -0.009941632859408855, 0.05598631128668785, 0.0029359576292335987, -0.08810088783502579, -0.015481175854802132, 0.044552695006132126, -0.014218159951269627, 0.027476131916046143, -0.01284435298293829, 0.016057288274168968, -0.034596290439367294, -2.3831575163058005e-05, -0.021330932155251503, 0.012644929811358452, 0.009439380839467049, -0.033680420368909836, 0.020917313173413277, -0.02853972464799881, -0.037609804421663284, 0.0035766982473433018, 0.10653648525476456, -0.004623671527951956, -0.02020825259387493, -0.02175932377576828, -0.029721492901444435, -0.012704018503427505, -0.019838949665427208, -0.03896883875131607, -0.05740443617105484, 0.05264781415462494, 0.01610160432755947, -0.012659701518714428, 0.03864385187625885, -0.032055485993623734, -0.05152513459324837, 0.01104215532541275, 0.0519978404045105, -0.017623132094740868, 0.031464602798223495, 0.027564765885472298, 0.03695983067154884, 0.01409998256713152, -0.02961808815598488, 0.1197132095694542, 0.051318325102329254, 0.039057470858097076, -0.01222392451018095, 0.03923473507165909, 0.03403495252132416, 0.05613403394818306, 0.023399028927087784, -0.022808143869042397, 0.011485318653285503, -0.03294181451201439, -0.012711403891444206, 0.01988326571881771, -0.057315804064273834, -0.02725454978644848, 0.005724194459617138, -0.0006171974237076938, 0.02082868106663227, 0.043282292783260345, 0.007349126972258091, -0.037609804421663284, -0.026560261845588684, -0.009040533564984798, -0.01970599964261055, -0.03560079634189606, 0.005015132948756218, 0.02793406881392002, 0.004287606105208397, 0.014292020350694656, 0.054302290081977844, -0.013125023804605007, -0.02396036870777607, 0.030031709000468254, -0.043134573847055435, 0.01042172685265541, 0.011463160626590252, -0.020237796008586884, 0.007666727062314749, -0.022527474910020828, 0.08408287167549133, 0.007777518127113581, -0.024639885872602463, 0.024713747203350067, 0.0472707636654377, -0.007282652426511049, -0.0029156459495425224, 0.01830264925956726, 0.06476094573736191, -0.0020625563338398933, 0.013782382942736149, 0.010074581950902939, 0.008493965491652489, 0.003914610482752323, -0.0054176729172468185, -0.011618267744779587, -0.01893785037100315, 0.03388722985982895, 0.01970599964261055, 0.009380292147397995, 0.012349487282335758, 0.04930931702256203, -0.008759863674640656, -0.04511403664946556, -0.02743181586265564, 0.016337959095835686, 0.03279409185051918, 0.0013054856099188328, -0.012763106264173985, -0.006108269095420837, 0.0015021393774077296, -0.0029378042090684175, 0.03926428034901619, 0.029204469174146652, -0.029248785227537155, 0.00915132462978363, 0.06375644356012344, -0.0037114936858415604, -0.004487029742449522, 0.014690867625176907, -0.01970599964261055, -0.010946136899292469, -0.053061433136463165, 0.003803819417953491, -0.001126373652368784, -0.049279771745204926, -0.015481175854802132, -0.005269951652735472, -0.0009731129975989461, -0.002095793606713414, -0.05285462364554405, -0.020902542397379875, 0.0094541534781456, 0.05613403394818306, -0.026752298697829247, 0.050520628690719604, -0.022822916507720947, -0.011802919209003448, -0.029041975736618042, -0.013893173076212406, 0.035246264189481735, -0.0048821838572621346, -0.0015732301399111748, 0.019203748553991318, 0.017431095242500305, -0.02979535423219204, 0.01254891138523817, -0.009993335232138634, -0.04608899727463722, 0.011019997298717499, -0.015555036254227161, 0.001864979392848909, -0.026264818385243416, 0.002450324362143874, 0.03503945469856262, 0.0457049198448658, 0.021005947142839432, 0.022808143869042397, -0.03560079634189606, 0.03235093131661415, 0.0058349850587546825, 0.0015039858408272266, -0.0025518827605992556, 0.03173050284385681, 0.008013871498405933, -0.0050631421618163586, 0.01750495471060276, -0.0024097012355923653, -0.0059531619772315025, -0.04608899727463722, 0.010214917361736298, 0.01689929887652397, 0.0023746173828840256, 0.006374167278409004, -0.0029950460884720087, -0.027210233733057976, 0.022305892780423164, 0.012046659365296364, -0.03885066136717796, -0.03802342340350151, 0.017933346331119537, 0.024359216913580894, -0.00309660448692739, 0.026235274970531464, -0.04526175931096077, -0.026131870225071907, -0.015215277671813965, 0.031021440401673317, -0.020754819735884666, 0.01766744814813137, -0.07663773000240326, 0.024994418025016785, 0.05350459739565849, -0.02493532933294773, 0.010347865521907806, 0.02162637561559677, -0.043282292783260345, -0.02193658985197544, -0.03769843652844429, -0.04348910227417946, -0.01040695421397686, 0.04783210530877113, -0.012792650610208511, -0.04670942574739456, 0.07291515916585922, 0.024728519842028618, 0.008538281545042992, 0.02178886905312538, 0.012105747126042843, -0.021360477432608604, -0.005506305489689112, 0.007474689744412899, 0.024388760328292847, 0.02633867971599102, -0.010310935787856579, -0.0009961944306269288, -0.009247343055903912, -0.015584580600261688, 0.014085210859775543, -0.007851378992199898, -0.06919258087873459, -0.020769592374563217, -0.015185733325779438, 0.025156909599900246, 0.026885248720645905, 0.026678437367081642, -0.05610448867082596, -0.025777339935302734, -0.008058188483119011, -0.0362803116440773, 0.027402272447943687, 0.06653360277414322, -0.028126105666160583, -0.029573772102594376, 0.002005314454436302, -0.03341452404856682, -0.011640425771474838, -0.027180690318346024, -0.028820395469665527, -0.009801297448575497, -0.016795894131064415, -0.008612142875790596, 0.02979535423219204, -0.013767610304057598, 0.03601441532373428, -0.01373068057000637, 0.05309097841382027, -0.025319403037428856, 0.004557197447866201, -0.007755360100418329, 0.03028283454477787, -0.01371590793132782, 0.02304449863731861, -0.03347361087799072, -0.051347870379686356, -0.05580904707312584, -0.03580760583281517, 0.017386779189109802, 0.019750317558646202, 0.000533642596565187, -0.012113133445382118, 0.044375430792570114, -0.017948118969798088, 0.049427494406700134, 0.008501351810991764, 0.06806990504264832, 0.050845615565776825, 0.010820573195815086, -0.006448027677834034, 0.0020237795542925596, 0.005532156676054001, -0.04183462634682655, -0.04088921099901199, -0.02961808815598488, -0.020754819735884666, 0.0758104920387268, 0.025452353060245514, -0.003166771959513426, 0.017756082117557526, -0.005735273472964764, -0.02240929752588272, 0.0033218790777027607, 0.0032443255186080933, -0.02462511509656906, -0.03766889125108719, 0.009971177205443382, 0.025511441752314568, 0.021242300048470497, -0.005908845458179712, 0.05057971924543381, 0.014365880750119686, 0.010370024479925632, 5.444332055049017e-05, -0.0009740362875163555, 0.04304594174027443, 0.05347505211830139, 0.01765267550945282, -0.020282112061977386, -0.03249865025281906, 0.0645836815237999, -0.006950279697775841, 0.031139615923166275, 0.01426247600466013, -0.07391966134309769, 0.04930931702256203, -0.012467664666473866, -0.03515763208270073, 0.014033508487045765, -0.01474995631724596, -0.03953017666935921, -0.0033791211899369955, 0.007947397418320179, 0.04387317970395088, 0.012253468856215477, 0.022778600454330444, 0.015407315455377102, 0.018657179549336433, -0.02162637561559677, -0.031021440401673317, -0.005177625920623541, 0.006592055782675743, 0.026707982644438744, 0.027712486684322357, 0.045970819890499115, -0.01018537301570177, 0.01768222078680992, -0.0017283373745158315, -0.017948118969798088, 0.027993155643343925, -0.014676094986498356, -0.007485768757760525, -0.019277609884738922, 0.0024447848554700613, -0.005746352486312389, -0.020592326298356056, -0.018686724826693535, 0.0330895371735096, -0.03229184076189995, -0.009660962969064713, -0.01167735643684864, -0.007459917571395636, -0.019277609884738922, -0.020577555522322655, 0.0314941480755806, 0.0003095219435635954, 0.008058188483119011, 0.0005798054626211524, 0.02446262165904045, 0.019838949665427208, -0.020784365013241768, -0.004933886229991913, -0.08278292417526245, -0.012268240563571453, 0.04159827530384064, 0.011396686546504498, 0.00016584005788899958, 0.021079806610941887, 0.03799387812614441, -0.013560800813138485, -0.004202666692435741, -0.03072599694132805, 0.022601334378123283, -0.02791929617524147, 0.005295802839100361, -0.03108052909374237, 0.0037170331925153732, -0.024831924587488174, 0.04496631398797035, -0.012955144047737122, 0.00020577093528117985, -0.007341740652918816, -0.05223419517278671, 0.040771033614873886, 0.07149703055620193, -0.0063150785863399506, 0.029869215562939644, 0.017298145219683647, 0.023768331855535507, -0.008139435201883316, 0.016795894131064415, -0.010598991997539997, 0.04638443887233734, -0.00047640068805776536, -0.027372727170586586, 0.022985409945249557, 0.01672203280031681, 0.037609804421663284, -0.02430012822151184, 0.01766744814813137, -0.02540803700685501, -0.0005830368609167635, 0.020459378138184547, 0.03134642541408539, -0.038407497107982635, -0.007201405707746744, 0.025201227515935898, -0.030238518491387367, -0.011056927032768726, -0.03920518979430199, -0.017475411295890808, -0.03480309993028641, -0.015702757984399796, 0.003316339571028948, -0.04210052639245987, 0.0010866736993193626, -0.04981156811118126, -0.01938101463019848, 0.02428535558283329, -0.025304632261395454, -0.014018736779689789, -0.025348948314785957, 0.039027925580739975, 0.004974509589374065, 0.018051523715257645, 0.027165917679667473, 0.020223025232553482, -0.03687119856476784, -0.0260432381182909, -0.03911655768752098, 0.04337092861533165, 0.01378976833075285, -0.02650117315351963, 0.0268113873898983, 0.026146642863750458, -0.02697388082742691, -0.007829220965504646, 0.012526752427220345, -7.657263631699607e-05, -0.046768512576818466, 0.09495514631271362, -0.006776707246899605, 0.02096162922680378, 0.01626409776508808, 0.02602846547961235, 0.029839670285582542, 0.0022915243171155453, 0.00834624469280243, -0.01065808068960905, -0.014402811415493488, -0.04032787308096886, 0.006451720837503672, -0.002365384716540575, 0.01340569369494915, -0.00971266534179449, 0.025777339935302734, 0.0029710414819419384, 0.018804902210831642, 0.0006208904087543488, 0.00045470413169823587, -0.0189526230096817, 0.045675378292798996, 0.029041975736618042, -0.0007252185023389757, -0.03187822178006172, 0.0060159433633089066, -0.0033237256575375795, -0.057463523000478745, 0.0038333635311573744, 0.0034382096491754055, -0.020769592374563217, 0.02130138874053955, -0.024713747203350067, 0.06399279832839966, 0.01800720766186714, -0.008641687221825123, -0.05707944929599762, 0.03009079582989216, -0.018391281366348267, -0.030666908249258995, -0.05492272228002548, -0.0013165646232664585, 0.03181913495063782, -0.03090326301753521, 0.034300848841667175, 0.0018585165962576866, -0.017918573692440987, -0.022808143869042397, 0.0027346876449882984, 0.005443524103611708, -0.0315236933529377, -0.04922068491578102, 0.0027623854111880064, -0.0021124123595654964, 0.026427311822772026, -0.01862763613462448, 0.035896237939596176, -0.011212035082280636, -0.0030541345477104187, 0.022187715396285057, -0.000870631483849138, 0.024950100108981133, -0.012415962293744087, -0.02459556981921196, -0.030194200575351715, -0.010104126296937466, -0.00884111039340496, 0.01039956882596016, 0.005731580313295126, 0.025127366185188293, -0.01497153751552105, 0.04242551326751709, -0.0027273015584796667, -0.02697388082742691, 0.05232282727956772, -0.0033569629304111004, -0.025939833372831345, -0.006592055782675743, 0.0189230777323246, -0.08733274042606354, 0.028347687795758247, -0.007441452704370022, -0.008242839947342873, 0.017091335728764534, 0.03456674888730049, 0.018568547442555428, -0.011219420470297337, 0.01732769049704075, 0.02554098516702652, -0.0003939999733120203, -0.0019259144319221377, 0.004298685118556023, -0.002891641343012452, -0.030238518491387367, 0.08709638565778732, -0.015525491908192635, 0.0027273015584796667 ], "result": "--- 结果 1 (相似度: 1.000) ---\n文件路径: C:\\Steam\\steamapps\\common\\RimWorld\\Data\\dll1.6\\Verse\\ThingDef.txt\n\npublic class ThingDef : BuildableDef\n{\n\tpublic Type thingClass;\n\n\tpublic ThingCategory category;\n\n\tpublic TickerType tickerType;\n\n\tpublic int stackLimit = 1;\n\n\tpublic IntVec2 size = IntVec2.One;\n\n\tpublic bool destroyable = true;\n\n\tpublic bool rotatable = true;\n\n\tpublic bool smallVolume;\n\n\tpublic bool useHitPoints = true;\n\n\tpublic bool receivesSignals;\n\n\tpublic List comps = new List();\n\n\tpublic List virtualDefs = new List();\n\n\tpublic ThingDef virtualDefParent;\n\n\t[NoTranslate]\n\tpublic string devNote;\n\n\tpublic List killedLeavingsRanges;\n\n\tpublic List killedLeavings;\n\n\tpublic List killedLeavingsPlayerHostile;\n\n\tpublic float killedLeavingsChance = 1f;\n\n\tpublic bool forceLeavingsAllowed;\n\n\tpublic List butcherProducts;\n\n\tpublic List smeltProducts;\n\n\tpublic bool smeltable;\n\n\tpublic bool burnableByRecipe;\n\n\tpublic bool randomizeRotationOnSpawn;\n\n\tpublic List damageMultipliers;\n\n\tpublic bool isTechHediff;\n\n\tpublic RecipeMakerProperties recipeMaker;\n\n\tpublic ThingDef minifiedDef;\n\n\tpublic bool isUnfinishedThing;\n\n\tpublic bool leaveResourcesWhenKilled;\n\n\tpublic ThingDef slagDef;\n\n\tpublic bool isFrameInt;\n\n\tpublic List multipleInteractionCellOffsets;\n\n\tpublic IntVec3 interactionCellOffset = IntVec3.Zero;\n\n\tpublic bool hasInteractionCell;\n\n\tpublic ThingDef interactionCellIcon;\n\n\tpublic bool interactionCellIconReverse;\n\n\tpublic ThingDef filthLeaving;\n\n\tpublic bool forceDebugSpawnable;\n\n\tpublic bool intricate;\n\n\tpublic bool scatterableOnMapGen = true;\n\n\tpublic float deepCommonality;\n\n\tpublic int deepCountPerCell = 300;\n\n\tpublic int deepCountPerPortion = -1;\n\n\tpublic IntRange deepLumpSizeRange = IntRange.Zero;\n\n\tpublic float generateCommonality = 1f;\n\n\tpublic float generateAllowChance = 1f;\n\n\tprivate bool canOverlapZones = true;\n\n\tpublic FloatRange startingHpRange = FloatRange.One;\n\n\t[NoTranslate]\n\tpublic List thingSetMakerTags;\n\n\tpublic bool alwaysFlee;\n\n\tpublic List recipes;\n\n\tpublic bool messageOnDeteriorateInStorage = true;\n\n\tpublic bool deteriorateFromEnvironmentalEffects = true;\n\n\tpublic bool canDeteriorateUnspawned;\n\n\tpublic bool canLoadIntoCaravan = true;\n\n\tpublic bool isMechClusterThreat;\n\n\tpublic FloatRange displayNumbersBetweenSameDefDistRange = FloatRange.Zero;\n\n\tpublic int minRewardCount = 1;\n\n\tpublic bool preventSkyfallersLandingOn;\n\n\tpublic FactionDef requiresFactionToAcquire;\n\n\tpublic float relicChance;\n\n\tpublic OrderedTakeGroupDef orderedTakeGroup;\n\n\tpublic int allowedArchonexusCount;\n\n\tpublic int possessionCount;\n\n\tpublic bool notifyMapRemoved;\n\n\tpublic bool canScatterOver = true;\n\n\tpublic bool genericMarketSellable = true;\n\n\tpublic bool drawHighlight;\n\n\tpublic Color? highlightColor;\n\n\tpublic bool drawHighlightOnlyForHostile;\n\n\tpublic bool autoTargetNearbyIdenticalThings;\n\n\tpublic bool preventDroppingThingsOn;\n\n\tpublic bool hiddenWhileUndiscovered;\n\n\tpublic bool disableImpassableShotOverConfigError;\n\n\tpublic bool showInSearch = true;\n\n\tpublic bool bringAlongOnGravship = true;\n\n\tpublic ThingDef dropPodFaller;\n\n\tpublic bool preventSpawningInResourcePod;\n\n\tpublic bool pathfinderDangerous;\n\n\tpublic bool noRightClickDraftAttack;\n\n\tpublic int gravshipSpawnPriority = 1;\n\n\tpublic List replaceTags;\n\n\tpublic GraphicData graphicData;\n\n\tpublic DrawerType drawerType = DrawerType.RealtimeOnly;\n\n\tpublic bool drawOffscreen;\n\n\tpublic ColorGenerator colorGenerator;\n\n\tpublic float hideAtSnowOrSandDepth = 99999f;\n\n\tpublic bool drawDamagedOverlay = true;\n\n\tpublic bool castEdgeShadows;\n\n\tpublic float staticSunShadowHeight;\n\n\tpublic bool useSameGraphicForGhost;\n\n\tpublic bool useBlueprintGraphicAsGhost;\n\n\tpublic List randomStyle;\n\n\tpublic float randomStyleChance;\n\n\tpublic bool canEditAnyStyle;\n\n\tpublic bool dontPrint;\n\n\tpublic ThingDef defaultStuff;\n\n\tpublic int killedLeavingsExpandRect;\n\n\tpublic bool minifiedManualDraw;\n\n\tpublic float minifiedDrawScale = 1f;\n\n\tpublic Rot4 overrideMinifiedRot = Rot4.Invalid;\n\n\tpublic Vector3 minifiedDrawOffset = Vector3.zero;\n\n\tpublic float deselectedSelectionBracketFactor = 1f;\n\n\tpublic bool selectable;\n\n\tpublic bool containedPawnsSelectable;\n\n\tpublic bool containedItemsSelectable;\n\n\tpublic bool neverMultiSelect;\n\n\tpublic bool isAutoAttackableMapObject;\n\n\tpublic bool hasTooltip;\n\n\tpublic List inspectorTabs;\n\n\t[Unsaved(false)]\n\tpublic List inspectorTabsResolved;\n\n\tpublic bool seeThroughFog;\n\n\tpublic bool drawGUIOverlay;\n\n\tpublic bool drawGUIOverlayQuality = true;\n\n\tpublic ResourceCountPriority resourceReadoutPriority;\n\n\tpublic bool resourceReadoutAlwaysShow;\n\n\tpublic bool drawPlaceWorkersWhileSelected;\n\n\tpublic bool drawPlaceWorkersWhileInstallBlueprintSelected;\n\n\tpublic ConceptDef storedConceptLearnOpportunity;\n\n\tpublic float uiIconScale = 1f;\n\n\tpublic bool hasCustomRectForSelector;\n\n\tpublic bool hideStats;\n\n\tpublic bool hideInspect;\n\n\tpublic bool onlyShowInspectString;\n\n\tpublic bool hideMainDesc;\n\n\tpublic bool alwaysHaulable;\n\n\tpublic bool designateHaulable;\n\n\tpublic List thingCategories;\n\n\tpublic bool mineable;\n\n\tpublic bool socialPropernessMatters;\n\n\tpublic bool stealable = true;\n\n\tpublic SoundDef soundSpawned;\n\n\tpublic SoundDef soundDrop;\n\n\tpublic SoundDef soundPickup;\n\n\tpublic SoundDef soundInteract;\n\n\tpublic SoundDef soundImpactDefault;\n\n\tpublic SoundDef soundPlayInstrument;\n\n\tpublic SoundDef soundOpen;\n\n\tpublic bool saveCompressible;\n\n\tpublic bool isSaveable = true;\n\n\tpublic bool holdsRoof;\n\n\tpublic float fillPercent;\n\n\tpublic bool coversFloor;\n\n\tpublic bool neverOverlapFloors;\n\n\tpublic SurfaceType surfaceType;\n\n\tpublic bool wipesPlants;\n\n\tpublic bool blockPlants;\n\n\tpublic bool blockLight;\n\n\tpublic bool blockWind;\n\n\tpublic bool blockWeather;\n\n\tpublic Tradeability tradeability = Tradeability.All;\n\n\t[NoTranslate]\n\tpublic List tradeTags;\n\n\tpublic bool tradeNeverStack;\n\n\tpublic bool tradeNeverGenerateStacked;\n\n\tpublic bool healthAffectsPrice = true;\n\n\tpublic ColorGenerator colorGeneratorInTraderStock;\n\n\tprivate List verbs;\n\n\tpublic List tools;\n\n\tpublic float equippedAngleOffset;\n\n\tpublic float equippedDistanceOffset;\n\n\tpublic EquipmentType equipmentType;\n\n\tpublic TechLevel techLevel;\n\n\tpublic List weaponClasses;\n\n\t[NoTranslate]\n\tpublic List weaponTags;\n\n\t[NoTranslate]\n\tpublic List techHediffsTags;\n\n\tpublic bool violentTechHediff;\n\n\tpublic bool destroyOnDrop;\n\n\tpublic List equippedStatOffsets;\n\n\tpublic SoundDef meleeHitSound;\n\n\tpublic float recoilPower = 1f;\n\n\tpublic float recoilRelaxation = 10f;\n\n\tpublic bool rotateInShelves = true;\n\n\tpublic bool mergeVerbGizmos = true;\n\n\tpublic BuildableDef entityDefToBuild;\n\n\tpublic ThingDef projectileWhenLoaded;\n\n\tpublic RulePackDef ideoBuildingNamerBase;\n\n\tpublic EntityCodexEntryDef entityCodexEntry;\n\n\tpublic IngestibleProperties ingestible;\n\n\tpublic FilthProperties filth;\n\n\tpublic GasProperties gas;\n\n\tpublic BuildingProperties building;\n\n\tpublic RaceProperties race;\n\n\tpublic ApparelProperties apparel;\n\n\tpublic MoteProperties mote;\n\n\tpublic PlantProperties plant;\n\n\tpublic ProjectileProperties projectile;\n\n\tpublic StuffProperties stuffProps;\n\n\tpublic SkyfallerProperties skyfaller;\n\n\tpublic PawnFlyerProperties pawnFlyer;\n\n\tpublic RitualFocusProperties ritualFocus;\n\n\tpublic IngredientProperties ingredient;\n\n\tpublic MapPortalProperties portal;\n\n\tpublic bool canBeUsedUnderRoof = true;\n\n\t[Unsaved(false)]\n\tprivate string descriptionDetailedCached;\n\n\t[Unsaved(false)]\n\tpublic Graphic interactionCellGraphic;\n\n\t[Unsaved(false)]\n\tprivate bool? isNaturalOrganCached;\n\n\t[Unsaved(false)]\n\tprivate bool? hasSunShadowsCached;\n\n\t[Unsaved(false)]\n\tprivate List cachedRelevantStyleCategories;\n\n\tpublic const int SmallUnitPerVolume = 10;\n\n\tpublic const float SmallVolumePerUnit = 0.1f;\n\n\tpublic const float ArchonexusMaxItemStackMass = 5f;\n\n\tpublic const int ArchonexusMaxItemStackCount = 25;\n\n\tpublic const float ArchonexusMaxItemStackValue = 2000f;\n\n\tpublic const int ArchonexusAutoCalculateValue = -1;\n\n\tprivate List allRecipesCached;\n\n\tprivate static List EmptyVerbPropertiesList = new List();\n\n\tprivate Dictionary concreteExamplesInt;\n\n\tpublic bool EverHaulable\n\t{\n\t\tget\n\t\t{\n\t\t\tif (!alwaysHaulable)\n\t\t\t{\n\t\t\t\treturn designateHaulable;\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t}\n\n\tpublic bool EverPollutable => !building.isNaturalRock;\n\n\tpublic float VolumePerUnit\n\t{\n\t\tget\n\t\t{\n\t\t\tif (smallVolume)\n\t\t\t{\n\t\t\t\treturn 0.1f;\n\t\t\t}\n\t\t\treturn 1f;\n\t\t}\n\t}\n\n\tpublic override IntVec2 Size => size;\n\n\tpublic bool DiscardOnDestroyed => race == null;\n\n\tpublic int BaseMaxHitPoints => Mathf.RoundToInt(this.GetStatValueAbstract(StatDefOf.MaxHitPoints));\n\n\tpublic float BaseFlammability => this.GetStatValueAbstract(StatDefOf.Flammability);\n\n\tpublic float BaseMarketValue\n\t{\n\t\tget\n\t\t{\n\t\t\treturn this.GetStatValueAbstract(StatDefOf.MarketValue);\n\t\t}\n\t\tset\n\t\t{\n\t\t\tthis.SetStatBaseValue(StatDefOf.MarketValue, value);\n\t\t}\n\t}\n\n\tpublic float BaseMass => this.GetStatValueAbstract(StatDefOf.Mass);\n\n\tpublic int ArchonexusMaxAllowedCount\n\t{\n\t\tget\n\t\t{\n\t\t\tif (allowedArchonexusCount == -1)\n\t\t\t{\n\t\t\t\treturn Mathf.Min(stackLimit, 25, (BaseMass > 0f) ? ((int)(5f / BaseMass)) : 0, (BaseMarketValue > 0f) ? ((int)(2000f / BaseMarketValue)) : 0);\n\t\t\t}\n\t\t\treturn allowedArchonexusCount;\n\t\t}\n\t}\n\n\tpublic bool PlayerAcquirable\n\t{\n\t\tget\n\t\t{\n\t\t\tif (destroyOnDrop)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tif (this == ThingDefOf.ReinforcedBarrel && Find.Storyteller != null && Find.Storyteller.difficulty.classicMortars)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tif (requiresFactionToAcquire != null && Find.World != null && Find.World.factionManager != null)\n\t\t\t{\n\t\t\t\treturn Find.FactionManager.FirstFactionOfDef(requiresFactionToAcquire) != null;\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t}\n\n\tpublic bool EverTransmitsPower\n\t{\n\t\tget\n\t\t{\n\t\t\tfor (int i = 0; i < comps.Count; i++)\n\t\t\t{\n\t\t\t\tif (comps[i] is CompProperties_Power { transmitsPower: not false })\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 bool Minifiable => minifiedDef != null;\n\n\tpublic bool HasThingIDNumber => category != ThingCategory.Mote;\n\n\tpublic List AllRecipes\n\t{\n\t\tget\n\t\t{\n\t\t\tif (allRecipesCached == null)\n\t\t\t{\n\t\t\t\tallRecipesCached = new List();\n\t\t\t\tif (recipes != null)\n\t\t\t\t{\n\t\t\t\t\tfor (int i = 0; i < recipes.Count; i++)\n\t\t\t\t\t{\n\t\t\t\t\t\tallRecipesCached.Add(recipes[i]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tList allDefsListForReading = DefDatabase.AllDefsListForReading;\n\t\t\t\tfor (int j = 0; j < allDefsListForReading.Count; j++)\n\t\t\t\t{\n\t\t\t\t\tif (allDefsListForReading[j].recipeUsers != null && allDefsListForReading[j].recipeUsers.Contains(this))\n\t\t\t\t\t{\n\t\t\t\t\t\tallRecipesCached.Add(allDefsListForReading[j]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn allRecipesCached;\n\t\t}\n\t}\n\n\tpublic bool ConnectToPower\n\t{\n\t\tget\n\t\t{\n\t\t\tif (EverTransmitsPower)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tfor (int i = 0; i < comps.Count; i++)\n\t\t\t{\n\t\t\t\tif (comps[i].compClass == typeof(CompPowerBattery))\n\t\t\t\t{\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\tif (comps[i].compClass == typeof(CompPowerTrader))\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 bool CoexistsWithFloors\n\t{\n\t\tget\n\t\t{\n\t\t\tif (!neverOverlapFloors)\n\t\t\t{\n\t\t\t\treturn !coversFloor;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic FillCategory Fillage\n\t{\n\t\tget\n\t\t{\n\t\t\tif (fillPercent < 0.01f)\n\t\t\t{\n\t\t\t\treturn FillCategory.None;\n\t\t\t}\n\t\t\tif (fillPercent > 0.99f)\n\t\t\t{\n\t\t\t\treturn FillCategory.Full;\n\t\t\t}\n\t\t\treturn FillCategory.Partial;\n\t\t}\n\t}\n\n\tpublic bool MakeFog => Fillage == FillCategory.Full;\n\n\tpublic bool CanOverlapZones\n\t{\n\t\tget\n\t\t{\n\t\t\tif (building != null && building.SupportsPlants)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tif (passability == Traversability.Impassable && category != ThingCategory.Plant && !HasComp(typeof(CompTransporter)))\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tif ((int)surfaceType >= 1)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tif (typeof(ISlotGroupParent).IsAssignableFrom(thingClass))\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tif (!canOverlapZones)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tif ((IsBlueprint || IsFrame) && entityDefToBuild is ThingDef thingDef)\n\t\t\t{\n\t\t\t\treturn thingDef.CanOverlapZones;\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t}\n\n\tpublic bool CountAsResource => resourceReadoutPriority != ResourceCountPriority.Uncounted;\n\n\tpublic List Verbs\n\t{\n\t\tget\n\t\t{\n\t\t\tif (verbs != null)\n\t\t\t{\n\t\t\t\treturn verbs;\n\t\t\t}\n\t\t\treturn EmptyVerbPropertiesList;\n\t\t}\n\t}\n\n\tpublic bool CanHaveFaction\n\t{\n\t\tget\n\t\t{\n\t\t\tif (IsBlueprint || IsFrame)\n\t\t\t{\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn category switch\n\t\t\t{\n\t\t\t\tThingCategory.Pawn => true, \n\t\t\t\tThingCategory.Building => true, \n\t\t\t\t_ => false, \n\t\t\t};\n\t\t}\n\t}\n\n\tpublic bool Claimable\n\t{\n\t\tget\n\t\t{\n\t\t\tif (building != null && building.claimable)\n\t\t\t{\n\t\t\t\treturn !building.isNaturalRock;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic ThingCategoryDef FirstThingCategory\n\t{\n\t\tget\n\t\t{\n\t\t\tif (thingCategories.NullOrEmpty())\n\t\t\t{\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\treturn thingCategories[0];\n\t\t}\n\t}\n\n\tpublic float MedicineTendXpGainFactor => Mathf.Clamp(this.GetStatValueAbstract(StatDefOf.MedicalPotency) * 0.7f, 0.5f, 1f);\n\n\tpublic bool CanEverDeteriorate\n\t{\n\t\tget\n\t\t{\n\t\t\tif (!useHitPoints)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tif (category != ThingCategory.Item)\n\t\t\t{\n\t\t\t\tif (plant != null)\n\t\t\t\t{\n\t\t\t\t\treturn plant.canDeteriorate;\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t}\n\n\tpublic bool CanInteractThroughCorners\n\t{\n\t\tget\n\t\t{\n\t\t\tif (category != ThingCategory.Building)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tif (!holdsRoof)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tif (building != null && building.isNaturalRock && !IsSmoothed)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t}\n\n\tpublic bool AffectsRegions\n\t{\n\t\tget\n\t\t{\n\t\t\tif (passability != Traversability.Impassable && !IsDoor)\n\t\t\t{\n\t\t\t\treturn IsFence;\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t}\n\n\tpublic bool AffectsReachability\n\t{\n\t\tget\n\t\t{\n\t\t\tif (AffectsRegions)\n\t\t\t{\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tif (passability == Traversability.Impassable || IsDoor)\n\t\t\t{\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tif (TouchPathEndModeUtility.MakesOccupiedCellsAlwaysReachableDiagonally(this))\n\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 string DescriptionDetailed\n\t{\n\t\tget\n\t\t{\n\t\t\tif (descriptionDetailedCached == null)\n\t\t\t{\n\t\t\t\tStringBuilder stringBuilder = new StringBuilder();\n\t\t\t\tstringBuilder.Append(description);\n\t\t\t\tif (IsApparel)\n\t\t\t\t{\n\t\t\t\t\tstringBuilder.AppendLine();\n\t\t\t\t\tstringBuilder.AppendLine();\n\t\t\t\t\tstringBuilder.AppendLine(string.Format(\"{0}: {1}\", \"Layer\".Translate(), apparel.GetLayersString()));\n\t\t\t\t\tstringBuilder.Append(string.Format(\"{0}: {1}\", \"Covers\".Translate(), apparel.GetCoveredOuterPartsString(BodyDefOf.Human)));\n\t\t\t\t\tif (equippedStatOffsets != null && equippedStatOffsets.Count > 0)\n\t\t\t\t\t{\n\t\t\t\t\t\tstringBuilder.AppendLine();\n\t\t\t\t\t\tstringBuilder.AppendLine();\n\t\t\t\t\t\tfor (int i = 0; i < equippedStatOffsets.Count; i++)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif (i > 0)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tstringBuilder.AppendLine();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tStatModifier statModifier = equippedStatOffsets[i];\n\t\t\t\t\t\t\tstringBuilder.Append($\"{statModifier.stat.LabelCap}: {statModifier.ValueToStringAsOffset}\");\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tdescriptionDetailedCached = stringBuilder.ToString();\n\t\t\t}\n\t\t\treturn descriptionDetailedCached;\n\t\t}\n\t}\n\n\tpublic bool CanBenefitFromCover\n\t{\n\t\tget\n\t\t{\n\t\t\tif (category == ThingCategory.Pawn)\n\t\t\t{\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tif (building != null && building.IsTurret)\n\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 PotentiallySmeltable\n\t{\n\t\tget\n\t\t{\n\t\t\tif (!smeltable)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tif (base.MadeFromStuff)\n\t\t\t{\n\t\t\t\tforeach (ThingDef item in GenStuff.AllowedStuffsFor(this))\n\t\t\t\t{\n\t\t\t\t\tif (item.smeltable)\n\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\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t}\n\n\tpublic bool HasSingleOrMultipleInteractionCells\n\t{\n\t\tget\n\t\t{\n\t\t\tif (!hasInteractionCell)\n\t\t\t{\n\t\t\t\treturn !multipleInteractionCellOffsets.NullOrEmpty();\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t}\n\n\tpublic bool IsApparel => apparel != null;\n\n\tpublic bool IsBed => typeof(Building_Bed).IsAssignableFrom(thingClass);\n\n\tpublic bool IsWall\n\t{\n\t\tget\n\t\t{\n\t\t\tif (building != null)\n\t\t\t{\n\t\t\t\treturn building.isWall;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic bool IsCorpse => typeof(Corpse).IsAssignableFrom(thingClass);\n\n\tpublic bool IsFrame => isFrameInt;\n\n\tpublic bool IsBlueprint\n\t{\n\t\tget\n\t\t{\n\t\t\tif (entityDefToBuild != null)\n\t\t\t{\n\t\t\t\treturn category == ThingCategory.Ethereal;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic bool IsStuff => stuffProps != null;\n\n\tpublic bool IsMedicine => statBases.StatListContains(StatDefOf.MedicalPotency);\n\n\tpublic bool IsDoor => typeof(Building_Door).IsAssignableFrom(thingClass);\n\n\tpublic bool IsFence\n\t{\n\t\tget\n\t\t{\n\t\t\tif (building != null)\n\t\t\t{\n\t\t\t\treturn building.isFence;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic bool IsFilth => filth != null;\n\n\tpublic bool IsIngestible => ingestible != null;\n\n\tpublic bool IsNutritionGivingIngestible\n\t{\n\t\tget\n\t\t{\n\t\t\tif (IsIngestible)\n\t\t\t{\n\t\t\t\treturn ingestible.CachedNutrition > 0f;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic bool IsNutritionGivingIngestibleForHumanlikeBabies\n\t{\n\t\tget\n\t\t{\n\t\t\tif (IsNutritionGivingIngestible && ingestible.HumanEdible)\n\t\t\t{\n\t\t\t\treturn ingestible.babiesCanIngest;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic bool IsWeapon\n\t{\n\t\tget\n\t\t{\n\t\t\tif (category == ThingCategory.Item && (!verbs.NullOrEmpty() || !tools.NullOrEmpty()))\n\t\t\t{\n\t\t\t\treturn !IsApparel;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic bool IsCommsConsole => typeof(Building_CommsConsole).IsAssignableFrom(thingClass);\n\n\tpublic bool IsOrbitalTradeBeacon => typeof(Building_OrbitalTradeBeacon).IsAssignableFrom(thingClass);\n\n\tpublic bool IsFoodDispenser => typeof(Building_NutrientPasteDispenser).IsAssignableFrom(thingClass);\n\n\tpublic bool IsDrug\n\t{\n\t\tget\n\t\t{\n\t\t\tif (ingestible != null)\n\t\t\t{\n\t\t\t\treturn ingestible.drugCategory != DrugCategory.None;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic bool IsPleasureDrug\n\t{\n\t\tget\n\t\t{\n\t\t\tif (IsDrug)\n\t\t\t{\n\t\t\t\treturn ingestible.joy > 0f;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic bool IsNonMedicalDrug\n\t{\n\t\tget\n\t\t{\n\t\t\tif (IsDrug)\n\t\t\t{\n\t\t\t\treturn ingestible.drugCategory != DrugCategory.Medical;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic bool IsTable\n\t{\n\t\tget\n\t\t{\n\t\t\tif (surfaceType == SurfaceType.Eat)\n\t\t\t{\n\t\t\t\treturn HasComp(typeof(CompGatherSpot));\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic bool IsWorkTable => typeof(Building_WorkTable).IsAssignableFrom(thingClass);\n\n\tpublic bool IsShell => projectileWhenLoaded != null;\n\n\tpublic bool IsArt => IsWithinCategory(ThingCategoryDefOf.BuildingsArt);\n\n\tpublic bool IsSmoothable => building?.smoothedThing != null;\n\n\tpublic bool IsSmoothed => building?.unsmoothedThing != null;\n\n\tpublic bool IsMetal\n\t{\n\t\tget\n\t\t{\n\t\t\tif (stuffProps != null)\n\t\t\t{\n\t\t\t\treturn stuffProps.categories.Contains(StuffCategoryDefOf.Metallic);\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic bool IsCryptosleepCasket => typeof(Building_CryptosleepCasket).IsAssignableFrom(thingClass);\n\n\tpublic bool IsGibbetCage => typeof(Building_GibbetCage).IsAssignableFrom(thingClass);\n\n\tpublic bool IsMechGestator => typeof(Building_MechGestator).IsAssignableFrom(thingClass);\n\n\tpublic bool IsMechRecharger => typeof(Building_MechCharger).IsAssignableFrom(thingClass);\n\n\tpublic bool IsAddictiveDrug\n\t{\n\t\tget\n\t\t{\n\t\t\tCompProperties_Drug compProperties = GetCompProperties();\n\t\t\tif (compProperties != null)\n\t\t\t{\n\t\t\t\treturn compProperties.addictiveness > 0f;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic bool IsMeat\n\t{\n\t\tget\n\t\t{\n\t\t\tif (category == ThingCategory.Item && thingCategories != null)\n\t\t\t{\n\t\t\t\treturn thingCategories.Contains(ThingCategoryDefOf.MeatRaw);\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic bool IsEgg\n\t{\n\t\tget\n\t\t{\n\t\t\tif (category == ThingCategory.Item && thingCategories != null)\n\t\t\t{\n\t\t\t\tif (!thingCategories.Contains(ThingCategoryDefOf.EggsFertilized))\n\t\t\t\t{\n\t\t\t\t\treturn thingCategories.Contains(ThingCategoryDefOf.EggsUnfertilized);\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 IsLeather\n\t{\n\t\tget\n\t\t{\n\t\t\tif (category == ThingCategory.Item && thingCategories != null)\n\t\t\t{\n\t\t\t\treturn thingCategories.Contains(ThingCategoryDefOf.Leathers);\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic bool IsWool\n\t{\n\t\tget\n\t\t{\n\t\t\tif (category == ThingCategory.Item && thingCategories != null)\n\t\t\t{\n\t\t\t\treturn thingCategories.Contains(ThingCategoryDefOf.Wools);\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic bool IsRangedWeapon\n\t{\n\t\tget\n\t\t{\n\t\t\tif (!IsWeapon)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tif (!verbs.NullOrEmpty())\n\t\t\t{\n\t\t\t\tfor (int i = 0; i < verbs.Count; i++)\n\t\t\t\t{\n\t\t\t\t\tif (!verbs[i].IsMeleeAttack)\n\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\treturn false;\n\t\t}\n\t}\n\n\tpublic bool IsMeleeWeapon\n\t{\n\t\tget\n\t\t{\n\t\t\tif (IsWeapon)\n\t\t\t{\n\t\t\t\treturn !IsRangedWeapon;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic bool IsWeaponUsingProjectiles\n\t{\n\t\tget\n\t\t{\n\t\t\tif (!IsWeapon)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tif (!verbs.NullOrEmpty())\n\t\t\t{\n\t\t\t\tfor (int i = 0; i < verbs.Count; i++)\n\t\t\t\t{\n\t\t\t\t\tif (verbs[i].LaunchesProjectile)\n\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\treturn false;\n\t\t}\n\t}\n\n\tpublic bool IsShieldThatBlocksRanged\n\t{\n\t\tget\n\t\t{\n\t\t\tif (HasComp(typeof(CompShield)))\n\t\t\t{\n\t\t\t\treturn GetCompProperties().blocksRangedWeapons;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic bool IsBuildingArtificial\n\t{\n\t\tget\n\t\t{\n\t\t\tif (category == ThingCategory.Building || IsFrame)\n\t\t\t{\n\t\t\t\tif (building != null)\n\t\t\t\t{\n\t\t\t\t\tif (!building.isNaturalRock)\n\t\t\t\t\t{\n\t\t\t\t\t\treturn !building.isResourceRock;\n\t\t\t\t\t}\n\t\t\t\t\treturn false;\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 IsNonResourceNaturalRock\n\t{\n\t\tget\n\t\t{\n\t\t\tif (category == ThingCategory.Building && building.isNaturalRock && !building.isResourceRock && !building.mineablePreventNaturalRockOnSurface)\n\t\t\t{\n\t\t\t\treturn !IsSmoothed;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic bool HasSunShadows\n\t{\n\t\tget\n\t\t{\n\t\t\tif (!hasSunShadowsCached.HasValue)\n\t\t\t{\n\t\t\t\thasSunShadowsCached = typeof(Pawn).IsAssignableFrom(thingClass);\n\t\t\t}\n\t\t\treturn hasSunShadowsCached.Value;\n\t\t}\n\t}\n\n\tpublic bool IsNaturalOrgan\n\t{\n\t\tget\n\t\t{\n\t\t\tif (!isNaturalOrganCached.HasValue)\n\t\t\t{\n\t\t\t\tif (category != ThingCategory.Item)\n\t\t\t\t{\n\t\t\t\t\tisNaturalOrganCached = false;\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tList allDefsListForReading = DefDatabase.AllDefsListForReading;\n\t\t\t\t\tisNaturalOrganCached = false;\n\t\t\t\t\tfor (int i = 0; i < allDefsListForReading.Count; i++)\n\t\t\t\t\t{\n\t\t\t\t\t\tif (allDefsListForReading[i].spawnThingOnRemoved == this)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tisNaturalOrganCached = true;\n\t\t\t\t\t\t\tbreak;\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 isNaturalOrganCached.Value;\n\t\t}\n\t}\n\n\tpublic bool IsFungus\n\t{\n\t\tget\n\t\t{\n\t\t\tif (ingestible != null)\n\t\t\t{\n\t\t\t\treturn ingestible.foodType.HasFlag(FoodTypeFlags.Fungus);\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic bool IsAnimalProduct\n\t{\n\t\tget\n\t\t{\n\t\t\tif (ingestible != null)\n\t\t\t{\n\t\t\t\treturn ingestible.foodType.HasFlag(FoodTypeFlags.AnimalProduct);\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic bool IsProcessedFood\n\t{\n\t\tget\n\t\t{\n\t\t\tif (ingestible != null)\n\t\t\t{\n\t\t\t\treturn ingestible.foodType.HasFlag(FoodTypeFlags.Processed);\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic bool CanAffectLinker\n\t{\n\t\tget\n\t\t{\n\t\t\tif (graphicData == null || !graphicData.Linked)\n\t\t\t{\n\t\t\t\treturn IsDoor;\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t}\n\n\tpublic bool IsNonDeconstructibleAttackableBuilding\n\t{\n\t\tget\n\t\t{\n\t\t\tif (IsBuildingArtificial && !building.IsDeconstructible && destroyable && !mineable && building.isTargetable)\n\t\t\t{\n\t\t\t\treturn building.draftAttackNonDeconstructable;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic bool IsPlant => typeof(Plant).IsAssignableFrom(thingClass);\n\n\tpublic bool IsDeadPlant => typeof(DeadPlant).IsAssignableFrom(thingClass);\n\n\tpublic bool IsStudiable => HasAssignableCompFrom(typeof(CompStudiable));\n\n\tpublic List RelevantStyleCategories\n\t{\n\t\tget\n\t\t{\n\t\t\tif (cachedRelevantStyleCategories == null)\n\t\t\t{\n\t\t\t\tcachedRelevantStyleCategories = new List();\n\t\t\t\tforeach (StyleCategoryDef allDef in DefDatabase.AllDefs)\n\t\t\t\t{\n\t\t\t\t\tif (allDef.thingDefStyles.NullOrEmpty())\n\t\t\t\t\t{\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t\tforeach (ThingDefStyle thingDefStyle in allDef.thingDefStyles)\n\t\t\t\t\t{\n\t\t\t\t\t\tif (thingDefStyle.ThingDef == this)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcachedRelevantStyleCategories.Add(allDef);\n\t\t\t\t\t\t\tbreak;\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 cachedRelevantStyleCategories;\n\t\t}\n\t}\n\n\tpublic string LabelAsStuff\n\t{\n\t\tget\n\t\t{\n\t\t\tif (!stuffProps.stuffAdjective.NullOrEmpty())\n\t\t\t{\n\t\t\t\treturn stuffProps.stuffAdjective;\n\t\t\t}\n\t\t\treturn label;\n\t\t}\n\t}\n\n\tpublic bool BlocksPlanting(bool canWipePlants = false)\n\t{\n\t\tif (building != null && building.SupportsPlants)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tif (building != null && building.isAttachment)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tif (blockPlants)\n\t\t{\n\t\t\treturn true;\n\t\t}\n\t\tif (!canWipePlants && category == ThingCategory.Plant)\n\t\t{\n\t\t\treturn true;\n\t\t}\n\t\tif ((int)Fillage > 0)\n\t\t{\n\t\t\treturn true;\n\t\t}\n\t\tif (this.IsEdifice())\n\t\t{\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic virtual bool CanSpawnAt(IntVec3 pos, Rot4 rot, Map map)\n\t{\n\t\treturn true;\n\t}\n\n\tpublic bool EverStorable(bool willMinifyIfPossible)\n\t{\n\t\tif (typeof(MinifiedThing).IsAssignableFrom(thingClass))\n\t\t{\n\t\t\treturn true;\n\t\t}\n\t\tif (!thingCategories.NullOrEmpty())\n\t\t{\n\t\t\tif (category == ThingCategory.Item)\n\t\t\t{\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tif (willMinifyIfPossible && Minifiable)\n\t\t\t{\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic Thing GetConcreteExample(ThingDef stuff = null)\n\t{\n\t\tif (concreteExamplesInt == null)\n\t\t{\n\t\t\tconcreteExamplesInt = new Dictionary();\n\t\t}\n\t\tif (stuff == null)\n\t\t{\n\t\t\tstuff = ThingDefOf.Steel;\n\t\t}\n\t\tif (!concreteExamplesInt.ContainsKey(stuff))\n\t\t{\n\t\t\tif (race == null)\n\t\t\t{\n\t\t\t\tconcreteExamplesInt[stuff] = ThingMaker.MakeThing(this, base.MadeFromStuff ? stuff : null);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tconcreteExamplesInt[stuff] = PawnGenerator.GeneratePawn(DefDatabase.AllDefsListForReading.FirstOrDefault((PawnKindDef pkd) => pkd.race == this));\n\t\t\t}\n\t\t}\n\t\treturn concreteExamplesInt[stuff];\n\t}\n\n\tpublic CompProperties CompDefFor() where T : ThingComp\n\t{\n\t\tfor (int i = 0; i < comps.Count; i++)\n\t\t{\n\t\t\tif (comps[i].compClass == typeof(T))\n\t\t\t{\n\t\t\t\treturn comps[i];\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tpublic CompProperties CompDefForAssignableFrom() where T : ThingComp\n\t{\n\t\tfor (int i = 0; i < comps.Count; i++)\n\t\t{\n\t\t\tif (typeof(T).IsAssignableFrom(comps[i].compClass))\n\t\t\t{\n\t\t\t\treturn comps[i];\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tpublic bool HasComp(Type compType)\n\t{\n\t\tfor (int i = 0; i < comps.Count; i++)\n\t\t{\n\t\t\tif (comps[i].compClass == compType)\n\t\t\t{\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic bool HasComp() where T : ThingComp\n\t{\n\t\tfor (int i = 0; i < comps.Count; i++)\n\t\t{\n\t\t\tif (comps[i].compClass == typeof(T) || typeof(T).IsAssignableFrom(comps[i].compClass))\n\t\t\t{\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic bool HasAssignableCompFrom(Type compType)\n\t{\n\t\tfor (int i = 0; i < comps.Count; i++)\n\t\t{\n\t\t\tif (compType.IsAssignableFrom(comps[i].compClass))\n\t\t\t{\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic T GetCompProperties() where T : CompProperties\n\t{\n\t\tfor (int i = 0; i < comps.Count; i++)\n\t\t{\n\t\t\tif (comps[i] is T result)\n\t\t\t{\n\t\t\t\treturn result;\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tpublic override void PostLoad()\n\t{\n\t\tif (graphicData != null)\n\t\t{\n\t\t\tLongEventHandler.ExecuteWhenFinished(delegate\n\t\t\t{\n\t\t\t\tGraphicData graphicData = this.graphicData;\n\t\t\t\tif (graphicData.shaderType == null)\n\t\t\t\t{\n\t\t\t\t\tgraphicData.shaderType = ShaderTypeDefOf.Cutout;\n\t\t\t\t}\n\t\t\t\tContentFinderRequester.requester = this;\n\t\t\t\ttry\n\t\t\t\t{\n\t\t\t\t\tgraphic = this.graphicData.Graphic;\n\t\t\t\t\tif (drawerType != DrawerType.RealtimeOnly)\n\t\t\t\t\t{\n\t\t\t\t\t\tTextureAtlasGroup textureAtlasGroup = category.ToAtlasGroup();\n\t\t\t\t\t\tgraphic.TryInsertIntoAtlas(textureAtlasGroup);\n\t\t\t\t\t\tif (textureAtlasGroup == TextureAtlasGroup.Building && Minifiable)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tgraphic.TryInsertIntoAtlas(TextureAtlasGroup.Item);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tfinally\n\t\t\t\t{\n\t\t\t\t\tContentFinderRequester.requester = null;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\tif (tools != null)\n\t\t{\n\t\t\tfor (int i = 0; i < tools.Count; i++)\n\t\t\t{\n\t\t\t\ttools[i].id = i.ToString();\n\t\t\t}\n\t\t}\n\t\tif (verbs != null && verbs.Count == 1 && verbs[0].label.NullOrEmpty())\n\t\t{\n\t\t\tverbs[0].label = label;\n\t\t}\n\t\tbase.PostLoad();\n\t\tif (category == ThingCategory.Building && building == null)\n\t\t{\n\t\t\tbuilding = new BuildingProperties();\n\t\t}\n\t\tbuilding?.PostLoadSpecial(this);\n\t\tapparel?.PostLoadSpecial(this);\n\t\tplant?.PostLoadSpecial(this);\n\t\tif (comps == null)\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\tforeach (CompProperties comp in comps)\n\t\t{\n\t\t\tcomp.PostLoadSpecial(this);\n\t\t}\n\t}\n\n\tprotected override void ResolveIcon()\n\t{\n\t\tbase.ResolveIcon();\n\t\tif (category == ThingCategory.Pawn)\n\t\t{\n\t\t\tif (!uiIconPath.NullOrEmpty())\n\t\t\t{\n\t\t\t\tuiIcon = ContentFinder.Get(uiIconPath);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tif (race.Humanlike)\n\t\t\t\t{\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tPawnKindDef anyPawnKind = race.AnyPawnKind;\n\t\t\t\tif (anyPawnKind != null)\n\t\t\t\t{\n\t\t\t\t\tMaterial material = ((ModsConfig.BiotechActive && anyPawnKind.RaceProps.IsMechanoid) ? anyPawnKind.lifeStages.First() : anyPawnKind.lifeStages.Last()).bodyGraphicData.Graphic.MatAt(Rot4.East);\n\t\t\t\t\tuiIcon = (Texture2D)material.mainTexture;\n\t\t\t\t\tuiIconColor = material.color;\n\t\t\t\t\tif (ShaderDatabase.TryGetUIShader(material.shader, out var uiShader) && MaterialPool.TryGetRequestForMat(material, out var request))\n\t\t\t\t\t{\n\t\t\t\t\t\trequest.shader = uiShader;\n\t\t\t\t\t\tuiIconMaterial = MaterialPool.MatFrom(request);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tThingDef thingDef = GenStuff.DefaultStuffFor(this);\n\t\t\tif (colorGenerator != null && (thingDef == null || thingDef.stuffProps.allowColorGenerators))\n\t\t\t{\n\t\t\t\tuiIconColor = colorGenerator.ExemplaryColor;\n\t\t\t}\n\t\t\telse if (thingDef != null)\n\t\t\t{\n\t\t\t\tuiIconColor = GetColorForStuff(thingDef);\n\t\t\t}\n\t\t\telse if (graphicData != null)\n\t\t\t{\n\t\t\t\tuiIconColor = graphicData.color;\n\t\t\t}\n\t\t\tif (rotatable && graphic != null && graphic != BaseContent.BadGraphic && graphic.ShouldDrawRotated && defaultPlacingRot == Rot4.South)\n\t\t\t{\n\t\t\t\tuiIconAngle = 180f + graphic.DrawRotatedExtraAngleOffset;\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic override void ResolveReferences()\n\t{\n\t\tbase.ResolveReferences();\n\t\tif (ingestible != null)\n\t\t{\n\t\t\tingestible.parent = this;\n\t\t}\n\t\tif (stuffProps != null)\n\t\t{\n\t\t\tstuffProps.parent = this;\n\t\t}\n\t\tbuilding?.ResolveReferencesSpecial();\n\t\tgraphicData?.ResolveReferencesSpecial();\n\t\trace?.ResolveReferencesSpecial();\n\t\tstuffProps?.ResolveReferencesSpecial();\n\t\tapparel?.ResolveReferencesSpecial();\n\t\tif (soundImpactDefault == null)\n\t\t{\n\t\t\tsoundImpactDefault = SoundDefOf.BulletImpact_Ground;\n\t\t}\n\t\tif (soundDrop == null)\n\t\t{\n\t\t\tsoundDrop = SoundDefOf.Standard_Drop;\n\t\t}\n\t\tif (soundPickup == null)\n\t\t{\n\t\t\tsoundPickup = SoundDefOf.Standard_Pickup;\n\t\t}\n\t\tif (soundInteract == null)\n\t\t{\n\t\t\tsoundInteract = SoundDefOf.Standard_Pickup;\n\t\t}\n\t\tif (inspectorTabs != null && inspectorTabs.Any())\n\t\t{\n\t\t\tinspectorTabsResolved = new List();\n\t\t\tfor (int i = 0; i < inspectorTabs.Count; i++)\n\t\t\t{\n\t\t\t\ttry\n\t\t\t\t{\n\t\t\t\t\tinspectorTabsResolved.Add(InspectTabManager.GetSharedInstance(inspectorTabs[i]));\n\t\t\t\t}\n\t\t\t\tcatch (Exception ex)\n\t\t\t\t{\n\t\t\t\t\tLog.Error(\"Could not instantiate inspector tab of type \" + inspectorTabs[i]?.ToString() + \": \" + ex);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (comps != null)\n\t\t{\n\t\t\tfor (int j = 0; j < comps.Count; j++)\n\t\t\t{\n\t\t\t\tcomps[j].ResolveReferences(this);\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic override IEnumerable ConfigErrors()\n\t{\n\t\tforeach (string item in base.ConfigErrors())\n\t\t{\n\t\t\tyield return item;\n\t\t}\n\t\tif (category != ThingCategory.Ethereal && label.NullOrEmpty())\n\t\t{\n\t\t\tyield return \"no label\";\n\t\t}\n\t\tif (category == ThingCategory.Building && !IsFrame && building.IsDeconstructible && thingClass != null && typeof(Building).IsSubclassOf(thingClass))\n\t\t{\n\t\t\tyield return \"has building category and is marked as deconstructible, but thing class is not a subclass of building (\" + thingClass.Name + \")\";\n\t\t}\n\t\tif (graphicData != null)\n\t\t{\n\t\t\tforeach (string item2 in graphicData.ConfigErrors(this))\n\t\t\t{\n\t\t\t\tyield return item2;\n\t\t\t}\n\t\t}\n\t\tif (projectile != null)\n\t\t{\n\t\t\tforeach (string item3 in projectile.ConfigErrors(this))\n\t\t\t{\n\t\t\t\tyield return item3;\n\t\t\t}\n\t\t}\n\t\tif (statBases != null)\n\t\t{\n\t\t\tforeach (StatModifier statBase in statBases)\n\t\t\t{\n\t\t\t\tif (statBases.Count((StatModifier st) => st.stat == statBase.stat) > 1)\n\t\t\t\t{\n\t\t\t\t\tyield return \"defines the stat base \" + statBase.stat?.ToString() + \" more than once.\";\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (!BeautyUtility.BeautyRelevant(category) && this.StatBaseDefined(StatDefOf.Beauty))\n\t\t{\n\t\t\tyield return \"Beauty stat base is defined, but Things of category \" + category.ToString() + \" cannot have beauty.\";\n\t\t}\n\t\tif (!BeautyUtility.BeautyRelevant(category) && this.StatBaseDefined(StatDefOf.BeautyOutdoors))\n\t\t{\n\t\t\tyield return \"BeautyOutdoors stat base is defined, but Things of category \" + category.ToString() + \" cannot have beauty.\";\n\t\t}\n\t\tif (char.IsNumber(defName[defName.Length - 1]))\n\t\t{\n\t\t\tyield return \"ends with a numerical digit, which is not allowed on ThingDefs.\";\n\t\t}\n\t\tif (thingClass == null)\n\t\t{\n\t\t\tyield return \"has null thingClass.\";\n\t\t}\n\t\tif (comps.Count > 0 && !typeof(ThingWithComps).IsAssignableFrom(thingClass))\n\t\t{\n\t\t\tyield return \"has components but it's thingClass is not a ThingWithComps\";\n\t\t}\n\t\tif (ConnectToPower && drawerType == DrawerType.RealtimeOnly && IsFrame)\n\t\t{\n\t\t\tyield return \"connects to power but does not add to map mesh. Will not create wire meshes.\";\n\t\t}\n\t\tif (costList != null)\n\t\t{\n\t\t\tforeach (ThingDefCountClass cost in costList)\n\t\t\t{\n\t\t\t\tif (cost.count == 0)\n\t\t\t\t{\n\t\t\t\t\tyield return \"cost in \" + cost.thingDef?.ToString() + \" is zero.\";\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tThingCategoryDef thingCategoryDef = thingCategories?.FirstOrDefault((ThingCategoryDef cat) => thingCategories.Count((ThingCategoryDef c) => c == cat) > 1);\n\t\tif (thingCategoryDef != null)\n\t\t{\n\t\t\tyield return \"has duplicate thingCategory \" + thingCategoryDef?.ToString() + \".\";\n\t\t}\n\t\tif (Fillage == FillCategory.Full && category != ThingCategory.Building)\n\t\t{\n\t\t\tyield return \"gives full cover but is not a building.\";\n\t\t}\n\t\tif (equipmentType != 0)\n\t\t{\n\t\t\tif (techLevel == TechLevel.Undefined && !destroyOnDrop)\n\t\t\t{\n\t\t\t\tyield return \"is equipment but has no tech level.\";\n\t\t\t}\n\t\t\tif (!comps.Any((CompProperties c) => typeof(CompEquippable).IsAssignableFrom(c.compClass)))\n\t\t\t{\n\t\t\t\tyield return \"is equipment but has no CompEquippable\";\n\t\t\t}\n\t\t}\n\t\tif (thingClass == typeof(Bullet) && projectile.damageDef == null)\n\t\t{\n\t\t\tyield return \" is a bullet but has no damageDef.\";\n\t\t}\n\t\tif (destroyOnDrop && tradeability != 0)\n\t\t{\n\t\t\tyield return \"destroyOnDrop but tradeability is \" + tradeability;\n\t\t}\n\t\tif (stackLimit > 1 && !drawGUIOverlay)\n\t\t{\n\t\t\tyield return \"has stackLimit > 1 but also has drawGUIOverlay = false.\";\n\t\t}\n\t\tif (damageMultipliers != null)\n\t\t{\n\t\t\tforeach (DamageMultiplier mult in damageMultipliers)\n\t\t\t{\n\t\t\t\tif (damageMultipliers.Count((DamageMultiplier m) => m.damageDef == mult.damageDef) > 1)\n\t\t\t\t{\n\t\t\t\t\tyield return \"has multiple damage multipliers for damageDef \" + mult.damageDef;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (Fillage == FillCategory.Full && !this.IsEdifice())\n\t\t{\n\t\t\tyield return \"fillPercent is 1.00 but is not edifice\";\n\t\t}\n\t\tif (base.MadeFromStuff && constructEffect != null)\n\t\t{\n\t\t\tyield return \"madeFromStuff but has a defined constructEffect (which will always be overridden by stuff's construct animation).\";\n\t\t}\n\t\tif (base.MadeFromStuff && stuffCategories.NullOrEmpty())\n\t\t{\n\t\t\tyield return \"madeFromStuff but has no stuffCategories.\";\n\t\t}\n\t\tif (costList.NullOrEmpty() && costStuffCount <= 0 && recipeMaker != null)\n\t\t{\n\t\t\tyield return \"has a recipeMaker but no costList or costStuffCount.\";\n\t\t}\n\t\tif (costStuffCount > 0 && stuffCategories.NullOrEmpty())\n\t\t{\n\t\t\tyield return \"has costStuffCount but no stuffCategories.\";\n\t\t}\n\t\tif (this.GetStatValueAbstract(StatDefOf.DeteriorationRate) > 1E-05f && !CanEverDeteriorate && !destroyOnDrop)\n\t\t{\n\t\t\tyield return \"has >0 DeteriorationRate but can't deteriorate.\";\n\t\t}\n\t\tif (smeltProducts != null && !smeltable)\n\t\t{\n\t\t\tyield return \"has smeltProducts but has smeltable=false\";\n\t\t}\n\t\tif (smeltable && smeltProducts.NullOrEmpty() && base.CostList.NullOrEmpty() && !IsStuff && !base.MadeFromStuff && !destroyOnDrop)\n\t\t{\n\t\t\tyield return \"is smeltable but does not give anything for smelting.\";\n\t\t}\n\t\tif (equipmentType != 0 && verbs.NullOrEmpty() && tools.NullOrEmpty())\n\t\t{\n\t\t\tyield return \"is equipment but has no verbs or tools\";\n\t\t}\n\t\tif (Minifiable && thingCategories.NullOrEmpty())\n\t\t{\n\t\t\tyield return \"is minifiable but not in any thing category\";\n\t\t}\n\t\tif (category == ThingCategory.Building && !Minifiable && !thingCategories.NullOrEmpty())\n\t\t{\n\t\t\tyield return \"is not minifiable yet has thing categories (could be confusing in thing filters because it can't be moved/stored anyway)\";\n\t\t}\n\t\tif (!destroyOnDrop && !typeof(MinifiedThing).IsAssignableFrom(thingClass) && (EverHaulable || Minifiable) && (statBases.NullOrEmpty() || !statBases.Any((StatModifier s) => s.stat == StatDefOf.Mass)))\n\t\t{\n\t\t\tyield return \"is haulable, but does not have an authored mass value\";\n\t\t}\n\t\tif (ingestible == null && this.GetStatValueAbstract(StatDefOf.Nutrition) != 0f)\n\t\t{\n\t\t\tyield return \"has nutrition but ingestible properties are null\";\n\t\t}\n\t\tif (BaseFlammability != 0f && !useHitPoints && category != ThingCategory.Pawn && !destroyOnDrop)\n\t\t{\n\t\t\tyield return \"flammable but has no hitpoints (will burn indefinitely)\";\n\t\t}\n\t\tif (graphicData?.shadowData != null && staticSunShadowHeight > 0f)\n\t\t{\n\t\t\tyield return \"graphicData defines a shadowInfo but staticSunShadowHeight > 0\";\n\t\t}\n\t\tif (saveCompressible && Claimable)\n\t\t{\n\t\t\tyield return \"claimable item is compressible; faction will be unset after load\";\n\t\t}\n\t\tif (deepCommonality > 0f != deepLumpSizeRange.TrueMax > 0)\n\t\t{\n\t\t\tyield return \"if deepCommonality or deepLumpSizeRange is set, the other also must be set\";\n\t\t}\n\t\tif (deepCommonality > 0f && deepCountPerPortion <= 0)\n\t\t{\n\t\t\tyield return \"deepCommonality > 0 but deepCountPerPortion is not set\";\n\t\t}\n\t\tif (verbs != null)\n\t\t{\n\t\t\tfor (int i = 0; i < verbs.Count; i++)\n\t\t\t{\n\t\t\t\tforeach (string item4 in verbs[i].ConfigErrors(this))\n\t\t\t\t{\n\t\t\t\t\tyield return $\"verb {i}: {item4}\";\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (building != null)\n\t\t{\n\t\t\tforeach (string item5 in building.ConfigErrors(this))\n\t\t\t{\n\t\t\t\tyield return item5;\n\t\t\t}\n\t\t\tif ((building.isAirtight || building.isStuffableAirtight) && Fillage != FillCategory.Full)\n\t\t\t{\n\t\t\t\tyield return \"is airtight but Fillage is not Full\";\n\t\t\t}\n\t\t}\n\t\tif (apparel != null)\n\t\t{\n\t\t\tforeach (string item6 in apparel.ConfigErrors(this))\n\t\t\t{\n\t\t\t\tyield return item6;\n\t\t\t}\n\t\t}\n\t\tif (comps != null)\n\t\t{\n\t\t\tfor (int i = 0; i < comps.Count; i++)\n\t\t\t{\n\t\t\t\tforeach (string item7 in comps[i].ConfigErrors(this))\n\t\t\t\t{\n\t\t\t\t\tyield return item7;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (race != null)\n\t\t{\n\t\t\tforeach (string item8 in race.ConfigErrors(this))\n\t\t\t{\n\t\t\t\tyield return item8;\n\t\t\t}\n\t\t\tif (race.body != null && race != null && tools != null)\n\t\t\t{\n\t\t\t\tint i;\n\t\t\t\tfor (i = 0; i < tools.Count; i++)\n\t\t\t\t{\n\t\t\t\t\tif (tools[i].linkedBodyPartsGroup != null && !race.body.AllParts.Any((BodyPartRecord part) => part.groups.Contains(tools[i].linkedBodyPartsGroup)))\n\t\t\t\t\t{\n\t\t\t\t\t\tyield return \"has tool with linkedBodyPartsGroup \" + tools[i].linkedBodyPartsGroup?.ToString() + \" but body \" + race.body?.ToString() + \" has no parts with that group.\";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (race.Animal && this.GetStatValueAbstract(StatDefOf.Wildness) < 0f)\n\t\t\t{\n\t\t\t\tyield return \"is animal but wildness is not defined\";\n\t\t\t}\n\t\t}\n\t\tif (ingestible != null)\n\t\t{\n\t\t\tforeach (string item9 in ingestible.ConfigErrors())\n\t\t\t{\n\t\t\t\tyield return item9;\n\t\t\t}\n\t\t}\n\t\tif (plant != null)\n\t\t{\n\t\t\tforeach (string item10 in plant.ConfigErrors())\n\t\t\t{\n\t\t\t\tyield return item10;\n\t\t\t}\n\t\t}\n\t\tif (tools != null)\n\t\t{\n\t\t\tTool tool = tools.SelectMany((Tool lhs) => tools.Where((Tool rhs) => lhs != rhs && lhs.id == rhs.id)).FirstOrDefault();\n\t\t\tif (tool != null)\n\t\t\t{\n\t\t\t\tyield return \"duplicate thingdef tool id \" + tool.id;\n\t\t\t}\n\t\t\tforeach (Tool tool2 in tools)\n\t\t\t{\n\t\t\t\tforeach (string item11 in tool2.ConfigErrors())\n\t\t\t\t{\n\t\t\t\t\tyield return item11;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (!randomStyle.NullOrEmpty())\n\t\t{\n\t\t\tforeach (ThingStyleChance item12 in randomStyle)\n\t\t\t{\n\t\t\t\tif (item12.Chance <= 0f)\n\t\t\t\t{\n\t\t\t\t\tyield return \"style chance <= 0.\";\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (!comps.Any((CompProperties c) => c.compClass == typeof(CompStyleable)))\n\t\t\t{\n\t\t\t\tyield return \"random style assigned, but missing CompStyleable!\";\n\t\t\t}\n\t\t}\n\t\tif (relicChance > 0f && category != ThingCategory.Item)\n\t\t{\n\t\t\tyield return \"relic chance > 0 but category != item\";\n\t\t}\n\t\tif (hasInteractionCell && !multipleInteractionCellOffsets.NullOrEmpty())\n\t\t{\n\t\t\tyield return \"both single and multiple interaction cells are defined, it should be one or the other\";\n\t\t}\n\t\tif (Fillage != FillCategory.Full && passability == Traversability.Impassable && !IsDoor && base.BuildableByPlayer && !disableImpassableShotOverConfigError)\n\t\t{\n\t\t\tyield return \"impassable, player-buildable building that can be shot/seen over.\";\n\t\t}\n\t}\n\n\tpublic static ThingDef Named(string defName)\n\t{\n\t\treturn DefDatabase.GetNamed(defName);\n\t}\n\n\tpublic bool IsWithinCategory(ThingCategoryDef category)\n\t{\n\t\tif (thingCategories == null)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tfor (int i = 0; i < thingCategories.Count; i++)\n\t\t{\n\t\t\tfor (ThingCategoryDef thingCategoryDef = thingCategories[i]; thingCategoryDef != null; thingCategoryDef = thingCategoryDef.parent)\n\t\t\t{\n\t\t\t\tif (thingCategoryDef == category)\n\t\t\t\t{\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic void Notify_UnlockedByResearch()\n\t{\n\t\tif (comps != null)\n\t\t{\n\t\t\tfor (int i = 0; i < comps.Count; i++)\n\t\t\t{\n\t\t\t\tcomps[i].Notify_PostUnlockedByResearch(this);\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic override IEnumerable SpecialDisplayStats(StatRequest req)\n\t{\n\t\tforeach (StatDrawEntry item in base.SpecialDisplayStats(req))\n\t\t{\n\t\t\tyield return item;\n\t\t}\n\t\tif (apparel != null)\n\t\t{\n\t\t\tstring coveredOuterPartsString = apparel.GetCoveredOuterPartsString(BodyDefOf.Human);\n\t\t\tyield return new StatDrawEntry(StatCategoryDefOf.Apparel, \"Covers\".Translate(), coveredOuterPartsString, \"Stat_Thing_Apparel_Covers_Desc\".Translate(), 2750);\n\t\t\tyield return new StatDrawEntry(StatCategoryDefOf.Apparel, \"Layer\".Translate(), apparel.GetLayersString(), \"Stat_Thing_Apparel_Layer_Desc\".Translate(), 2751);\n\t\t\tyield return new StatDrawEntry(StatCategoryDefOf.Apparel, \"Stat_Thing_Apparel_CountsAsClothingNudity_Name\".Translate(), apparel.countsAsClothingForNudity ? \"Yes\".Translate() : \"No\".Translate(), \"Stat_Thing_Apparel_CountsAsClothingNudity_Desc\".Translate(), 2753);\n\t\t\tif (ModsConfig.BiotechActive)\n\t\t\t{\n\t\t\t\tyield return new StatDrawEntry(StatCategoryDefOf.Apparel, \"Stat_Thing_Apparel_ValidLifestage\".Translate(), apparel.developmentalStageFilter.ToCommaList().CapitalizeFirst(), \"Stat_Thing_Apparel_ValidLifestage_Desc\".Translate(), 2748);\n\t\t\t}\n\t\t\tif (apparel.gender != 0)\n\t\t\t{\n\t\t\t\tyield return new StatDrawEntry(StatCategoryDefOf.Apparel, \"Stat_Thing_Apparel_Gender\".Translate(), apparel.gender.GetLabel().CapitalizeFirst(), \"Stat_Thing_Apparel_Gender_Desc\".Translate(), 2749);\n\t\t\t}\n\t\t}\n\t\tif (IsMedicine && MedicineTendXpGainFactor != 1f)\n\t\t{\n\t\t\tyield return new StatDrawEntry(StatCategoryDefOf.Basics, \"MedicineXpGainFactor\".Translate(), MedicineTendXpGainFactor.ToStringPercent(), \"Stat_Thing_Drug_MedicineXpGainFactor_Desc\".Translate(), 1000);\n\t\t}\n\t\tif (fillPercent > 0f && (category == ThingCategory.Item || category == ThingCategory.Building || category == ThingCategory.Plant))\n\t\t{\n\t\t\tyield return new StatDrawEntry(StatCategoryDefOf.Basics, \"CoverEffectiveness\".Translate(), this.BaseBlockChance().ToStringPercent(), \"CoverEffectivenessExplanation\".Translate(), 2000);\n\t\t}\n\t\tif (constructionSkillPrerequisite > 0)\n\t\t{\n\t\t\tyield return new StatDrawEntry(StatCategoryDefOf.Basics, \"SkillRequiredToBuild\".Translate(SkillDefOf.Construction.LabelCap), constructionSkillPrerequisite.ToString(), \"SkillRequiredToBuildExplanation\".Translate(SkillDefOf.Construction.LabelCap), 1100);\n\t\t}\n\t\tif (artisticSkillPrerequisite > 0)\n\t\t{\n\t\t\tyield return new StatDrawEntry(StatCategoryDefOf.Basics, \"SkillRequiredToBuild\".Translate(SkillDefOf.Artistic.LabelCap), artisticSkillPrerequisite.ToString(), \"SkillRequiredToBuildExplanation\".Translate(SkillDefOf.Artistic.LabelCap), 1100);\n\t\t}\n\t\tIEnumerable recipes = DefDatabase.AllDefsListForReading.Where((RecipeDef r) => r.products.Count == 1 && r.products.Any((ThingDefCountClass p) => p.thingDef == this) && !r.IsSurgery);\n\t\tif (recipes.Any())\n\t\t{\n\t\t\tIEnumerable enumerable = (from u in recipes.Where((RecipeDef x) => x.recipeUsers != null).SelectMany((RecipeDef r) => r.recipeUsers)\n\t\t\t\tselect u.label).Concat(from x in DefDatabase.AllDefsListForReading\n\t\t\t\twhere x.recipes != null && x.recipes.Any((RecipeDef y) => y.products.Any((ThingDefCountClass z) => z.thingDef == this))\n\t\t\t\tselect x.label).Distinct();\n\t\t\tif (enumerable.Any())\n\t\t\t{\n\t\t\t\tyield return new StatDrawEntry(StatCategoryDefOf.Basics, \"CreatedAt\".Translate(), enumerable.ToCommaList().CapitalizeFirst(), \"Stat_Thing_CreatedAt_Desc\".Translate(), 1103);\n\t\t\t}\n\t\t\tRecipeDef recipeDef = recipes.FirstOrDefault();\n\t\t\tif (recipeDef != null && !recipeDef.ingredients.NullOrEmpty())\n\t\t\t{\n\t\t\t\tBuildableDef.tmpCostList.Clear();\n\t\t\t\tBuildableDef.tmpHyperlinks.Clear();\n\t\t\t\tfor (int j = 0; j < recipeDef.ingredients.Count; j++)\n\t\t\t\t{\n\t\t\t\t\tIngredientCount ingredientCount = recipeDef.ingredients[j];\n\t\t\t\t\tif (ingredientCount.filter.Summary.NullOrEmpty())\n\t\t\t\t\t{\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t\tIEnumerable allowedThingDefs = ingredientCount.filter.AllowedThingDefs;\n\t\t\t\t\tif (allowedThingDefs.Any())\n\t\t\t\t\t{\n\t\t\t\t\t\tforeach (ThingDef p in allowedThingDefs)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif (!BuildableDef.tmpHyperlinks.Any((Dialog_InfoCard.Hyperlink x) => x.def == p))\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tBuildableDef.tmpHyperlinks.Add(new Dialog_InfoCard.Hyperlink(p));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tBuildableDef.tmpCostList.Add(recipeDef.IngredientValueGetter.BillRequirementsDescription(recipeDef, ingredientCount));\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (BuildableDef.tmpCostList.Any())\n\t\t\t{\n\t\t\t\tyield return new StatDrawEntry(StatCategoryDefOf.Basics, \"Ingredients\".Translate(), BuildableDef.tmpCostList.ToCommaList(), \"Stat_Thing_Ingredients\".Translate(), 1102, null, BuildableDef.tmpHyperlinks);\n\t\t\t}\n\t\t}\n\t\tif (thingClass != null && typeof(Building_Bed).IsAssignableFrom(thingClass) && !statBases.StatListContains(StatDefOf.BedRestEffectiveness))\n\t\t{\n\t\t\tyield return new StatDrawEntry(StatCategoryDefOf.Building, StatDefOf.BedRestEffectiveness, StatDefOf.BedRestEffectiveness.valueIfMissing, StatRequest.ForEmpty());\n\t\t}\n\t\tif (!verbs.NullOrEmpty())\n\t\t{\n\t\t\tVerbProperties verb = verbs.First((VerbProperties x) => x.isPrimary);\n\t\t\tStatCategoryDef verbStatCategory = ((category == ThingCategory.Pawn) ? StatCategoryDefOf.PawnCombat : null);\n\t\t\tfloat num = verb.warmupTime;\n\t\t\tStringBuilder stringBuilder = new StringBuilder(\"Stat_Thing_Weapon_RangedWarmupTime_Desc\".Translate());\n\t\t\tstringBuilder.AppendLine();\n\t\t\tstringBuilder.AppendLine();\n\t\t\tstringBuilder.AppendLine(\"StatsReport_BaseValue\".Translate() + \": \" + num.ToString(\"0.##\") + \" \" + \"LetterSecond\".Translate());\n\t\t\tif (num > 0f)\n\t\t\t{\n\t\t\t\tif (req.HasThing)\n\t\t\t\t{\n\t\t\t\t\tfloat statValue = req.Thing.GetStatValue(StatDefOf.RangedWeapon_WarmupMultiplier);\n\t\t\t\t\tnum *= statValue;\n\t\t\t\t\tif (!Mathf.Approximately(statValue, 1f))\n\t\t\t\t\t{\n\t\t\t\t\t\tstringBuilder.AppendLine();\n\t\t\t\t\t\tstringBuilder.AppendLine(\"Stat_Thing_Weapon_WarmupTime_Multiplier\".Translate() + \": x\" + statValue.ToStringPercent());\n\t\t\t\t\t\tstringBuilder.Append(StatUtility.GetOffsetsAndFactorsFor(StatDefOf.RangedWeapon_WarmupMultiplier, req.Thing));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tstringBuilder.AppendLine();\n\t\t\t\tstringBuilder.AppendLine(\"StatsReport_FinalValue\".Translate() + \": \" + num.ToString(\"0.##\") + \" \" + \"LetterSecond\".Translate());\n\t\t\t\tyield return new StatDrawEntry(verbStatCategory ?? StatCategoryDefOf.Weapon_Ranged, \"RangedWarmupTime\".Translate(), num.ToString(\"0.##\") + \" \" + \"LetterSecond\".Translate(), stringBuilder.ToString(), 3555);\n\t\t\t}\n\t\t\tif (verb.defaultProjectile?.projectile.damageDef != null && verb.defaultProjectile.projectile.damageDef.harmsHealth)\n\t\t\t{\n\t\t\t\tStatCategoryDef statCat = verbStatCategory ?? StatCategoryDefOf.Weapon_Ranged;\n\t\t\t\tStringBuilder stringBuilder2 = new StringBuilder();\n\t\t\t\tstringBuilder2.AppendLine(\"Stat_Thing_Damage_Desc\".Translate());\n\t\t\t\tstringBuilder2.AppendLine();\n\t\t\t\tfloat num2 = verb.defaultProjectile.projectile.GetDamageAmount(req.Thing, stringBuilder2);\n\t\t\t\tyield return new StatDrawEntry(statCat, \"Damage\".Translate(), num2.ToString(), stringBuilder2.ToString(), 5500);\n\t\t\t\tif (verb.defaultProjectile.projectile.damageDef.armorCategory != null)\n\t\t\t\t{\n\t\t\t\t\tStringBuilder stringBuilder3 = new StringBuilder();\n\t\t\t\t\tfloat armorPenetration = verb.defaultProjectile.projectile.GetArmorPenetration(req.Thing, stringBuilder3);\n\t\t\t\t\tTaggedString taggedString = \"ArmorPenetrationExplanation\".Translate();\n\t\t\t\t\tif (stringBuilder3.Length != 0)\n\t\t\t\t\t{\n\t\t\t\t\t\ttaggedString += \"\\n\\n\" + stringBuilder3;\n\t\t\t\t\t}\n\t\t\t\t\tyield return new StatDrawEntry(statCat, \"ArmorPenetration\".Translate(), armorPenetration.ToStringPercent(), taggedString, 5400);\n\t\t\t\t}\n\t\t\t\tfloat buildingDamageFactor = verb.defaultProjectile.projectile.damageDef.buildingDamageFactor;\n\t\t\t\tfloat dmgBuildingsImpassable = verb.defaultProjectile.projectile.damageDef.buildingDamageFactorImpassable;\n\t\t\t\tfloat dmgBuildingsPassable = verb.defaultProjectile.projectile.damageDef.buildingDamageFactorPassable;\n\t\t\t\tif (buildingDamageFactor != 1f)\n\t\t\t\t{\n\t\t\t\t\tyield return new StatDrawEntry(statCat, \"BuildingDamageFactor\".Translate(), buildingDamageFactor.ToStringPercent(), \"BuildingDamageFactorExplanation\".Translate(), 5410);\n\t\t\t\t}\n\t\t\t\tif (dmgBuildingsImpassable != 1f)\n\t\t\t\t{\n\t\t\t\t\tyield return new StatDrawEntry(statCat, \"BuildingDamageFactorImpassable\".Translate(), dmgBuildingsImpassable.ToStringPercent(), \"BuildingDamageFactorImpassableExplanation\".Translate(), 5420);\n\t\t\t\t}\n\t\t\t\tif (dmgBuildingsPassable != 1f)\n\t\t\t\t{\n\t\t\t\t\tyield return new StatDrawEntry(statCat, \"BuildingDamageFactorPassable\".Translate(), dmgBuildingsPassable.ToStringPercent(), \"BuildingDamageFactorPassableExplanation\".Translate(), 5430);\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (verb.defaultProjectile == null && verb.beamDamageDef != null)\n\t\t\t{\n\t\t\t\tyield return new StatDrawEntry(verbStatCategory ?? StatCategoryDefOf.Weapon_Ranged, \"ArmorPenetration\".Translate(), verb.beamDamageDef.defaultArmorPenetration.ToStringPercent(), \"ArmorPenetrationExplanation\".Translate(), 5400);\n\t\t\t}\n\t\t\tif (verb.Ranged)\n\t\t\t{\n\t\t\t\tfloat num3 = verb.burstShotCount;\n\t\t\t\tfloat num4 = verb.ticksBetweenBurstShots;\n\t\t\t\tfloat dmgBuildingsPassable = (verb?.defaultProjectile?.projectile?.stoppingPower).GetValueOrDefault();\n\t\t\t\tStringBuilder stringBuilder4 = new StringBuilder(\"Stat_Thing_Weapon_BurstShotFireRate_Desc\".Translate());\n\t\t\t\tstringBuilder4.AppendLine();\n\t\t\t\tstringBuilder4.AppendLine();\n\t\t\t\tstringBuilder4.AppendLine(\"StatsReport_BaseValue\".Translate() + \": \" + verb.burstShotCount.ToString());\n\t\t\t\tstringBuilder4.AppendLine();\n\t\t\t\tStringBuilder ticksBetweenBurstShotsExplanation = new StringBuilder(\"Stat_Thing_Weapon_BurstShotFireRate_Desc\".Translate());\n\t\t\t\tticksBetweenBurstShotsExplanation.AppendLine();\n\t\t\t\tticksBetweenBurstShotsExplanation.AppendLine();\n\t\t\t\tticksBetweenBurstShotsExplanation.AppendLine(\"StatsReport_BaseValue\".Translate() + \": \" + (60f / verb.ticksBetweenBurstShots.TicksToSeconds()).ToString(\"0.##\") + \" rpm\");\n\t\t\t\tticksBetweenBurstShotsExplanation.AppendLine();\n\t\t\t\tStringBuilder stoppingPowerExplanation = new StringBuilder(\"StoppingPowerExplanation\".Translate());\n\t\t\t\tstoppingPowerExplanation.AppendLine();\n\t\t\t\tstoppingPowerExplanation.AppendLine();\n\t\t\t\tstoppingPowerExplanation.AppendLine(\"StatsReport_BaseValue\".Translate() + \": \" + dmgBuildingsPassable.ToString(\"F1\"));\n\t\t\t\tstoppingPowerExplanation.AppendLine();\n\t\t\t\tif (req.HasThing && req.Thing.TryGetComp(out CompUniqueWeapon comp))\n\t\t\t\t{\n\t\t\t\t\tbool flag = false;\n\t\t\t\t\tbool flag2 = false;\n\t\t\t\t\tbool flag3 = false;\n\t\t\t\t\tforeach (WeaponTraitDef item2 in comp.TraitsListForReading)\n\t\t\t\t\t{\n\t\t\t\t\t\tif (!Mathf.Approximately(item2.burstShotCountMultiplier, 1f))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif (!flag)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tstringBuilder4.AppendLine(\"StatsReport_WeaponTraits\".Translate() + \":\");\n\t\t\t\t\t\t\t\tflag = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tnum3 *= item2.burstShotCountMultiplier;\n\t\t\t\t\t\t\tstringBuilder4.AppendLine(\" \" + item2.LabelCap + \": \" + item2.burstShotCountMultiplier.ToStringByStyle(ToStringStyle.PercentOne, ToStringNumberSense.Factor));\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!Mathf.Approximately(item2.burstShotSpeedMultiplier, 1f))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif (!flag2)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tticksBetweenBurstShotsExplanation.AppendLine(\"StatsReport_WeaponTraits\".Translate() + \":\");\n\t\t\t\t\t\t\t\tflag2 = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tnum4 /= item2.burstShotSpeedMultiplier;\n\t\t\t\t\t\t\tticksBetweenBurstShotsExplanation.AppendLine(\" \" + item2.LabelCap + \": \" + item2.burstShotSpeedMultiplier.ToStringByStyle(ToStringStyle.PercentOne, ToStringNumberSense.Factor));\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!Mathf.Approximately(item2.additionalStoppingPower, 0f))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif (!flag3)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tstoppingPowerExplanation.AppendLine(\"StatsReport_WeaponTraits\".Translate() + \":\");\n\t\t\t\t\t\t\t\tflag3 = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tdmgBuildingsPassable += item2.additionalStoppingPower;\n\t\t\t\t\t\t\tstoppingPowerExplanation.AppendLine(\" \" + item2.LabelCap + \": \" + item2.additionalStoppingPower.ToStringByStyle(ToStringStyle.FloatOne, ToStringNumberSense.Offset));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tstringBuilder4.AppendLine();\n\t\t\t\tstringBuilder4.AppendLine(\"StatsReport_FinalValue\".Translate() + \": \" + Mathf.CeilToInt(num3).ToString());\n\t\t\t\tfloat dmgBuildingsImpassable = 60f / ((int)num4).TicksToSeconds();\n\t\t\t\tticksBetweenBurstShotsExplanation.AppendLine();\n\t\t\t\tticksBetweenBurstShotsExplanation.AppendLine(\"StatsReport_FinalValue\".Translate() + \": \" + dmgBuildingsImpassable.ToString(\"0.##\") + \" rpm\");\n\t\t\t\tstoppingPowerExplanation.AppendLine();\n\t\t\t\tstoppingPowerExplanation.AppendLine(\"StatsReport_FinalValue\".Translate() + \": \" + dmgBuildingsPassable.ToString(\"F1\"));\n\t\t\t\tStatCategoryDef statCat = verbStatCategory ?? StatCategoryDefOf.Weapon_Ranged;\n\t\t\t\tif (verb.showBurstShotStats && verb.burstShotCount > 1)\n\t\t\t\t{\n\t\t\t\t\tyield return new StatDrawEntry(statCat, \"BurstShotCount\".Translate(), Mathf.CeilToInt(num3).ToString(), stringBuilder4.ToString(), 5391);\n\t\t\t\t\tyield return new StatDrawEntry(statCat, \"BurstShotFireRate\".Translate(), dmgBuildingsImpassable.ToString(\"0.##\") + \" rpm\", ticksBetweenBurstShotsExplanation.ToString(), 5395);\n\t\t\t\t}\n\t\t\t\tif (dmgBuildingsPassable > 0f)\n\t\t\t\t{\n\t\t\t\t\tyield return new StatDrawEntry(statCat, \"StoppingPower\".Translate(), dmgBuildingsPassable.ToString(\"F1\"), stoppingPowerExplanation.ToString(), 5402);\n\t\t\t\t}\n\t\t\t\tfloat num5 = verb.range;\n\t\t\t\tStringBuilder stringBuilder5 = new StringBuilder(\"Stat_Thing_Weapon_Range_Desc\".Translate());\n\t\t\t\tstringBuilder5.AppendLine();\n\t\t\t\tstringBuilder5.AppendLine();\n\t\t\t\tstringBuilder5.AppendLine(\"StatsReport_BaseValue\".Translate() + \": \" + num5.ToString(\"F0\"));\n\t\t\t\tif (req.HasThing)\n\t\t\t\t{\n\t\t\t\t\tfloat statValue2 = req.Thing.GetStatValue(StatDefOf.RangedWeapon_RangeMultiplier);\n\t\t\t\t\tnum5 *= statValue2;\n\t\t\t\t\tif (!Mathf.Approximately(statValue2, 1f))\n\t\t\t\t\t{\n\t\t\t\t\t\tstringBuilder5.AppendLine();\n\t\t\t\t\t\tstringBuilder5.AppendLine(\"Stat_Thing_Weapon_Range_Multiplier\".Translate() + \": x\" + statValue2.ToStringPercent());\n\t\t\t\t\t\tstringBuilder5.Append(StatUtility.GetOffsetsAndFactorsFor(StatDefOf.RangedWeapon_RangeMultiplier, req.Thing));\n\t\t\t\t\t}\n\t\t\t\t\tMap obj = req.Thing.Map ?? req.Thing.MapHeld;\n\t\t\t\t\tif (obj != null && obj.weatherManager.CurWeatherMaxRangeCap >= 0f)\n\t\t\t\t\t{\n\t\t\t\t\t\tWeatherManager weatherManager = (req.Thing.Map ?? req.Thing.MapHeld).weatherManager;\n\t\t\t\t\t\tbool num6 = num5 > weatherManager.CurWeatherMaxRangeCap;\n\t\t\t\t\t\tfloat num7 = num5;\n\t\t\t\t\t\tnum5 = Mathf.Min(num5, weatherManager.CurWeatherMaxRangeCap);\n\t\t\t\t\t\tif (num6)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tstringBuilder5.AppendLine();\n\t\t\t\t\t\t\tstringBuilder5.AppendLine(\" \" + \"Stat_Thing_Weapon_Range_Clamped\".Translate(num5.ToString(\"F0\").Named(\"CAP\"), num7.ToString(\"F0\").Named(\"ORIGINAL\")));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tstringBuilder5.AppendLine();\n\t\t\t\tstringBuilder5.AppendLine(\"StatsReport_FinalValue\".Translate() + \": \" + num5.ToString(\"F0\"));\n\t\t\t\tyield return new StatDrawEntry(statCat, \"Range\".Translate(), num5.ToString(\"F0\"), stringBuilder5.ToString(), 5390);\n\t\t\t}\n\t\t\tif (verb.ForcedMissRadius > 0f)\n\t\t\t{\n\t\t\t\tStatCategoryDef statCat = verbStatCategory ?? StatCategoryDefOf.Weapon_Ranged;\n\t\t\t\tyield return new StatDrawEntry(statCat, \"MissRadius\".Translate(), verb.ForcedMissRadius.ToString(\"0.#\"), \"Stat_Thing_Weapon_MissRadius_Desc\".Translate(), 3557);\n\t\t\t\tyield return new StatDrawEntry(statCat, \"DirectHitChance\".Translate(), (1f / (float)GenRadial.NumCellsInRadius(verb.ForcedMissRadius)).ToStringPercent(), \"Stat_Thing_Weapon_DirectHitChance_Desc\".Translate(), 3560);\n\t\t\t}\n\t\t}\n\t\tif (plant != null)\n\t\t{\n\t\t\tforeach (StatDrawEntry item3 in plant.SpecialDisplayStats())\n\t\t\t{\n\t\t\t\tyield return item3;\n\t\t\t}\n\t\t}\n\t\tif (ingestible != null)\n\t\t{\n\t\t\tforeach (StatDrawEntry item4 in ingestible.SpecialDisplayStats())\n\t\t\t{\n\t\t\t\tyield return item4;\n\t\t\t}\n\t\t}\n\t\tif (race != null)\n\t\t{\n\t\t\tforeach (StatDrawEntry item5 in race.SpecialDisplayStats(this, req))\n\t\t\t{\n\t\t\t\tyield return item5;\n\t\t\t}\n\t\t}\n\t\tif (building != null)\n\t\t{\n\t\t\tforeach (StatDrawEntry item6 in building.SpecialDisplayStats(this, req))\n\t\t\t{\n\t\t\t\tyield return item6;\n\t\t\t}\n\t\t}\n\t\tif (isTechHediff)\n\t\t{\n\t\t\tIEnumerable enumerable2 = DefDatabase.AllDefs.Where((RecipeDef x) => x.addsHediff != null && x.IsIngredient(this));\n\t\t\tforeach (StatDrawEntry medicalStatsFromRecipeDef in MedicalRecipesUtility.GetMedicalStatsFromRecipeDefs(enumerable2))\n\t\t\t{\n\t\t\t\tyield return medicalStatsFromRecipeDef;\n\t\t\t}\n\t\t}\n\t\tfor (int i = 0; i < comps.Count; i++)\n\t\t{\n\t\t\tforeach (StatDrawEntry item7 in comps[i].SpecialDisplayStats(req))\n\t\t\t{\n\t\t\t\tyield return item7;\n\t\t\t}\n\t\t}\n\t\tif (building != null)\n\t\t{\n\t\t\tif (building.mineableThing != null)\n\t\t\t{\n\t\t\t\tDialog_InfoCard.Hyperlink[] hyperlinks = new Dialog_InfoCard.Hyperlink[1]\n\t\t\t\t{\n\t\t\t\t\tnew Dialog_InfoCard.Hyperlink(building.mineableThing)\n\t\t\t\t};\n\t\t\t\tyield return new StatDrawEntry(StatCategoryDefOf.BasicsImportant, \"Stat_MineableThing_Name\".Translate(), building.mineableThing.LabelCap, \"Stat_MineableThing_Desc\".Translate(), 2200, null, hyperlinks);\n\t\t\t\tStringBuilder stringBuilder6 = new StringBuilder();\n\t\t\t\tstringBuilder6.AppendLine(\"Stat_MiningYield_Desc\".Translate());\n\t\t\t\tstringBuilder6.AppendLine();\n\t\t\t\tstringBuilder6.AppendLine(\"StatsReport_DifficultyMultiplier\".Translate(Find.Storyteller.difficultyDef.label) + \": \" + Find.Storyteller.difficulty.mineYieldFactor.ToStringByStyle(ToStringStyle.PercentZero, ToStringNumberSense.Factor));\n\t\t\t\tyield return new StatDrawEntry(StatCategoryDefOf.Basics, \"Stat_MiningYield_Name\".Translate(), Mathf.CeilToInt(building.EffectiveMineableYield).ToString(\"F0\"), stringBuilder6.ToString(), 2200, null, hyperlinks);\n\t\t\t}\n\t\t\tif (building.IsTurret)\n\t\t\t{\n\t\t\t\tThingDef turret = building.turretGunDef;\n\t\t\t\tyield return new StatDrawEntry(StatCategoryDefOf.BasicsImportant, \"Stat_Weapon_Name\".Translate(), turret.LabelCap, \"Stat_Weapon_Desc\".Translate(), 5389, null, new Dialog_InfoCard.Hyperlink[1]\n\t\t\t\t{\n\t\t\t\t\tnew Dialog_InfoCard.Hyperlink(turret)\n\t\t\t\t});\n\t\t\t\tStatRequest request = StatRequest.For(turret, null);\n\t\t\t\tforeach (StatDrawEntry item8 in turret.SpecialDisplayStats(request))\n\t\t\t\t{\n\t\t\t\t\tif (item8.category == StatCategoryDefOf.Weapon_Ranged)\n\t\t\t\t\t{\n\t\t\t\t\t\tyield return item8;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tfor (int i = 0; i < turret.statBases.Count; i++)\n\t\t\t\t{\n\t\t\t\t\tStatModifier statModifier = turret.statBases[i];\n\t\t\t\t\tif (statModifier.stat.category == StatCategoryDefOf.Weapon_Ranged)\n\t\t\t\t\t{\n\t\t\t\t\t\tyield return new StatDrawEntry(StatCategoryDefOf.Weapon_Ranged, statModifier.stat, statModifier.value, request);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (ModsConfig.OdysseyActive && Fillage == FillCategory.Full)\n\t\t\t{\n\t\t\t\tbool b = building.isAirtight || (building.isStuffableAirtight && req.StuffDef.stuffProps.isAirtight);\n\t\t\t\tyield return new StatDrawEntry(StatCategoryDefOf.Building, \"Stat_Airtight\".Translate(), b.ToStringYesNo(), \"Stat_Airtight_Desc\".Translate(), 6100);\n\t\t\t}\n\t\t}\n\t\tif (IsMeat)\n\t\t{\n\t\t\tList list = new List();\n\t\t\tbool flag4 = false;\n\t\t\tforeach (ThingDef allDef in DefDatabase.AllDefs)\n\t\t\t{\n\t\t\t\tif (allDef.race != null && allDef.race.meatDef == this && !allDef.IsCorpse)\n\t\t\t\t{\n\t\t\t\t\tif (!Find.HiddenItemsManager.Hidden(allDef))\n\t\t\t\t\t{\n\t\t\t\t\t\tflag4 = true;\n\t\t\t\t\t}\n\t\t\t\t\tlist.Add(allDef);\n\t\t\t\t}\n\t\t\t}\n\t\t\tyield return new StatDrawEntry(valueString: (!flag4) ? string.Format(\"({0})\", \"NotYetDiscovered\".Translate()) : string.Join(\", \", (from x in list\n\t\t\t\twhere !Find.HiddenItemsManager.Hidden(x)\n\t\t\t\tselect x into p\n\t\t\t\tselect p.label).ToArray()).CapitalizeFirst(), category: StatCategoryDefOf.BasicsPawn, label: \"Stat_SourceSpecies_Name\".Translate(), reportText: \"Stat_SourceSpecies_Desc\".Translate(), displayPriorityWithinCategory: 1200, overrideReportTitle: null, hyperlinks: Dialog_InfoCard.DefsToHyperlinks(list));\n\t\t}\n\t\tif (IsLeather)\n\t\t{\n\t\t\tList list2 = new List();\n\t\t\tbool flag5 = false;\n\t\t\tforeach (ThingDef allDef2 in DefDatabase.AllDefs)\n\t\t\t{\n\t\t\t\tif (allDef2.race != null && allDef2.race.leatherDef == this && !allDef2.IsCorpse)\n\t\t\t\t{\n\t\t\t\t\tif (!Find.HiddenItemsManager.Hidden(allDef2))\n\t\t\t\t\t{\n\t\t\t\t\t\tflag5 = true;\n\t\t\t\t\t}\n\t\t\t\t\tlist2.Add(allDef2);\n\t\t\t\t}\n\t\t\t}\n\t\t\tyield return new StatDrawEntry(valueString: (!flag5) ? string.Format(\"({0})\", \"NotYetDiscovered\".Translate()) : string.Join(\", \", (from x in list2\n\t\t\t\twhere !Find.HiddenItemsManager.Hidden(x)\n\t\t\t\tselect x into p\n\t\t\t\tselect p.label).ToArray()).CapitalizeFirst(), category: StatCategoryDefOf.BasicsPawn, label: \"Stat_SourceSpecies_Name\".Translate(), reportText: \"Stat_SourceSpecies_Desc\".Translate(), displayPriorityWithinCategory: 1200, overrideReportTitle: null, hyperlinks: Dialog_InfoCard.DefsToHyperlinks(list2));\n\t\t}\n\t\tif (!equippedStatOffsets.NullOrEmpty())\n\t\t{\n\t\t\tfor (int i = 0; i < equippedStatOffsets.Count; i++)\n\t\t\t{\n\t\t\t\tStatDef stat = equippedStatOffsets[i].stat;\n\t\t\t\tfloat num8 = equippedStatOffsets[i].value;\n\t\t\t\tStringBuilder stringBuilder7 = new StringBuilder(stat.description);\n\t\t\t\tif (req.HasThing && stat.Worker != null)\n\t\t\t\t{\n\t\t\t\t\tstringBuilder7.AppendLine();\n\t\t\t\t\tstringBuilder7.AppendLine();\n\t\t\t\t\tstringBuilder7.AppendLine(\"StatsReport_BaseValue\".Translate() + \": \" + stat.ValueToString(num8, ToStringNumberSense.Offset, stat.finalizeEquippedStatOffset));\n\t\t\t\t\tnum8 = StatWorker.StatOffsetFromGear(req.Thing, stat);\n\t\t\t\t\tif (!stat.parts.NullOrEmpty())\n\t\t\t\t\t{\n\t\t\t\t\t\tstringBuilder7.AppendLine();\n\t\t\t\t\t\tfor (int k = 0; k < stat.parts.Count; k++)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tstring text = stat.parts[k].ExplanationPart(req);\n\t\t\t\t\t\t\tif (!text.NullOrEmpty())\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tstringBuilder7.AppendLine(text);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tstringBuilder7.AppendLine();\n\t\t\t\t\tstringBuilder7.AppendLine(\"StatsReport_FinalValue\".Translate() + \": \" + stat.ValueToString(num8, ToStringNumberSense.Offset, !stat.formatString.NullOrEmpty()));\n\t\t\t\t}\n\t\t\t\tyield return new StatDrawEntry(StatCategoryDefOf.EquippedStatOffsets, equippedStatOffsets[i].stat, num8, StatRequest.ForEmpty(), ToStringNumberSense.Offset, null, forceUnfinalizedMode: true).SetReportText(stringBuilder7.ToString());\n\t\t\t}\n\t\t}\n\t\tif (!IsDrug)\n\t\t{\n\t\t\tyield break;\n\t\t}\n\t\tforeach (StatDrawEntry item9 in DrugStatsUtility.SpecialDisplayStats(this))\n\t\t{\n\t\t\tyield return item9;\n\t\t}\n\t}\n}\n\n", "timestamp": "2025-08-22 16:02:42,858" }, "Verb": { "keywords": [ "Verb" ], "question": "RimWorld Verb class", "embedding": [ 0.012549128383398056, 0.016916820779442787, 0.039827682077884674, -0.02038256824016571, -0.001290777581743896, -0.029686110094189644, 0.012442599050700665, 0.04221393167972565, -0.019828617572784424, 0.13590273261070251, 0.002286824630573392, -0.06681505590677261, -0.029203178361058235, 0.007662993390113115, 0.07187163084745407, 0.024743160232901573, 0.03704372048377991, -0.07857586443424225, 0.0009427825571037829, 0.012641453184187412, -0.019530335441231728, 0.045026302337646484, 0.0015970488311722875, 0.046048980206251144, -0.03443020582199097, -0.0618152879178524, 0.016604335978627205, -0.025538576766848564, 0.005994037259370089, 2.4773564291535877e-05, -0.060849424451589584, 0.04832160100340843, 0.0074996487237513065, -0.023819906637072563, -0.021731937304139137, 0.036731235682964325, -0.03573696315288544, 0.006693578790873289, -0.035708554089069366, -0.023422198370099068, -0.014601589180529118, 0.010944089852273464, -0.004520385060459375, -0.047128476202487946, -0.03193032369017601, 0.03687327355146408, 0.01205909438431263, -0.06715594232082367, -0.02813788689672947, 0.02934521622955799, -0.010603196918964386, -0.008380289189517498, -0.06130394712090492, -0.017058860510587692, -0.023152325302362442, 0.025879470631480217, -0.004435161594301462, 0.05613373592495918, -0.04545241594314575, -0.0027413489297032356, 0.02025473304092884, -0.01712987944483757, -0.009374560788273811, -0.030169041827321053, -0.021490471437573433, -0.012911327183246613, 0.024643732234835625, 0.06380382925271988, -0.0018944424809888005, -0.07289431244134903, -0.0180815402418375, 0.03664601221680641, 0.027072595432400703, 0.008302167989313602, -0.012904224917292595, 0.03650397062301636, -0.03156102076172829, 0.022910859435796738, -0.05780979245901108, 0.04354909807443619, 0.010837560519576073, -0.043463874608278275, 0.006473418325185776, -0.004420957528054714, 0.022356906905770302, 0.056957561522722244, 0.03397568315267563, -0.019445111975073814, 0.009466886520385742, 0.10488145053386688, -0.031191721558570862, -0.0038101908285170794, 0.03576537221670151, -0.041106030344963074, 0.0009223644738085568, 0.0022530904971063137, -0.05863361805677414, -0.0010990252485498786, 0.0008038508240133524, -0.023166527971625328, 0.04315138980746269, -0.09329108893871307, -0.05834953859448433, 0.059258587658405304, -0.014353021048009396, 0.014587384648621082, -0.02749871276319027, -0.011533550918102264, -0.0008256005239672959, 0.0008424676489084959, 0.03582218661904335, -0.03190191462635994, -0.035935815423727036, 0.047355737537145615, 0.0354812927544117, 0.02514086849987507, -0.013657030649483204, 0.019516130909323692, -0.00015357945812866092, -0.014999297447502613, 0.04070832207798958, 0.0036131120286881924, -0.04150373861193657, -0.036702826619148254, 0.019516130909323692, -0.048122745007276535, 0.013323239982128143, 0.026206159964203835, 0.03133375942707062, 0.011668487451970577, -0.00816723145544529, 0.00759197399020195, 0.034685876220464706, -0.0006884442991577089, -0.019544539973139763, 0.03923111781477928, -0.035964224487543106, 0.003160363296046853, -0.05144645273685455, -0.017939500510692596, -0.018394025042653084, 0.013884292915463448, 0.024601120501756668, 0.019800208508968353, 0.022981878370046616, -0.010375934652984142, -0.06363338232040405, 0.033890459686517715, 0.019090015441179276, 0.01840822957456112, -0.0374414287507534, -0.02038256824016571, -0.012066196650266647, 0.0507078543305397, -0.002214029897004366, -0.028350945562124252, 0.015098724514245987, 0.008465512655675411, 0.03244166076183319, -0.008018090389668941, -0.022016014903783798, 0.037725504487752914, -0.01531178317964077, -0.01904740370810032, 0.005994037259370089, -0.047071658074855804, -0.010042143054306507, 0.03886181488633156, -0.025368129834532738, -0.05897451192140579, 0.0066509670577943325, 0.02552437223494053, -0.006974105257540941, -0.01649070531129837, 0.03269733116030693, -0.008330576121807098, -0.03374841809272766, 0.03403249755501747, 0.08760953694581985, 0.01057478878647089, 0.012016482651233673, 0.004499079193919897, 0.03326548635959625, 0.03579377755522728, 0.005397474393248558, -0.03934474661946297, 0.013642827048897743, 0.023720480501651764, 0.006672272924333811, 0.034344982355833054, -0.008046498522162437, 0.08613233268260956, -0.030027002096176147, 0.014828851446509361, -0.023677868768572807, -0.02271200530230999, -0.04352068901062012, 0.047867078334093094, -0.023677868768572807, -0.015468025580048561, -0.039060670882463455, -0.029629293829202652, -0.04729892313480377, -0.017499180510640144, 0.014942482113838196, 0.014196778647601604, -0.041674185544252396, -0.032043952494859695, 0.03482791408896446, -0.005156008526682854, 0.03707212582230568, -0.0037640281952917576, -0.03894703835248947, -0.015070317313075066, 0.03479950502514839, 0.017499180510640144, 0.018734918907284737, 0.006146728992462158, 0.015354394912719727, -0.0023986801970750093, -0.05758253112435341, 0.012108808383345604, -0.00415463512763381, 0.04744096100330353, 0.02580844983458519, 0.01712987944483757, 0.003478175261989236, -0.00925382785499096, -0.01025520171970129, 0.02391933463513851, -0.006189340725541115, 0.014139962382614613, -0.05610532686114311, -0.026745906099677086, 0.047923892736434937, -0.03996971994638443, -0.04434451460838318, -0.012627249583601952, -0.025155071169137955, 0.04724210500717163, -0.02207282930612564, 0.03758346661925316, -0.007670095190405846, 0.02988496422767639, 0.003057385329157114, -0.007151653524488211, -0.014530569314956665, 0.0024732507299631834, 0.029771333560347557, -0.026262974366545677, 0.005855549592524767, -0.03735620528459549, -0.022129645571112633, -0.002796388929709792, -0.01007765345275402, 0.03965723514556885, -0.024956217035651207, -0.006498275324702263, -0.020524606108665466, 0.00700251292437315, -0.042696863412857056, 0.011846035718917847, 0.014615792781114578, 0.022527353838086128, -0.030936051160097122, 0.021220596507191658, -0.006427255924791098, -0.022087033838033676, -0.009367459453642368, 0.02734247036278248, -0.014239390380680561, 0.06522421538829803, 0.04042424261569977, -0.04121965914964676, -0.026007303968071938, -0.0199990626424551, 0.005535962525755167, -0.02373468317091465, -0.013053365983068943, 0.010276507586240768, 0.006398848257958889, 0.01738554984331131, -0.018891161307692528, -0.022229071706533432, 0.016675354912877083, 0.012641453184187412, 0.02734247036278248, 0.012627249583601952, 0.016888413578271866, 0.026518644765019417, -0.005404576659202576, -0.011512245051562786, 0.01585153117775917, 0.03820843622088432, -0.024515897035598755, 0.0015659778146073222, -0.004523935727775097, 0.05891769379377365, -0.04437292367219925, 0.01311018131673336, 0.045821718871593475, -0.002782185096293688, -0.024544304236769676, 0.007662993390113115, 0.03326548635959625, -0.014161268249154091, -0.004570098593831062, -0.055622395128011703, 0.006675823591649532, -0.06198573485016823, -0.016220830380916595, -0.026589663699269295, 0.05445767566561699, -0.020169509574770927, -0.03553810715675354, 0.02714361436665058, -0.04246960207819939, -0.009324847720563412, 0.002819470129907131, 0.052298687398433685, -0.06119031459093094, -0.018550267443060875, -0.047355737537145615, 0.0032011994626373053, 0.016348665580153465, -0.00980777945369482, 0.021902384236454964, -0.03863455355167389, 0.007020267657935619, 0.022513151168823242, -0.029913371428847313, 0.0020844193641096354, 0.03210077062249184, 0.060565344989299774, 0.01651911251246929, 0.022527353838086128, 0.011185555718839169, -0.0004367693327367306, 0.016448093578219414, -0.027981644496321678, -0.0365607887506485, -0.05519627779722214, -0.047128476202487946, -0.04178781434893608, 0.07130347937345505, -0.0137351518496871, 0.03008381836116314, 0.017683830112218857, 0.04067991301417351, 0.001658302964642644, 0.0023454157635569572, 0.018962180241942406, -0.009516599588096142, -0.003746273461729288, -0.00037817831616848707, 0.020297344774007797, 0.015837326645851135, 0.03110649809241295, -0.048179563134908676, 0.008728284388780594, 0.0031745671294629574, 0.015254967845976353, -0.0016236810479313135, 0.04229915514588356, 0.007691401056945324, -0.004935848526656628, -0.04261163994669914, 0.04229915514588356, -0.02816629409790039, 0.018763326108455658, 0.010915681719779968, -0.06414472311735153, 0.021490471437573433, 0.02414659596979618, -0.03471428155899048, 0.035964224487543106, 0.0068107605911791325, -0.01958715170621872, -0.01401922944933176, 0.02140524797141552, 0.09812040627002716, -0.01843663677573204, 0.02178875170648098, -0.020041674375534058, 0.015368598513305187, 0.024672139436006546, 0.08016669750213623, 0.002002747030928731, 0.05235550180077553, -0.028748653829097748, 0.05246913433074951, -0.013635724782943726, -0.014253593981266022, -0.006693578790873289, 0.029430439695715904, 0.02156149037182331, -0.020553015172481537, 0.023677868768572807, 0.0014088473981246352, -0.014203879982233047, -0.023720480501651764, 0.007840542122721672, -0.07522375136613846, -0.022285887971520424, -0.007691401056945324, -0.0071694087237119675, 0.0045807515271008015, -0.02391933463513851, -0.020979130640625954, 0.009417172521352768, -0.06817862391471863, 0.029742924496531487, 0.03110649809241295, -0.003096445929259062, -0.020425179973244667, -0.012314763851463795, 0.032782554626464844, -0.010070551186800003, 0.03210077062249184, 0.006462765391916037, -0.014139962382614613, 0.06596282124519348, -0.0071694087237119675, -0.00925382785499096, -0.02721463516354561, 0.004009045194834471, 0.00993561465293169, 0.024799974635243416, 0.03664601221680641, 0.03874818608164787, -0.040339019149541855, -0.04170259088277817, -0.03039630316197872, 0.0572984516620636, 0.030424712225794792, -0.03496995195746422, -0.014644200913608074, 0.031191721558570862, -0.01613560877740383, 0.0011585039319470525, -0.02829412929713726, -0.0273708775639534, 0.004477773327380419, 0.01943090744316578, -0.049202241003513336, -0.008373187854886055, 0.024459082633256912, -0.025226091966032982, 0.013323239982128143, -0.008259556256234646, -0.008380289189517498, 0.004513282794505358, 0.03769709914922714, 0.017840074375271797, -0.017442364245653152, 0.027967439964413643, 0.0044422633945941925, 0.0013431544648483396, -0.023138120770454407, 0.000963200640399009, 0.03329389542341232, -0.018649695441126823, -0.03403249755501747, 0.04181622341275215, 0.019757596775889397, 0.008060702122747898, -0.01030491478741169, -0.006846270523965359, 0.019090015441179276, -0.05786660686135292, -0.005106294993311167, 0.05545194819569588, -0.04096399247646332, -0.011249473318457603, 0.017328733578324318, -0.06619007885456085, -0.004783156793564558, 0.066246896982193, 0.02660386823117733, 0.02350742183625698, -0.017328733578324318, 0.03843570128083229, -0.022016014903783798, -0.01789688877761364, -0.09783633053302765, -0.08124619722366333, -0.03582218661904335, 0.02785380929708481, 0.039287932217121124, -0.04593534767627716, 0.005425882060080767, -0.008351881988346577, -0.022285887971520424, 0.03352115675806999, -0.0053193531930446625, 0.017598608508706093, 0.012321866117417812, 0.022030217573046684, -0.00882060918956995, -0.03604944795370102, -0.027981644496321678, 0.04261163994669914, -0.04923065006732941, -0.010780745185911655, -0.014502162113785744, -0.008351881988346577, -0.005596328992396593, 0.00016467623936478049, -0.06687186658382416, -0.0027715321630239487, 0.008231149055063725, -0.013301934115588665, 0.048747718334198, -0.021547285839915276, -0.02896171249449253, 0.0035332152619957924, -0.012584637850522995, -0.022087033838033676, 0.027868013828992844, 0.03556651622056961, 0.019018996506929398, -0.01207329798489809, 0.04306616634130478, 0.00848681852221489, -0.008089110255241394, 0.005571471992880106, 0.028308333829045296, -0.0037817831616848707, 0.02389092743396759, -0.02245633490383625, -0.061417579650878906, -0.006647415924817324, 0.056417811661958694, 0.00835898332297802, 0.042412787675857544, 0.0014399184146896005, 0.008792201988399029, 0.017627015709877014, -0.002150112297385931, 0.09834766387939453, 0.028975915163755417, 0.03198713809251785, 0.01846504397690296, 0.02012689784169197, 0.05633258819580078, 0.06346293538808823, 0.03522562235593796, -0.026390809565782547, 0.018337208777666092, -0.0632924884557724, 0.017967907711863518, 0.04158896207809448, -0.016916820779442787, -0.03707212582230568, -0.001284563448280096, 0.008344779722392559, -0.03113490529358387, 0.051474861800670624, -0.008905832655727863, 0.009417172521352768, 0.009495293721556664, 0.01532598678022623, 0.024956217035651207, -0.020837092772126198, -0.01825198531150818, -0.0038243946619331837, -0.0034692976623773575, 0.0071552046574652195, -0.0011727078817784786, -0.0008420237572863698, 0.029970187693834305, -0.004864829126745462, -0.04289571940898895, -0.035964224487543106, 0.03889022395014763, -0.015411210246384144, 0.025084052234888077, 0.040395837277173996, 0.006246156524866819, -5.6815522839315236e-05, -0.011377308517694473, -2.5328403353341855e-05, -0.004101370461285114, 0.015496433712542057, -0.013479482382535934, 0.02232849970459938, -0.006895984057337046, -0.013117283582687378, 0.07590553909540176, 0.03218599408864975, 0.027427691966295242, 0.006171585991978645, -0.053577035665512085, -0.017016248777508736, -0.043691135942935944, 0.03661760315299034, 0.007961275056004524, 0.004236307460814714, 0.0669286847114563, 0.03340752795338631, -0.0023294363636523485, -0.07278068363666534, -0.03318026289343834, -0.002489230129867792, 0.052497539669275284, -0.011441225185990334, 0.0072794887237250805, 0.034373391419649124, 0.0034000538289546967, 0.0013396034482866526, -0.017172491177916527, 0.07658731937408447, 0.039060670882463455, -0.0006959901074878871, 0.039799273014068604, -0.05610532686114311, -0.016391277313232422, 0.028052663430571556, 0.0028301230631768703, -0.046844396740198135, -0.06198573485016823, -0.007201367523521185, 0.012911327183246613, -0.03766869008541107, -0.046560321003198624, -0.012897123582661152, -0.025467557832598686, -0.00048115645768120885, -0.07249660789966583, -0.043435465544462204, 0.014871462248265743, 0.017428161576390266, -0.02153308317065239, 0.03195872902870178, 0.057752978056669235, -0.012009380385279655, -0.002327660797163844, 0.019146829843521118, -0.06920130550861359, 0.01751338504254818, -0.0027342468965798616, 0.02826572209596634, -0.004392549861222506, 0.0017310979310423136, -0.0030786909628659487, -0.04468540847301483, -0.005763224326074123, -0.050736259669065475, 0.002107500797137618, -0.005908814258873463, -0.016888413578271866, 0.0029384277295321226, 0.025126663967967033, 0.003043181262910366, -0.025155071169137955, 0.021320024505257607, -0.0010928109986707568, 0.005500452592968941, -0.007187163457274437, -0.023649461567401886, 0.003432012628763914, -0.06817862391471863, -0.037782322615385056, 0.029458846896886826, 0.0071552046574652195, 0.05394633859395981, 0.013443972915410995, 0.003220729762688279, -0.0035847043618559837, 0.005638940259814262, -0.05604851245880127, -0.047895483672618866, 0.012691167183220387, -0.013294831849634647, 0.02535392716526985, 0.035140398889780045, -0.010134468786418438, -0.04391839727759361, 0.013408462516963482, -0.003735620528459549, -0.024189207702875137, 0.01569528691470623, -0.042725272476673126, -0.0329245962202549, -0.003739171428605914, 0.016391277313232422, -0.006274564191699028, 0.010106060653924942, -0.044486552476882935, 0.007329202257096767, 0.0365607887506485, -0.08130300790071487, 0.0169026181101799, 0.04360591247677803, -0.014388530515134335, -0.015567452646791935, -0.05869043245911598, -0.027285654097795486, 0.04437292367219925, 0.02634819783270359, -0.015155539847910404, -0.03170306235551834, -0.08783679455518723, 0.001508274581283331, 0.0035900308284908533, 0.0005526196910068393, 0.006036648992449045, -0.03795276954770088, 0.006370440125465393, -0.04136170074343681, -0.022356906905770302, 0.04121965914964676, 0.009516599588096142, -0.010823356918990612, -0.008706978522241116, 0.011142943985760212, 0.008550736121833324, 0.002150112297385931, -0.05065103620290756, 0.007854745723307133, -0.04099239781498909, 0.006544437725096941, -0.03792436048388481, -0.015397006645798683, -0.053065694868564606, 0.014395632781088352, -0.010148672387003899, 0.01071682758629322, -0.030424712225794792, 0.03394727408885956, -0.043435465544462204, -0.04752618446946144, 0.011270779184997082, -0.03158942982554436, 0.018323006108403206, -0.00024768017465248704, -0.0061822389252483845, -0.007854745723307133, 0.03525403141975403, -0.007183612324297428, -0.019516130909323692, -0.00853653158992529, -0.01997065544128418, -0.07141710817813873, 0.08942762762308121, 0.007847643457353115, -0.002357844030484557, -0.006615457125008106, 0.05295206606388092, 0.016419686377048492, -0.010084754787385464, 0.013720948249101639, 0.03960041701793671, -0.030481526628136635, -0.04420247673988342, 0.05502583086490631, -0.003835047595202923, 0.014218084514141083, 0.017627015709877014, 0.018351413309574127, -0.06312204152345657, 0.007148102857172489, 0.027285654097795486, 0.007471241056919098, -0.010645808652043343, 0.03377682715654373, -0.007670095190405846, -0.018422432243824005, -0.052043016999959946, 0.0011425246484577656, -0.022697800770401955, 0.004584302194416523, -0.03718575835227966, 0.0485488623380661, 0.04158896207809448, -0.014345918782055378, -0.0021110516972839832, -0.008103313855826855, -0.024444878101348877, -0.006317175924777985, 0.014956685714423656, -0.01840822957456112, 0.023592645302414894, -0.00686757592484355, 0.01815255917608738, 0.032299622893333435, -0.04479903727769852, 0.022882450371980667, -0.011100332252681255, -0.019786005839705467, 0.002501658396795392, 0.031191721558570862, 0.040566280484199524, 0.006619008257985115, 0.015084520913660526, -0.008877425454556942, 0.017271919175982475, 0.022953471168875694, 0.029458846896886826, 0.0350835844874382, -0.005986935459077358, -0.07721229642629623, -0.07959854602813721, -0.022513151168823242, 0.013266423717141151, -0.0058839572593569756, -0.004942950326949358, 0.012556229718029499, -0.015752103179693222, -0.0342029444873333, 0.00535131199285388, 0.004065860528498888, 0.014871462248265743, 0.0012321865651756525, 0.032526884227991104, -0.033350709825754166, -0.0290895476937294, -0.008941343054175377, 0.011561958119273186, 0.03863455355167389, -0.01728612184524536, 0.04335024207830429, 0.010354628786444664, -0.0018713612807914615, 0.011412817984819412, -0.017783258110284805, -0.005862651392817497, -0.040140166878700256, -0.009736759588122368, 0.01651911251246929, 0.032328031957149506, -0.003980637528002262, -0.0021447858307510614, 0.030225858092308044, 0.0021998260635882616, -0.009701250120997429, 0.016277646645903587, 0.008841915056109428, -0.012421293184161186, 0.02504144050180912, -0.0399981252849102, 0.015539045445621014, 0.02957247942686081, -0.007975478656589985, 0.035396069288253784, 0.0026135139632970095, -0.022981878370046616, -0.010212589986622334, -0.029657702893018723, -0.026262974366545677, -0.014701016247272491, 0.02424602396786213, -0.024544304236769676, -0.011618774384260178, 0.04417406767606735, 0.003739171428605914, 0.04357750341296196, 0.04667394980788231, -0.010063448920845985, 0.0485488623380661, -0.02578004263341427, -0.04028220474720001, -0.022498946636915207, 0.033890459686517715, -0.035651739686727524, 0.012499414384365082, 0.013337443582713604, 0.00909048318862915, 0.01643388904631138, -0.014558977447450161, 0.035708554089069366, 0.11169931292533875, 0.025510169565677643, 0.05445767566561699, 0.035197217017412186, -0.0014905197313055396, -0.014828851446509361, 0.02345060557126999, -0.022626781836152077, 0.0436343215405941, 0.03496995195746422, -0.002812368329614401, -0.002892265096306801, -0.02194499410688877, -0.015240763314068317, -0.0029153465293347836, -0.005880406592041254, -0.000893068965524435, -0.04070832207798958, -0.0009951593820005655, 0.06698550283908844, 0.013131487183272839, 0.037270981818437576, 0.07971217483282089, 0.03996971994638443, 0.03471428155899048, -0.050736259669065475, 0.019501928240060806, 0.034629061818122864, 0.017399752512574196, 0.01409735158085823, -0.03110649809241295, 0.049486320465803146, 0.006409501191228628, -0.0463898740708828, -0.009147298522293568, 0.022825635969638824, -0.018095742911100388, -0.05471334606409073, 0.00032646729960106313, -0.007854745723307133, 0.011696895584464073, 0.020055878907442093, -0.03693008795380592, -0.03917430341243744, 0.007662993390113115, -0.02176034450531006, 0.11084707826375961, 0.044770631939172745, 0.0018766876310110092, -0.004758299794048071, -0.04252641648054123, 0.01735714077949524, -0.02670329436659813, -0.005315802060067654, -0.00786184798926115, -0.02386251837015152, 0.037526652216911316, -0.029203178361058235, 1.5299687220249325e-05, 0.031191721558570862, 0.03158942982554436, 0.031248535960912704, 0.006001139525324106, -0.02281143143773079, -0.0059336707927286625, -0.020695053040981293, -0.0211779847741127, -0.04312298074364662, -0.015539045445621014, -0.010787847451865673, -0.04286731034517288, 0.0181809663772583, 0.016575928777456284, 0.05323614180088043, -0.012534924782812595, 0.02519768290221691, -0.006249707192182541, 0.0340040884912014, 0.019828617572784424, -0.016405481845140457, 0.018479248508810997, -0.017811665311455727, -0.006207095459103584, 0.0019406051142141223, -0.0425548255443573, 0.014118657447397709, -0.04124806821346283, 0.005024622660130262, -0.028109479695558548, 0.05840635672211647, -0.01387719064950943, -0.043463874608278275, -0.028095275163650513, -0.011952565051615238, -0.007101939991116524, -0.017016248777508736, 0.011391512118279934, -0.004847073927521706, -0.0012277478817850351, -0.010319119319319725, 0.017328733578324318, -0.008870323188602924, -0.03343593329191208, -0.0014834176981821656, -0.00727238692343235, -0.037555061280727386, -0.05209983140230179, -0.11493779718875885, 0.005848447792232037, -0.0027999398298561573, 0.019146829843521118, -0.016959432512521744, -0.0026774313300848007, -0.010709725320339203, 0.010773642919957638, 0.034089311957359314, 0.004612710326910019, 0.00848681852221489, -0.00311775179579854, -0.008302167989313602, -0.028379352763295174, 0.001398194464854896, 0.03377682715654373, 0.019899636507034302, -0.016249239444732666, -0.009381663054227829, 0.0016414358979091048, 0.012961041182279587, 0.03366319462656975, -0.041901446878910065, 0.012577535584568977, -0.01738554984331131, -0.017527587711811066, -0.009722555987536907, -0.00877089612185955, -0.06744002550840378, 0.03684486448764801, -0.015482229180634022, -0.012016482651233673, 0.05886087939143181, -0.03786754608154297, 0.053804297000169754, -0.021220596507191658, 0.02239951863884926, -0.0018323005642741919, -0.006082811858505011, 0.012179827317595482, 0.04752618446946144, -0.02176034450531006, -0.0007803256739862263, -0.0024732507299631834, -0.004612710326910019, -0.0033183814957737923 ], "result": "--- 结果 1 (相似度: 1.000) ---\n文件路径: C:\\Steam\\steamapps\\common\\RimWorld\\Data\\dll1.6\\Verse\\Verb.txt\n\npublic abstract class Verb : ITargetingSource, IExposable, ILoadReferenceable\n{\n\tpublic VerbProperties verbProps;\n\n\tpublic VerbTracker verbTracker;\n\n\tpublic ManeuverDef maneuver;\n\n\tpublic Tool tool;\n\n\tpublic Thing caster;\n\n\tpublic MechanitorControlGroup controlGroup;\n\n\tpublic string loadID;\n\n\tpublic VerbState state;\n\n\tprotected LocalTargetInfo currentTarget;\n\n\tprotected LocalTargetInfo currentDestination;\n\n\tprotected int burstShotsLeft;\n\n\tprotected int ticksToNextBurstShot;\n\n\tprotected int lastShotTick = -999999;\n\n\tprotected bool surpriseAttack;\n\n\tprotected bool canHitNonTargetPawnsNow = true;\n\n\tpublic bool preventFriendlyFire;\n\n\tprotected bool nonInterruptingSelfCast;\n\n\tpublic Action castCompleteCallback;\n\n\tprivate Texture2D commandIconCached;\n\n\tprivate readonly List> maintainedEffecters = new List>();\n\n\tprivate int? cachedTicksBetweenBurstShots;\n\n\tprivate int? cachedBurstShotCount;\n\n\tprivate static readonly List tempLeanShootSources = new List();\n\n\tprivate static readonly List tempDestList = new List();\n\n\tpublic IVerbOwner DirectOwner => verbTracker.directOwner;\n\n\tpublic ImplementOwnerTypeDef ImplementOwnerType => verbTracker.directOwner.ImplementOwnerTypeDef;\n\n\tpublic CompEquippable EquipmentCompSource => DirectOwner as CompEquippable;\n\n\tpublic CompApparelReloadable ReloadableCompSource => DirectOwner as CompApparelReloadable;\n\n\tpublic CompApparelVerbOwner_Charged VerbOwner_ChargedCompSource => DirectOwner as CompApparelVerbOwner_Charged;\n\n\tpublic ThingWithComps EquipmentSource\n\t{\n\t\tget\n\t\t{\n\t\t\tif (EquipmentCompSource != null)\n\t\t\t{\n\t\t\t\treturn EquipmentCompSource.parent;\n\t\t\t}\n\t\t\tif (ReloadableCompSource != null)\n\t\t\t{\n\t\t\t\treturn ReloadableCompSource.parent;\n\t\t\t}\n\t\t\tif (VerbOwner_ChargedCompSource != null)\n\t\t\t{\n\t\t\t\treturn VerbOwner_ChargedCompSource.parent;\n\t\t\t}\n\t\t\treturn null;\n\t\t}\n\t}\n\n\tpublic HediffComp_VerbGiver HediffCompSource => DirectOwner as HediffComp_VerbGiver;\n\n\tpublic Hediff HediffSource\n\t{\n\t\tget\n\t\t{\n\t\t\tif (HediffCompSource == null)\n\t\t\t{\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\treturn HediffCompSource.parent;\n\t\t}\n\t}\n\n\tpublic Pawn_MeleeVerbs_TerrainSource TerrainSource => DirectOwner as Pawn_MeleeVerbs_TerrainSource;\n\n\tpublic TerrainDef TerrainDefSource\n\t{\n\t\tget\n\t\t{\n\t\t\tif (TerrainSource == null)\n\t\t\t{\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\treturn TerrainSource.def;\n\t\t}\n\t}\n\n\tpublic virtual Thing Caster => caster;\n\n\tpublic virtual Pawn CasterPawn => caster as Pawn;\n\n\tpublic virtual Verb GetVerb => this;\n\n\tpublic virtual bool CasterIsPawn => caster is Pawn;\n\n\tpublic virtual bool Targetable => verbProps.targetable;\n\n\tpublic virtual bool MultiSelect => false;\n\n\tpublic virtual bool HidePawnTooltips => false;\n\n\tpublic LocalTargetInfo CurrentTarget => currentTarget;\n\n\tpublic LocalTargetInfo CurrentDestination => currentDestination;\n\n\tpublic int LastShotTick => lastShotTick;\n\n\tpublic virtual TargetingParameters targetParams => verbProps.targetParams;\n\n\tpublic virtual ITargetingSource DestinationSelector => null;\n\n\tprotected virtual int ShotsPerBurst => 1;\n\n\tpublic virtual Texture2D UIIcon\n\t{\n\t\tget\n\t\t{\n\t\t\tif (verbProps.commandIcon != null)\n\t\t\t{\n\t\t\t\tif (commandIconCached == null)\n\t\t\t\t{\n\t\t\t\t\tcommandIconCached = ContentFinder.Get(verbProps.commandIcon);\n\t\t\t\t}\n\t\t\t\treturn commandIconCached;\n\t\t\t}\n\t\t\tif (EquipmentSource != null)\n\t\t\t{\n\t\t\t\treturn EquipmentSource.def.uiIcon;\n\t\t\t}\n\t\t\treturn BaseContent.BadTex;\n\t\t}\n\t}\n\n\tpublic bool Bursting => burstShotsLeft > 0;\n\n\tpublic virtual bool IsMeleeAttack => verbProps.IsMeleeAttack;\n\n\tpublic bool BuggedAfterLoading => verbProps == null;\n\n\tpublic bool WarmingUp => WarmupStance != null;\n\n\tpublic Stance_Warmup WarmupStance\n\t{\n\t\tget\n\t\t{\n\t\t\tif (CasterPawn == null || !CasterPawn.Spawned)\n\t\t\t{\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tif (!(CasterPawn.stances.curStance is Stance_Warmup stance_Warmup) || stance_Warmup.verb != this)\n\t\t\t{\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\treturn stance_Warmup;\n\t\t}\n\t}\n\n\tpublic int WarmupTicksLeft\n\t{\n\t\tget\n\t\t{\n\t\t\tif (WarmupStance == null)\n\t\t\t{\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t\treturn WarmupStance.ticksLeft;\n\t\t}\n\t}\n\n\tpublic float WarmupProgress => 1f - WarmupTicksLeft.TicksToSeconds() / verbProps.warmupTime;\n\n\tpublic virtual string ReportLabel => verbProps.label;\n\n\tpublic virtual float EffectiveRange => verbProps.AdjustedRange(this, Caster);\n\n\tpublic virtual float? AimAngleOverride => null;\n\n\tpublic bool NonInterruptingSelfCast\n\t{\n\t\tget\n\t\t{\n\t\t\tif (!verbProps.nonInterruptingSelfCast)\n\t\t\t{\n\t\t\t\treturn nonInterruptingSelfCast;\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t}\n\n\tpublic int TicksBetweenBurstShots\n\t{\n\t\tget\n\t\t{\n\t\t\tif (!cachedTicksBetweenBurstShots.HasValue)\n\t\t\t{\n\t\t\t\tfloat num = verbProps.ticksBetweenBurstShots;\n\t\t\t\tif (EquipmentSource != null && EquipmentSource.TryGetComp(out var comp))\n\t\t\t\t{\n\t\t\t\t\tforeach (WeaponTraitDef item in comp.TraitsListForReading)\n\t\t\t\t\t{\n\t\t\t\t\t\tnum /= item.burstShotSpeedMultiplier;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tcachedTicksBetweenBurstShots = Mathf.RoundToInt(num);\n\t\t\t}\n\t\t\treturn cachedTicksBetweenBurstShots.Value;\n\t\t}\n\t}\n\n\tpublic int BurstShotCount\n\t{\n\t\tget\n\t\t{\n\t\t\tif (!cachedBurstShotCount.HasValue)\n\t\t\t{\n\t\t\t\tfloat num = verbProps.burstShotCount;\n\t\t\t\tif (EquipmentSource != null && EquipmentSource.TryGetComp(out var comp))\n\t\t\t\t{\n\t\t\t\t\tforeach (WeaponTraitDef item in comp.TraitsListForReading)\n\t\t\t\t\t{\n\t\t\t\t\t\tnum *= item.burstShotCountMultiplier;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tcachedBurstShotCount = Mathf.CeilToInt(num);\n\t\t\t}\n\t\t\treturn cachedBurstShotCount.Value;\n\t\t}\n\t}\n\n\tpublic bool IsStillUsableBy(Pawn pawn)\n\t{\n\t\tif (!Available())\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tif (!DirectOwner.VerbsStillUsableBy(pawn))\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tif (verbProps.GetDamageFactorFor(this, pawn) == 0f)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tif (pawn.IsSubhuman && verbProps.category == VerbCategory.Ignite)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t}\n\n\tpublic virtual bool IsUsableOn(Thing target)\n\t{\n\t\treturn true;\n\t}\n\n\tpublic virtual void ExposeData()\n\t{\n\t\tScribe_Values.Look(ref loadID, \"loadID\");\n\t\tScribe_Values.Look(ref state, \"state\", VerbState.Idle);\n\t\tScribe_TargetInfo.Look(ref currentTarget, \"currentTarget\");\n\t\tScribe_TargetInfo.Look(ref currentDestination, \"currentDestination\");\n\t\tScribe_Values.Look(ref burstShotsLeft, \"burstShotsLeft\", 0);\n\t\tScribe_Values.Look(ref ticksToNextBurstShot, \"ticksToNextBurstShot\", 0);\n\t\tScribe_Values.Look(ref lastShotTick, \"lastShotTick\", 0);\n\t\tScribe_Values.Look(ref surpriseAttack, \"surpriseAttack\", defaultValue: false);\n\t\tScribe_Values.Look(ref canHitNonTargetPawnsNow, \"canHitNonTargetPawnsNow\", defaultValue: false);\n\t\tScribe_Values.Look(ref preventFriendlyFire, \"preventFriendlyFire\", defaultValue: false);\n\t\tScribe_Values.Look(ref nonInterruptingSelfCast, \"nonInterruptingSelfCast\", defaultValue: false);\n\t}\n\n\tpublic string GetUniqueLoadID()\n\t{\n\t\treturn \"Verb_\" + loadID;\n\t}\n\n\tpublic static string CalculateUniqueLoadID(IVerbOwner owner, Tool tool, ManeuverDef maneuver)\n\t{\n\t\treturn string.Format(\"{0}_{1}_{2}\", owner.UniqueVerbOwnerID(), (tool != null) ? tool.id : \"NT\", (maneuver != null) ? maneuver.defName : \"NM\");\n\t}\n\n\tpublic static string CalculateUniqueLoadID(IVerbOwner owner, int index)\n\t{\n\t\treturn $\"{owner.UniqueVerbOwnerID()}_{index}\";\n\t}\n\n\tpublic bool TryStartCastOn(LocalTargetInfo castTarg, bool surpriseAttack = false, bool canHitNonTargetPawns = true, bool preventFriendlyFire = false, bool nonInterruptingSelfCast = false)\n\t{\n\t\treturn TryStartCastOn(castTarg, LocalTargetInfo.Invalid, surpriseAttack, canHitNonTargetPawns, preventFriendlyFire, nonInterruptingSelfCast);\n\t}\n\n\tpublic virtual bool TryStartCastOn(LocalTargetInfo castTarg, LocalTargetInfo destTarg, bool surpriseAttack = false, bool canHitNonTargetPawns = true, bool preventFriendlyFire = false, bool nonInterruptingSelfCast = false)\n\t{\n\t\tif (caster == null)\n\t\t{\n\t\t\tLog.Error(\"Verb \" + GetUniqueLoadID() + \" needs caster to work (possibly lost during saving/loading).\");\n\t\t\treturn false;\n\t\t}\n\t\tif (!caster.Spawned)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tif (state == VerbState.Bursting || !CanHitTarget(castTarg))\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tif (CausesTimeSlowdown(castTarg))\n\t\t{\n\t\t\tFind.TickManager.slower.SignalForceNormalSpeed();\n\t\t}\n\t\tthis.surpriseAttack = surpriseAttack;\n\t\tcanHitNonTargetPawnsNow = canHitNonTargetPawns;\n\t\tthis.preventFriendlyFire = preventFriendlyFire;\n\t\tthis.nonInterruptingSelfCast = nonInterruptingSelfCast;\n\t\tcurrentTarget = castTarg;\n\t\tcurrentDestination = destTarg;\n\t\tif (CasterIsPawn && verbProps.warmupTime > 0f)\n\t\t{\n\t\t\tif (!TryFindShootLineFromTo(caster.Position, castTarg, out var resultingLine))\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tCasterPawn.Drawer.Notify_WarmingCastAlongLine(resultingLine, caster.Position);\n\t\t\tfloat statValue = CasterPawn.GetStatValue(StatDefOf.AimingDelayFactor);\n\t\t\tint ticks = (verbProps.warmupTime * statValue).SecondsToTicks();\n\t\t\tCasterPawn.stances.SetStance(new Stance_Warmup(ticks, castTarg, this));\n\t\t\tif (verbProps.stunTargetOnCastStart && castTarg.Pawn != null)\n\t\t\t{\n\t\t\t\tcastTarg.Pawn.stances.stunner.StunFor(ticks, null, addBattleLog: false);\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tif (verbTracker.directOwner is Ability ability)\n\t\t\t{\n\t\t\t\tability.lastCastTick = Find.TickManager.TicksGame;\n\t\t\t}\n\t\t\tWarmupComplete();\n\t\t}\n\t\treturn true;\n\t}\n\n\tpublic virtual void WarmupComplete()\n\t{\n\t\tburstShotsLeft = ShotsPerBurst;\n\t\tstate = VerbState.Bursting;\n\t\tTryCastNextBurstShot();\n\t}\n\n\tpublic void VerbTick()\n\t{\n\t\tif (state == VerbState.Bursting)\n\t\t{\n\t\t\tif (!caster.Spawned || (caster is Pawn pawn && pawn.stances.stunner.Stunned))\n\t\t\t{\n\t\t\t\tReset();\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tticksToNextBurstShot--;\n\t\t\t\tif (ticksToNextBurstShot <= 0)\n\t\t\t\t{\n\t\t\t\t\tTryCastNextBurstShot();\n\t\t\t\t}\n\t\t\t\tBurstingTick();\n\t\t\t}\n\t\t}\n\t\tfor (int num = maintainedEffecters.Count - 1; num >= 0; num--)\n\t\t{\n\t\t\tEffecter item = maintainedEffecters[num].Item1;\n\t\t\tif (item.ticksLeft > 0)\n\t\t\t{\n\t\t\t\tTargetInfo item2 = maintainedEffecters[num].Item2;\n\t\t\t\tTargetInfo item3 = maintainedEffecters[num].Item3;\n\t\t\t\titem.EffectTick(item2, item3);\n\t\t\t\titem.ticksLeft--;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\titem.Cleanup();\n\t\t\t\tmaintainedEffecters.RemoveAt(num);\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic virtual void BurstingTick()\n\t{\n\t}\n\n\tpublic void AddEffecterToMaintain(Effecter eff, IntVec3 pos, int ticks, Map map = null)\n\t{\n\t\teff.ticksLeft = ticks;\n\t\tTargetInfo targetInfo = new TargetInfo(pos, map ?? caster.Map);\n\t\tmaintainedEffecters.Add(new Tuple(eff, targetInfo, targetInfo));\n\t}\n\n\tpublic void AddEffecterToMaintain(Effecter eff, IntVec3 posA, IntVec3 posB, int ticks, Map map = null)\n\t{\n\t\teff.ticksLeft = ticks;\n\t\tTargetInfo item = new TargetInfo(posA, map ?? caster.Map);\n\t\tTargetInfo item2 = new TargetInfo(posB, map ?? caster.Map);\n\t\tmaintainedEffecters.Add(new Tuple(eff, item, item2));\n\t}\n\n\tpublic virtual bool Available()\n\t{\n\t\tif (verbProps.consumeFuelPerShot > 0f)\n\t\t{\n\t\t\tCompRefuelable compRefuelable = caster.TryGetComp();\n\t\t\tif (compRefuelable != null && compRefuelable.Fuel < verbProps.consumeFuelPerShot)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\tCompApparelVerbOwner compApparelVerbOwner = EquipmentSource?.GetComp();\n\t\tif (compApparelVerbOwner != null && !compApparelVerbOwner.CanBeUsed(out var reason))\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tif (CasterIsPawn && EquipmentSource != null && EquipmentUtility.RolePreventsFromUsing(CasterPawn, EquipmentSource, out reason))\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t}\n\n\tprotected void TryCastNextBurstShot()\n\t{\n\t\tLocalTargetInfo localTargetInfo = currentTarget;\n\t\tif (Available() && TryCastShot())\n\t\t{\n\t\t\tif (verbProps.muzzleFlashScale > 0.01f)\n\t\t\t{\n\t\t\t\tFleckMaker.Static(caster.Position, caster.Map, FleckDefOf.ShotFlash, verbProps.muzzleFlashScale);\n\t\t\t}\n\t\t\tif (verbProps.soundCast != null)\n\t\t\t{\n\t\t\t\tverbProps.soundCast.PlayOneShot(new TargetInfo(caster.Position, caster.MapHeld));\n\t\t\t}\n\t\t\tif (verbProps.soundCastTail != null)\n\t\t\t{\n\t\t\t\tverbProps.soundCastTail.PlayOneShotOnCamera(caster.Map);\n\t\t\t}\n\t\t\tif (CasterIsPawn)\n\t\t\t{\n\t\t\t\tCasterPawn.Notify_UsedVerb(CasterPawn, this);\n\t\t\t\tif (CasterPawn.thinker != null && localTargetInfo == CasterPawn.mindState.enemyTarget)\n\t\t\t\t{\n\t\t\t\t\tCasterPawn.mindState.Notify_EngagedTarget();\n\t\t\t\t}\n\t\t\t\tif (CasterPawn.mindState != null)\n\t\t\t\t{\n\t\t\t\t\tCasterPawn.mindState.Notify_AttackedTarget(localTargetInfo);\n\t\t\t\t}\n\t\t\t\tif (CasterPawn.MentalState != null)\n\t\t\t\t{\n\t\t\t\t\tCasterPawn.MentalState.Notify_AttackedTarget(localTargetInfo);\n\t\t\t\t}\n\t\t\t\tif (TerrainDefSource != null)\n\t\t\t\t{\n\t\t\t\t\tCasterPawn.meleeVerbs.Notify_UsedTerrainBasedVerb();\n\t\t\t\t}\n\t\t\t\tif (CasterPawn.health != null)\n\t\t\t\t{\n\t\t\t\t\tCasterPawn.health.Notify_UsedVerb(this, localTargetInfo);\n\t\t\t\t}\n\t\t\t\tif (EquipmentSource != null)\n\t\t\t\t{\n\t\t\t\t\tEquipmentSource.Notify_UsedWeapon(CasterPawn);\n\t\t\t\t}\n\t\t\t\tif (!CasterPawn.Spawned)\n\t\t\t\t{\n\t\t\t\t\tReset();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (verbProps.consumeFuelPerShot > 0f)\n\t\t\t{\n\t\t\t\tcaster.TryGetComp()?.ConsumeFuel(verbProps.consumeFuelPerShot);\n\t\t\t}\n\t\t\tburstShotsLeft--;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tburstShotsLeft = 0;\n\t\t}\n\t\tif (burstShotsLeft > 0)\n\t\t{\n\t\t\tticksToNextBurstShot = TicksBetweenBurstShots;\n\t\t\tif (CasterIsPawn && !NonInterruptingSelfCast)\n\t\t\t{\n\t\t\t\tCasterPawn.stances.SetStance(new Stance_Cooldown(TicksBetweenBurstShots + 1, currentTarget, this));\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\t\tstate = VerbState.Idle;\n\t\tif (CasterIsPawn && !NonInterruptingSelfCast)\n\t\t{\n\t\t\tCasterPawn.stances.SetStance(new Stance_Cooldown(verbProps.AdjustedCooldownTicks(this, CasterPawn), currentTarget, this));\n\t\t}\n\t\tif (castCompleteCallback != null)\n\t\t{\n\t\t\tcastCompleteCallback();\n\t\t}\n\t\tif (verbProps.consumeFuelPerBurst > 0f)\n\t\t{\n\t\t\tcaster.TryGetComp()?.ConsumeFuel(verbProps.consumeFuelPerBurst);\n\t\t}\n\t}\n\n\tpublic virtual void OrderForceTarget(LocalTargetInfo target)\n\t{\n\t\tif (verbProps.IsMeleeAttack)\n\t\t{\n\t\t\tJob job = JobMaker.MakeJob(JobDefOf.AttackMelee, target);\n\t\t\tjob.playerForced = true;\n\t\t\tif (target.Thing is Pawn pawn)\n\t\t\t{\n\t\t\t\tjob.killIncappedTarget = pawn.Downed;\n\t\t\t}\n\t\t\tCasterPawn.jobs.TryTakeOrderedJob(job, JobTag.Misc);\n\t\t\treturn;\n\t\t}\n\t\tfloat num = verbProps.EffectiveMinRange(target, CasterPawn);\n\t\tif ((float)CasterPawn.Position.DistanceToSquared(target.Cell) < num * num && CasterPawn.Position.AdjacentTo8WayOrInside(target.Cell))\n\t\t{\n\t\t\tMessages.Message(\"MessageCantShootInMelee\".Translate(), CasterPawn, MessageTypeDefOf.RejectInput, historical: false);\n\t\t\treturn;\n\t\t}\n\t\tJob job2 = JobMaker.MakeJob(verbProps.ai_IsWeapon ? JobDefOf.AttackStatic : JobDefOf.UseVerbOnThing);\n\t\tjob2.verbToUse = this;\n\t\tjob2.targetA = target;\n\t\tjob2.endIfCantShootInMelee = true;\n\t\tCasterPawn.jobs.TryTakeOrderedJob(job2, JobTag.Misc);\n\t}\n\n\tprotected abstract bool TryCastShot();\n\n\tpublic void Notify_PickedUp()\n\t{\n\t\tReset();\n\t}\n\n\tpublic virtual void Reset()\n\t{\n\t\tstate = VerbState.Idle;\n\t\tcurrentTarget = null;\n\t\tcurrentDestination = null;\n\t\tburstShotsLeft = 0;\n\t\tticksToNextBurstShot = 0;\n\t\tcastCompleteCallback = null;\n\t\tsurpriseAttack = false;\n\t\tpreventFriendlyFire = false;\n\t}\n\n\tpublic virtual void Notify_EquipmentLost()\n\t{\n\t\tif (!CasterIsPawn)\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\tPawn casterPawn = CasterPawn;\n\t\tif (casterPawn.Spawned)\n\t\t{\n\t\t\tif (casterPawn.stances.curStance is Stance_Warmup stance_Warmup && stance_Warmup.verb == this)\n\t\t\t{\n\t\t\t\tcasterPawn.stances.CancelBusyStanceSoft();\n\t\t\t}\n\t\t\tif (casterPawn.CurJob != null && casterPawn.CurJob.def == JobDefOf.AttackStatic)\n\t\t\t{\n\t\t\t\tcasterPawn.jobs.EndCurrentJob(JobCondition.Incompletable);\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic virtual float HighlightFieldRadiusAroundTarget(out bool needLOSToCenter)\n\t{\n\t\tneedLOSToCenter = false;\n\t\treturn 0f;\n\t}\n\n\tprivate bool CausesTimeSlowdown(LocalTargetInfo castTarg)\n\t{\n\t\tif (!verbProps.CausesTimeSlowdown)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tif (!castTarg.HasThing)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tThing thing = castTarg.Thing;\n\t\tif (thing.def.category != ThingCategory.Pawn && (thing.def.building == null || !thing.def.building.IsTurret))\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tPawn pawn = thing as Pawn;\n\t\tbool flag = pawn?.Downed ?? false;\n\t\tif ((CasterPawn != null && CasterPawn.Faction == Faction.OfPlayer && CasterPawn.IsShambler) || (pawn != null && pawn.Faction == Faction.OfPlayer && pawn.IsShambler))\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tif (thing.Faction != Faction.OfPlayer || !caster.HostileTo(Faction.OfPlayer))\n\t\t{\n\t\t\tif (caster.Faction == Faction.OfPlayer && thing.HostileTo(Faction.OfPlayer))\n\t\t\t{\n\t\t\t\treturn !flag;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t}\n\n\tpublic virtual bool CanHitTarget(LocalTargetInfo targ)\n\t{\n\t\tif (caster == null || !caster.Spawned)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tif (targ == caster)\n\t\t{\n\t\t\treturn true;\n\t\t}\n\t\treturn CanHitTargetFrom(caster.Position, targ);\n\t}\n\n\tpublic virtual bool ValidateTarget(LocalTargetInfo target, bool showMessages = true)\n\t{\n\t\tif (CasterIsPawn && target.Thing is Pawn p && (p.InSameExtraFaction(caster as Pawn, ExtraFactionType.HomeFaction) || p.InSameExtraFaction(caster as Pawn, ExtraFactionType.MiniFaction)))\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tif (CasterIsPawn && target.Thing is Pawn victim && HistoryEventUtility.IsKillingInnocentAnimal(CasterPawn, victim) && !new HistoryEvent(HistoryEventDefOf.KilledInnocentAnimal, CasterPawn.Named(HistoryEventArgsNames.Doer)).Notify_PawnAboutToDo())\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tif (CasterIsPawn && target.Thing is Pawn pawn && CasterPawn.Ideo != null && CasterPawn.Ideo.IsVeneratedAnimal(pawn) && !new HistoryEvent(HistoryEventDefOf.HuntedVeneratedAnimal, CasterPawn.Named(HistoryEventArgsNames.Doer)).Notify_PawnAboutToDo())\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t}\n\n\tpublic virtual void DrawHighlight(LocalTargetInfo target)\n\t{\n\t\tverbProps.DrawRadiusRing(caster.Position, this);\n\t\tif (target.IsValid)\n\t\t{\n\t\t\tGenDraw.DrawTargetHighlight(target);\n\t\t\tDrawHighlightFieldRadiusAroundTarget(target);\n\t\t}\n\t}\n\n\tprotected void DrawHighlightFieldRadiusAroundTarget(LocalTargetInfo target)\n\t{\n\t\tbool needLOSToCenter;\n\t\tfloat num = HighlightFieldRadiusAroundTarget(out needLOSToCenter);\n\t\tif (!(num > 0.2f) || !TryFindShootLineFromTo(caster.Position, target, out var resultingLine))\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\tif (needLOSToCenter)\n\t\t{\n\t\t\tGenExplosion.RenderPredictedAreaOfEffect(resultingLine.Dest, num, verbProps.explosionRadiusRingColor);\n\t\t\treturn;\n\t\t}\n\t\tGenDraw.DrawFieldEdges((from x in GenRadial.RadialCellsAround(resultingLine.Dest, num, useCenter: true)\n\t\t\twhere x.InBounds(Find.CurrentMap)\n\t\t\tselect x).ToList(), verbProps.explosionRadiusRingColor);\n\t}\n\n\tpublic virtual void OnGUI(LocalTargetInfo target)\n\t{\n\t\tTexture2D icon = ((!target.IsValid) ? TexCommand.CannotShoot : ((!(UIIcon != BaseContent.BadTex)) ? TexCommand.Attack : UIIcon));\n\t\tGenUI.DrawMouseAttachment(icon);\n\t}\n\n\tpublic virtual bool CanHitTargetFrom(IntVec3 root, LocalTargetInfo targ)\n\t{\n\t\tif (targ.Thing != null && targ.Thing == caster)\n\t\t{\n\t\t\treturn targetParams.canTargetSelf;\n\t\t}\n\t\tif (targ.Pawn != null && targ.Pawn.IsPsychologicallyInvisible() && caster.HostileTo(targ.Pawn))\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tif (ApparelPreventsShooting())\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tShootLine resultingLine;\n\t\treturn TryFindShootLineFromTo(root, targ, out resultingLine);\n\t}\n\n\tpublic bool ApparelPreventsShooting()\n\t{\n\t\treturn FirstApparelPreventingShooting() != null;\n\t}\n\n\tpublic Apparel FirstApparelPreventingShooting()\n\t{\n\t\tif (CasterIsPawn && CasterPawn.apparel != null)\n\t\t{\n\t\t\tList wornApparel = CasterPawn.apparel.WornApparel;\n\t\t\tfor (int i = 0; i < wornApparel.Count; i++)\n\t\t\t{\n\t\t\t\tif (!wornApparel[i].AllowVerbCast(this))\n\t\t\t\t{\n\t\t\t\t\treturn wornApparel[i];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tpublic bool TryFindShootLineFromTo(IntVec3 root, LocalTargetInfo targ, out ShootLine resultingLine, bool ignoreRange = false)\n\t{\n\t\tif (targ.HasThing && targ.Thing.Map != caster.Map)\n\t\t{\n\t\t\tresultingLine = default(ShootLine);\n\t\t\treturn false;\n\t\t}\n\t\tif (verbProps.IsMeleeAttack || EffectiveRange <= 1.42f)\n\t\t{\n\t\t\tresultingLine = new ShootLine(root, targ.Cell);\n\t\t\treturn ReachabilityImmediate.CanReachImmediate(root, targ, caster.Map, PathEndMode.Touch, null);\n\t\t}\n\t\tCellRect occupiedRect = (targ.HasThing ? targ.Thing.OccupiedRect() : CellRect.SingleCell(targ.Cell));\n\t\tif (!ignoreRange && OutOfRange(root, targ, occupiedRect))\n\t\t{\n\t\t\tresultingLine = new ShootLine(root, targ.Cell);\n\t\t\treturn false;\n\t\t}\n\t\tif (!verbProps.requireLineOfSight)\n\t\t{\n\t\t\tresultingLine = new ShootLine(root, targ.Cell);\n\t\t\treturn true;\n\t\t}\n\t\tIntVec3 goodDest;\n\t\tif (CasterIsPawn)\n\t\t{\n\t\t\tif (CanHitFromCellIgnoringRange(root, targ, out goodDest))\n\t\t\t{\n\t\t\t\tresultingLine = new ShootLine(root, goodDest);\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tShootLeanUtility.LeanShootingSourcesFromTo(root, occupiedRect.ClosestCellTo(root), caster.Map, tempLeanShootSources);\n\t\t\tfor (int i = 0; i < tempLeanShootSources.Count; i++)\n\t\t\t{\n\t\t\t\tIntVec3 intVec = tempLeanShootSources[i];\n\t\t\t\tif (CanHitFromCellIgnoringRange(intVec, targ, out goodDest))\n\t\t\t\t{\n\t\t\t\t\tresultingLine = new ShootLine(intVec, goodDest);\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tforeach (IntVec3 item in caster.OccupiedRect())\n\t\t\t{\n\t\t\t\tif (CanHitFromCellIgnoringRange(item, targ, out goodDest))\n\t\t\t\t{\n\t\t\t\t\tresultingLine = new ShootLine(item, goodDest);\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tresultingLine = new ShootLine(root, targ.Cell);\n\t\treturn false;\n\t}\n\n\tpublic bool OutOfRange(IntVec3 root, LocalTargetInfo targ, CellRect occupiedRect)\n\t{\n\t\tfloat num = verbProps.EffectiveMinRange(targ, caster);\n\t\tfloat num2 = occupiedRect.ClosestDistSquaredTo(root);\n\t\tif (num2 > EffectiveRange * EffectiveRange || num2 < num * num)\n\t\t{\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tprivate bool CanHitFromCellIgnoringRange(IntVec3 sourceCell, LocalTargetInfo targ, out IntVec3 goodDest)\n\t{\n\t\tif (targ.Thing != null)\n\t\t{\n\t\t\tif (targ.Thing.Map != caster.Map)\n\t\t\t{\n\t\t\t\tgoodDest = IntVec3.Invalid;\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tShootLeanUtility.CalcShootableCellsOf(tempDestList, targ.Thing, sourceCell);\n\t\t\tfor (int i = 0; i < tempDestList.Count; i++)\n\t\t\t{\n\t\t\t\tif (CanHitCellFromCellIgnoringRange(sourceCell, tempDestList[i], targ.Thing.def.Fillage == FillCategory.Full))\n\t\t\t\t{\n\t\t\t\t\tgoodDest = tempDestList[i];\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\telse if (CanHitCellFromCellIgnoringRange(sourceCell, targ.Cell))\n\t\t{\n\t\t\tgoodDest = targ.Cell;\n\t\t\treturn true;\n\t\t}\n\t\tgoodDest = IntVec3.Invalid;\n\t\treturn false;\n\t}\n\n\tprivate bool CanHitCellFromCellIgnoringRange(IntVec3 sourceSq, IntVec3 targetLoc, bool includeCorners = false)\n\t{\n\t\tif (verbProps.mustCastOnOpenGround && (!targetLoc.Standable(caster.Map) || caster.Map.thingGrid.CellContains(targetLoc, ThingCategory.Pawn)))\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tif (verbProps.requireLineOfSight)\n\t\t{\n\t\t\tif (!includeCorners)\n\t\t\t{\n\t\t\t\tif (!GenSight.LineOfSight(sourceSq, targetLoc, caster.Map, skipFirstCell: true))\n\t\t\t\t{\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (!GenSight.LineOfSightToEdges(sourceSq, targetLoc, caster.Map, skipFirstCell: true))\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t}\n\n\tpublic override string ToString()\n\t{\n\t\tstring text = ((verbProps == null) ? \"null\" : ((!verbProps.label.NullOrEmpty()) ? verbProps.label : ((HediffCompSource != null) ? HediffCompSource.Def.label : ((EquipmentSource != null) ? EquipmentSource.def.label : ((verbProps.AdjustedLinkedBodyPartsGroup(tool) == null) ? \"unknown\" : verbProps.AdjustedLinkedBodyPartsGroup(tool).defName)))));\n\t\tif (tool != null)\n\t\t{\n\t\t\ttext = text + \"/\" + loadID;\n\t\t}\n\t\treturn $\"{GetType()}({text})\";\n\t}\n}\n\n", "timestamp": "2025-08-22 19:48:28,843" }, "Game-deactivate-map-remove": { "keywords": [ "Game", "remove", "deactivate", "map" ], "question": "Game method to remove or deactivate map", "embedding": [ 0.01010276097804308, 0.04111691564321518, 0.04461685195565224, -0.02886713296175003, 0.013801224529743195, 0.0027187014929950237, 0.035852301865816116, 0.004981528967618942, 0.02548483945429325, 0.07429279386997223, -0.010308640077710152, -0.02255842089653015, -0.0016626542201265693, -0.044087450951337814, -0.014007103629410267, 0.07705745100975037, -0.02239665947854519, -0.09217482805252075, -0.04320511221885681, 0.030264167115092278, -0.0046690343879163265, 0.00877190288156271, 0.0016488677356392145, -0.016955580562353134, -0.05417550727725029, -0.044440384954214096, 0.04485214129090309, 0.0741751492023468, -0.02404368855059147, 0.0012398676481097937, 0.03938165307044983, -0.015926187857985497, 0.03323470056056976, -0.03444056212902069, 0.05488137528300285, 0.039881642907857895, -0.047557976096868515, 0.0025440724566578865, 0.0316464938223362, 0.028573021292686462, -0.04741092026233673, 0.00025367195485159755, -0.010043938644230366, 0.024146629497408867, 0.017014402896165848, 0.02604365348815918, 0.03352881595492363, -0.07782214134931564, -0.038793426007032394, -0.00936012715101242, 0.003926400560885668, 0.030675923451781273, 0.0277642123401165, -0.015867363661527634, 0.01356593519449234, 0.040352221578359604, 0.011220388114452362, -0.01238213200122118, -0.04288158938288689, 0.005411668214946985, 0.020058466121554375, 0.019396713003516197, -0.014970321208238602, -0.002266503870487213, 0.029822997748851776, -0.032764121890068054, -0.026278944686055183, -0.03664640709757805, -0.008720433339476585, -0.02264665625989437, 0.021705495193600655, -0.00044783210614696145, 0.015735013410449028, -0.014676209539175034, -0.020131994038820267, -0.0227643009275198, -0.027734799310564995, -0.011985080316662788, 0.011521853506565094, -0.015661485493183136, -0.01872025430202484, 0.015146789140999317, -0.014985027723014355, 0.03655817359685898, -0.009124837815761566, 0.035205256193876266, 0.03655817359685898, 0.0032683240715414286, -0.02539660595357418, 0.06717527657747269, -0.006963111460208893, -0.0019595238845795393, -0.005496225785464048, -0.014029162004590034, -0.003867578227072954, -0.03544054552912712, -0.026440706104040146, -0.008014563471078873, 0.00831602793186903, 0.020396696403622627, 0.0045771244913339615, -0.039234597235918045, 0.000669105735141784, 0.05849895998835564, -0.005992540158331394, 0.03846990317106247, -0.030175933614373207, 0.012411544099450111, -0.008499848656356335, -0.006010922137647867, -0.013779166154563427, -0.04249924421310425, -0.017117341980338097, 0.020881980657577515, -0.005371227860450745, 0.028367141261696815, 0.04129338264465332, -0.0033492050133645535, -0.03938165307044983, 0.010404226370155811, 0.048646192997694016, -0.03699934110045433, -0.02702893130481243, -0.0349111445248127, 0.013418878428637981, -0.02138197235763073, 0.028705371543765068, -0.0007242517895065248, -0.024426035583019257, -0.01616147719323635, -0.00188967224676162, -0.0023731195833534002, -0.028940660879015923, 0.010058644227683544, -0.07723391801118851, -0.006213124841451645, -0.005422697402536869, -0.03670522943139076, -0.04429332911968231, 0.046910930424928665, -0.0006314225611276925, -0.00188967224676162, -0.013367408886551857, -0.0191908348351717, 0.08382203429937363, -0.01022775936871767, -0.07399868220090866, 0.014455624856054783, -0.015926187857985497, -0.004738886374980211, 0.01973494328558445, -0.023881927132606506, -0.019749648869037628, 0.03070533648133278, -0.016955580562353134, -0.004209483973681927, -0.0048932950012385845, -0.06805761158466339, 0.013286528177559376, -0.026102475821971893, -0.009249835275113583, -0.0033436904195696115, -0.043705105781555176, -0.00917630735784769, 0.03670522943139076, 0.010293934494256973, -0.019249657168984413, 0.03799932450056076, -0.035028789192438126, -0.03429350629448891, -0.008139560930430889, 0.03358763828873634, -0.041705138981342316, 0.04623446986079216, 0.04835208132863045, -0.027881857007741928, 0.011661557480692863, 0.05776367709040642, -0.02045551873743534, -0.05988128483295441, 0.0754692479968071, 0.021499617025256157, 0.09599828720092773, -0.01745557226240635, -0.011190976947546005, -0.03161708265542984, 0.013293880969285965, 0.10029233247041702, -0.0032867062836885452, 0.019337890669703484, -0.03188178688287735, 0.04979323223233223, 0.029720058664679527, 0.006705762818455696, -0.028117146342992783, -0.04094044864177704, -0.0035367016680538654, 0.005356522276997566, -0.015293844975531101, 0.007349133957177401, 0.008793961256742477, 0.03185237571597099, 0.039616942405700684, -0.02511719986796379, -0.0016001553740352392, -0.023587815463542938, -0.009014545008540154, -0.03079356998205185, 0.028925955295562744, -0.015146789140999317, 0.07617511600255966, 0.009198365733027458, 0.005014616530388594, -0.015396784991025925, -0.011279210448265076, -0.013940928503870964, -0.019690826535224915, -0.018661431968212128, -0.01357328798621893, 0.006341798696666956, 0.005150643642991781, 0.022043725475668907, 0.026470117270946503, 0.006091803312301636, 0.03899930417537689, -0.03826402500271797, 0.044999197125434875, 0.008205736055970192, 0.021073153242468834, 0.07052815705537796, 0.011227740906178951, -0.0010716720717027783, 0.0227643009275198, -0.02367604896426201, -0.012088020332157612, -0.0035017759073525667, -0.022779006510972977, -0.004834472667425871, -0.008896900340914726, 0.048646192997694016, 0.010110113769769669, 0.04955793917179108, -0.016382060945034027, 0.04732268676161766, -0.01972023770213127, -0.061704784631729126, -0.025631897151470184, -0.002301429631188512, 0.026543645188212395, -0.0016415149439126253, 0.025014260783791542, 0.0334111712872982, 0.0022922386415302753, -0.05035204440355301, 0.018205558881163597, 0.005238877143710852, 0.005106526892632246, -0.014426213689148426, 0.044646263122558594, -0.046175647526979446, -0.0033933219965547323, 0.015132083557546139, -0.040616922080516815, 0.05305787920951843, -0.05994011089205742, 0.022617245092988014, -0.008301322348415852, 0.026249531656503677, -0.048734426498413086, -0.08358674496412277, 0.004459479358047247, 0.0045771244913339615, 0.017205575481057167, -0.011485089547932148, -0.017058519646525383, 0.012999768368899822, 0.01635264977812767, 0.0372934527695179, 0.0010330697987228632, -0.03664640709757805, -0.029278891161084175, 0.010676280595362186, 0.0239554550498724, -0.016955580562353134, 0.037616975605487823, 0.04985205456614494, 0.04264630004763603, -0.013176236301660538, -0.004768297541886568, 0.02476426400244236, -0.0028124498203396797, 0.015514429658651352, -0.004110220819711685, 0.02111727185547352, -0.00584548432379961, -0.007801331579685211, -0.06323416531085968, 0.052763767540454865, -0.0237495768815279, -0.012499777600169182, -0.024970144033432007, -0.00959541741758585, 0.01636735536158085, 0.011948316358029842, 0.06917523592710495, -0.04446979612112045, -0.025970125570893288, -0.08552788943052292, 0.036499351263046265, -0.07235164940357208, 0.025293666869401932, 0.014815912581980228, -0.043352168053388596, 0.0015606340020895004, -0.018617315217852592, 0.019132012501358986, -0.04141102731227875, 0.006396945100277662, 1.3176178072171751e-05, 0.0420580729842186, -0.011749790981411934, -0.04523449018597603, -0.0466168187558651, 0.0050072637386620045, 0.008918958716094494, -0.03826402500271797, 0.02247018739581108, 0.017984973266720772, -0.003608391620218754, -0.032764121890068054, 0.0008487900486215949, 0.014815912581980228, -0.04011693224310875, -0.014962968416512012, -0.055528424680233, 0.0007311450899578631, 0.01023511216044426, -0.03352881595492363, 0.02074963040649891, -0.007062374148517847, -0.007316046394407749, -0.028278907760977745, -0.031293559819459915, 0.020352579653263092, 0.019411418586969376, 0.02613188698887825, 0.006069744937121868, 0.01901436783373356, 0.04785208776593208, 0.013874753378331661, -0.030999448150396347, 0.014521799981594086, 0.005275641568005085, 0.01644088327884674, 0.02294076792895794, -0.06905759125947952, -0.01598501019179821, -0.005349169485270977, -0.0602930448949337, 0.009382185526192188, -0.006981493439525366, 0.03191119804978371, -0.006301358342170715, 0.0557343028485775, 0.05852837115526199, -0.005555048119276762, 0.01599971577525139, 0.04082280397415161, 0.025558369234204292, 0.008433673530817032, 0.0033933219965547323, -0.04820502549409866, 0.06276358664035797, 0.027014225721359253, -0.04649917036294937, 0.08605729043483734, 0.032205309718847275, -0.016014421358704567, -0.0035128050949424505, 0.006080774124711752, 0.015279139392077923, 0.03044063411653042, -0.03496996685862541, -0.09611593186855316, -0.010014527477324009, -0.017779095098376274, -0.01964670978486538, 0.0026856139302253723, 0.02704363688826561, -0.058793071657419205, 0.05555783584713936, 0.005374904256314039, -0.01745557226240635, -0.011602734215557575, -0.03829343616962433, 0.0063638570718467236, -0.01891142874956131, 0.06911641359329224, -0.01342623122036457, -0.01717616431415081, -0.02420545183122158, -0.006444738246500492, 0.005492549389600754, -0.02648482285439968, 0.03299941122531891, 0.013786518946290016, 0.053851980715990067, -0.04732268676161766, -0.025631897151470184, -0.02238195389509201, -0.02467603050172329, -0.013462995178997517, -0.0059153358452022076, 0.06970464438199997, -0.051204971969127655, -0.01617618277668953, 0.005466814618557692, -0.002145182341337204, 0.015161494724452496, 0.058146022260189056, 0.0031543555669486523, 0.01608794927597046, -0.06364592909812927, -0.004698445554822683, -0.03355822712182999, 0.03185237571597099, 0.07558689266443253, 0.0034080275800079107, -0.0016727643087506294, 0.05964599549770355, 0.012654186226427555, -0.00876455008983612, -0.02476426400244236, 0.07205753773450851, -0.001085458556190133, -0.04067574441432953, 0.0037058163434267044, -0.04202866181731224, -0.025440722703933716, 0.004345510620623827, -0.017382042482495308, -0.00714693171903491, -0.03464644029736519, -0.010477754287421703, -0.030175933614373207, -0.021676084026694298, 0.04441097378730774, -0.010065997019410133, 0.04146984964609146, 0.0368816964328289, 0.009352774359285831, -0.004007281735539436, 0.010985098779201508, 0.012396838515996933, -0.012977709993720055, 0.032675888389348984, -0.00735648674890399, -0.0732928141951561, -0.08088091015815735, -0.005128585267812014, 0.08029268682003021, 0.01772027276456356, -0.018926134333014488, 0.022411365061998367, 0.005768279545009136, 0.018661431968212128, -0.03982282057404518, -0.017749683931469917, -0.013029179535806179, -0.04211689531803131, -0.02127903327345848, 0.037146396934986115, 0.048381492495536804, -0.06264594197273254, 0.05726368725299835, -0.052057895809412, -0.026426000520586967, 0.07176342606544495, 0.008720433339476585, 0.0243966244161129, -0.008418967947363853, 0.0008648742805235088, -0.025249550119042397, -0.0498814657330513, -0.05938129499554634, -0.05855778232216835, 0.007926329039037228, -0.014418860897421837, 0.035969946533441544, 0.003178252140060067, -0.029175950214266777, -0.03626406192779541, 0.006180036813020706, -0.013315939344465733, -0.022440776228904724, 0.037852268666028976, 0.0019668766763061285, -0.07752802968025208, -0.012911534868180752, -0.02157314494252205, -0.0007853720453567803, 0.03855813667178154, -0.03864637017250061, -0.02074963040649891, 0.046734463423490524, -0.006349151488393545, -0.04670505225658417, -0.0169114638119936, -0.03952870890498161, -0.01624971069395542, 0.0030128140933811665, -0.041528671979904175, 0.0004354242410045117, 0.037234630435705185, -0.0033179556485265493, 0.008617493323981762, -0.0004774731060024351, 0.09376303851604462, -0.00909542664885521, 0.003885960206389427, 0.008080738596618176, -0.019352596253156662, -0.013587993569672108, -2.6539049940765835e-05, -0.04685210809111595, -0.020808452740311623, -0.003340014023706317, 0.010161583311855793, -0.010911569930613041, -0.029073011130094528, -0.030381811782717705, 0.015007086098194122, -0.01292624045163393, 0.01238948479294777, -0.0005666259676218033, 0.01764674484729767, 0.007632216904312372, -0.007771920412778854, 0.03779344633221626, -0.024455446749925613, -0.019220246002078056, -0.004588153678923845, -0.01406592596322298, -0.012676244601607323, 0.02467603050172329, 0.045087430626153946, 0.01847025938332081, 0.026734817773103714, -0.01470562070608139, -0.0841161459684372, 0.027470098808407784, 0.001457694685086608, 0.02392604388296604, -0.0589989498257637, 0.002397016156464815, -0.004676387179642916, 0.018411437049508095, 0.02438191883265972, 0.029175950214266777, 0.0219113752245903, 0.005547695327550173, -0.014676209539175034, -0.0162644162774086, -0.03052886761724949, -0.020514341071248055, -0.02876419387757778, -0.029999466612935066, -0.0003568410756997764, -0.029646530747413635, -0.017587922513484955, -0.07688098400831223, 0.0219113752245903, -0.019793765619397163, -0.0032389129046350718, 0.021779023110866547, 0.030175933614373207, 0.03079356998205185, 0.01502914447337389, 0.05405786260962486, 0.03214648738503456, 0.014080631546676159, 0.03944047540426254, -0.024617208167910576, -0.05841072276234627, -0.02492602728307247, -0.01708793081343174, 0.03188178688287735, 0.016043832525610924, 0.0006916237180121243, 0.0024981172755360603, 0.06182242929935455, -0.020440813153982162, -0.05776367709040642, -0.02367604896426201, -0.033028822392225266, 0.048646192997694016, 0.018426142632961273, 0.02467603050172329, 0.0002961803984362632, 0.07682216167449951, -0.030117111280560493, -0.04405803978443146, -0.0107351029291749, -0.008838078007102013, -0.010499812662601471, 0.01863202080130577, 0.017705567181110382, -0.009220424108207226, 0.028175968676805496, 0.012896829284727573, -0.037764035165309906, 0.042616888880729675, -0.017220281064510345, -0.011918905191123486, -0.0169114638119936, -0.02301429584622383, 0.01219831220805645, 0.00894836988300085, -0.009926293976604939, 0.005110203288495541, -8.375310426345095e-05, -0.016470294445753098, -0.01964670978486538, -0.024014277383685112, -0.014837970957159996, 0.011911552399396896, -0.0011810451978817582, -0.010654222220182419, 0.041705138981342316, -0.01063951663672924, 0.043175701051950455, -0.011088037863373756, -0.019852587953209877, 0.038322847336530685, 0.04870501533150673, -0.025911303237080574, -0.0016865507932379842, 0.00014475845091510564, 0.007992505095899105, -0.01238213200122118, 0.0006553191924467683, 0.005404315423220396, -0.009963057935237885, 0.005341816693544388, 0.009448361583054066, -0.0044080098159611225, -0.001861180062405765, 0.0023345171939581633, 0.010705691762268543, 0.013382114470005035, 0.003930076956748962, 0.06752821058034897, 0.002564292633906007, 0.015661485493183136, -0.027293631806969643, 0.0016470295377075672, -0.024014277383685112, -0.03629347309470177, 0.013374761678278446, -0.041263971477746964, -0.054969608783721924, -0.08052797615528107, -0.011257152073085308, -0.01097039319574833, -0.03135238215327263, 0.011757143773138523, 0.0041837492026388645, 0.014904146082699299, 0.006735173985362053, 0.025190727785229683, -0.03999928757548332, -0.011418914422392845, -0.023602521046996117, 0.0028731105849146843, 0.033940572291612625, 0.012985062785446644, -0.026058359071612358, -0.05191083997488022, 0.032675888389348984, 0.0022793712560087442, 0.03638170659542084, 0.049381472170352936, -0.025264255702495575, -0.01929377391934395, -0.04896971583366394, -0.00609547970816493, 0.018867311999201775, -0.005782985128462315, -0.0013896811287850142, 0.03882283717393875, 0.008051327429711819, -0.029984761029481888, 0.045175667852163315, -0.0019668766763061285, -0.01782321184873581, -0.02694069594144821, 0.003591847838833928, -0.043087467551231384, 0.052028484642505646, 0.039499297738075256, -0.019220246002078056, -0.04555801302194595, -0.06676352024078369, -0.016734996810555458, 0.02392604388296604, -0.007882212288677692, -0.0021764319390058517, -0.013668874278664589, -0.0015275463229045272, 0.008205736055970192, 0.010632163845002651, -0.016882052645087242, -0.013315939344465733, -0.005768279545009136, -0.004264629911631346, 0.008551318198442459, 0.040058109909296036, -0.01479385420680046, -0.024190746247768402, -0.012183606624603271, 0.001329939579591155, 0.009713062085211277, -0.009933646768331528, 0.02238195389509201, -0.021779023110866547, 0.025734836235642433, 0.001751807052642107, -0.012249781750142574, -0.02411721833050251, 0.04291100054979324, -0.03444056212902069, -0.012360073626041412, -0.04123456031084061, -0.0020992273930460215, 0.019426124170422554, -0.012477719224989414, 0.03317587822675705, -0.02777891792356968, 0.007617511320859194, -0.06399886310100555, -0.07876330614089966, -0.03258765488862991, 0.06711645424365997, -0.00370213994756341, 0.09829236567020416, -0.02958770841360092, -0.018617315217852592, 0.028528904542326927, 0.004834472667425871, -0.00751089584082365, 0.006018275395035744, 0.0035642748698592186, 0.07452808320522308, -0.017249692231416702, 0.007154284510761499, 0.016220299527049065, 0.055528424680233, 0.05817543342709541, 0.013058590702712536, -0.012845359742641449, 0.009286599233746529, 0.01607324369251728, 0.004360216669738293, 0.01682323031127453, -0.04761679843068123, 0.05949893966317177, 0.03635229542851448, 0.03917577117681503, -0.054763730615377426, -0.0064226798713207245, -0.02492602728307247, -0.009566006250679493, 0.03867578133940697, 0.03455820679664612, -0.01663205586373806, 0.05108732730150223, 0.008720433339476585, 0.0016589778242632747, 0.04732268676161766, -0.004474184941500425, 0.05932247266173363, 0.02001434937119484, 0.0498814657330513, 0.02045551873743534, 0.013860046863555908, 0.01462473999708891, 0.0072645763866603374, -0.012786537408828735, -0.013051237910985947, -0.01791144534945488, -0.004816090688109398, -0.005187407601624727, 0.09141013771295547, -0.01844084821641445, -0.02658776193857193, -0.015852658078074455, 0.025073083117604256, 0.09705709666013718, -0.011602734215557575, -0.014212981797754765, -0.024073101580142975, -0.08082208782434464, 0.01041893195360899, 0.00377934449352324, -0.007617511320859194, 0.033852338790893555, -0.015573251992464066, 0.03894048184156418, -0.00040417478885501623, -0.032205309718847275, -0.031940609216690063, 0.022411365061998367, 0.04058751091361046, 0.024161335080862045, -0.02813185192644596, -0.023984866216778755, -0.052469652146101, 0.005838131532073021, -0.02969064749777317, 0.0005179135478101671, -0.0027977442368865013, -0.0015247890260070562, 0.012801242992281914, 0.005782985128462315, 0.009955705143511295, -0.02064669132232666, -0.006091803312301636, 0.026087770238518715, 0.015014438889920712, -0.032940588891506195, 0.03588171303272247, -0.0063087111338973045, -0.015051202848553658, 0.025455428287386894, 0.030028877779841423, 0.03488173335790634, -0.027323042973876, -0.02019081637263298, -0.045734480023384094, 0.020220227539539337, -0.012948298826813698, -0.05588135868310928, 0.012132137082517147, -0.039793409407138824, 0.0070219337940216064, -0.015426196157932281, 0.025705425068736076, -0.03323470056056976, 0.0015073261456564069, 0.018690843135118484, -0.04094044864177704, -0.019440829753875732, 0.019205540418624878, -0.01680852472782135, -0.009316010400652885, 0.0698222890496254, 0.03170531615614891, 0.017690861597657204, 0.0027995824348181486, 0.04158749431371689, -0.00895572267472744, -0.037058163434267044, -0.02322017401456833, 0.02522013895213604, 0.021234916523098946, -0.0231025293469429, 0.04961676523089409, -0.0007063293596729636, 0.0030514162499457598, 0.019337890669703484, 0.009573359042406082, 0.00021897588158026338, -0.0002449404855724424, 0.03391116112470627, 0.022087842226028442, -0.04394039511680603, -0.027117164805531502, 0.016146771609783173, 0.01064686942845583, -0.010624811053276062, 0.0008400585502386093, -0.022587833926081657, -0.0035955242346972227, -0.004926383029669523, 0.024176040664315224, 0.01219095941632986, 0.008845430798828602, 0.009668945334851742, -0.02641129493713379, 0.022043725475668907, 0.04211689531803131, -0.0338229276239872, 0.014470330439507961, -0.011124801822006702, 0.005959452595561743, 0.011639498174190521, -0.031470026820898056, -0.001660816022194922, 0.013235058635473251, -0.01147038396447897, 0.015396784991025925, -0.054675497114658356, 0.04485214129090309, -0.010360109619796276, 0.010889511555433273, -0.07323399186134338, 0.019161423668265343, -0.007580747362226248, 0.00041014893213286996, -0.026381883770227432, 0.01197037473320961, 0.02248489297926426, 0.0036139062140136957, 0.0033124410547316074, 0.022146664559841156, -0.06394004076719284, -0.017117341980338097, 0.04585212469100952, 0.021823139861226082, 0.001150714815594256, 0.029822997748851776, -0.014146806672215462, 0.008588082157075405, 0.023528993129730225, 0.01311741303652525, -0.0156173687428236, -0.036234647035598755, -0.03279353305697441, 0.028278907760977745, -0.026720112189650536, -0.019779060035943985, 0.044263917952775955, 0.021308444440364838, -0.033028822392225266, -0.008926311507821083, 0.03655817359685898, -0.03994046524167061, -0.04220513254404068, -0.04679328575730324, -0.031028859317302704, 0.002766494872048497, -0.03399939462542534, 0.03435232862830162, 0.0071138436906039715, 0.00781603716313839, 0.019073190167546272, 0.001996288076043129, 0.012779184617102146, 0.018396731466054916, -0.02347017079591751, -0.02411721833050251, 0.009713062085211277, 0.049293238669633865, -0.07141049206256866, 0.012970357201993465, 0.032028842717409134, 0.008668962866067886, 0.035969946533441544, -0.012146842665970325, -0.030117111280560493, 0.035587601363658905, 0.03602876886725426, 0.025278961285948753, -0.04761679843068123, 0.009124837815761566, -0.009646886959671974, 0.028367141261696815, 0.01416151225566864, -0.007771920412778854, 0.0392640084028244, 0.01563207432627678, 0.0015257081249728799, 0.00803662184625864, -0.05482255294919014, -0.011485089547932148, -0.022690773010253906, -0.031293559819459915, -0.04008752107620239, -0.07988093048334122, -0.07470455020666122, -0.004584477283060551, 0.004779326729476452, -0.0015367373125627637, -0.004003605339676142, 0.01717616431415081, -0.07811625301837921, -0.022602539509534836, -0.015323256142437458, 0.033293526619672775, 0.002064301399514079, 0.009551300667226315, -0.03132297098636627, 0.03702875226736069, 0.03464644029736519, 0.03052886761724949, -0.03999928757548332, -0.032293543219566345, -0.01964670978486538, 0.01889672316610813, 0.013808577321469784, 0.011073332279920578, 0.030293578281998634, -0.001751807052642107, -0.036969929933547974, 0.00525358272716403, 0.03217589855194092, -0.025720130652189255, 0.002490764483809471, -0.027073048055171967, -0.029955347999930382, 0.0641753301024437, 0.008705727756023407, 0.04064633324742317, 0.013712991029024124, 0.03496996685862541, 0.027558332309126854, -0.041058093309402466, 0.005260935518890619, 0.0010431800037622452, -0.03517584502696991, 0.022176075726747513, 0.0041837492026388645, 0.03179354965686798, -0.0016644924180582166 ], "result": "--- 结果 1 (相似度: 1.000) ---\n文件路径: C:\\Steam\\steamapps\\common\\RimWorld\\Data\\dll1.6\\Verse\\Game.txt\n\npublic class Game : IExposable, IDisposable\n{\n\tprivate GameInitData initData;\n\n\tprivate Gravship gravshipInt;\n\n\tpublic sbyte currentMapIndex = -1;\n\n\tprivate GameInfo info = new GameInfo();\n\n\tpublic List components = new List();\n\n\tprivate GameRules rules = new GameRules();\n\n\tprivate Scenario scenarioInt;\n\n\tprivate World worldInt;\n\n\tprivate List maps = new List();\n\n\tpublic PlaySettings playSettings = new PlaySettings();\n\n\tpublic StoryWatcher storyWatcher = new StoryWatcher();\n\n\tpublic LetterStack letterStack = new LetterStack();\n\n\tpublic ResearchManager researchManager = new ResearchManager();\n\n\tpublic AnalysisManager analysisManager = new AnalysisManager();\n\n\tpublic GameEnder gameEnder = new GameEnder();\n\n\tpublic Storyteller storyteller = new Storyteller();\n\n\tpublic History history = new History();\n\n\tpublic TaleManager taleManager = new TaleManager();\n\n\tpublic PlayLog playLog = new PlayLog();\n\n\tpublic BattleLog battleLog = new BattleLog();\n\n\tpublic OutfitDatabase outfitDatabase = new OutfitDatabase();\n\n\tpublic DrugPolicyDatabase drugPolicyDatabase = new DrugPolicyDatabase();\n\n\tpublic ReadingPolicyDatabase readingPolicyDatabase = new ReadingPolicyDatabase();\n\n\tpublic FoodRestrictionDatabase foodRestrictionDatabase = new FoodRestrictionDatabase();\n\n\tpublic TickManager tickManager = new TickManager();\n\n\tpublic Tutor tutor = new Tutor();\n\n\tpublic Autosaver autosaver = new Autosaver();\n\n\tpublic DateNotifier dateNotifier = new DateNotifier();\n\n\tpublic SignalManager signalManager = new SignalManager();\n\n\tpublic UniqueIDsManager uniqueIDsManager = new UniqueIDsManager();\n\n\tpublic QuestManager questManager = new QuestManager();\n\n\tpublic TransportShipManager transportShipManager = new TransportShipManager();\n\n\tpublic StudyManager studyManager = new StudyManager();\n\n\tpublic CustomXenogermDatabase customXenogermDatabase = new CustomXenogermDatabase();\n\n\tpublic CustomXenotypeDatabase customXenotypeDatabase = new CustomXenotypeDatabase();\n\n\tpublic RelationshipRecords relationshipRecords = new RelationshipRecords();\n\n\tpublic HiddenItemsManager hiddenItemsManager = new HiddenItemsManager();\n\n\tpublic EntityCodex entityCodex = new EntityCodex();\n\n\tprivate static readonly List tmpPlayerHomeMaps = new List();\n\n\tpublic Scenario Scenario\n\t{\n\t\tget\n\t\t{\n\t\t\treturn scenarioInt;\n\t\t}\n\t\tset\n\t\t{\n\t\t\tscenarioInt = value;\n\t\t}\n\t}\n\n\tpublic World World\n\t{\n\t\tget\n\t\t{\n\t\t\treturn worldInt;\n\t\t}\n\t\tset\n\t\t{\n\t\t\tif (worldInt != value)\n\t\t\t{\n\t\t\t\tworldInt = value;\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic Map CurrentMap\n\t{\n\t\tget\n\t\t{\n\t\t\tif (currentMapIndex < 0)\n\t\t\t{\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\treturn maps[currentMapIndex];\n\t\t}\n\t\tset\n\t\t{\n\t\t\tint num;\n\t\t\tif (value == null)\n\t\t\t{\n\t\t\t\tnum = -1;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tnum = maps.IndexOf(value);\n\t\t\t\tif (num < 0)\n\t\t\t\t{\n\t\t\t\t\tLog.Error(\"Could not set current map because it does not exist.\");\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (currentMapIndex != num)\n\t\t\t{\n\t\t\t\tcurrentMapIndex = (sbyte)num;\n\t\t\t\tFind.MapUI.Notify_SwitchedMap();\n\t\t\t\tAmbientSoundManager.Notify_SwitchedMap();\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic Map AnyPlayerHomeMap\n\t{\n\t\tget\n\t\t{\n\t\t\tif (Faction.OfPlayerSilentFail == null)\n\t\t\t{\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tfor (int i = 0; i < maps.Count; i++)\n\t\t\t{\n\t\t\t\tif (maps[i].IsPlayerHome)\n\t\t\t\t{\n\t\t\t\t\treturn maps[i];\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (ModsConfig.OdysseyActive)\n\t\t\t{\n\t\t\t\tfor (int j = 0; j < maps.Count; j++)\n\t\t\t\t{\n\t\t\t\t\tif (GravshipUtility.PlayerHasGravEngine(maps[j]))\n\t\t\t\t\t{\n\t\t\t\t\t\treturn maps[j];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn null;\n\t\t}\n\t}\n\n\tpublic bool PlayerHasControl\n\t{\n\t\tget\n\t\t{\n\t\t\tif (ScreenFader.IsFading())\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tif (WorldComponent_GravshipController.CutsceneInProgress && !Find.CameraDriver.config.gravshipFreeCam)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t}\n\n\tpublic IReadOnlyList PlayerHomeMaps\n\t{\n\t\tget\n\t\t{\n\t\t\tif (Faction.OfPlayerSilentFail == null)\n\t\t\t{\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\ttmpPlayerHomeMaps.Clear();\n\t\t\tfor (int i = 0; i < maps.Count; i++)\n\t\t\t{\n\t\t\t\tMap map = maps[i];\n\t\t\t\tif (map.IsPlayerHome)\n\t\t\t\t{\n\t\t\t\t\ttmpPlayerHomeMaps.Add(map);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn tmpPlayerHomeMaps;\n\t\t}\n\t}\n\n\tpublic Map RandomPlayerHomeMap\n\t{\n\t\tget\n\t\t{\n\t\t\tif (Faction.OfPlayerSilentFail == null)\n\t\t\t{\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\ttmpPlayerHomeMaps.Clear();\n\t\t\tfor (int i = 0; i < maps.Count; i++)\n\t\t\t{\n\t\t\t\tMap map = maps[i];\n\t\t\t\tif (map.IsPlayerHome)\n\t\t\t\t{\n\t\t\t\t\ttmpPlayerHomeMaps.Add(map);\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (tmpPlayerHomeMaps.Any())\n\t\t\t{\n\t\t\t\tMap result = tmpPlayerHomeMaps.RandomElement();\n\t\t\t\ttmpPlayerHomeMaps.Clear();\n\t\t\t\treturn result;\n\t\t\t}\n\t\t\treturn null;\n\t\t}\n\t}\n\n\tpublic Map RandomRootSurfacePlayerHomeMap\n\t{\n\t\tget\n\t\t{\n\t\t\tif (Faction.OfPlayerSilentFail == null)\n\t\t\t{\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\ttmpPlayerHomeMaps.Clear();\n\t\t\tfor (int i = 0; i < maps.Count; i++)\n\t\t\t{\n\t\t\t\tMap map = maps[i];\n\t\t\t\tif (map.IsPlayerHome && map.Tile.Layer.IsRootSurface)\n\t\t\t\t{\n\t\t\t\t\ttmpPlayerHomeMaps.Add(map);\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (tmpPlayerHomeMaps.Any())\n\t\t\t{\n\t\t\t\tMap result = tmpPlayerHomeMaps.RandomElement();\n\t\t\t\ttmpPlayerHomeMaps.Clear();\n\t\t\t\treturn result;\n\t\t\t}\n\t\t\treturn null;\n\t\t}\n\t}\n\n\tpublic Map RandomSurfacePlayerHomeMap\n\t{\n\t\tget\n\t\t{\n\t\t\tif (Faction.OfPlayerSilentFail == null)\n\t\t\t{\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\ttmpPlayerHomeMaps.Clear();\n\t\t\tfor (int i = 0; i < maps.Count; i++)\n\t\t\t{\n\t\t\t\tMap map = maps[i];\n\t\t\t\tif (map.IsPlayerHome && map.Tile.LayerDef.SurfaceTiles)\n\t\t\t\t{\n\t\t\t\t\ttmpPlayerHomeMaps.Add(map);\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (tmpPlayerHomeMaps.Any())\n\t\t\t{\n\t\t\t\tMap result = tmpPlayerHomeMaps.RandomElement();\n\t\t\t\ttmpPlayerHomeMaps.Clear();\n\t\t\t\treturn result;\n\t\t\t}\n\t\t\treturn null;\n\t\t}\n\t}\n\n\tpublic List Maps => maps;\n\n\tpublic GameInitData InitData\n\t{\n\t\tget\n\t\t{\n\t\t\treturn initData;\n\t\t}\n\t\tset\n\t\t{\n\t\t\tinitData = value;\n\t\t}\n\t}\n\n\tpublic GameInfo Info => info;\n\n\tpublic GameRules Rules => rules;\n\n\tpublic Gravship Gravship\n\t{\n\t\tget\n\t\t{\n\t\t\treturn gravshipInt;\n\t\t}\n\t\tset\n\t\t{\n\t\t\tgravshipInt = value;\n\t\t}\n\t}\n\n\tpublic bool IsPlayerTile(PlanetTile tile)\n\t{\n\t\tfor (int i = 0; i < maps.Count; i++)\n\t\t{\n\t\t\tMap map = maps[i];\n\t\t\tif (map.Tile == tile && map.IsPlayerHome)\n\t\t\t{\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic Game()\n\t{\n\t\tFillComponents();\n\t}\n\n\tpublic void AddMap(Map map)\n\t{\n\t\tif (map == null)\n\t\t{\n\t\t\tLog.Error(\"Tried to add null map.\");\n\t\t\treturn;\n\t\t}\n\t\tif (maps.Contains(map))\n\t\t{\n\t\t\tLog.Error(\"Tried to add map but it's already here.\");\n\t\t\treturn;\n\t\t}\n\t\tif (maps.Count > 127)\n\t\t{\n\t\t\tLog.Error(\"Can't add map. Reached maps count limit (\" + sbyte.MaxValue + \").\");\n\t\t\treturn;\n\t\t}\n\t\tmaps.Add(map);\n\t\tFind.ColonistBar.MarkColonistsDirty();\n\t}\n\n\tpublic Map FindMap(MapParent mapParent)\n\t{\n\t\tfor (int i = 0; i < maps.Count; i++)\n\t\t{\n\t\t\tif (maps[i].info.parent == mapParent)\n\t\t\t{\n\t\t\t\treturn maps[i];\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tpublic Map FindMap(PlanetTile tile)\n\t{\n\t\tfor (int i = 0; i < maps.Count; i++)\n\t\t{\n\t\t\tif (maps[i].Tile == tile)\n\t\t\t{\n\t\t\t\treturn maps[i];\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tpublic void ExposeData()\n\t{\n\t\tif (Scribe.mode == LoadSaveMode.LoadingVars)\n\t\t{\n\t\t\tLog.Error(\"You must use special LoadData method to load Game.\");\n\t\t\treturn;\n\t\t}\n\t\tScribe_Values.Look(ref currentMapIndex, \"currentMapIndex\", -1);\n\t\tExposeSmallComponents();\n\t\tScribe_Deep.Look(ref worldInt, \"world\");\n\t\tScribe_Collections.Look(ref maps, \"maps\", LookMode.Deep);\n\t\tFind.CameraDriver.Expose();\n\t}\n\n\tprivate void ExposeSmallComponents()\n\t{\n\t\tScribe_Deep.Look(ref info, \"info\");\n\t\tScribe_Deep.Look(ref rules, \"rules\");\n\t\tScribe_Deep.Look(ref scenarioInt, \"scenario\");\n\t\tScribe_Deep.Look(ref tickManager, \"tickManager\");\n\t\tScribe_Deep.Look(ref playSettings, \"playSettings\");\n\t\tScribe_Deep.Look(ref storyWatcher, \"storyWatcher\");\n\t\tScribe_Deep.Look(ref gameEnder, \"gameEnder\");\n\t\tScribe_Deep.Look(ref letterStack, \"letterStack\");\n\t\tScribe_Deep.Look(ref researchManager, \"researchManager\");\n\t\tScribe_Deep.Look(ref analysisManager, \"analysisManager\");\n\t\tif (Scribe.mode == LoadSaveMode.LoadingVars && analysisManager == null)\n\t\t{\n\t\t\tanalysisManager = new AnalysisManager();\n\t\t}\n\t\tScribe_Deep.Look(ref storyteller, \"storyteller\");\n\t\tScribe_Deep.Look(ref history, \"history\");\n\t\tScribe_Deep.Look(ref taleManager, \"taleManager\");\n\t\tScribe_Deep.Look(ref playLog, \"playLog\");\n\t\tScribe_Deep.Look(ref battleLog, \"battleLog\");\n\t\tScribe_Deep.Look(ref outfitDatabase, \"outfitDatabase\");\n\t\tScribe_Deep.Look(ref drugPolicyDatabase, \"drugPolicyDatabase\");\n\t\tScribe_Deep.Look(ref foodRestrictionDatabase, \"foodRestrictionDatabase\");\n\t\tScribe_Deep.Look(ref readingPolicyDatabase, \"readingPolicyDatabase\");\n\t\tScribe_Deep.Look(ref tutor, \"tutor\");\n\t\tScribe_Deep.Look(ref dateNotifier, \"dateNotifier\");\n\t\tScribe_Deep.Look(ref uniqueIDsManager, \"uniqueIDsManager\");\n\t\tScribe_Deep.Look(ref questManager, \"questManager\");\n\t\tScribe_Deep.Look(ref transportShipManager, \"transportShipManager\");\n\t\tScribe_Deep.Look(ref studyManager, \"studyManager\");\n\t\tScribe_Deep.Look(ref customXenogermDatabase, \"customXenogermDatabase\");\n\t\tScribe_Deep.Look(ref customXenotypeDatabase, \"customXenotypeDatabase\");\n\t\tScribe_Deep.Look(ref relationshipRecords, \"relationshipRecords\");\n\t\tScribe_Deep.Look(ref hiddenItemsManager, \"hiddenItemsManager\");\n\t\tScribe_Deep.Look(ref entityCodex, \"entityCodex\");\n\t\tScribe_Collections.Look(ref components, \"components\", LookMode.Deep, this);\n\t\tif (Scribe.mode == LoadSaveMode.LoadingVars)\n\t\t{\n\t\t\tFillComponents();\n\t\t\tif (rules == null)\n\t\t\t{\n\t\t\t\tLog.Warning(\"Save game was missing rules. Replacing with a blank GameRules.\");\n\t\t\t\trules = new GameRules();\n\t\t\t}\n\t\t\tif (relationshipRecords == null)\n\t\t\t{\n\t\t\t\trelationshipRecords = new RelationshipRecords();\n\t\t\t}\n\t\t\tif (readingPolicyDatabase == null)\n\t\t\t{\n\t\t\t\treadingPolicyDatabase = new ReadingPolicyDatabase();\n\t\t\t}\n\t\t\tif (hiddenItemsManager == null)\n\t\t\t{\n\t\t\t\thiddenItemsManager = new HiddenItemsManager();\n\t\t\t}\n\t\t\tif (entityCodex == null)\n\t\t\t{\n\t\t\t\tentityCodex = new EntityCodex();\n\t\t\t}\n\t\t}\n\t\tBackCompatibility.PostExposeData(this);\n\t}\n\n\tprivate void FillComponents()\n\t{\n\t\tcomponents.RemoveAll((GameComponent component) => component == null);\n\t\tforeach (Type item2 in typeof(GameComponent).AllSubclassesNonAbstract())\n\t\t{\n\t\t\tif (GetComponent(item2) == null)\n\t\t\t{\n\t\t\t\ttry\n\t\t\t\t{\n\t\t\t\t\tGameComponent item = (GameComponent)Activator.CreateInstance(item2, this);\n\t\t\t\t\tcomponents.Add(item);\n\t\t\t\t}\n\t\t\t\tcatch (Exception ex)\n\t\t\t\t{\n\t\t\t\t\tLog.Error(\"Could not instantiate a GameComponent of type \" + item2?.ToString() + \": \" + ex);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic void InitNewGame()\n\t{\n\t\tstring text = LoadedModManager.RunningMods.Select((ModContentPack mod) => mod.PackageIdPlayerFacing + ((!mod.ModMetaData.VersionCompatible) ? \" (incompatible version)\" : \"\")).ToLineList(\" - \");\n\t\tLog.Message(\"Initializing new game with mods:\\n\" + text);\n\t\tif (maps.Any())\n\t\t{\n\t\t\tLog.Error(\"Called InitNewGame() but there already is a map. There should be 0 maps...\");\n\t\t\treturn;\n\t\t}\n\t\tif (initData == null)\n\t\t{\n\t\t\tLog.Error(\"Called InitNewGame() but init data is null. Create it first.\");\n\t\t\treturn;\n\t\t}\n\t\tClearCaches();\n\t\tMemoryUtility.UnloadUnusedUnityAssets();\n\t\ttry\n\t\t{\n\t\t\tCurrent.ProgramState = ProgramState.MapInitializing;\n\t\t\tIntVec3 intVec = new IntVec3(initData.mapSize, 1, initData.mapSize);\n\t\t\tSettlement settlement = null;\n\t\t\tList settlements = Find.WorldObjects.Settlements;\n\t\t\tfor (int i = 0; i < settlements.Count; i++)\n\t\t\t{\n\t\t\t\tif (settlements[i].Faction == Faction.OfPlayer)\n\t\t\t\t{\n\t\t\t\t\tsettlement = settlements[i];\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (settlement == null)\n\t\t\t{\n\t\t\t\tLog.Error(\"Could not generate starting map because there is no any player faction base.\");\n\t\t\t}\n\t\t\ttickManager.gameStartAbsTick = GenTicks.ConfiguredTicksAbsAtGameStart;\n\t\t\tinfo.startingTile = initData.startingTile;\n\t\t\tinfo.startingAndOptionalPawns = initData.startingAndOptionalPawns;\n\t\t\tMap currentMap = MapGenerator.GenerateMap(intVec, settlement, initData.mapGeneratorDef ?? settlement.MapGeneratorDef, settlement.ExtraGenStepDefs);\n\t\t\tworldInt.info.initialMapSize = intVec;\n\t\t\tif (initData.permadeath)\n\t\t\t{\n\t\t\t\tinfo.permadeathMode = true;\n\t\t\t\tinfo.permadeathModeUniqueName = PermadeathModeUtility.GeneratePermadeathSaveName();\n\t\t\t}\n\t\t\tPawnUtility.GiveAllStartingPlayerPawnsThought(ThoughtDefOf.NewColonyOptimism);\n\t\t\tFinalizeInit();\n\t\t\tCurrent.Game.CurrentMap = currentMap;\n\t\t\tFind.CameraDriver.JumpToCurrentMapLoc(MapGenerator.PlayerStartSpot);\n\t\t\tFind.CameraDriver.ResetSize();\n\t\t\tif (Prefs.PauseOnLoad && initData.startedFromEntry)\n\t\t\t{\n\t\t\t\tLongEventHandler.ExecuteWhenFinished(delegate\n\t\t\t\t{\n\t\t\t\t\ttickManager.DoSingleTick();\n\t\t\t\t\ttickManager.CurTimeSpeed = TimeSpeed.Paused;\n\t\t\t\t});\n\t\t\t}\n\t\t\tFind.Scenario.PostGameStart();\n\t\t\thistory.FinalizeInit();\n\t\t\tResearchUtility.ApplyPlayerStartingResearch();\n\t\t\tGameComponentUtility.StartedNewGame();\n\t\t\tinitData = null;\n\t\t}\n\t\tfinally\n\t\t{\n\t\t}\n\t}\n\n\tpublic void LoadGame()\n\t{\n\t\tif (maps.Any())\n\t\t{\n\t\t\tLog.Error(\"Called LoadGame() but there already is a map. There should be 0 maps...\");\n\t\t\treturn;\n\t\t}\n\t\tClearCaches();\n\t\tMemoryUtility.UnloadUnusedUnityAssets();\n\t\tBackCompatibility.PreLoadSavegame(ScribeMetaHeaderUtility.loadedGameVersion);\n\t\tCurrent.ProgramState = ProgramState.MapInitializing;\n\t\tExposeSmallComponents();\n\t\tLongEventHandler.SetCurrentEventText(\"LoadingWorld\".Translate());\n\t\tif (Scribe.EnterNode(\"world\"))\n\t\t{\n\t\t\ttry\n\t\t\t{\n\t\t\t\tWorld = new World();\n\t\t\t\tWorld.ExposeData();\n\t\t\t}\n\t\t\tfinally\n\t\t\t{\n\t\t\t\tScribe.ExitNode();\n\t\t\t}\n\t\t\tDeepProfiler.Start(\"World.FinalizeInit\");\n\t\t\tWorld.FinalizeInit(fromLoad: true);\n\t\t\tDeepProfiler.End();\n\t\t\tLongEventHandler.SetCurrentEventText(\"LoadingMap\".Translate());\n\t\t\tScribe_Collections.Look(ref maps, \"maps\", LookMode.Deep);\n\t\t\tif (maps.RemoveAll((Map x) => x == null) != 0)\n\t\t\t{\n\t\t\t\tLog.Warning(\"Some maps were null after loading.\");\n\t\t\t}\n\t\t\tint value = -1;\n\t\t\tScribe_Values.Look(ref value, \"currentMapIndex\", -1);\n\t\t\tif (value < 0 && maps.Any())\n\t\t\t{\n\t\t\t\tLog.Error(\"Current map is null after loading but there are maps available. Setting current map to [0].\");\n\t\t\t\tvalue = 0;\n\t\t\t}\n\t\t\tif (value >= maps.Count)\n\t\t\t{\n\t\t\t\tLog.Error(\"Current map index out of bounds after loading.\");\n\t\t\t\tvalue = ((!maps.Any()) ? (-1) : 0);\n\t\t\t}\n\t\t\tcurrentMapIndex = sbyte.MinValue;\n\t\t\tCurrentMap = ((value >= 0) ? maps[value] : null);\n\t\t\tLongEventHandler.SetCurrentEventText(\"InitializingGame\".Translate());\n\t\t\tFind.CameraDriver.Expose();\n\t\t\tDeepProfiler.Start(\"Scribe.loader.FinalizeLoading\");\n\t\t\tScribe.loader.FinalizeLoading();\n\t\t\tDeepProfiler.End();\n\t\t\tLongEventHandler.SetCurrentEventText(\"SpawningAllThings\".Translate());\n\t\t\tDeepProfiler.Start(\"maps.FinalizeLoading\");\n\t\t\tfor (int i = 0; i < maps.Count; i++)\n\t\t\t{\n\t\t\t\ttry\n\t\t\t\t{\n\t\t\t\t\tmaps[i].FinalizeLoading();\n\t\t\t\t}\n\t\t\t\tcatch (Exception ex)\n\t\t\t\t{\n\t\t\t\t\tLog.Error(\"Error in Map.FinalizeLoading(): \" + ex);\n\t\t\t\t}\n\t\t\t\ttry\n\t\t\t\t{\n\t\t\t\t\tmaps[i].Parent?.FinalizeLoading();\n\t\t\t\t}\n\t\t\t\tcatch (Exception ex2)\n\t\t\t\t{\n\t\t\t\t\tLog.Error(\"Error in MapParent.FinalizeLoading(): \" + ex2);\n\t\t\t\t}\n\t\t\t}\n\t\t\tDeepProfiler.End();\n\t\t\tDeepProfiler.Start(\"Game.FinalizeInit\");\n\t\t\tFinalizeInit();\n\t\t\tDeepProfiler.End();\n\t\t\tif (Prefs.PauseOnLoad)\n\t\t\t{\n\t\t\t\tLongEventHandler.ExecuteWhenFinished(delegate\n\t\t\t\t{\n\t\t\t\t\tFind.TickManager.DoSingleTick();\n\t\t\t\t\tFind.TickManager.CurTimeSpeed = TimeSpeed.Paused;\n\t\t\t\t});\n\t\t\t}\n\t\t\tGameComponentUtility.LoadedGame();\n\t\t\tBackCompatibility.PostLoadSavegame(ScribeMetaHeaderUtility.loadedGameVersion);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tLog.Error(\"Could not find world XML node.\");\n\t\t}\n\t}\n\n\tpublic void UpdateEntry()\n\t{\n\t\tGameComponentUtility.GameComponentUpdate();\n\t}\n\n\tpublic void UpdatePlay()\n\t{\n\t\ttry\n\t\t{\n\t\t\tFind.LetterStack.OpenAutomaticLetters();\n\t\t}\n\t\tcatch (Exception ex)\n\t\t{\n\t\t\tLog.Error(ex.ToString());\n\t\t}\n\t\ttickManager.TickManagerUpdate();\n\t\tletterStack.LetterStackUpdate();\n\t\tWorld.WorldUpdate();\n\t\tfor (int i = 0; i < maps.Count; i++)\n\t\t{\n\t\t\tmaps[i].MapUpdate();\n\t\t}\n\t\tInfo.GameInfoUpdate();\n\t\tGameComponentUtility.GameComponentUpdate();\n\t\tsignalManager.SignalManagerUpdate();\n\t\tGlobalTextureAtlasManager.GlobalTextureAtlasManagerUpdate();\n\t}\n\n\tpublic T GetComponent() where T : GameComponent\n\t{\n\t\tfor (int i = 0; i < components.Count; i++)\n\t\t{\n\t\t\tif (components[i] is T result)\n\t\t\t{\n\t\t\t\treturn result;\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tpublic GameComponent GetComponent(Type type)\n\t{\n\t\tfor (int i = 0; i < components.Count; i++)\n\t\t{\n\t\t\tif (type.IsInstanceOfType(components[i]))\n\t\t\t{\n\t\t\t\treturn components[i];\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tpublic void FinalizeInit()\n\t{\n\t\tLogSimple.FlushToFileAndOpen();\n\t\tresearchManager.ReapplyAllMods();\n\t\tMessagesRepeatAvoider.Reset();\n\t\tGameComponentUtility.FinalizeInit();\n\t\tCurrent.ProgramState = ProgramState.Playing;\n\t\tCurrent.Game.World.ideoManager.Notify_GameStarted();\n\t\tRecipeDefGenerator.ResetRecipeIngredientsForDifficulty();\n\t\tLongEventHandler.ExecuteWhenFinished(delegate\n\t\t{\n\t\t\tDebugSettings.devPalette = Prefs.StartDevPaletteOn;\n\t\t\tFind.UIRoot.debugWindowOpener.TryOpenOrClosePalette();\n\t\t});\n\t}\n\n\tpublic void DeinitAndRemoveMap(Map map, bool notifyPlayer)\n\t{\n\t\tif (map == null)\n\t\t{\n\t\t\tLog.Error(\"Tried to remove null map.\");\n\t\t\treturn;\n\t\t}\n\t\tif (!maps.Contains(map))\n\t\t{\n\t\t\tLog.Error(\"Tried to remove map \" + map?.ToString() + \" but it's not here.\");\n\t\t\treturn;\n\t\t}\n\t\tif (map.Parent != null)\n\t\t{\n\t\t\tmap.Parent.Notify_MyMapAboutToBeRemoved();\n\t\t}\n\t\tMap currentMap = CurrentMap;\n\t\tMapDeiniter.Deinit(map, notifyPlayer);\n\t\tmaps.Remove(map);\n\t\tif (currentMap != null)\n\t\t{\n\t\t\tsbyte b = (sbyte)maps.IndexOf(currentMap);\n\t\t\tif (b < 0)\n\t\t\t{\n\t\t\t\tif (maps.Any())\n\t\t\t\t{\n\t\t\t\t\tCurrentMap = maps[0];\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tCurrentMap = null;\n\t\t\t\t}\n\t\t\t\tFind.World.renderer.wantedMode = WorldRenderMode.Planet;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tcurrentMapIndex = b;\n\t\t\t}\n\t\t}\n\t\tif (Current.ProgramState == ProgramState.Playing)\n\t\t{\n\t\t\tFind.ColonistBar.MarkColonistsDirty();\n\t\t}\n\t\tMapComponentUtility.MapRemoved(map);\n\t\tFind.Scenario.MapRemoved(map);\n\t\tif (map.Parent != null)\n\t\t{\n\t\t\tmap.Parent.Notify_MyMapRemoved(map);\n\t\t}\n\t\tforeach (PocketMapParent item in Find.World.pocketMaps.ToList())\n\t\t{\n\t\t\tif (item.sourceMap == map && item.Map.generatorDef.pocketMapProperties.destroyOnParentMapAbandoned)\n\t\t\t{\n\t\t\t\tPocketMapUtility.DestroyPocketMap(item.Map);\n\t\t\t}\n\t\t}\n\t\tmap.Dispose();\n\t}\n\n\tpublic string DebugString()\n\t{\n\t\tStringBuilder stringBuilder = new StringBuilder();\n\t\tstringBuilder.AppendLine(\"Game debug data:\");\n\t\tstringBuilder.AppendLine(\"initData:\");\n\t\tif (initData == null)\n\t\t{\n\t\t\tstringBuilder.AppendLine(\" null\");\n\t\t}\n\t\telse\n\t\t{\n\t\t\tstringBuilder.AppendLine(initData.ToString());\n\t\t}\n\t\tstringBuilder.AppendLine(\"Scenario:\");\n\t\tif (scenarioInt == null)\n\t\t{\n\t\t\tstringBuilder.AppendLine(\" null\");\n\t\t}\n\t\telse\n\t\t{\n\t\t\tstringBuilder.AppendLine(\" \" + scenarioInt);\n\t\t}\n\t\tstringBuilder.AppendLine(\"World:\");\n\t\tif (worldInt == null)\n\t\t{\n\t\t\tstringBuilder.AppendLine(\" null\");\n\t\t}\n\t\telse\n\t\t{\n\t\t\tstringBuilder.AppendLine(\" name: \" + worldInt.info.name);\n\t\t}\n\t\tstringBuilder.AppendLine(\"Maps count: \" + maps.Count);\n\t\tfor (int i = 0; i < maps.Count; i++)\n\t\t{\n\t\t\tstringBuilder.AppendLine(\" Map \" + maps[i].Index + \":\");\n\t\t\tstringBuilder.AppendLine(\" tile: \" + maps[i].TileInfo);\n\t\t}\n\t\tstringBuilder.AppendLine(\"Game components:\");\n\t\tfor (int j = 0; j < components.Count; j++)\n\t\t{\n\t\t\tcomponents[j].AppendDebugString(stringBuilder);\n\t\t}\n\t\treturn stringBuilder.ToString();\n\t}\n\n\tpublic void Dispose()\n\t{\n\t\tfor (int i = 0; i < maps.Count; i++)\n\t\t{\n\t\t\tmaps[i].Dispose();\n\t\t}\n\t\tworldInt?.Dispose();\n\t\tSteadyEnvironmentEffects.Reset();\n\t\tUnityData.DisposeStaticResources();\n\t}\n\n\tpublic static void ClearCaches()\n\t{\n\t\tFind.ClearCache();\n\t\tChildcareUtility.ClearCache();\n\t\tSlaveRebellionUtility.ClearCache();\n\t\tAlert_NeedMeditationSpot.ClearCache();\n\t\tBuildCopyCommandUtility.ClearCache();\n\t\tMechanitorUtility.ClearCache();\n\t\tSocialCardUtility.ClearCaches();\n\t\tforeach (StatDef item in DefDatabase.AllDefsListForReading)\n\t\t{\n\t\t\titem.Worker.TryClearCache();\n\t\t}\n\t}\n}\n\n--- 结果 2 (相似度: 1.000) ---\n文件路径: C:\\Steam\\steamapps\\common\\RimWorld\\Data\\dll1.6\\Verse\\Map.txt\n\npublic sealed class Map : IIncidentTarget, ILoadReferenceable, IThingHolder, IExposable, IDisposable\n{\n\tpublic MapFileCompressor compressor;\n\n\tprivate List loadedFullThings;\n\n\tpublic MapGeneratorDef generatorDef;\n\n\tpublic int uniqueID = -1;\n\n\tpublic int generationTick;\n\n\tpublic bool wasSpawnedViaGravShipLanding;\n\n\tprivate Color? fogOfWarColor;\n\n\tprivate OrbitalDebrisDef orbitalDebris;\n\n\tprivate int generatedId;\n\n\tpublic MapInfo info = new MapInfo();\n\n\tpublic MapEvents events;\n\n\tpublic List components = new List();\n\n\tpublic ThingOwner spawnedThings;\n\n\tpublic CellIndices cellIndices;\n\n\tpublic ListerThings listerThings;\n\n\tpublic ListerBuildings listerBuildings;\n\n\tpublic MapPawns mapPawns;\n\n\tpublic DynamicDrawManager dynamicDrawManager;\n\n\tpublic MapDrawer mapDrawer;\n\n\tpublic PawnDestinationReservationManager pawnDestinationReservationManager;\n\n\tpublic TooltipGiverList tooltipGiverList;\n\n\tpublic ReservationManager reservationManager;\n\n\tpublic EnrouteManager enrouteManager;\n\n\tpublic PhysicalInteractionReservationManager physicalInteractionReservationManager;\n\n\tpublic DesignationManager designationManager;\n\n\tpublic LordManager lordManager;\n\n\tpublic PassingShipManager passingShipManager;\n\n\tpublic HaulDestinationManager haulDestinationManager;\n\n\tpublic DebugCellDrawer debugDrawer;\n\n\tpublic GameConditionManager gameConditionManager;\n\n\tpublic WeatherManager weatherManager;\n\n\tpublic ZoneManager zoneManager;\n\n\tpublic PlanManager planManager;\n\n\tpublic ResourceCounter resourceCounter;\n\n\tpublic MapTemperature mapTemperature;\n\n\tpublic TemperatureVacuumCache TemperatureVacuumCache;\n\n\tpublic AreaManager areaManager;\n\n\tpublic AttackTargetsCache attackTargetsCache;\n\n\tpublic AttackTargetReservationManager attackTargetReservationManager;\n\n\tpublic VoluntarilyJoinableLordsStarter lordsStarter;\n\n\tpublic FleckManager flecks;\n\n\tpublic DeferredSpawner deferredSpawner;\n\n\tpublic ThingGrid thingGrid;\n\n\tpublic CoverGrid coverGrid;\n\n\tpublic EdificeGrid edificeGrid;\n\n\tpublic BlueprintGrid blueprintGrid;\n\n\tpublic FogGrid fogGrid;\n\n\tpublic RegionGrid regionGrid;\n\n\tpublic GlowGrid glowGrid;\n\n\tpublic TerrainGrid terrainGrid;\n\n\tpublic Pathing pathing;\n\n\tpublic RoofGrid roofGrid;\n\n\tpublic FertilityGrid fertilityGrid;\n\n\tpublic SnowGrid snowGrid;\n\n\tpublic DeepResourceGrid deepResourceGrid;\n\n\tpublic ExitMapGrid exitMapGrid;\n\n\tpublic AvoidGrid avoidGrid;\n\n\tpublic GasGrid gasGrid;\n\n\tpublic PollutionGrid pollutionGrid;\n\n\tpublic SubstructureGrid substructureGrid;\n\n\tpublic WaterBodyTracker waterBodyTracker;\n\n\tpublic SandGrid sandGrid;\n\n\tpublic LinkGrid linkGrid;\n\n\tpublic PowerNetManager powerNetManager;\n\n\tpublic PowerNetGrid powerNetGrid;\n\n\tpublic RegionMaker regionMaker;\n\n\tpublic PathFinder pathFinder;\n\n\tpublic PawnPathPool pawnPathPool;\n\n\tpublic RegionAndRoomUpdater regionAndRoomUpdater;\n\n\tpublic RegionLinkDatabase regionLinkDatabase;\n\n\tpublic MoteCounter moteCounter;\n\n\tpublic GatherSpotLister gatherSpotLister;\n\n\tpublic WindManager windManager;\n\n\tpublic ListerBuildingsRepairable listerBuildingsRepairable;\n\n\tpublic ListerHaulables listerHaulables;\n\n\tpublic ListerMergeables listerMergeables;\n\n\tpublic ListerArtificialBuildingsForMeditation listerArtificialBuildingsForMeditation;\n\n\tpublic ListerBuldingOfDefInProximity listerBuldingOfDefInProximity;\n\n\tpublic ListerBuildingWithTagInProximity listerBuildingWithTagInProximity;\n\n\tpublic ListerFilthInHomeArea listerFilthInHomeArea;\n\n\tpublic Reachability reachability;\n\n\tpublic ItemAvailability itemAvailability;\n\n\tpublic AutoBuildRoofAreaSetter autoBuildRoofAreaSetter;\n\n\tpublic RoofCollapseBufferResolver roofCollapseBufferResolver;\n\n\tpublic RoofCollapseBuffer roofCollapseBuffer;\n\n\tpublic WildAnimalSpawner wildAnimalSpawner;\n\n\tpublic WildPlantSpawner wildPlantSpawner;\n\n\tpublic SteadyEnvironmentEffects steadyEnvironmentEffects;\n\n\tpublic TempTerrainManager tempTerrain;\n\n\tpublic FreezeManager freezeManager;\n\n\tpublic SkyManager skyManager;\n\n\tpublic OverlayDrawer overlayDrawer;\n\n\tpublic FloodFiller floodFiller;\n\n\tpublic WeatherDecider weatherDecider;\n\n\tpublic FireWatcher fireWatcher;\n\n\tpublic DangerWatcher dangerWatcher;\n\n\tpublic DamageWatcher damageWatcher;\n\n\tpublic StrengthWatcher strengthWatcher;\n\n\tpublic WealthWatcher wealthWatcher;\n\n\tpublic RegionDirtyer regionDirtyer;\n\n\tpublic MapCellsInRandomOrder cellsInRandomOrder;\n\n\tpublic RememberedCameraPos rememberedCameraPos;\n\n\tpublic MineStrikeManager mineStrikeManager;\n\n\tpublic StoryState storyState;\n\n\tpublic RoadInfo roadInfo;\n\n\tpublic WaterInfo waterInfo;\n\n\tpublic RetainedCaravanData retainedCaravanData;\n\n\tpublic TemporaryThingDrawer temporaryThingDrawer;\n\n\tpublic AnimalPenManager animalPenManager;\n\n\tpublic MapPlantGrowthRateCalculator plantGrowthRateCalculator;\n\n\tpublic AutoSlaughterManager autoSlaughterManager;\n\n\tpublic TreeDestructionTracker treeDestructionTracker;\n\n\tpublic StorageGroupManager storageGroups;\n\n\tpublic EffecterMaintainer effecterMaintainer;\n\n\tpublic PostTickVisuals postTickVisuals;\n\n\tpublic List layoutStructureSketches = new List();\n\n\tpublic ThingListChangedCallbacks thingListChangedCallbacks = new ThingListChangedCallbacks();\n\n\tpublic List landingBlockers = new List();\n\n\tpublic Tile pocketTileInfo;\n\n\tpublic const string ThingSaveKey = \"thing\";\n\n\t[TweakValue(\"Graphics_Shadow\", 0f, 100f)]\n\tprivate static bool AlwaysRedrawShadows;\n\n\tprivate MixedBiomeMapComponent mixedBiomeComp;\n\n\tpublic int Index => Find.Maps.IndexOf(this);\n\n\tpublic IntVec3 Size => info.Size;\n\n\tpublic IntVec3 Center => new IntVec3(Size.x / 2, 0, Size.z / 2);\n\n\tpublic Faction ParentFaction => info.parent?.Faction;\n\n\tpublic int Area => Size.x * Size.z;\n\n\tpublic IThingHolder ParentHolder => info.parent;\n\n\tpublic bool DrawMapClippers => !generatorDef.disableMapClippers;\n\n\tpublic bool CanEverExit\n\t{\n\t\tget\n\t\t{\n\t\t\tif (!info.isPocketMap)\n\t\t\t{\n\t\t\t\treturn Biome.canExitMap;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic Color? FogOfWarColor\n\t{\n\t\tget\n\t\t{\n\t\t\treturn fogOfWarColor ?? Biome.fogOfWarColor;\n\t\t}\n\t\tset\n\t\t{\n\t\t\tfogOfWarColor = value;\n\t\t}\n\t}\n\n\tpublic OrbitalDebrisDef OrbitalDebris\n\t{\n\t\tget\n\t\t{\n\t\t\treturn orbitalDebris ?? Biome.orbitalDebris;\n\t\t}\n\t\tset\n\t\t{\n\t\t\torbitalDebris = value;\n\t\t}\n\t}\n\n\tpublic Material MapEdgeMaterial\n\t{\n\t\tget\n\t\t{\n\t\t\tif (ModsConfig.AnomalyActive && generatorDef == MapGeneratorDefOf.MetalHell)\n\t\t\t{\n\t\t\t\treturn MapEdgeClipDrawer.ClipMatMetalhell;\n\t\t\t}\n\t\t\tWorldObject parent = Parent;\n\t\t\tif (parent != null && parent.def.MapEdgeMaterial != null)\n\t\t\t{\n\t\t\t\treturn parent.def.MapEdgeMaterial;\n\t\t\t}\n\t\t\treturn MapEdgeClipDrawer.ClipMat;\n\t\t}\n\t}\n\n\tpublic bool Disposed { get; private set; }\n\n\tpublic IEnumerable AllCells\n\t{\n\t\tget\n\t\t{\n\t\t\tfor (int z = 0; z < Size.z; z++)\n\t\t\t{\n\t\t\t\tfor (int y = 0; y < Size.y; y++)\n\t\t\t\t{\n\t\t\t\t\tfor (int x = 0; x < Size.x; x++)\n\t\t\t\t\t{\n\t\t\t\t\t\tyield return new IntVec3(x, y, z);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic bool IsPlayerHome\n\t{\n\t\tget\n\t\t{\n\t\t\tif (!wasSpawnedViaGravShipLanding)\n\t\t\t{\n\t\t\t\tif (info?.parent != null && info.parent.Faction == Faction.OfPlayer)\n\t\t\t\t{\n\t\t\t\t\treturn info.parent.def.canBePlayerHome;\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t}\n\n\tpublic bool TreatAsPlayerHomeForThreatPoints\n\t{\n\t\tget\n\t\t{\n\t\t\tif (IsPlayerHome)\n\t\t\t{\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tif (info.parent != null && info.parent.def.treatAsPlayerHome)\n\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 IsTempIncidentMap => info.parent.def.isTempIncidentMapOwner;\n\n\tpublic PlanetTile Tile => info.Tile;\n\n\tpublic Tile TileInfo\n\t{\n\t\tget\n\t\t{\n\t\t\tif (!IsPocketMap)\n\t\t\t{\n\t\t\t\treturn Find.WorldGrid[Tile];\n\t\t\t}\n\t\t\treturn pocketTileInfo;\n\t\t}\n\t}\n\n\tpublic BiomeDef Biome => TileInfo.PrimaryBiome;\n\n\tpublic IEnumerable Biomes => TileInfo.Biomes;\n\n\tpublic MixedBiomeMapComponent MixedBiomeComp => mixedBiomeComp ?? (mixedBiomeComp = GetComponent());\n\n\tpublic bool IsStartingMap => Find.GameInfo.startingTile == Tile;\n\n\tpublic bool IsPocketMap => info.isPocketMap;\n\n\tpublic StoryState StoryState => storyState;\n\n\tpublic GameConditionManager GameConditionManager => gameConditionManager;\n\n\tpublic float PlayerWealthForStoryteller\n\t{\n\t\tget\n\t\t{\n\t\t\tif (TreatAsPlayerHomeForThreatPoints)\n\t\t\t{\n\t\t\t\tif (Find.Storyteller.difficulty.fixedWealthMode)\n\t\t\t\t{\n\t\t\t\t\treturn StorytellerUtility.FixedWealthModeMapWealthFromTimeCurve.Evaluate(AgeInDays * Find.Storyteller.difficulty.fixedWealthTimeFactor);\n\t\t\t\t}\n\t\t\t\treturn wealthWatcher.WealthItems + wealthWatcher.WealthBuildings * 0.5f + wealthWatcher.WealthPawns;\n\t\t\t}\n\t\t\tfloat num = 0f;\n\t\t\tforeach (Pawn item in mapPawns.PawnsInFaction(Faction.OfPlayer))\n\t\t\t{\n\t\t\t\tif (item.IsFreeColonist)\n\t\t\t\t{\n\t\t\t\t\tnum += WealthWatcher.GetEquipmentApparelAndInventoryWealth(item);\n\t\t\t\t}\n\t\t\t\tif (item.IsAnimal)\n\t\t\t\t{\n\t\t\t\t\tnum += item.MarketValue;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn num;\n\t\t}\n\t}\n\n\tpublic IEnumerable PlayerPawnsForStoryteller => mapPawns.PawnsInFaction(Faction.OfPlayer);\n\n\tpublic FloatRange IncidentPointsRandomFactorRange => FloatRange.One;\n\n\tpublic MapParent Parent => info.parent;\n\n\tpublic PocketMapParent PocketMapParent\n\t{\n\t\tget\n\t\t{\n\t\t\tif (!IsPocketMap)\n\t\t\t{\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\treturn Parent as PocketMapParent;\n\t\t}\n\t}\n\n\tpublic IEnumerable ChildPocketMaps\n\t{\n\t\tget\n\t\t{\n\t\t\tforeach (PocketMapParent pocketMap in Find.World.pocketMaps)\n\t\t\t{\n\t\t\t\tif (pocketMap.sourceMap == this)\n\t\t\t\t{\n\t\t\t\t\tyield return pocketMap.Map;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic float AgeInDays => (float)(Find.TickManager.TicksGame - generationTick) / 60000f;\n\n\tpublic int NextGenSeed => HashCode.Combine(TileInfo.tile.Valid ? TileInfo.tile.GetHashCode() : uniqueID, generatedId++, Find.World.info.Seed);\n\n\tpublic int ConstantRandSeed => uniqueID ^ 0xFDA252;\n\n\tpublic IEnumerator GetEnumerator()\n\t{\n\t\tforeach (IntVec3 allCell in AllCells)\n\t\t{\n\t\t\tyield return allCell;\n\t\t}\n\t}\n\n\tpublic IEnumerable IncidentTargetTags()\n\t{\n\t\treturn info.parent?.IncidentTargetTags() ?? Enumerable.Empty();\n\t}\n\n\tpublic void ConstructComponents()\n\t{\n\t\tspawnedThings = new ThingOwner(this);\n\t\tcellIndices = new CellIndices(this);\n\t\tlisterThings = new ListerThings(ListerThingsUse.Global, thingListChangedCallbacks);\n\t\tlisterBuildings = new ListerBuildings();\n\t\tmapPawns = new MapPawns(this);\n\t\tdynamicDrawManager = new DynamicDrawManager(this);\n\t\tmapDrawer = new MapDrawer(this);\n\t\ttooltipGiverList = new TooltipGiverList();\n\t\tpawnDestinationReservationManager = new PawnDestinationReservationManager();\n\t\treservationManager = new ReservationManager(this);\n\t\tenrouteManager = new EnrouteManager(this);\n\t\tphysicalInteractionReservationManager = new PhysicalInteractionReservationManager();\n\t\tdesignationManager = new DesignationManager(this);\n\t\tlordManager = new LordManager(this);\n\t\tdebugDrawer = new DebugCellDrawer();\n\t\tpassingShipManager = new PassingShipManager(this);\n\t\thaulDestinationManager = new HaulDestinationManager(this);\n\t\tgameConditionManager = new GameConditionManager(this);\n\t\tweatherManager = new WeatherManager(this);\n\t\tzoneManager = new ZoneManager(this);\n\t\tplanManager = new PlanManager(this);\n\t\tresourceCounter = new ResourceCounter(this);\n\t\tmapTemperature = new MapTemperature(this);\n\t\tTemperatureVacuumCache = new TemperatureVacuumCache(this);\n\t\tareaManager = new AreaManager(this);\n\t\tattackTargetsCache = new AttackTargetsCache(this);\n\t\tattackTargetReservationManager = new AttackTargetReservationManager(this);\n\t\tlordsStarter = new VoluntarilyJoinableLordsStarter(this);\n\t\tflecks = new FleckManager(this);\n\t\tdeferredSpawner = new DeferredSpawner(this);\n\t\tthingGrid = new ThingGrid(this);\n\t\tcoverGrid = new CoverGrid(this);\n\t\tedificeGrid = new EdificeGrid(this);\n\t\tblueprintGrid = new BlueprintGrid(this);\n\t\tfogGrid = new FogGrid(this);\n\t\tglowGrid = new GlowGrid(this);\n\t\tregionGrid = new RegionGrid(this);\n\t\tterrainGrid = new TerrainGrid(this);\n\t\tpathing = new Pathing(this);\n\t\troofGrid = new RoofGrid(this);\n\t\tfertilityGrid = new FertilityGrid(this);\n\t\tsnowGrid = new SnowGrid(this);\n\t\tgasGrid = new GasGrid(this);\n\t\tpollutionGrid = new PollutionGrid(this);\n\t\tdeepResourceGrid = new DeepResourceGrid(this);\n\t\texitMapGrid = new ExitMapGrid(this);\n\t\tavoidGrid = new AvoidGrid(this);\n\t\tlinkGrid = new LinkGrid(this);\n\t\tpowerNetManager = new PowerNetManager(this);\n\t\tpowerNetGrid = new PowerNetGrid(this);\n\t\tregionMaker = new RegionMaker(this);\n\t\tpathFinder = new PathFinder(this);\n\t\tpawnPathPool = new PawnPathPool(this);\n\t\tregionAndRoomUpdater = new RegionAndRoomUpdater(this);\n\t\tregionLinkDatabase = new RegionLinkDatabase();\n\t\tmoteCounter = new MoteCounter();\n\t\tgatherSpotLister = new GatherSpotLister();\n\t\twindManager = new WindManager(this);\n\t\tlisterBuildingsRepairable = new ListerBuildingsRepairable();\n\t\tlisterHaulables = new ListerHaulables(this);\n\t\tlisterMergeables = new ListerMergeables(this);\n\t\tlisterFilthInHomeArea = new ListerFilthInHomeArea(this);\n\t\tlisterArtificialBuildingsForMeditation = new ListerArtificialBuildingsForMeditation(this);\n\t\tlisterBuldingOfDefInProximity = new ListerBuldingOfDefInProximity(this);\n\t\tlisterBuildingWithTagInProximity = new ListerBuildingWithTagInProximity(this);\n\t\treachability = new Reachability(this);\n\t\titemAvailability = new ItemAvailability(this);\n\t\tautoBuildRoofAreaSetter = new AutoBuildRoofAreaSetter(this);\n\t\troofCollapseBufferResolver = new RoofCollapseBufferResolver(this);\n\t\troofCollapseBuffer = new RoofCollapseBuffer();\n\t\twildAnimalSpawner = new WildAnimalSpawner(this);\n\t\twildPlantSpawner = new WildPlantSpawner(this);\n\t\tsteadyEnvironmentEffects = new SteadyEnvironmentEffects(this);\n\t\ttempTerrain = new TempTerrainManager(this);\n\t\tskyManager = new SkyManager(this);\n\t\toverlayDrawer = new OverlayDrawer();\n\t\tfloodFiller = new FloodFiller(this);\n\t\tweatherDecider = new WeatherDecider(this);\n\t\tfireWatcher = new FireWatcher(this);\n\t\tdangerWatcher = new DangerWatcher(this);\n\t\tdamageWatcher = new DamageWatcher();\n\t\tstrengthWatcher = new StrengthWatcher(this);\n\t\twealthWatcher = new WealthWatcher(this);\n\t\tregionDirtyer = new RegionDirtyer(this);\n\t\tcellsInRandomOrder = new MapCellsInRandomOrder(this);\n\t\trememberedCameraPos = new RememberedCameraPos(this);\n\t\tmineStrikeManager = new MineStrikeManager();\n\t\tstoryState = new StoryState(this);\n\t\tretainedCaravanData = new RetainedCaravanData(this);\n\t\ttemporaryThingDrawer = new TemporaryThingDrawer();\n\t\tanimalPenManager = new AnimalPenManager(this);\n\t\tplantGrowthRateCalculator = new MapPlantGrowthRateCalculator();\n\t\tautoSlaughterManager = new AutoSlaughterManager(this);\n\t\ttreeDestructionTracker = new TreeDestructionTracker(this);\n\t\tstorageGroups = new StorageGroupManager(this);\n\t\teffecterMaintainer = new EffecterMaintainer(this);\n\t\tpostTickVisuals = new PostTickVisuals(this);\n\t\tif (ModsConfig.OdysseyActive)\n\t\t{\n\t\t\tsubstructureGrid = new SubstructureGrid(this);\n\t\t\twaterBodyTracker = new WaterBodyTracker(this);\n\t\t\tfreezeManager = new FreezeManager(this);\n\t\t\tsandGrid = new SandGrid(this);\n\t\t}\n\t\tcomponents.Clear();\n\t\tFillComponents();\n\t}\n\n\tpublic void ExposeData()\n\t{\n\t\tif (Scribe.mode == LoadSaveMode.LoadingVars)\n\t\t{\n\t\t\tevents = new MapEvents(this);\n\t\t}\n\t\tScribe_Values.Look(ref uniqueID, \"uniqueID\", -1);\n\t\tScribe_Values.Look(ref generationTick, \"generationTick\", 0);\n\t\tScribe_Values.Look(ref wasSpawnedViaGravShipLanding, \"wasSpawnedViaGravShipLanding\", defaultValue: false);\n\t\tScribe_Values.Look(ref fogOfWarColor, \"fogOfWarColor\");\n\t\tScribe_Values.Look(ref generatedId, \"generatedId\", 0);\n\t\tScribe_Defs.Look(ref orbitalDebris, \"orbitalDebris\");\n\t\tScribe_Defs.Look(ref generatorDef, \"generatorDef\");\n\t\tScribe_Deep.Look(ref pocketTileInfo, \"pocketTileInfo\");\n\t\tScribe_Deep.Look(ref info, \"mapInfo\");\n\t\tScribe_Collections.Look(ref layoutStructureSketches, \"layoutStructureSketches\", LookMode.Deep);\n\t\tScribe_Collections.Look(ref landingBlockers, \"landingBlockers\", LookMode.Undefined);\n\t\tif (Scribe.mode == LoadSaveMode.Saving)\n\t\t{\n\t\t\tcompressor = new MapFileCompressor(this);\n\t\t\tcompressor.BuildCompressedString();\n\t\t\tExposeComponents();\n\t\t\tcompressor.ExposeData();\n\t\t\tHashSet hashSet = new HashSet();\n\t\t\tif (Scribe.EnterNode(\"things\"))\n\t\t\t{\n\t\t\t\ttry\n\t\t\t\t{\n\t\t\t\t\tforeach (Thing allThing in listerThings.AllThings)\n\t\t\t\t\t{\n\t\t\t\t\t\ttry\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif (allThing.def.isSaveable && !allThing.IsSaveCompressible())\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tif (!hashSet.Add(allThing.ThingID))\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tLog.Error(\"Saving Thing with already-used ID \" + allThing.ThingID);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\thashSet.Add(allThing.ThingID);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tThing target = allThing;\n\t\t\t\t\t\t\t\tScribe_Deep.Look(ref target, \"thing\");\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcatch (OutOfMemoryException)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tthrow;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcatch (Exception arg)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tLog.Error($\"Exception saving {allThing}: {arg}\");\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tfinally\n\t\t\t\t{\n\t\t\t\t\tScribe.ExitNode();\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tLog.Error(\"Could not enter the things node while saving.\");\n\t\t\t}\n\t\t\tcompressor = null;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tif (Scribe.mode == LoadSaveMode.LoadingVars)\n\t\t\t{\n\t\t\t\tConstructComponents();\n\t\t\t\tregionAndRoomUpdater.Enabled = false;\n\t\t\t\tcompressor = new MapFileCompressor(this);\n\t\t\t}\n\t\t\telse if (Scribe.mode == LoadSaveMode.PostLoadInit && landingBlockers == null)\n\t\t\t{\n\t\t\t\tlandingBlockers = new List();\n\t\t\t}\n\t\t\tExposeComponents();\n\t\t\tDeepProfiler.Start(\"Load compressed things\");\n\t\t\tcompressor.ExposeData();\n\t\t\tDeepProfiler.End();\n\t\t\tDeepProfiler.Start(\"Load non-compressed things\");\n\t\t\tScribe_Collections.Look(ref loadedFullThings, \"things\", LookMode.Deep);\n\t\t\tDeepProfiler.End();\n\t\t}\n\t\tBackCompatibility.PostExposeData(this);\n\t}\n\n\tprivate void FillComponents()\n\t{\n\t\tcomponents.RemoveAll((MapComponent component) => component == null);\n\t\tforeach (Type item3 in typeof(MapComponent).AllSubclassesNonAbstract())\n\t\t{\n\t\t\tif (!typeof(CustomMapComponent).IsAssignableFrom(item3) && GetComponent(item3) == null)\n\t\t\t{\n\t\t\t\ttry\n\t\t\t\t{\n\t\t\t\t\tMapComponent item = (MapComponent)Activator.CreateInstance(item3, this);\n\t\t\t\t\tcomponents.Add(item);\n\t\t\t\t}\n\t\t\t\tcatch (Exception ex)\n\t\t\t\t{\n\t\t\t\t\tLog.Error(\"Could not instantiate a MapComponent of type \" + item3?.ToString() + \": \" + ex);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (generatorDef?.customMapComponents != null)\n\t\t{\n\t\t\tforeach (Type customMapComponent in generatorDef.customMapComponents)\n\t\t\t{\n\t\t\t\tif (GetComponent(customMapComponent) == null)\n\t\t\t\t{\n\t\t\t\t\ttry\n\t\t\t\t\t{\n\t\t\t\t\t\tMapComponent item2 = (MapComponent)Activator.CreateInstance(customMapComponent, this);\n\t\t\t\t\t\tcomponents.Add(item2);\n\t\t\t\t\t}\n\t\t\t\t\tcatch (Exception ex2)\n\t\t\t\t\t{\n\t\t\t\t\t\tLog.Error(\"Could not instantiate a MapComponent of type \" + customMapComponent?.ToString() + \": \" + ex2);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\troadInfo = GetComponent();\n\t\twaterInfo = GetComponent();\n\t}\n\n\tpublic void FinalizeLoading()\n\t{\n\t\tregionAndRoomUpdater.Enabled = true;\n\t\tList list = compressor.ThingsToSpawnAfterLoad().ToList();\n\t\tcompressor = null;\n\t\tDeepProfiler.Start(\"Merge compressed and non-compressed thing lists\");\n\t\tList list2 = new List(loadedFullThings.Count + list.Count);\n\t\tforeach (Thing item in loadedFullThings.Concat(list))\n\t\t{\n\t\t\tlist2.Add(item);\n\t\t}\n\t\tloadedFullThings.Clear();\n\t\tDeepProfiler.End();\n\t\tDeepProfiler.Start(\"Spawn everything into the map\");\n\t\tBackCompatibility.PreCheckSpawnBackCompatibleThingAfterLoading(this);\n\t\tforeach (Thing item2 in list2)\n\t\t{\n\t\t\tif (item2 is Building)\n\t\t\t{\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\ttry\n\t\t\t{\n\t\t\t\tif (!BackCompatibility.CheckSpawnBackCompatibleThingAfterLoading(item2, this))\n\t\t\t\t{\n\t\t\t\t\tGenSpawn.Spawn(item2, item2.Position, this, item2.Rotation, WipeMode.FullRefund, respawningAfterLoad: true);\n\t\t\t\t}\n\t\t\t}\n\t\t\tcatch (Exception ex)\n\t\t\t{\n\t\t\t\tLog.Error(\"Exception spawning loaded thing \" + item2.ToStringSafe() + \": \" + ex);\n\t\t\t}\n\t\t}\n\t\tforeach (Building item3 in from t in list2.OfType()\n\t\t\torderby t.def.size.Magnitude\n\t\t\tselect t)\n\t\t{\n\t\t\ttry\n\t\t\t{\n\t\t\t\tGenSpawn.SpawnBuildingAsPossible(item3, this, respawningAfterLoad: true);\n\t\t\t}\n\t\t\tcatch (Exception ex2)\n\t\t\t{\n\t\t\t\tLog.Error(\"Exception spawning loaded thing \" + item3.ToStringSafe() + \": \" + ex2);\n\t\t\t}\n\t\t}\n\t\tBackCompatibility.PostCheckSpawnBackCompatibleThingAfterLoading(this);\n\t\tDeepProfiler.End();\n\t\tFinalizeInit();\n\t}\n\n\tpublic void FinalizeInit()\n\t{\n\t\tDeepProfiler.Start(\"Finalize geometry\");\n\t\tpathing.RecalculateAllPerceivedPathCosts();\n\t\tregionAndRoomUpdater.Enabled = true;\n\t\tregionAndRoomUpdater.RebuildAllRegionsAndRooms();\n\t\tpowerNetManager.UpdatePowerNetsAndConnections_First();\n\t\tTemperatureVacuumCache.TemperatureVacuumSaveLoad.ApplyLoadedDataToRegions();\n\t\tavoidGrid.Regenerate();\n\t\tanimalPenManager.RebuildAllPens();\n\t\tplantGrowthRateCalculator.BuildFor(this);\n\t\tgasGrid.RecalculateEverHadGas();\n\t\tDeepProfiler.End();\n\t\tDeepProfiler.Start(\"Thing.PostMapInit()\");\n\t\tforeach (Thing item in listerThings.AllThings.ToList())\n\t\t{\n\t\t\ttry\n\t\t\t{\n\t\t\t\titem.PostMapInit();\n\t\t\t}\n\t\t\tcatch (Exception ex)\n\t\t\t{\n\t\t\t\tLog.Error(\"Error in PostMapInit() for \" + item.ToStringSafe() + \": \" + ex);\n\t\t\t}\n\t\t}\n\t\tDeepProfiler.End();\n\t\tDeepProfiler.Start(\"listerFilthInHomeArea.RebuildAll()\");\n\t\tlisterFilthInHomeArea.RebuildAll();\n\t\tDeepProfiler.End();\n\t\tif (ModsConfig.OdysseyActive)\n\t\t{\n\t\t\tGetComponent().SetDrawerDirty();\n\t\t}\n\t\tLongEventHandler.ExecuteWhenFinished(delegate\n\t\t{\n\t\t\tmapDrawer.RegenerateEverythingNow();\n\t\t});\n\t\tDeepProfiler.Start(\"resourceCounter.UpdateResourceCounts()\");\n\t\tresourceCounter.UpdateResourceCounts();\n\t\tDeepProfiler.End();\n\t\tDeepProfiler.Start(\"wealthWatcher.ForceRecount()\");\n\t\twealthWatcher.ForceRecount(allowDuringInit: true);\n\t\tDeepProfiler.End();\n\t\tif (ModsConfig.OdysseyActive)\n\t\t{\n\t\t\tusing (new ProfilerBlock(\"WaterBodyTracker.ConstructBodies()\"))\n\t\t\t{\n\t\t\t\twaterBodyTracker?.ConstructBodies();\n\t\t\t}\n\t\t}\n\t\tMapComponentUtility.FinalizeInit(this);\n\t\tLongEventHandler.ExecuteWhenFinished(delegate\n\t\t{\n\t\t\tFind.MusicManagerPlay.CheckTransitions();\n\t\t});\n\t}\n\n\tprivate void ExposeComponents()\n\t{\n\t\tScribe_Deep.Look(ref weatherManager, \"weatherManager\", this);\n\t\tScribe_Deep.Look(ref reservationManager, \"reservationManager\", this);\n\t\tScribe_Deep.Look(ref enrouteManager, \"enrouteManager\", this);\n\t\tScribe_Deep.Look(ref physicalInteractionReservationManager, \"physicalInteractionReservationManager\");\n\t\tScribe_Deep.Look(ref planManager, \"planManager\", this);\n\t\tScribe_Deep.Look(ref designationManager, \"designationManager\", this);\n\t\tScribe_Deep.Look(ref pawnDestinationReservationManager, \"pawnDestinationReservationManager\");\n\t\tScribe_Deep.Look(ref lordManager, \"lordManager\", this);\n\t\tScribe_Deep.Look(ref passingShipManager, \"visitorManager\", this);\n\t\tScribe_Deep.Look(ref gameConditionManager, \"gameConditionManager\", this);\n\t\tScribe_Deep.Look(ref fogGrid, \"fogGrid\", this);\n\t\tScribe_Deep.Look(ref roofGrid, \"roofGrid\", this);\n\t\tScribe_Deep.Look(ref terrainGrid, \"terrainGrid\", this);\n\t\tScribe_Deep.Look(ref zoneManager, \"zoneManager\", this);\n\t\tScribe_Deep.Look(ref TemperatureVacuumCache, \"temperatureCache\", this);\n\t\tScribe_Deep.Look(ref snowGrid, \"snowGrid\", this);\n\t\tScribe_Deep.Look(ref gasGrid, \"gasGrid\", this);\n\t\tScribe_Deep.Look(ref pollutionGrid, \"pollutionGrid\", this);\n\t\tScribe_Deep.Look(ref waterBodyTracker, \"waterBodyTracker\", this);\n\t\tScribe_Deep.Look(ref areaManager, \"areaManager\", this);\n\t\tScribe_Deep.Look(ref lordsStarter, \"lordsStarter\", this);\n\t\tScribe_Deep.Look(ref attackTargetReservationManager, \"attackTargetReservationManager\", this);\n\t\tScribe_Deep.Look(ref deepResourceGrid, \"deepResourceGrid\", this);\n\t\tScribe_Deep.Look(ref weatherDecider, \"weatherDecider\", this);\n\t\tScribe_Deep.Look(ref damageWatcher, \"damageWatcher\");\n\t\tScribe_Deep.Look(ref rememberedCameraPos, \"rememberedCameraPos\", this);\n\t\tScribe_Deep.Look(ref mineStrikeManager, \"mineStrikeManager\");\n\t\tScribe_Deep.Look(ref retainedCaravanData, \"retainedCaravanData\", this);\n\t\tScribe_Deep.Look(ref storyState, \"storyState\", this);\n\t\tScribe_Deep.Look(ref tempTerrain, \"tempTerrain\", this);\n\t\tScribe_Deep.Look(ref wildPlantSpawner, \"wildPlantSpawner\", this);\n\t\tScribe_Deep.Look(ref temporaryThingDrawer, \"temporaryThingDrawer\");\n\t\tScribe_Deep.Look(ref flecks, \"flecks\", this);\n\t\tScribe_Deep.Look(ref deferredSpawner, \"deferredSpawner\", this);\n\t\tScribe_Deep.Look(ref autoSlaughterManager, \"autoSlaughterManager\", this);\n\t\tScribe_Deep.Look(ref treeDestructionTracker, \"treeDestructionTracker\", this);\n\t\tScribe_Deep.Look(ref storageGroups, \"storageGroups\", this);\n\t\tScribe_Deep.Look(ref sandGrid, \"sandGrid\", this);\n\t\tScribe_Collections.Look(ref components, \"components\", LookMode.Deep, this);\n\t\tif (Scribe.mode == LoadSaveMode.PostLoadInit)\n\t\t{\n\t\t\tif (planManager == null)\n\t\t\t{\n\t\t\t\tplanManager = new PlanManager(this);\n\t\t\t}\n\t\t\tif (ModsConfig.BiotechActive && pollutionGrid == null)\n\t\t\t{\n\t\t\t\tpollutionGrid = new PollutionGrid(this);\n\t\t\t}\n\t\t\tif (ModsConfig.OdysseyActive)\n\t\t\t{\n\t\t\t\tif (sandGrid == null)\n\t\t\t\t{\n\t\t\t\t\tsandGrid = new SandGrid(this);\n\t\t\t\t}\n\t\t\t\tif (substructureGrid == null)\n\t\t\t\t{\n\t\t\t\t\tsubstructureGrid = new SubstructureGrid(this);\n\t\t\t\t}\n\t\t\t\tif (waterBodyTracker == null)\n\t\t\t\t{\n\t\t\t\t\twaterBodyTracker = new WaterBodyTracker(this);\n\t\t\t\t}\n\t\t\t\tif (freezeManager == null)\n\t\t\t\t{\n\t\t\t\t\tfreezeManager = new FreezeManager(this);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tFillComponents();\n\t\tBackCompatibility.PostExposeData(this);\n\t}\n\n\tpublic void MapPreTick()\n\t{\n\t\titemAvailability.Tick();\n\t\tlisterHaulables.ListerHaulablesTick();\n\t\ttry\n\t\t{\n\t\t\tautoBuildRoofAreaSetter.AutoBuildRoofAreaSetterTick_First();\n\t\t}\n\t\tcatch (Exception ex)\n\t\t{\n\t\t\tLog.Error(ex.ToString());\n\t\t}\n\t\troofCollapseBufferResolver.CollapseRoofsMarkedToCollapse();\n\t\twindManager.WindManagerTick();\n\t\ttry\n\t\t{\n\t\t\tmapTemperature.MapTemperatureTick();\n\t\t}\n\t\tcatch (Exception ex2)\n\t\t{\n\t\t\tLog.Error(ex2.ToString());\n\t\t}\n\t\ttemporaryThingDrawer.Tick();\n\t\ttry\n\t\t{\n\t\t\tpathFinder.PathFinderTick();\n\t\t}\n\t\tcatch (Exception ex3)\n\t\t{\n\t\t\tLog.Error(ex3.ToString());\n\t\t}\n\t}\n\n\tpublic void MapPostTick()\n\t{\n\t\ttry\n\t\t{\n\t\t\twildAnimalSpawner.WildAnimalSpawnerTick();\n\t\t}\n\t\tcatch (Exception ex)\n\t\t{\n\t\t\tLog.Error(ex.ToString());\n\t\t}\n\t\ttry\n\t\t{\n\t\t\twildPlantSpawner.WildPlantSpawnerTick();\n\t\t}\n\t\tcatch (Exception ex2)\n\t\t{\n\t\t\tLog.Error(ex2.ToString());\n\t\t}\n\t\ttry\n\t\t{\n\t\t\tpowerNetManager.PowerNetsTick();\n\t\t}\n\t\tcatch (Exception ex3)\n\t\t{\n\t\t\tLog.Error(ex3.ToString());\n\t\t}\n\t\ttry\n\t\t{\n\t\t\tsteadyEnvironmentEffects.SteadyEnvironmentEffectsTick();\n\t\t}\n\t\tcatch (Exception ex4)\n\t\t{\n\t\t\tLog.Error(ex4.ToString());\n\t\t}\n\t\ttry\n\t\t{\n\t\t\ttempTerrain.Tick();\n\t\t}\n\t\tcatch (Exception ex5)\n\t\t{\n\t\t\tLog.Error(ex5.ToString());\n\t\t}\n\t\ttry\n\t\t{\n\t\t\tgasGrid.Tick();\n\t\t}\n\t\tcatch (Exception ex6)\n\t\t{\n\t\t\tLog.Error(ex6.ToString());\n\t\t}\n\t\tif (ModsConfig.BiotechActive)\n\t\t{\n\t\t\ttry\n\t\t\t{\n\t\t\t\tpollutionGrid.PollutionTick();\n\t\t\t}\n\t\t\tcatch (Exception ex7)\n\t\t\t{\n\t\t\t\tLog.Error(ex7.ToString());\n\t\t\t}\n\t\t}\n\t\ttry\n\t\t{\n\t\t\tdeferredSpawner.DeferredSpawnerTick();\n\t\t}\n\t\tcatch (Exception ex8)\n\t\t{\n\t\t\tLog.Error(ex8.ToString());\n\t\t}\n\t\ttry\n\t\t{\n\t\t\tlordManager.LordManagerTick();\n\t\t}\n\t\tcatch (Exception ex9)\n\t\t{\n\t\t\tLog.Error(ex9.ToString());\n\t\t}\n\t\ttry\n\t\t{\n\t\t\tpassingShipManager.PassingShipManagerTick();\n\t\t}\n\t\tcatch (Exception ex10)\n\t\t{\n\t\t\tLog.Error(ex10.ToString());\n\t\t}\n\t\ttry\n\t\t{\n\t\t\tdebugDrawer.DebugDrawerTick();\n\t\t}\n\t\tcatch (Exception ex11)\n\t\t{\n\t\t\tLog.Error(ex11.ToString());\n\t\t}\n\t\ttry\n\t\t{\n\t\t\tlordsStarter.VoluntarilyJoinableLordsStarterTick();\n\t\t}\n\t\tcatch (Exception ex12)\n\t\t{\n\t\t\tLog.Error(ex12.ToString());\n\t\t}\n\t\ttry\n\t\t{\n\t\t\tgameConditionManager.GameConditionManagerTick();\n\t\t}\n\t\tcatch (Exception ex13)\n\t\t{\n\t\t\tLog.Error(ex13.ToString());\n\t\t}\n\t\ttry\n\t\t{\n\t\t\tweatherManager.WeatherManagerTick();\n\t\t}\n\t\tcatch (Exception ex14)\n\t\t{\n\t\t\tLog.Error(ex14.ToString());\n\t\t}\n\t\ttry\n\t\t{\n\t\t\tresourceCounter.ResourceCounterTick();\n\t\t}\n\t\tcatch (Exception ex15)\n\t\t{\n\t\t\tLog.Error(ex15.ToString());\n\t\t}\n\t\ttry\n\t\t{\n\t\t\tweatherDecider.WeatherDeciderTick();\n\t\t}\n\t\tcatch (Exception ex16)\n\t\t{\n\t\t\tLog.Error(ex16.ToString());\n\t\t}\n\t\ttry\n\t\t{\n\t\t\tfireWatcher.FireWatcherTick();\n\t\t}\n\t\tcatch (Exception ex17)\n\t\t{\n\t\t\tLog.Error(ex17.ToString());\n\t\t}\n\t\tif (ModsConfig.OdysseyActive)\n\t\t{\n\t\t\ttry\n\t\t\t{\n\t\t\t\twaterBodyTracker?.Tick();\n\t\t\t}\n\t\t\tcatch (Exception ex18)\n\t\t\t{\n\t\t\t\tLog.Error(ex18.ToString());\n\t\t\t}\n\t\t}\n\t\ttry\n\t\t{\n\t\t\tflecks.FleckManagerTick();\n\t\t}\n\t\tcatch (Exception ex19)\n\t\t{\n\t\t\tLog.Error(ex19.ToString());\n\t\t}\n\t\ttry\n\t\t{\n\t\t\teffecterMaintainer.EffecterMaintainerTick();\n\t\t}\n\t\tcatch (Exception ex20)\n\t\t{\n\t\t\tLog.Error(ex20.ToString());\n\t\t}\n\t\tMapComponentUtility.MapComponentTick(this);\n\t\ttry\n\t\t{\n\t\t\tforeach (TileMutatorDef mutator in TileInfo.Mutators)\n\t\t\t{\n\t\t\t\tmutator.Worker?.Tick(this);\n\t\t\t}\n\t\t}\n\t\tcatch (Exception ex21)\n\t\t{\n\t\t\tLog.Error(ex21.ToString());\n\t\t}\n\t}\n\n\tpublic void MapUpdate()\n\t{\n\t\tif (Disposed)\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\tbool drawingMap = WorldRendererUtility.DrawingMap;\n\t\tskyManager.SkyManagerUpdate();\n\t\tpowerNetManager.UpdatePowerNetsAndConnections_First();\n\t\tregionGrid.UpdateClean();\n\t\tregionAndRoomUpdater.TryRebuildDirtyRegionsAndRooms();\n\t\tglowGrid.GlowGridUpdate_First();\n\t\tlordManager.LordManagerUpdate();\n\t\tpostTickVisuals.ProcessPostTickVisuals();\n\t\tif (drawingMap && Find.CurrentMap == this)\n\t\t{\n\t\t\tif (AlwaysRedrawShadows)\n\t\t\t{\n\t\t\t\tmapDrawer.WholeMapChanged(MapMeshFlagDefOf.Things);\n\t\t\t}\n\t\t\tGlobalRendererUtility.UpdateGlobalShadersParams();\n\t\t\tPlantFallColors.SetFallShaderGlobals(this);\n\t\t\twaterInfo.SetTextures();\n\t\t\tavoidGrid.DebugDrawOnMap();\n\t\t\tBreachingGridDebug.DebugDrawAllOnMap(this);\n\t\t\tmapDrawer.MapMeshDrawerUpdate_First();\n\t\t\tpowerNetGrid.DrawDebugPowerNetGrid();\n\t\t\tDoorsDebugDrawer.DrawDebug();\n\t\t\tmapDrawer.DrawMapMesh();\n\t\t\tdynamicDrawManager.DrawDynamicThings();\n\t\t\tgameConditionManager.GameConditionManagerDraw(this);\n\t\t\tMapEdgeClipDrawer.DrawClippers(this);\n\t\t\tdesignationManager.DrawDesignations();\n\t\t\toverlayDrawer.DrawAllOverlays();\n\t\t\ttemporaryThingDrawer.Draw();\n\t\t\tflecks.FleckManagerDraw();\n\t\t}\n\t\ttry\n\t\t{\n\t\t\tareaManager.AreaManagerUpdate();\n\t\t}\n\t\tcatch (Exception ex)\n\t\t{\n\t\t\tLog.Error(ex.ToString());\n\t\t}\n\t\tweatherManager.WeatherManagerUpdate();\n\t\ttry\n\t\t{\n\t\t\tflecks.FleckManagerUpdate();\n\t\t}\n\t\tcatch (Exception ex2)\n\t\t{\n\t\t\tLog.Error(ex2.ToString());\n\t\t}\n\t\tMapComponentUtility.MapComponentUpdate(this);\n\t}\n\n\tpublic T GetComponent() where T : MapComponent\n\t{\n\t\tfor (int i = 0; i < components.Count; i++)\n\t\t{\n\t\t\tif (components[i] is T result)\n\t\t\t{\n\t\t\t\treturn result;\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tpublic MapComponent GetComponent(Type type)\n\t{\n\t\tfor (int i = 0; i < components.Count; i++)\n\t\t{\n\t\t\tif (type.IsInstanceOfType(components[i]))\n\t\t\t{\n\t\t\t\treturn components[i];\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tpublic void MapOnGUI()\n\t{\n\t\tDevGUISketches();\n\t\tDevRoadPaths();\n\t\tpathFinder.OnGUI();\n\t}\n\n\tprivate static void DevRoadPaths()\n\t{\n\t\tif (!DebugViewSettings.drawRoadPaths)\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\tfor (int i = 0; i < GenStep_Roads.paths.Count; i++)\n\t\t{\n\t\t\tforeach (IntVec3 item in GenStep_Roads.paths[i])\n\t\t\t{\n\t\t\t\tVector2 vector = item.ToVector3Shifted().MapToUIPosition();\n\t\t\t\tDevGUI.DrawRect(new Rect(vector.x, vector.y, 5f, 5f), (i % 2 == 0) ? Color.yellow : Color.blue);\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate void DevGUISketches()\n\t{\n\t\tif ((!DebugViewSettings.drawMapGraphs && !DebugViewSettings.drawMapRooms) || layoutStructureSketches.NullOrEmpty())\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\tforeach (LayoutStructureSketch layoutStructureSketch in layoutStructureSketches)\n\t\t{\n\t\t\tDebugGUILayoutStructure(layoutStructureSketch);\n\t\t}\n\t}\n\n\tprivate void DebugGUILayoutStructure(LayoutStructureSketch layoutStructureSketch)\n\t{\n\t\tDevDrawOutline(layoutStructureSketch.structureLayout.container, Color.yellow);\n\t\tVector2 pos = (layoutStructureSketch.structureLayout.container.Min - IntVec3.South).ToVector3().MapToUIPosition();\n\t\tDevDrawLabel(layoutStructureSketch.layoutDef.defName, pos);\n\t\tif (DebugViewSettings.drawMapGraphs && layoutStructureSketch.structureLayout?.neighbours != null)\n\t\t{\n\t\t\tforeach (KeyValuePair> connection in layoutStructureSketch.structureLayout.neighbours.connections)\n\t\t\t{\n\t\t\t\tforeach (Vector2 item in connection.Value)\n\t\t\t\t{\n\t\t\t\t\tVector2 vector = layoutStructureSketch.center.ToVector2();\n\t\t\t\t\tVector2 vector2 = vector + connection.Key;\n\t\t\t\t\tVector2 vector3 = vector + item;\n\t\t\t\t\tVector2 start = new Vector3(vector2.x, 0f, vector2.y).MapToUIPosition();\n\t\t\t\t\tVector2 end = new Vector3(vector3.x, 0f, vector3.y).MapToUIPosition();\n\t\t\t\t\tDevGUI.DrawLine(start, end, Color.green, 2f);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (!DebugViewSettings.drawMapRooms || layoutStructureSketch.structureLayout?.Rooms == null)\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\tforeach (LayoutRoom room in layoutStructureSketch.structureLayout.Rooms)\n\t\t{\n\t\t\tstring name = \"NA\";\n\t\t\tif (!room.defs.NullOrEmpty())\n\t\t\t{\n\t\t\t\tname = room.defs.Select((LayoutRoomDef x) => x.defName).ToCommaList();\n\t\t\t}\n\t\t\tDevDrawLabel(name, room.rects[0].CenterVector3.MapToUIPosition());\n\t\t\tforeach (CellRect rect in room.rects)\n\t\t\t{\n\t\t\t\tDevDrawOutline(rect, Color.blue);\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate static void DevDrawLabel(string name, Vector2 pos)\n\t{\n\t\tfloat widthCached = name.GetWidthCached();\n\t\tDevGUI.Label(new Rect(pos.x - widthCached / 2f, pos.y, widthCached, 20f), name);\n\t}\n\n\tprivate static void DevDrawOutline(CellRect r, Color color)\n\t{\n\t\tIntVec3 min = r.Min;\n\t\tIntVec3 intVec = r.Max + new IntVec3(1, 0, 1);\n\t\tIntVec3 a = new IntVec3(min.x, 0, min.z);\n\t\tIntVec3 intVec2 = new IntVec3(intVec.x, 0, min.z);\n\t\tIntVec3 intVec3 = new IntVec3(min.x, 0, intVec.z);\n\t\tIntVec3 b = new IntVec3(intVec.x, 0, intVec.z);\n\t\tDevDrawLine(a, intVec2, color);\n\t\tDevDrawLine(a, intVec3, color);\n\t\tDevDrawLine(intVec3, b, color);\n\t\tDevDrawLine(intVec2, b, color);\n\t}\n\n\tprivate static void DevDrawLine(IntVec3 a, IntVec3 b, Color color)\n\t{\n\t\tVector2 start = a.ToVector3().MapToUIPosition();\n\t\tVector2 end = b.ToVector3().MapToUIPosition();\n\t\tDevGUI.DrawLine(start, end, color, 2f);\n\t}\n\n\tpublic string GetUniqueLoadID()\n\t{\n\t\treturn \"Map_\" + uniqueID;\n\t}\n\n\tpublic override string ToString()\n\t{\n\t\tstring text = \"Map-\" + uniqueID;\n\t\tif (IsPlayerHome)\n\t\t{\n\t\t\ttext += \"-PlayerHome\";\n\t\t}\n\t\treturn text;\n\t}\n\n\tpublic ThingOwner GetDirectlyHeldThings()\n\t{\n\t\treturn spawnedThings;\n\t}\n\n\tpublic void GetChildHolders(List outChildren)\n\t{\n\t\tThingOwnerUtility.AppendThingHoldersFromThings(outChildren, listerThings.ThingsInGroup(ThingRequestGroup.ThingHolder));\n\t\tList passingShips = passingShipManager.passingShips;\n\t\tfor (int i = 0; i < passingShips.Count; i++)\n\t\t{\n\t\t\tif (passingShips[i] is IThingHolder item)\n\t\t\t{\n\t\t\t\toutChildren.Add(item);\n\t\t\t}\n\t\t}\n\t\tfor (int j = 0; j < components.Count; j++)\n\t\t{\n\t\t\tif (components[j] is IThingHolder item2)\n\t\t\t{\n\t\t\t\toutChildren.Add(item2);\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic void Dispose()\n\t{\n\t\tif (Disposed)\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\tDisposed = true;\n\t\tforeach (MapComponent component in components)\n\t\t{\n\t\t\tif (component is IDisposable disposable)\n\t\t\t{\n\t\t\t\tdisposable.Dispose();\n\t\t\t}\n\t\t}\n\t\tif (regionAndRoomUpdater != null)\n\t\t{\n\t\t\tregionAndRoomUpdater.Enabled = false;\n\t\t}\n\t\tpathFinder?.Dispose();\n\t\tlordManager?.Dispose();\n\t\tfogGrid?.Dispose();\n\t\tsnowGrid?.Dispose();\n\t\tglowGrid?.Dispose();\n\t\tsandGrid?.Dispose();\n\t\tavoidGrid?.Dispose();\n\t\tlisterBuildings?.Dispose();\n\t\tlisterThings?.Clear();\n\t\tregionDirtyer?.SetAllDirty();\n\t\tregionGrid?.Dispose();\n\t\tpathing?.Dispose();\n\t\tmapDrawer?.Dispose();\n\t\tResources.UnloadUnusedAssets();\n\t\tMapGenerator.ClearDebugMode();\n\t}\n}\n\n", "timestamp": "2025-08-25 11:39:06,772" }, "MapGenerator": { "keywords": [ "MapGenerator" ], "question": "MapGenerator class definition", "embedding": [ -0.013261166401207447, 0.05949479714035988, -0.028810594230890274, -0.06628279387950897, 0.02472550980746746, 0.019918624311685562, 0.0394686721265316, 0.050618186593055725, 0.032496385276317596, 0.10823937505483627, 0.0031751547940075397, -0.01603318750858307, -0.06695852428674698, 0.0024917477276176214, -0.014029039070010185, 0.04696311056613922, -0.016048545017838478, -0.08286885172128677, -0.02228367328643799, -0.018981819972395897, 0.020486850291490555, -0.026537690311670303, -0.0036013242788612843, -0.02455657720565796, -0.024372287094593048, -0.001914883148856461, 0.04994245618581772, 0.0457652285695076, 0.006469329819083214, -0.022790469229221344, 0.016539983451366425, -0.04103513062000275, 0.036704327911138535, -0.056054726243019104, 0.03538358584046364, 0.01372956857085228, -0.0358135960996151, 0.05639259144663811, -0.0018294573528692126, 0.02119329385459423, -0.06529991328716278, -0.005578597076237202, 0.008177846670150757, 0.010850044898688793, -0.025524096563458443, 0.0369807630777359, 0.0025051855482161045, -0.06170627102255821, -0.0668356642127037, -0.020302562043070793, -0.010151281021535397, 0.011579524725675583, -0.00759042426943779, -0.001471436582505703, 0.04177228733897209, 0.0238808486610651, 0.03495357558131218, -0.038332220166921616, 0.019073965027928352, 0.012086320668458939, 0.02371191792190075, 0.0058934250846505165, -0.03323354199528694, -0.021930452436208725, 0.09742771834135056, -0.05470326915383339, 0.04214086756110191, 0.0017065976280719042, -0.03350997716188431, -0.026860196143388748, -0.012447220273315907, -0.02475622482597828, 0.013529921881854534, 0.025048015639185905, 0.015679966658353806, 0.002136606490239501, 0.006346470210701227, -0.08673892915248871, -0.02266760915517807, 0.004215622786432505, 0.02245260588824749, -0.024894440546631813, -0.020732570439577103, 0.01424404326826334, 0.03188208490610123, 0.037103623151779175, 0.0519082136452198, 0.054764699190855026, -0.040666550397872925, -0.01704677939414978, 0.026291970163583755, -0.021561872214078903, 0.019012534990906715, 0.01578746736049652, 0.028104150667786598, -0.03185136988759041, -0.0848960354924202, -0.018444309011101723, 0.0015223080990836024, 0.0066958521492779255, 0.026553047820925713, -0.030484557151794434, -0.06462419033050537, 0.020287204533815384, -0.035475730895996094, 0.08336029201745987, -0.027090558782219887, -0.034830719232559204, -0.011111121624708176, -0.006918535567820072, 0.015641571953892708, -0.051693208515644073, 0.045611653476953506, 0.06763424724340439, 0.006899338681250811, 0.05961765721440315, 0.0336635522544384, 0.016386408358812332, -0.0033709623385220766, 0.014796911738812923, 0.03384783864021301, 0.021761519834399223, -0.019273610785603523, -0.020502207800745964, 0.012700619176030159, 0.00733318692073226, 0.031697794795036316, 0.049174584448337555, -0.03360212221741676, -0.0037760152481496334, -0.00028555275639519095, -0.008062666282057762, -0.035230010747909546, 0.018812887370586395, -0.025877319276332855, -0.01558782160282135, 0.011456664651632309, -0.03762577474117279, -0.006638261955231428, 0.03550644591450691, -0.09110044687986374, -0.013076876290142536, 0.05261465534567833, 0.008323743008077145, 0.06787996739149094, -0.019396470859646797, -0.011456664651632309, -0.02206866815686226, 0.004507414065301418, 0.019027892500162125, -0.032987821847200394, 0.019857194274663925, -0.029839543625712395, 0.03817864507436752, -0.04530450329184532, -0.019857194274663925, -0.0030292589217424393, -0.049174584448337555, -0.003891196334734559, -0.07273292541503906, -0.029225245118141174, 0.0044191088527441025, -0.003585966769605875, -0.004511253442615271, 0.03802506998181343, 0.03642789274454117, 0.01681641861796379, 0.0444444864988327, 0.00020624588069040328, -0.034984290599823, -0.008561783470213413, -0.007072110194712877, 9.082497126655653e-05, 0.01081165112555027, 0.046072378754615784, 0.001038548187352717, -0.02183830738067627, 0.05866549536585808, -0.007717123255133629, -0.06084625422954559, 0.01516549102962017, 0.026445545256137848, 0.059187646955251694, -0.02580053173005581, -0.010420036502182484, -0.019181465730071068, -0.019826479256153107, 0.020686497911810875, 0.00340743619017303, -0.04263230785727501, 0.018213946372270584, -0.006262003909796476, 0.019488615915179253, 0.006231288891285658, -0.07666444033384323, -0.010788614861667156, 0.003015821101143956, -0.022314388304948807, 0.0027278687339276075, -0.04100441560149193, 0.002616527024656534, 0.0034055165015161037, 0.02165401726961136, 0.012393469922244549, -8.188645006157458e-05, -0.02727484703063965, -0.03148278966546059, -0.060416243970394135, 0.04892886430025101, -0.015941042453050613, 0.017522860318422318, 0.0017008385621011257, -0.01432850956916809, -0.009644484147429466, -0.005033407360315323, -0.03206637501716614, -0.0033920789137482643, -0.032127805054187775, 0.007859179750084877, 0.046686675399541855, -0.03971438854932785, 0.02037934772670269, 0.017737865447998047, 0.013076876290142536, 0.033786408603191376, -0.006899338681250811, 0.029977761209011078, 0.010658076964318752, -0.0022575464099645615, -0.010834687389433384, -0.002606928814202547, -0.002998543903231621, -0.03738005459308624, 0.024879084900021553, 0.022145455703139305, -0.04558093845844269, -0.019166110083460808, -0.02538588084280491, -0.0032058695796877146, -0.011195587925612926, -0.02598482184112072, 0.013622066006064415, -0.03535287082195282, 0.05857335031032562, 0.000992475776001811, -0.04684025049209595, -0.010020742192864418, -0.013015447184443474, 0.08243884146213531, 0.00670353090390563, 0.03122171387076378, -0.012715976685285568, 0.020486850291490555, -0.017092851921916008, 0.03704219311475754, 0.030100619420409203, 0.010343248955905437, -0.010412357747554779, -0.01350688561797142, 0.013030803762376308, -0.007210327312350273, 0.018398236483335495, -0.025263020768761635, 0.07132004201412201, -0.011364519596099854, 0.010189673863351345, -0.029424892738461494, 0.05841977521777153, -0.07881448417901993, -0.04131156578660011, -0.013130627572536469, -0.007528994232416153, 0.02722877450287342, 0.0005917421076446772, -0.015034952200949192, 0.010266461409628391, -0.02991633117198944, -0.022713681682944298, -0.013583673164248466, -0.032742101699113846, 0.003820168087258935, 0.04389161989092827, -0.04152657091617584, 0.009168403223156929, 0.010573610663414001, 0.05175463855266571, 0.0070375557988882065, 0.009406443685293198, -0.004346161149442196, -0.004983495455235243, 0.05467255413532257, 0.026783408597111702, -0.012001854367554188, -0.02431085892021656, -0.042509447783231735, 0.010980583727359772, 0.014904414303600788, -0.0017267543589696288, -0.03529144078493118, -0.004326964262872934, -0.00324810273014009, 0.0008211441454477608, -0.06139912083745003, 0.005739850457757711, 0.06189056113362312, -0.01893574744462967, -0.0034842235036194324, -0.11020512878894806, 0.01830609142780304, -0.07261006534099579, 0.052276790142059326, 0.009897882118821144, -0.008607855997979641, 0.014236364513635635, 0.02991633117198944, -0.015457282774150372, -0.032527100294828415, 0.007717123255133629, -0.02143901400268078, 0.059586942195892334, -0.08250027149915695, -0.016739631071686745, 0.01402136031538248, 0.007521315477788448, 0.0749443992972374, -0.021300796419382095, 0.02306690439581871, 0.03633574768900871, 0.013775641098618507, -0.008776787668466568, 0.056239016354084015, 0.00789373368024826, -0.020824715495109558, 0.043983764946460724, -0.06232057139277458, 0.019811121746897697, 0.021454371511936188, -0.022206885740160942, 0.006500044837594032, -0.0391308069229126, -0.037072908133268356, 0.043369464576244354, -0.04782312735915184, 0.030607417225837708, 0.017108209431171417, 0.03476928919553757, -0.036489322781562805, 0.013107591308653355, 0.07248720526695251, 0.015894969925284386, -0.017922155559062958, 0.009176081977784634, 0.045611653476953506, 0.04653310030698776, 0.015603178180754185, -0.05012674629688263, 0.00026515612262301147, -0.02349691279232502, -0.023235835134983063, 0.003966063726693392, 0.00048423989210277796, 0.027090558782219887, -0.016985349357128143, 0.035015005618333817, 0.054365403950214386, -0.017384644597768784, -0.023235835134983063, -0.0007961882511153817, -0.01994933933019638, 0.03206637501716614, 0.03848579153418541, -0.009106973186135292, -0.0006205373210832477, 0.015027273446321487, -0.08194740116596222, 0.09890203922986984, 0.01810644380748272, -0.027489852160215378, -0.026675906032323837, 0.02824236825108528, -0.014727803878486156, 0.019473258405923843, -0.03258853033185005, -0.04309302940964699, -0.00997466966509819, -0.007206487935036421, -0.02616911008954048, 0.04235587269067764, 0.001843854901380837, -0.043369464576244354, 0.08538747578859329, 0.012063284404575825, 0.004829920828342438, -0.011640953831374645, 0.0027413065545260906, 0.01621747761964798, -0.005693777929991484, -0.0172464270144701, 0.004434466361999512, -0.004499735776335001, -0.019703621044754982, -0.004373036324977875, 0.019242895767092705, 0.010934511199593544, -0.023420125246047974, -0.034400708973407745, 0.04100441560149193, -0.018981819972395897, 0.007033716421574354, 0.012593116611242294, -0.010550574399530888, -0.04800741747021675, 0.07414581626653671, -0.0007688328041695058, -0.02616911008954048, -0.019242895767092705, 0.032496385276317596, 0.011456664651632309, 0.03682718798518181, 0.03612074255943298, -0.026107680052518845, -0.004181068390607834, -0.06253557652235031, -0.0305920597165823, -0.010988262481987476, 0.04551950842142105, 0.02123936638236046, -0.020947573706507683, -0.034984290599823, -0.01029717642813921, 0.0378100648522377, -0.03956081345677376, -0.09048614650964737, 0.037318624556064606, -0.0007889894768595695, -0.013552958145737648, -0.0383015051484108, -0.05181606858968735, 0.002290181117132306, -0.015242278575897217, -0.03725719451904297, 0.008116417564451694, 0.000974718714132905, -0.0031482791528105736, -0.0004909588024020195, -0.02721341699361801, 0.028795236721634865, 0.008661607280373573, 0.020824715495109558, 0.017292499542236328, -0.016263550147414207, -0.023374052718281746, -0.016893204301595688, -0.0033805607818067074, 0.02100900374352932, 0.04131156578660011, 0.0017325134249404073, -0.03243495523929596, 0.015042630955576897, -0.03329497203230858, 0.03160564973950386, 0.017799295485019684, -0.0424480177462101, 0.004050530027598143, -0.002862246474251151, 0.022974759340286255, 0.026783408597111702, -0.00588190695270896, -0.046502385288476944, -0.022713681682944298, -0.025539454072713852, 0.045611653476953506, 0.020962931215763092, -0.035076435655355453, 0.03036169707775116, -0.0295170359313488, 0.002159642754122615, 0.02494051307439804, 0.016278907656669617, -0.020241132006049156, -0.03301853686571121, 0.0034151149448007345, -0.002242189133539796, -0.050003886222839355, -0.07304007560014725, -0.03873151168227196, 0.020840073004364967, -0.05943336710333824, -0.019411828368902206, -0.013030803762376308, -0.03384783864021301, -0.0064462935552001, 0.010466108098626137, 0.015426567755639553, -0.023834776133298874, 0.0055632395669817924, 0.03258853033185005, 0.007985878735780716, 0.023020831868052483, 0.019012534990906715, 0.007406134624034166, 0.009529303759336472, -0.022084025666117668, -0.031697794795036316, -0.019273610785603523, 0.012209179811179638, -0.018582526594400406, 0.014159577898681164, -0.0336635522544384, -0.004326964262872934, 0.028825951740145683, -0.038147930055856705, 0.035629305988550186, -0.040605124086141586, -0.00649620546028018, 0.008116417564451694, 0.04766955226659775, 0.04929744452238083, -0.027090558782219887, 0.030853135511279106, -0.009429479949176311, -0.004131156485527754, -0.01869002729654312, 0.03787149488925934, -0.05525613948702812, 0.038117215037345886, -0.01603318750858307, 0.04238658770918846, 0.02266760915517807, -0.0070260376669466496, 0.003388239536434412, -0.011372198350727558, -0.0424480177462101, -0.004192586522549391, 0.017783937975764275, 0.02266760915517807, -0.024602649733424187, 1.862691897258628e-05, 0.03185136988759041, 0.08170168101787567, 0.013990645296871662, -0.006104589905589819, 0.0008197043789550662, -0.01681641861796379, 0.023558342829346657, 0.0017901038518175483, 0.015319065190851688, 0.015772109851241112, -0.0027950576040893793, -0.039007946848869324, 0.007747838273644447, -0.023128334432840347, 0.035445015877485275, -0.05135534331202507, 0.004042851272970438, -0.04994245618581772, 0.024664079770445824, 0.04696311056613922, -0.017154281958937645, 0.02976275607943535, -0.014205649495124817, -0.028027363121509552, -0.017599647864699364, -0.020517565310001373, 0.006269682664424181, 0.027597354725003242, -0.060231953859329224, 0.012800442054867744, -0.02641483023762703, -0.0016854811692610383, -0.05633116140961647, 0.011802207678556442, -0.03704219311475754, -0.00023864052491262555, 0.05114033818244934, 0.07261006534099579, -1.3355290320760105e-05, -0.013875464908778667, 0.026153752580285072, 0.023604415357112885, -0.02953239344060421, -0.041280850768089294, -0.007160415407270193, -0.03873151168227196, 0.03203565999865532, -0.016309620812535286, -0.003443910274654627, -0.0033786410931497812, 0.03486143425107002, -0.04963530972599983, 0.044383056461811066, 0.037963639944791794, -0.04263230785727501, -0.010335570201277733, 0.02225295826792717, 0.026445545256137848, -0.01381403487175703, -0.011802207678556442, 9.556418808642775e-05, 0.019058607518672943, -0.003246183041483164, -0.040635835379362106, 0.020118271932005882, -0.0010635040234774351, -0.007694086991250515, 0.05912621691823006, -0.008438924327492714, 0.010435394011437893, 0.02472550980746746, -0.013476170599460602, 0.03372498229146004, -0.00044296670239418745, -0.012355076149106026, 0.0008009874727576971, 0.004119638353586197, -0.03639717772603035, 0.04008296877145767, 0.003737621707841754, -0.06219771131873131, -0.025739101693034172, 0.01578746736049652, -0.025247663259506226, 0.027704857289791107, -0.024203356355428696, -0.011802207678556442, 0.052276790142059326, -0.00790909118950367, 0.01999541185796261, -0.0021538836881518364, -0.01163327507674694, 0.022944044321775436, -0.012938659638166428, -0.03056134469807148, 0.028994882479310036, 0.052491795271635056, 0.0029121581465005875, 0.003459267783910036, 0.004392233211547136, 0.023635130375623703, 0.04723954573273659, 0.06744996458292007, -0.012216858565807343, -0.02451050467789173, 0.02454121969640255, 0.017522860318422318, 0.01415189914405346, -0.03264995664358139, -0.024003708735108376, -0.029839543625712395, -0.013092233799397945, 0.028227010741829872, 0.05095604807138443, 0.039192236959934235, 0.028810594230890274, -0.002418799791485071, -0.029148457571864128, -0.02429550141096115, -0.0016173324547708035, -0.00042592952377162874, -0.03701147809624672, -0.018229303881525993, 0.005175463855266571, -0.01266990415751934, 0.04539664834737778, -0.042509447783231735, -0.006611386314034462, 0.003927670419216156, 0.02268296666443348, 0.005409664940088987, 0.03824007511138916, 0.0030350179877132177, -0.019181465730071068, -0.0024360769893974066, 0.06738853454589844, -0.014789232984185219, 0.025708386674523354, -0.029624538496136665, -0.031298503279685974, 0.06075410917401314, 0.001051026163622737, 0.013545279391109943, 0.044383056461811066, -0.03350997716188431, 0.02309761941432953, -0.07580441981554031, -0.016939276829361916, 0.02512480318546295, 0.013476170599460602, -0.07193434238433838, 0.01895110495388508, 0.01319973636418581, -0.021285438910126686, 0.053751107305288315, 0.0021462049335241318, -0.03372498229146004, -0.024372287094593048, 0.015288351103663445, -0.038608651608228683, 0.01620212011039257, 0.0441066212952137, -0.0209782887250185, -0.01789144054055214, -0.006588350050151348, -0.013476170599460602, -0.0006416538381017745, -0.02369656041264534, -0.006361827719956636, 0.012232216075062752, 0.007678729481995106, -0.0007280395366251469, 0.030730275437235832, 0.01603318750858307, 0.012907944619655609, -0.002426478546112776, 0.01744607463479042, -0.006177538074553013, 0.010573610663414001, -0.013076876290142536, -0.03470785915851593, 0.010343248955905437, 0.0032154680229723454, -0.016493910923600197, -0.04017511382699013, 0.0003649796126410365, -0.02059435285627842, 0.005590115208178759, 0.05175463855266571, -0.02205331064760685, 0.02911774255335331, 0.02973204106092453, -0.005117873195558786, -0.02560088410973549, -0.011410592123866081, -0.043369464576244354, -0.033172111958265305, -0.0014330429257825017, -0.024080496281385422, -0.0005379909998737276, -0.016171405091881752, -0.015703001990914345, -0.03225066512823105, -0.0201489869505167, 0.036090027540922165, -0.023865491151809692, 0.05181606858968735, -0.012639189139008522, -0.005225375294685364, 0.02059435285627842, 0.054334692656993866, -0.032742101699113846, 0.02933274768292904, 0.030699560418725014, 0.01506566721946001, -0.014658695086836815, -0.04548879340291023, -0.004557325970381498, 0.05719117820262909, 0.03455428406596184, -0.012063284404575825, 0.028641661629080772, 0.013959930278360844, -0.002791218226775527, -0.014251722022891045, 0.03790220990777016, -0.02180759236216545, 0.02601553685963154, -0.020532922819256783, 0.009721271693706512, -0.04238658770918846, -0.004776170011609793, -0.03013133443892002, -0.01640176586806774, 0.053321097046136856, 0.012024890631437302, 0.049143869429826736, 0.01424404326826334, -0.009821095503866673, 0.03134457394480705, -0.0073715802282094955, -0.03320282697677612, 0.0837288647890091, -0.0005091957864351571, 0.006603707559406757, 0.00572065357118845, 0.018843602389097214, 0.01847502402961254, -0.01789144054055214, -0.005536363925784826, -0.024786939844489098, -0.042079437524080276, -0.026353400200605392, -0.040420833975076675, 0.035076435655355453, -0.01681641861796379, -0.04340017959475517, 0.010266461409628391, 0.005774404853582382, -0.014374582096934319, 0.011925066821277142, 0.0519082136452198, 0.010043778456747532, -0.09349621087312698, 0.008362136781215668, -0.02517087571322918, 0.03329497203230858, 0.03323354199528694, -0.020717212930321693, -0.00048423989210277796, 0.02165401726961136, -0.05135534331202507, 0.031943514943122864, 0.014604943804442883, 0.02891809493303299, 0.01644783839583397, -0.028595589101314545, -0.02494051307439804, -0.0411272756755352, -0.006849426776170731, -0.047730982303619385, 0.020440777763724327, 0.015518712811172009, 0.07476010918617249, 0.006419417914003134, 0.03695004805922508, 0.027812357991933823, -0.022560108453035355, 5.225135464570485e-05, -0.004753133747726679, 0.012500971555709839, -0.005440379958599806, 0.03286496177315712, -0.031283143907785416, -0.012531686574220657, 0.01197113934904337, 0.029348105192184448, 0.02205331064760685, -0.008454280905425549, -0.0020732569973915815, -0.027766285464167595, 0.00303885736502707, 0.003361363895237446, 0.0005701456684619188, -0.02931739017367363, -0.04822242259979248, -0.017400002107024193, 0.010612004436552525, -0.0058934250846505165, -0.04072798043489456, -0.009229833260178566, -0.008246955461800098, -0.019166110083460808, 0.004334643017500639, -0.028994882479310036, -0.006968447007238865, -0.01746143028140068, 0.04671739041805267, 0.023650487884879112, -0.018582526594400406, 0.0261998251080513, -0.024848369881510735, -0.01506566721946001, -0.04785384237766266, 0.0062888795509934425, 0.006565313786268234, 0.01038164272904396, 0.015726039186120033, 0.0761115700006485, 0.015272993594408035, -0.042970169335603714, 0.019703621044754982, 0.009905560873448849, -0.022114740684628487, 0.004184907767921686, -0.029793471097946167, 0.00954466126859188, 0.01540353149175644, -0.02974739857017994, 0.03206637501716614, 0.003225066466256976, 0.022176170721650124, -0.009275905787944794, -0.05350538715720177, -0.036520037800073624, -0.023189762607216835, 0.04432162642478943, 0.007052913308143616, 0.03116028569638729, 0.033571407198905945, -0.020625067874789238, -0.005927979480475187, -0.001962875248864293, 0.02682948112487793, 0.01664748601615429, -0.028564874082803726, -0.001681641791947186, 0.034400708973407745, -0.010665755718946457, 0.011287732981145382, -0.026030894368886948, -0.0036934688687324524, 0.026061607524752617, -0.08753751963376999, -0.02122400887310505, 0.009260548278689384, -0.04413733631372452, -0.08508032560348511, -0.05900335684418678, -0.013990645296871662, 0.01888967491686344, -0.001401368179358542, -0.029409535229206085, 0.019304325804114342, 0.0402979739010334, 0.01217846479266882, -0.041895147413015366, -0.043768759816884995, -0.05359753221273422, 0.05132462829351425, 0.013069197535514832, 0.002848808653652668, 0.021546514704823494, -0.018152516335248947, -0.004350000526756048, 0.032772816717624664, 0.02160794474184513, -0.005943336524069309, -0.04782312735915184, -0.03999082371592522, 0.0018428950570523739, 0.03882365673780441, -0.035660021007061005, 0.016063902527093887, 0.012431863695383072, -0.01340706180781126, -0.010742542333900928, 0.028733806684613228, -0.043123744428157806, -0.02326655015349388, -0.014604943804442883, -0.053351812064647675, -0.010143602266907692, -0.01598711498081684, 0.03759505972266197, -0.0023996029049158096, 0.03658146783709526, 0.03486143425107002, 0.0053751105442643166, -0.027397707104682922, -0.018045013770461082, 0.04118870571255684, -0.05504113435745239, 0.013169021345674992, 0.027581997215747833, 0.012923302128911018, -0.0020713373087346554, 0.022974759340286255, 0.003977581858634949, -0.018382878974080086, -0.004019815009087324, -0.013652781024575233, 0.053136810660362244, 0.06480848044157028, 0.018213946372270584, -0.0898718535900116, 0.01583353988826275, -0.0407894104719162, -0.0021692411974072456, 0.04349232465028763, 0.0394686721265316, 0.016493910923600197, 0.021976524963974953, 0.01321509387344122, 0.007601942401379347, -0.028994882479310036, 0.04631809890270233, 0.011203266680240631, -0.031283143907785416, -0.010481465607881546, 0.04429091140627861, -0.005851191934198141, 0.029056312516331673, 0.03433927893638611, -0.008285349234938622, -0.002034863457083702, -0.006615225691348314, -0.0060086059384047985, 0.027382349595427513, -0.013453134335577488, -0.02888738177716732, -0.035260725766420364, 0.027704857289791107, -0.008615534752607346, 0.0011047772131860256, 0.03271138668060303, 0.00452661095187068, -0.05344395712018013, -0.017522860318422318, -0.05362824723124504, -0.009291263297200203, -0.026261255145072937, 0.02328190766274929, 0.031728509813547134, 0.033755697309970856, 0.03017740696668625, -0.012608474120497704, 0.01297705341130495, 0.01183292269706726, 0.0023535306099802256, 0.0006243766983971, -0.0844045951962471, -0.037533629685640335, -0.009222154505550861, 0.009506267495453358, 0.009337334893643856, -0.007628818042576313, 0.011402913369238377, -0.06542277336120605, -0.013591350987553596, -0.046041663736104965, 0.019043250009417534, 0.02163865976035595, -0.0009823974687606096, 0.050003886222839355, 0.050741046667099 ], "result": "--- 结果 1 (相似度: 1.000) ---\n文件路径: C:\\Steam\\steamapps\\common\\RimWorld\\Data\\dll1.6\\Verse\\MapGenerator.txt\n\npublic static class MapGenerator\n{\n\tpublic static Map mapBeingGenerated;\n\n\tprivate static IntVec3 playerStartSpotInt = IntVec3.Invalid;\n\n\tprivate static Gravship gravship;\n\n\tpublic static List rootsToUnfog = new List();\n\n\tprivate static Dictionary data = new Dictionary();\n\n\tprivate static List tmpGenSteps = new List();\n\n\tprivate static int debugSeed;\n\n\tpublic static bool debugMode = false;\n\n\tprivate static int debugGenStepIndex = 0;\n\n\tprivate static List cachedUsedRects = new List();\n\n\tpublic const string ElevationName = \"Elevation\";\n\n\tpublic const string FertilityName = \"Fertility\";\n\n\tpublic const string CavesName = \"Caves\";\n\n\tpublic const string RectOfInterestName = \"RectOfInterest\";\n\n\tpublic const string UsedRectsName = \"UsedRects\";\n\n\tpublic const string RectOfInterestTurretsGenStepsCount = \"RectOfInterestTurretsGenStepsCount\";\n\n\tpublic const string DontGenerateClearedGravShipTerrain = \"DontGenerateClearedGravShipTerrain\";\n\n\tpublic const string GravshipSpawnSet = \"GravshipSpawnSet\";\n\n\tpublic const string SpawnRectName = \"SpawnRect\";\n\n\tpublic static List tmpDataDump = new List();\n\n\tpublic static MapGenFloatGrid Elevation => FloatGridNamed(\"Elevation\");\n\n\tpublic static MapGenFloatGrid Fertility => FloatGridNamed(\"Fertility\");\n\n\tpublic static MapGenFloatGrid Caves => FloatGridNamed(\"Caves\");\n\n\tpublic static List UsedRects => GetOrGenerateVar>(\"UsedRects\");\n\n\tpublic static IntVec3 PlayerStartSpot\n\t{\n\t\tget\n\t\t{\n\t\t\tif (!PlayerStartSpotValid)\n\t\t\t{\n\t\t\t\tLog.Error(\"Accessing player start spot before setting it.\");\n\t\t\t\treturn IntVec3.Invalid;\n\t\t\t}\n\t\t\treturn playerStartSpotInt;\n\t\t}\n\t\tset\n\t\t{\n\t\t\tplayerStartSpotInt = value;\n\t\t}\n\t}\n\n\tpublic static bool PlayerStartSpotValid => playerStartSpotInt.IsValid;\n\n\tpublic static Map GenerateMap(IntVec3 mapSize, MapParent parent, MapGeneratorDef mapGenerator, IEnumerable extraGenStepDefs = null, Action extraInitBeforeContentGen = null, bool isPocketMap = false, bool stepDebugger = false)\n\t{\n\t\tProgramState programState = Current.ProgramState;\n\t\tCurrent.ProgramState = ProgramState.MapInitializing;\n\t\tClearWorkingData();\n\t\tplayerStartSpotInt = IntVec3.Invalid;\n\t\trootsToUnfog.Clear();\n\t\tmapBeingGenerated = null;\n\t\tgravship = null;\n\t\tDeepProfiler.Start(\"InitNewGeneratedMap\");\n\t\tRand.PushState();\n\t\tint seed = Gen.HashCombineInt(Find.World.info.Seed, parent?.Tile.GetHashCode() ?? 0);\n\t\tif (isPocketMap)\n\t\t{\n\t\t\tseed = Gen.HashCombineInt(Find.World.info.Seed, parent?.ID ?? Rand.Int);\n\t\t}\n\t\tRand.Seed = seed;\n\t\tif (stepDebugger)\n\t\t{\n\t\t\tdebugMode = true;\n\t\t\tdebugSeed = seed;\n\t\t\tdebugGenStepIndex = 0;\n\t\t}\n\t\ttry\n\t\t{\n\t\t\tif (parent != null && parent.HasMap)\n\t\t\t{\n\t\t\t\tLog.Error($\"Tried to generate a new map and set {parent} as its parent, but this world object already has a map. One world object can't have more than 1 map.\");\n\t\t\t\tparent = null;\n\t\t\t}\n\t\t\tDeepProfiler.Start(\"Set up map\");\n\t\t\tMap map = new Map();\n\t\t\tmap.uniqueID = Find.UniqueIDsManager.GetNextMapID();\n\t\t\tmap.generationTick = GenTicks.TicksGame;\n\t\t\tmap.events = new MapEvents(map);\n\t\t\tmapBeingGenerated = map;\n\t\t\tmap.info.Size = mapSize;\n\t\t\tmap.info.parent = parent;\n\t\t\tif (mapGenerator == null)\n\t\t\t{\n\t\t\t\tLog.Error(\"Attempted to generate map without generator; falling back on encounter map\");\n\t\t\t\tmapGenerator = MapGeneratorDefOf.Encounter;\n\t\t\t}\n\t\t\tmap.generatorDef = mapGenerator;\n\t\t\tmap.info.disableSunShadows = mapGenerator.disableShadows;\n\t\t\tif (isPocketMap)\n\t\t\t{\n\t\t\t\tmap.info.isPocketMap = true;\n\t\t\t\tmap.pocketTileInfo = new Tile\n\t\t\t\t{\n\t\t\t\t\tPrimaryBiome = mapGenerator.pocketMapProperties.biome\n\t\t\t\t};\n\t\t\t\tforeach (TileMutatorDef tileMutator in mapGenerator.pocketMapProperties.tileMutators)\n\t\t\t\t{\n\t\t\t\t\tmap.TileInfo.AddMutator(tileMutator);\n\t\t\t\t}\n\t\t\t}\n\t\t\tmap.ConstructComponents();\n\t\t\tforeach (TileMutatorDef mutator in map.TileInfo.Mutators)\n\t\t\t{\n\t\t\t\tmutator.Worker?.Init(map);\n\t\t\t}\n\t\t\tDeepProfiler.End();\n\t\t\tCurrent.Game.AddMap(map);\n\t\t\tif (mapGenerator.isUnderground)\n\t\t\t{\n\t\t\t\tforeach (IntVec3 allCell in map.AllCells)\n\t\t\t\t{\n\t\t\t\t\tmap.roofGrid.SetRoof(allCell, mapGenerator.roofDef ?? RoofDefOf.RoofRockThick);\n\t\t\t\t}\n\t\t\t}\n\t\t\textraInitBeforeContentGen?.Invoke(map);\n\t\t\tIEnumerable enumerable = mapGenerator.genSteps.Where(IsValidBiome).Select(GetGenStepParms);\n\t\t\tforeach (TileMutatorDef mutator2 in map.TileInfo.Mutators)\n\t\t\t{\n\t\t\t\tif (mutator2.extraGenSteps.Any())\n\t\t\t\t{\n\t\t\t\t\tenumerable = enumerable.Concat(mutator2.extraGenSteps.Select(GetGenStepParms));\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (map.Biome.extraGenSteps.Any())\n\t\t\t{\n\t\t\t\tenumerable = enumerable.Concat(map.Biome.extraGenSteps.Where(IsValidBiome).Select(GetGenStepParms));\n\t\t\t}\n\t\t\tif (map.Biome.preventGenSteps.Any())\n\t\t\t{\n\t\t\t\tenumerable = enumerable.Where((GenStepWithParams step) => !map.Biome.preventGenSteps.Contains(step.def));\n\t\t\t}\n\t\t\tforeach (TileMutatorDef mut in map.TileInfo.Mutators)\n\t\t\t{\n\t\t\t\tif (mut.preventGenSteps.Any())\n\t\t\t\t{\n\t\t\t\t\tenumerable = enumerable.Where((GenStepWithParams step) => !mut.preventGenSteps.Contains(step.def));\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (extraGenStepDefs != null)\n\t\t\t{\n\t\t\t\tenumerable = enumerable.Concat(extraGenStepDefs);\n\t\t\t}\n\t\t\tenumerable = enumerable.Distinct();\n\t\t\tmap.areaManager.AddStartingAreas();\n\t\t\tmap.weatherDecider.StartInitialWeather();\n\t\t\tDeepProfiler.Start(\"Generate contents into map\");\n\t\t\tGenerateContentsIntoMap(enumerable, map, seed, stepDebugger);\n\t\t\tDeepProfiler.End();\n\t\t\tFind.Scenario.PostMapGenerate(map);\n\t\t\tDeepProfiler.Start(\"Finalize map init\");\n\t\t\tmap.FinalizeInit();\n\t\t\tDeepProfiler.End();\n\t\t\tDeepProfiler.Start(\"MapComponent.MapGenerated()\");\n\t\t\tMapComponentUtility.MapGenerated(map);\n\t\t\tDeepProfiler.End();\n\t\t\tparent?.PostMapGenerate();\n\t\t\tDeepProfiler.Start(\"Map generator post init\");\n\t\t\tif (!stepDebugger)\n\t\t\t{\n\t\t\t\tMapGeneratorPostInit(enumerable, map);\n\t\t\t}\n\t\t\tDeepProfiler.End();\n\t\t\tif (gravship != null && !stepDebugger && (bool)map.Parent.CanBeSettled)\n\t\t\t{\n\t\t\t\tGravshipUtility.SettleTile(map);\n\t\t\t}\n\t\t\tif (map.TileInfo.Layer.Def.isSpace)\n\t\t\t{\n\t\t\t\tLessonAutoActivator.TeachOpportunity(ConceptDefOf.Orbit, OpportunityType.Critical);\n\t\t\t}\n\t\t\treturn map;\n\t\t}\n\t\tfinally\n\t\t{\n\t\t\tDeepProfiler.End();\n\t\t\tif (!stepDebugger)\n\t\t\t{\n\t\t\t\tClearWorkingData();\n\t\t\t\tmapBeingGenerated = null;\n\t\t\t\tgravship = null;\n\t\t\t}\n\t\t\tCurrent.ProgramState = programState;\n\t\t\tRand.PopState();\n\t\t}\n\t\tstatic GenStepWithParams GetGenStepParms(GenStepDef x)\n\t\t{\n\t\t\treturn new GenStepWithParams(x, default(GenStepParams));\n\t\t}\n\t\tstatic bool IsValidBiome(GenStepDef g)\n\t\t{\n\t\t\treturn !Find.Scenario.parts.Any((ScenPart p) => typeof(ScenPart_DisableMapGen).IsAssignableFrom(p.def.scenPartClass) && p.def.genStep == g);\n\t\t}\n\t}\n\n\tpublic static bool DebugDoNextGenStep(Map map)\n\t{\n\t\tif (debugGenStepIndex >= tmpGenSteps.Count)\n\t\t{\n\t\t\tClearDebugMode();\n\t\t\treturn false;\n\t\t}\n\t\tGenStepWithParams genStepWithParams = tmpGenSteps[debugGenStepIndex];\n\t\tLog.Message(\"Doing gen step \" + genStepWithParams.def.defName);\n\t\tRand.PushState(Gen.HashCombineInt(debugSeed, GetSeedPart(tmpGenSteps, debugGenStepIndex)));\n\t\ttry\n\t\t{\n\t\t\tGenStepParams parms = genStepWithParams.parms;\n\t\t\tif (gravship != null)\n\t\t\t{\n\t\t\t\tparms.gravship = gravship;\n\t\t\t}\n\t\t\tgenStepWithParams.def.genStep.Generate(map, parms);\n\t\t\tgenStepWithParams.def.genStep.PostMapInitialized(map, parms);\n\t\t}\n\t\tcatch (Exception arg)\n\t\t{\n\t\t\tLog.Error($\"Error stepping GenStep {genStepWithParams.def.defName}: {arg}\");\n\t\t}\n\t\tRand.PopState();\n\t\tmap.FinalizeInit();\n\t\tdebugGenStepIndex++;\n\t\treturn true;\n\t}\n\n\tpublic static void ClearDebugMode()\n\t{\n\t\tdebugMode = false;\n\t\tdebugSeed = 0;\n\t\tdebugGenStepIndex = 0;\n\t}\n\n\tpublic static void MapGeneratorPostInit(IEnumerable genStepDefs, Map map)\n\t{\n\t\ttmpGenSteps.Clear();\n\t\ttmpGenSteps.AddRange(from x in genStepDefs\n\t\t\torderby x.def.order, x.def.index\n\t\t\tselect x);\n\t\ttmpGenSteps.RemoveWhere((GenStepWithParams a) => tmpGenSteps.Any((GenStepWithParams b) => b.def.preventsGenSteps != null && b.def.preventsGenSteps.Contains(a.def)));\n\t\tfor (int i = 0; i < tmpGenSteps.Count; i++)\n\t\t{\n\t\t\tGenStepParams parms = tmpGenSteps[i].parms;\n\t\t\tif (gravship != null)\n\t\t\t{\n\t\t\t\tparms.gravship = gravship;\n\t\t\t}\n\t\t\ttmpGenSteps[i].def.genStep.PostMapInitialized(map, parms);\n\t\t}\n\t}\n\n\tpublic static void GenerateContentsIntoMap(IEnumerable genStepDefs, Map map, int seed, bool stepDebugger = false)\n\t{\n\t\tClearWorkingData();\n\t\tif (ModsConfig.OdysseyActive)\n\t\t{\n\t\t\tforeach (GenStepWithParams genStepDef in genStepDefs)\n\t\t\t{\n\t\t\t\tif (genStepDef.def == GenStepDefOf.GravshipMarker)\n\t\t\t\t{\n\t\t\t\t\tgravship = genStepDef.parms.gravship;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tRand.PushState();\n\t\ttry\n\t\t{\n\t\t\tRand.Seed = seed;\n\t\t\tRockNoises.Init(map);\n\t\t\ttmpGenSteps.Clear();\n\t\t\ttmpGenSteps.AddRange(from x in genStepDefs\n\t\t\t\torderby x.def.order, x.def.index\n\t\t\t\tselect x);\n\t\t\ttmpGenSteps.RemoveWhere((GenStepWithParams a) => tmpGenSteps.Any((GenStepWithParams b) => b.def.preventsGenSteps != null && b.def.preventsGenSteps.Contains(a.def)));\n\t\t\tif (stepDebugger)\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tfor (int i = 0; i < tmpGenSteps.Count; i++)\n\t\t\t{\n\t\t\t\tDeepProfiler.Start(\"GenStep - \" + tmpGenSteps[i].def);\n\t\t\t\ttry\n\t\t\t\t{\n\t\t\t\t\tGenStepParams parms = tmpGenSteps[i].parms;\n\t\t\t\t\tif (gravship != null)\n\t\t\t\t\t{\n\t\t\t\t\t\tparms.gravship = gravship;\n\t\t\t\t\t}\n\t\t\t\t\tRand.PushState();\n\t\t\t\t\tRand.Seed = Gen.HashCombineInt(seed, GetSeedPart(tmpGenSteps, i));\n\t\t\t\t\ttmpGenSteps[i].def.genStep.Generate(map, parms);\n\t\t\t\t\tif (map.pathing.IncrementalDirtyingDisabled)\n\t\t\t\t\t{\n\t\t\t\t\t\tLog.Error($\"Genstep [{i}] {tmpGenSteps[i].def} ended with path incremental dirtying disabled, for safety reasons it must be reenabled before returning.\");\n\t\t\t\t\t\tmap.pathing.ReEnableIncrementalDirtying();\n\t\t\t\t\t}\n\t\t\t\t\tRand.PopState();\n\t\t\t\t}\n\t\t\t\tcatch (Exception arg)\n\t\t\t\t{\n\t\t\t\t\tLog.Error($\"Error in GenStep: {arg}\");\n\t\t\t\t}\n\t\t\t\tfinally\n\t\t\t\t{\n\t\t\t\t\tDeepProfiler.End();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tfinally\n\t\t{\n\t\t\tif (!stepDebugger)\n\t\t\t{\n\t\t\t\tRand.PopState();\n\t\t\t\tRockNoises.Reset();\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate static void ClearWorkingData()\n\t{\n\t\tif (Prefs.DevMode && TryGetVar>(\"UsedRects\", out var var))\n\t\t{\n\t\t\tcachedUsedRects = var.ToList();\n\t\t}\n\t\tforeach (KeyValuePair datum in data)\n\t\t{\n\t\t\tdatum.Deconstruct(out var _, out var value);\n\t\t\tif (value is IDisposable disposable)\n\t\t\t{\n\t\t\t\tdisposable.Dispose();\n\t\t\t}\n\t\t}\n\t\tdata.Clear();\n\t}\n\n\tpublic static void DebugDraw()\n\t{\n\t\tif (!DebugViewSettings.drawUsedRects)\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\tfloat y = AltitudeLayer.MetaOverlays.AltitudeFor();\n\t\tforeach (CellRect cachedUsedRect in cachedUsedRects)\n\t\t{\n\t\t\tGenDraw.DrawLineBetween(new Vector3(cachedUsedRect.minX, y, cachedUsedRect.minZ), new Vector3(cachedUsedRect.minX, y, cachedUsedRect.maxZ + 1), SimpleColor.Red);\n\t\t\tGenDraw.DrawLineBetween(new Vector3(cachedUsedRect.maxX + 1, y, cachedUsedRect.minZ), new Vector3(cachedUsedRect.maxX + 1, y, cachedUsedRect.maxZ + 1), SimpleColor.Red);\n\t\t\tGenDraw.DrawLineBetween(new Vector3(cachedUsedRect.minX, y, cachedUsedRect.minZ), new Vector3(cachedUsedRect.maxX + 1, y, cachedUsedRect.minZ), SimpleColor.Red);\n\t\t\tGenDraw.DrawLineBetween(new Vector3(cachedUsedRect.minX, y, cachedUsedRect.maxZ + 1), new Vector3(cachedUsedRect.maxX + 1, y, cachedUsedRect.maxZ + 1), SimpleColor.Red);\n\t\t}\n\t}\n\n\tpublic static T GetVar(string name)\n\t{\n\t\tif (data.TryGetValue(name, out var value))\n\t\t{\n\t\t\treturn (T)value;\n\t\t}\n\t\treturn default(T);\n\t}\n\n\tpublic static bool TryGetVar(string name, out T var)\n\t{\n\t\tif (data.TryGetValue(name, out var value))\n\t\t{\n\t\t\tvar = (T)value;\n\t\t\treturn true;\n\t\t}\n\t\tvar = default(T);\n\t\treturn false;\n\t}\n\n\tpublic static T GetOrGenerateVar(string name)\n\t{\n\t\tT var = GetVar(name);\n\t\tif (var != null)\n\t\t{\n\t\t\treturn var;\n\t\t}\n\t\tvar = (T)Activator.CreateInstance(typeof(T));\n\t\tSetVar(name, var);\n\t\treturn var;\n\t}\n\n\tpublic static void SetVar(string name, T var)\n\t{\n\t\tdata[name] = var;\n\t}\n\n\tpublic static MapGenFloatGrid FloatGridNamed(string name)\n\t{\n\t\tMapGenFloatGrid var = GetVar(name);\n\t\tif (var != null)\n\t\t{\n\t\t\treturn var;\n\t\t}\n\t\tMapGenFloatGrid mapGenFloatGrid = new MapGenFloatGrid(mapBeingGenerated);\n\t\tSetVar(name, mapGenFloatGrid);\n\t\treturn mapGenFloatGrid;\n\t}\n\n\tprivate static int GetSeedPart(List genSteps, int index)\n\t{\n\t\tint seedPart = genSteps[index].def.genStep.SeedPart;\n\t\tint num = 0;\n\t\tfor (int i = 0; i < index; i++)\n\t\t{\n\t\t\tif (tmpGenSteps[i].def.genStep.SeedPart == seedPart)\n\t\t\t{\n\t\t\t\tnum++;\n\t\t\t}\n\t\t}\n\t\treturn seedPart + num;\n\t}\n}\n\n", "timestamp": "2025-08-25 11:39:55,702" }, "Map-destroyed-null": { "keywords": [ "Map", "destroyed", "null" ], "question": "Map check if destroyed or null methods", "embedding": [ -0.02629806287586689, 0.017614584416151047, 0.04774262011051178, -0.02765176072716713, -0.06454829126596451, 0.004985571373254061, 0.03275289013981819, 0.02378876879811287, -0.00615354860201478, 0.06979799270629883, 0.028411151841282845, -0.04450695216655731, -0.005068113561719656, -0.005806869827210903, -0.006520863156765699, 0.04354945942759514, -0.017614584416151047, -0.12216300517320633, -0.021972831338644028, 0.006743727717548609, -0.002952960319817066, 0.015361172147095203, 0.01943052001297474, 0.005736708641052246, -0.02185727283358574, 0.002154360990971327, 0.030953463166952133, 0.07508072257041931, -0.057383593171834946, 0.0034956778399646282, 0.004399518948048353, 0.016673598438501358, 0.03800259903073311, -0.05157259851694107, 0.04067697748541832, 0.01037560123950243, -0.03413960710167885, 0.02814701572060585, 0.030623292550444603, 0.013305862434208393, -0.04985571280121803, 0.004275705199688673, -0.0065910243429243565, 0.007313271518796682, 0.03394150361418724, 0.06695853173732758, 0.03595554456114769, -0.026314571499824524, -0.0497896783053875, 0.020388014614582062, -0.010581957176327705, 0.052166905254125595, 0.003889818675816059, -0.058242037892341614, 0.018951773643493652, 0.014964967966079712, -0.020685167983174324, -0.02514246664941311, -0.021725203841924667, 0.0003776322409976274, 0.015509748831391335, 0.029698817059397697, -0.017565058544278145, -0.019215909764170647, 0.07316572964191437, -0.03744130954146385, -0.04381359741091728, 0.020965812727808952, 0.009533667005598545, -0.03836578503251076, 0.03300051763653755, 0.012686792761087418, -0.033875469118356705, 0.0008321322966367006, -0.024548159912228584, -0.002750731073319912, 0.012075977399945259, 0.01618659868836403, 0.003906327299773693, -0.02177472971379757, 0.0221049003303051, -0.012967437505722046, 0.0015476731350645423, 0.010796568356454372, -0.025753282010555267, 0.026892369613051414, 0.005773852579295635, -0.07587312906980515, -0.04843597859144211, 0.1151633933186531, -0.0015311646275222301, 0.014857662841677666, 0.017482515424489975, -0.005831632297486067, 0.01967814937233925, -0.025406602770090103, -0.01934797875583172, 0.015641815960407257, 0.0108460932970047, 0.04972364380955696, -0.010573702864348888, 0.0012082168832421303, 0.008947614580392838, 0.06263329833745956, -0.01934797875583172, 0.11225789040327072, -0.06134563684463501, 0.009938125498592854, -0.024878330528736115, 0.00397648848593235, -0.017515532672405243, -0.06322760879993439, 0.01799428090453148, 0.023904327303171158, -0.001963481307029724, 0.03204302489757538, 0.023359546437859535, -0.011126738041639328, -0.008266638033092022, -0.0004067801055498421, 0.06603405624628067, -0.031498245894908905, -0.016954243183135986, -0.01025178749114275, -0.015394189395010471, -0.012546470388770103, 0.03275289013981819, -0.003995060455054045, -0.0045852395705878735, 0.004164272453635931, 0.018621603026986122, -0.014593525789678097, -0.014271610416471958, -0.00044779342715628445, -0.05513843521475792, -0.029203560203313828, 0.018605094403028488, 0.0033966267947107553, -0.018555570393800735, 0.031993500888347626, -0.0024865949526429176, 0.016326921060681343, 0.020189912989735603, -0.03440374135971069, 0.06979799270629883, -0.03562537208199501, -0.05021889880299568, -0.00994637981057167, 0.0014723531203344464, -0.011531196534633636, 0.017432991415262222, -0.013569998554885387, -0.010392109863460064, 0.046785127371549606, -0.020932795479893684, 0.0024081794545054436, 0.012018198147416115, -0.05900142714381218, 0.029962953180074692, -0.056227996945381165, 0.001328935381025076, 0.034172624349594116, -0.017779668793082237, -0.00576147111132741, 0.019744182005524635, 0.007379305548965931, -0.02094930410385132, 0.034007538110017776, -0.04952554032206535, -0.042096711695194244, -0.017763160169124603, 0.016937734559178352, -0.05256310850381851, -0.002891053445637226, 0.0442098006606102, -0.021510593593120575, 0.013388404622673988, 0.053520601242780685, -0.0253075510263443, -0.055567655712366104, 0.08340100944042206, 0.021295983344316483, 0.02950071357190609, -0.03082139603793621, 0.020553098991513252, -0.07494865357875824, 0.009409853257238865, 0.039092160761356354, 0.022781748324632645, 0.00514652905985713, 0.02922006882727146, -0.01758156716823578, 0.039884570986032486, -0.0018045869655907154, 0.0100454306229949, -0.02930261194705963, 0.009327310137450695, -0.014172558672726154, -0.06893955171108246, -0.0025485018268227577, 0.03866294026374817, 0.007812654599547386, 0.018440010026097298, -0.017862211912870407, -0.0034977414179593325, -0.01243091095238924, -0.007915832102298737, -0.011159755289554596, 0.0321255661547184, -0.017119329422712326, 0.07692967355251312, -0.014123033732175827, 0.032851941883563995, -8.45416434458457e-05, -0.018390484154224396, -0.04064396023750305, -0.022946834564208984, -0.015963733196258545, 0.006194819696247578, 0.026265045627951622, -0.023194462060928345, 0.037540361285209656, 0.027106979861855507, 0.0070780254900455475, -0.0019077651668339968, -0.051506564021110535, 0.023937344551086426, 0.007767255883663893, 0.03427167609333992, 0.01574086770415306, -0.03849785402417183, 0.001762283849529922, -0.0305737666785717, 0.029071493074297905, 0.0020831681322306395, -0.014263356104493141, -0.05431301146745682, -0.0011762316571548581, -0.0021770603489130735, 0.0010844030184671283, -0.050483036786317825, 0.04269101843237877, -0.013041726313531399, 0.05883634462952614, -0.007618679199367762, -0.0353282205760479, -0.018687637522816658, 0.03347926586866379, 0.01989275962114334, -0.015022747218608856, 0.03816768527030945, 0.0026062815450131893, -0.01873716339468956, -0.06088339909911156, -0.006747854873538017, -0.003144871909171343, 0.004267450887709856, -0.02218744345009327, 0.048832185566425323, -0.04572858288884163, -0.03767243027687073, 0.026199011132121086, -0.01926543563604355, 0.01436240691691637, -0.03288495913147926, 0.025654230266809464, 0.016838684678077698, 0.02704094536602497, -0.08280670642852783, -0.09238164126873016, -0.0134792011231184, 0.03681398555636406, 0.01754854992032051, -0.04153542220592499, 0.014090016484260559, -0.014618288725614548, 0.021593136712908745, 0.03843181952834129, 0.013215065002441406, -0.014676068909466267, 0.004073475953191519, 0.02177472971379757, 0.012901403941214085, 0.028130507096648216, 0.010400363244116306, 0.04909631982445717, 0.040577925741672516, 0.015319900587201118, 0.032901469618082047, -0.027800336480140686, 0.010524177923798561, 0.037408292293548584, 0.001700376975350082, 0.020371505990624428, 0.005010333843529224, -0.022385545074939728, -0.02022293023765087, 0.0074948654510080814, -0.01976069062948227, 0.019744182005524635, -0.010854347608983517, -0.01273631863296032, -0.005187800619751215, -0.00043799151899293065, 0.04163447022438049, -0.07078851014375687, -0.014040490612387657, -0.11456908285617828, 0.03516313433647156, -0.04605875536799431, 0.017515532672405243, 0.04034680873155594, -0.05078018829226494, 0.01771363615989685, -0.0015734677435830235, 0.035196151584386826, -0.04734641686081886, -0.0014331453712657094, 0.011242297478020191, -8.08014374342747e-05, 0.04655401036143303, -0.016615819185972214, -0.0007810590323060751, 0.0035493304021656513, 0.02753620035946369, 0.0013629841851070523, 0.0032047152053564787, 0.0006680788937956095, -0.020701676607131958, -0.005047478247433901, 0.0006969688110984862, 0.006025607697665691, -0.013388404622673988, -0.022501103579998016, -0.04051189124584198, -0.02403639629483223, -0.0019490363774821162, -0.012562979012727737, 0.056723251938819885, 0.008823800832033157, -0.012521707452833652, -0.026842843741178513, -0.04034680873155594, -0.024234497919678688, 0.012051215395331383, 0.0305737666785717, 0.021972831338644028, 0.03684700280427933, 0.014577018097043037, 0.002003720961511135, -0.050350967794656754, 0.010879110544919968, -0.018671128898859024, 0.039059143513441086, 0.03245573863387108, -0.0660010352730751, 0.03476693108677864, -0.013116014190018177, -0.020965812727808952, -0.0018850659253075719, 0.0027961295563727617, 0.02296334318816662, -0.024333549663424492, 0.04321929067373276, -0.013248082250356674, -0.011919147334992886, -0.0016322792507708073, 0.04298816993832588, -0.0061411671340465546, 0.02880735695362091, -0.004527459852397442, -0.022055374458432198, 0.04516729339957237, 0.010400363244116306, -0.05210087075829506, 0.07105264067649841, -0.006871669087558985, -0.026265045627951622, 0.03800259903073311, -0.010920382104814053, 0.046818144619464874, 0.03869595751166344, -0.033347196877002716, -0.061576757580041885, -0.0014228274812921882, -0.020767711102962494, -0.02855972945690155, 0.014329389669001102, -0.0022307129111140966, -0.07204315066337585, 0.05517145246267319, 0.0061741843819618225, -0.02198933996260166, -0.0029797868337482214, -0.06266631931066513, 0.019414011389017105, -0.007094533648341894, 0.0334627591073513, 0.008832055144011974, -0.016838684678077698, -0.006281489506363869, -0.008576173335313797, 0.04817184433341026, -0.03024359792470932, 0.03007851168513298, -0.015427205711603165, 0.045266345143318176, -0.02477927878499031, -0.02378876879811287, -0.021213440224528313, 0.00762280635535717, -0.04064396023750305, 0.0507141537964344, 0.07818432152271271, -0.04827089607715607, -0.0069913556799292564, 0.01139912847429514, -0.016170090064406395, 0.05124242603778839, -0.00315312622115016, -0.012818860821425915, -0.009319055825471878, -0.032241128385066986, -0.004354120697826147, 0.008217113092541695, 0.02707396261394024, 0.05124242603778839, 0.01581515558063984, -0.017862211912870407, 0.043087221682071686, -0.0024164337664842606, -0.03073885291814804, 0.001964513212442398, 0.05444507673382759, 0.002282302128151059, -0.011316586285829544, -0.03390848636627197, -0.014519237913191319, -0.02022293023765087, -0.013751591555774212, 0.021626153960824013, -0.005588131956756115, -0.025324059650301933, -0.02588534913957119, -0.04605875536799431, -0.0732317641377449, 0.052662160247564316, -0.01713583804666996, 0.023475106805562973, 0.040577925741672516, -0.022913817316293716, -0.0041539547964930534, 0.01401572860777378, 0.022567138075828552, -0.008906343020498753, 0.029467696323990822, -0.0185390617698431, -0.033347196877002716, -0.02707396261394024, 0.015501494519412518, 0.06111451983451843, 0.0055386065505445, -0.02884037420153618, 0.012629013508558273, -0.002034674398601055, 0.007940595038235188, -0.017482515424489975, -0.008126315660774708, -0.005435428116470575, -0.04094111546874046, 0.012992200441658497, 0.027585726231336594, 0.014048744924366474, -0.020041335374116898, 0.02568724751472473, -0.06629819422960281, -0.008592681027948856, 0.048468995839357376, 0.002496912609785795, 0.017350448295474052, 0.02403639629483223, 0.010656245984137058, -0.030177563428878784, 0.0031882068142294884, -0.05196880176663399, -0.06045417860150337, -0.02326049655675888, -0.03668191656470299, 0.025489145889878273, -0.05431301146745682, -0.04070999473333359, 0.0002311191929038614, 0.01741648279130459, 0.01721837930381298, -0.015716105699539185, 0.022286493331193924, 0.010780059732496738, -0.0008352276054210961, 0.008134569972753525, -0.07673157006502151, 0.002602154389023781, 0.023326529189944267, -0.01631866581737995, -0.040776029229164124, 0.06758585572242737, -0.004341739229857922, -0.07481658458709717, 0.031052514910697937, -0.052860260009765625, -0.031250618398189545, -0.001946972799487412, -0.020487066358327866, 0.03592252731323242, -0.019958794116973877, 0.015749122947454453, 0.024416092783212662, 0.0402807742357254, 0.07448641210794449, -0.0065414984710514545, 0.012257571332156658, 0.006871669087558985, -0.053025346249341965, -0.020899778231978416, -0.032191600650548935, -0.030540751293301582, 0.026859352365136147, 0.01444495003670454, -0.01374333817511797, -0.05262914299964905, -0.02177472971379757, -0.03929026424884796, 0.03126712515950203, 0.01943052001297474, -0.0074701025150716305, 0.07342986762523651, 0.01163024827837944, -0.019083842635154724, -0.011374366469681263, 0.032191600650548935, 0.016409462317824364, 0.0075402637012302876, -0.027338098734617233, -0.008345053531229496, -0.021840764209628105, 0.024647211655974388, -0.057416610419750214, 0.005249707493931055, 0.01931496150791645, -0.010771805420517921, -0.005179546307772398, 0.002234840067103505, 0.02704094536602497, 0.04936045780777931, -0.005617022048681974, 0.027998439967632294, -0.0033099569845944643, 0.029814375564455986, 0.043285321444272995, 0.00846061296761036, 0.0012897276319563389, -0.01749902404844761, -0.05292629450559616, -0.008898088708519936, -0.009112699888646603, 0.019248927012085915, -0.034337710589170456, 0.0035513939801603556, 0.009896853938698769, -0.050020795315504074, 0.01885272189974785, -0.07877862453460693, 0.007024372462183237, -0.026809826493263245, 0.028873391449451447, -0.01099466998130083, 0.03225763514637947, -0.018423501402139664, 0.030276615172624588, 0.04774262011051178, 0.010903873480856419, 0.0007206997834146023, 0.009294292889535427, -0.03232366964221001, -0.04318627342581749, 0.011374366469681263, -0.021345509216189384, -0.00038304910412989557, 0.022484594956040382, 0.049294423311948776, -0.02704094536602497, 0.06359079480171204, -0.032356686890125275, -0.06299649178981781, -0.009756531566381454, -0.0098638366907835, 0.05120940878987312, 0.017036786302924156, 0.04655401036143303, 0.017267905175685883, 0.0457616001367569, -0.029368646442890167, -0.03783751279115677, -0.006813888903707266, -0.009228259325027466, -0.018390484154224396, 0.026149485260248184, -0.00011884840205311775, -0.014370661228895187, 0.040743011981248856, 0.014048744924366474, -0.029071493074297905, 0.04034680873155594, -0.03579045832157135, -0.007626933511346579, -0.011002924293279648, 0.01569959707558155, 0.02855972945690155, -0.00483699468895793, -0.03068932704627514, 0.005216690246015787, 0.04199765995144844, -0.0060544973239302635, -0.003656635759398341, -0.022666189819574356, 0.005357012618333101, -0.011308331973850727, 0.05451111122965813, -0.002851845696568489, 0.025241518393158913, 0.0060462430119514465, -0.02136201597750187, -0.04962459206581116, 0.0082625113427639, 0.030623292550444603, 0.051869750022888184, -0.016211360692977905, 0.014073507860302925, 0.01374333817511797, 0.007705349009484053, -0.019100351259112358, -0.010367346927523613, -0.017119329422712326, -0.021345509216189384, 0.03278590738773346, -0.0007083184318616986, 0.004046649672091007, -0.0070697711780667305, 0.0012577424058690667, 0.033545300364494324, -0.008675224147737026, 0.024217989295721054, 0.04807279258966446, 0.004147764295339584, -0.018192382529377937, -0.00912095420062542, -0.0393562987446785, -0.0002057115634670481, -0.02400337904691696, 0.011745807714760303, -0.04886519908905029, -0.06217106431722641, -0.05325646698474884, -0.01659931056201458, 0.0016508513363078237, -0.008349181152880192, -0.03645079955458641, 0.004973189905285835, -0.014742102473974228, 0.035889510065317154, 0.025373585522174835, 0.014865917153656483, -0.0008223303593695164, -0.015435460023581982, -0.01684693805873394, 0.02149408496916294, 0.012298842892050743, -0.09944728761911392, -0.026809826493263245, 0.07283556461334229, 0.002156424568966031, 0.051671646535396576, 0.01565007120370865, -0.02489483915269375, -0.006570388562977314, -0.0013413167325779796, -0.003809339599683881, 0.02157662808895111, -0.002612472278997302, -0.009327310137450695, 0.034007538110017776, -0.014395424164831638, -0.01025178749114275, 0.0651756152510643, 0.02226998470723629, -0.038200702518224716, -0.030639801174402237, -0.014494474977254868, -0.011349603533744812, 0.010656245984137058, 0.058076951652765274, -0.06775093823671341, -0.05289327725768089, -0.0418325737118721, 0.016508514061570168, 0.048502013087272644, -0.03635174781084061, 0.008600935339927673, 0.0014661623863503337, 0.004952554125338793, 0.05276121199131012, -0.007296762894839048, 0.01574086770415306, -0.017482515424489975, -0.0293851550668478, -0.0032872578594833612, 0.053322501480579376, 0.023640191182494164, -0.004618256818503141, -0.008972377516329288, 0.00728438189253211, 0.012340114451944828, 0.009847328066825867, -0.035196151584386826, -0.014725594781339169, 0.007465975359082222, 0.02753620035946369, 0.01680566743016243, -0.013949694111943245, -0.021642660722136497, 0.027057453989982605, -0.019744182005524635, -0.05461016297340393, -0.011002924293279648, 0.01733393967151642, -0.032686855643987656, -0.03473391383886337, 0.02284778282046318, -0.02111438848078251, -0.04582763463258743, -0.02099882997572422, -0.043615493923425674, -0.025934875011444092, 0.05903444439172745, -0.02930261194705963, 0.07475055009126663, -0.0007789955125190318, -0.01845651865005493, 0.057911865413188934, -0.02099882997572422, -0.028014948591589928, 0.03172936290502548, -0.005947192199528217, 0.021642660722136497, -0.01959560625255108, 0.012579487636685371, 0.021956322714686394, 0.04087508097290993, 0.06398700177669525, 0.016417717561125755, 0.007503119297325611, 0.028163524344563484, 0.0035183769650757313, -0.006438320502638817, 0.01080482266843319, -0.04836994409561157, 0.03225763514637947, 0.007527882233262062, 0.02157662808895111, -0.0642511323094368, -0.037903547286987305, -0.014898933470249176, -0.00017953009228222072, 0.003702034242451191, 0.06814714521169662, -0.0016271204221993685, 0.023310022428631783, 0.026760300621390343, -0.023937344551086426, 0.0253570768982172, -0.013272845186293125, 0.050846222788095474, 0.019100351259112358, -0.02099882997572422, 0.019199401140213013, 0.014048744924366474, -0.027833353728055954, -0.036880020052194595, -0.007759001571685076, 0.020685167983174324, -0.007189457770437002, 0.02132900059223175, -0.033264655619859695, 0.03714415431022644, 0.02728857286274433, -0.044936176389455795, -0.011283569037914276, 0.006789126433432102, 0.021873781457543373, 0.013124268501996994, -0.0007093502208590508, 0.01615358144044876, -0.03496503084897995, 0.008799037896096706, 0.0, -0.01163024827837944, 0.017532041296362877, -0.008390451781451702, 0.03065630979835987, 0.02472975291311741, -0.030062003061175346, 0.007193584926426411, 0.02207188308238983, 0.04031379148364067, 0.04975666105747223, -0.015270375646650791, -0.0074701025150716305, -0.0010926572140306234, 0.016739632934331894, -0.008208858780562878, -0.008799037896096706, 0.004502696916460991, 0.0546431802213192, 0.025654230266809464, -0.0028704178985208273, 0.028378134593367577, 0.004370628856122494, -0.01148167159408331, 0.02342558093369007, 0.027106979861855507, -0.02309541031718254, 0.020024826750159264, -0.026083452627062798, -0.020932795479893684, 0.00916222482919693, -0.0050722407177090645, 0.007395814172923565, -0.013157285749912262, -0.026512673124670982, -0.0313991941511631, 0.057185493409633636, -0.05969478562474251, -0.007371051236987114, 0.006929448805749416, -0.0136607950553298, 0.004259196575731039, -0.013347133062779903, 0.007003737147897482, -0.004059030674397945, -0.011473417282104492, -0.013702066615223885, -0.034172624349594116, -0.03306655213236809, 0.014411932788789272, -0.0080313915386796, 0.014709086157381535, 0.07494865357875824, 0.0168882105499506, -0.010086702182888985, 0.006219582632184029, 0.020800726488232613, -0.004267450887709856, -0.01680566743016243, 0.011935655027627945, -0.01705329492688179, -0.0018355404026806355, -0.01503925584256649, 0.06418510526418686, 0.006289743818342686, 0.02966579981148243, 0.04037982597947121, 0.015394189395010471, 0.0237557515501976, 0.0031180456280708313, 0.05827505514025688, 0.008353307843208313, -0.03456882759928703, -0.012959183193743229, 0.011126738041639328, -0.01335538737475872, -0.03513011708855629, -0.05606291443109512, -0.053025346249341965, 0.009434615261852741, -0.02444910816848278, 0.005823378451168537, 0.02662823349237442, -0.011811841279268265, 0.02448212541639805, -0.017862211912870407, 0.019463537260890007, 0.06481242179870605, -0.046454958617687225, 0.0041209375485777855, 0.020784219726920128, 0.0014733849093317986, 0.04272403195500374, -0.035031065344810486, -0.004535714164376259, -0.02255062945187092, -0.008947614580392838, 0.02276523970067501, -0.08175016194581985, 0.02033848874270916, -0.04084206372499466, 0.006809761747717857, -0.08736305683851242, -0.02715650573372841, -0.009054919704794884, 0.0018582396442070603, 0.022402053698897362, -0.016838684678077698, 0.006322760600596666, 0.030837904661893845, -0.010606720112264156, -0.004787468817085028, -0.01175406202673912, -0.04648797586560249, 0.02831210196018219, 0.014535746537148952, -0.010887364856898785, 0.005319868680089712, 0.00011710727267200127, 0.004597621038556099, 0.012538216076791286, 0.0009342787088826299, -0.0014362407382577658, -0.03423865884542465, -0.06685948371887207, -0.012868386693298817, -0.04031379148364067, -9.402114665135741e-05, 0.05005381256341934, 0.0200908612459898, -0.03479994833469391, -0.0273711159825325, 0.024548159912228584, -0.04434186965227127, -0.07296763360500336, -0.011267060413956642, -0.02560470439493656, -0.0004441821947693825, -0.05735057592391968, 0.02834511734545231, 0.025489145889878273, 0.010458143427968025, 0.018506044521927834, 0.007602170575410128, -0.04054490849375725, -0.012934420257806778, -0.001360920607112348, -0.026479655876755714, -0.015435460023581982, 0.0273711159825325, -0.07012816518545151, -0.003594728885218501, 0.04810580983757973, -0.0032026516273617744, 0.007338034454733133, -0.012662029825150967, -0.018836215138435364, -0.015798646956682205, 0.05563369020819664, 0.021180422976613045, -0.06834524869918823, 0.03331417962908745, -0.04995476454496384, 0.01779617741703987, 0.05243103951215744, 0.005505589302629232, 0.039587415754795074, 0.030012477189302444, 0.023194462060928345, 0.01787872053682804, -0.02359066531062126, 0.02809748984873295, -0.06547276675701141, -0.04483712464570999, -0.03938931226730347, -0.0450352244079113, -0.04381359741091728, 0.004853502847254276, 0.00695421127602458, -0.008898088708519936, -0.0028559728525578976, 0.002255475614219904, -0.07844845950603485, 0.0027177140582352877, -0.013611269183456898, 0.037408292293548584, -0.009418107569217682, -0.0011741680791601539, -0.04288911819458008, -0.00010717636905610561, -0.011960417963564396, 0.06761886924505234, -0.04500220715999603, -0.024383075535297394, -0.028113998472690582, -0.018307941034436226, 0.006702456623315811, -0.00014793175796512514, -0.035724423825740814, 0.013999219983816147, -0.017036786302924156, 0.021642660722136497, 0.019034316763281822, -0.08023137599229813, -0.008526647463440895, -0.016260886564850807, -0.038035616278648376, 0.07204315066337585, -0.014139542356133461, 0.0325382798910141, -0.007915832102298737, 0.031415700912475586, 0.01738346554338932, -0.03065630979835987, 0.002313255565240979, -0.0005370425642468035, 0.0007944722310639918, 0.0011586913606151938, 0.023409072309732437, 0.00926953088492155, 0.02359066531062126 ], "result": "--- 结果 1 (相似度: 1.000) ---\n文件路径: C:\\Steam\\steamapps\\common\\RimWorld\\Data\\dll1.6\\Verse\\Map.txt\n\npublic sealed class Map : IIncidentTarget, ILoadReferenceable, IThingHolder, IExposable, IDisposable\n{\n\tpublic MapFileCompressor compressor;\n\n\tprivate List loadedFullThings;\n\n\tpublic MapGeneratorDef generatorDef;\n\n\tpublic int uniqueID = -1;\n\n\tpublic int generationTick;\n\n\tpublic bool wasSpawnedViaGravShipLanding;\n\n\tprivate Color? fogOfWarColor;\n\n\tprivate OrbitalDebrisDef orbitalDebris;\n\n\tprivate int generatedId;\n\n\tpublic MapInfo info = new MapInfo();\n\n\tpublic MapEvents events;\n\n\tpublic List components = new List();\n\n\tpublic ThingOwner spawnedThings;\n\n\tpublic CellIndices cellIndices;\n\n\tpublic ListerThings listerThings;\n\n\tpublic ListerBuildings listerBuildings;\n\n\tpublic MapPawns mapPawns;\n\n\tpublic DynamicDrawManager dynamicDrawManager;\n\n\tpublic MapDrawer mapDrawer;\n\n\tpublic PawnDestinationReservationManager pawnDestinationReservationManager;\n\n\tpublic TooltipGiverList tooltipGiverList;\n\n\tpublic ReservationManager reservationManager;\n\n\tpublic EnrouteManager enrouteManager;\n\n\tpublic PhysicalInteractionReservationManager physicalInteractionReservationManager;\n\n\tpublic DesignationManager designationManager;\n\n\tpublic LordManager lordManager;\n\n\tpublic PassingShipManager passingShipManager;\n\n\tpublic HaulDestinationManager haulDestinationManager;\n\n\tpublic DebugCellDrawer debugDrawer;\n\n\tpublic GameConditionManager gameConditionManager;\n\n\tpublic WeatherManager weatherManager;\n\n\tpublic ZoneManager zoneManager;\n\n\tpublic PlanManager planManager;\n\n\tpublic ResourceCounter resourceCounter;\n\n\tpublic MapTemperature mapTemperature;\n\n\tpublic TemperatureVacuumCache TemperatureVacuumCache;\n\n\tpublic AreaManager areaManager;\n\n\tpublic AttackTargetsCache attackTargetsCache;\n\n\tpublic AttackTargetReservationManager attackTargetReservationManager;\n\n\tpublic VoluntarilyJoinableLordsStarter lordsStarter;\n\n\tpublic FleckManager flecks;\n\n\tpublic DeferredSpawner deferredSpawner;\n\n\tpublic ThingGrid thingGrid;\n\n\tpublic CoverGrid coverGrid;\n\n\tpublic EdificeGrid edificeGrid;\n\n\tpublic BlueprintGrid blueprintGrid;\n\n\tpublic FogGrid fogGrid;\n\n\tpublic RegionGrid regionGrid;\n\n\tpublic GlowGrid glowGrid;\n\n\tpublic TerrainGrid terrainGrid;\n\n\tpublic Pathing pathing;\n\n\tpublic RoofGrid roofGrid;\n\n\tpublic FertilityGrid fertilityGrid;\n\n\tpublic SnowGrid snowGrid;\n\n\tpublic DeepResourceGrid deepResourceGrid;\n\n\tpublic ExitMapGrid exitMapGrid;\n\n\tpublic AvoidGrid avoidGrid;\n\n\tpublic GasGrid gasGrid;\n\n\tpublic PollutionGrid pollutionGrid;\n\n\tpublic SubstructureGrid substructureGrid;\n\n\tpublic WaterBodyTracker waterBodyTracker;\n\n\tpublic SandGrid sandGrid;\n\n\tpublic LinkGrid linkGrid;\n\n\tpublic PowerNetManager powerNetManager;\n\n\tpublic PowerNetGrid powerNetGrid;\n\n\tpublic RegionMaker regionMaker;\n\n\tpublic PathFinder pathFinder;\n\n\tpublic PawnPathPool pawnPathPool;\n\n\tpublic RegionAndRoomUpdater regionAndRoomUpdater;\n\n\tpublic RegionLinkDatabase regionLinkDatabase;\n\n\tpublic MoteCounter moteCounter;\n\n\tpublic GatherSpotLister gatherSpotLister;\n\n\tpublic WindManager windManager;\n\n\tpublic ListerBuildingsRepairable listerBuildingsRepairable;\n\n\tpublic ListerHaulables listerHaulables;\n\n\tpublic ListerMergeables listerMergeables;\n\n\tpublic ListerArtificialBuildingsForMeditation listerArtificialBuildingsForMeditation;\n\n\tpublic ListerBuldingOfDefInProximity listerBuldingOfDefInProximity;\n\n\tpublic ListerBuildingWithTagInProximity listerBuildingWithTagInProximity;\n\n\tpublic ListerFilthInHomeArea listerFilthInHomeArea;\n\n\tpublic Reachability reachability;\n\n\tpublic ItemAvailability itemAvailability;\n\n\tpublic AutoBuildRoofAreaSetter autoBuildRoofAreaSetter;\n\n\tpublic RoofCollapseBufferResolver roofCollapseBufferResolver;\n\n\tpublic RoofCollapseBuffer roofCollapseBuffer;\n\n\tpublic WildAnimalSpawner wildAnimalSpawner;\n\n\tpublic WildPlantSpawner wildPlantSpawner;\n\n\tpublic SteadyEnvironmentEffects steadyEnvironmentEffects;\n\n\tpublic TempTerrainManager tempTerrain;\n\n\tpublic FreezeManager freezeManager;\n\n\tpublic SkyManager skyManager;\n\n\tpublic OverlayDrawer overlayDrawer;\n\n\tpublic FloodFiller floodFiller;\n\n\tpublic WeatherDecider weatherDecider;\n\n\tpublic FireWatcher fireWatcher;\n\n\tpublic DangerWatcher dangerWatcher;\n\n\tpublic DamageWatcher damageWatcher;\n\n\tpublic StrengthWatcher strengthWatcher;\n\n\tpublic WealthWatcher wealthWatcher;\n\n\tpublic RegionDirtyer regionDirtyer;\n\n\tpublic MapCellsInRandomOrder cellsInRandomOrder;\n\n\tpublic RememberedCameraPos rememberedCameraPos;\n\n\tpublic MineStrikeManager mineStrikeManager;\n\n\tpublic StoryState storyState;\n\n\tpublic RoadInfo roadInfo;\n\n\tpublic WaterInfo waterInfo;\n\n\tpublic RetainedCaravanData retainedCaravanData;\n\n\tpublic TemporaryThingDrawer temporaryThingDrawer;\n\n\tpublic AnimalPenManager animalPenManager;\n\n\tpublic MapPlantGrowthRateCalculator plantGrowthRateCalculator;\n\n\tpublic AutoSlaughterManager autoSlaughterManager;\n\n\tpublic TreeDestructionTracker treeDestructionTracker;\n\n\tpublic StorageGroupManager storageGroups;\n\n\tpublic EffecterMaintainer effecterMaintainer;\n\n\tpublic PostTickVisuals postTickVisuals;\n\n\tpublic List layoutStructureSketches = new List();\n\n\tpublic ThingListChangedCallbacks thingListChangedCallbacks = new ThingListChangedCallbacks();\n\n\tpublic List landingBlockers = new List();\n\n\tpublic Tile pocketTileInfo;\n\n\tpublic const string ThingSaveKey = \"thing\";\n\n\t[TweakValue(\"Graphics_Shadow\", 0f, 100f)]\n\tprivate static bool AlwaysRedrawShadows;\n\n\tprivate MixedBiomeMapComponent mixedBiomeComp;\n\n\tpublic int Index => Find.Maps.IndexOf(this);\n\n\tpublic IntVec3 Size => info.Size;\n\n\tpublic IntVec3 Center => new IntVec3(Size.x / 2, 0, Size.z / 2);\n\n\tpublic Faction ParentFaction => info.parent?.Faction;\n\n\tpublic int Area => Size.x * Size.z;\n\n\tpublic IThingHolder ParentHolder => info.parent;\n\n\tpublic bool DrawMapClippers => !generatorDef.disableMapClippers;\n\n\tpublic bool CanEverExit\n\t{\n\t\tget\n\t\t{\n\t\t\tif (!info.isPocketMap)\n\t\t\t{\n\t\t\t\treturn Biome.canExitMap;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic Color? FogOfWarColor\n\t{\n\t\tget\n\t\t{\n\t\t\treturn fogOfWarColor ?? Biome.fogOfWarColor;\n\t\t}\n\t\tset\n\t\t{\n\t\t\tfogOfWarColor = value;\n\t\t}\n\t}\n\n\tpublic OrbitalDebrisDef OrbitalDebris\n\t{\n\t\tget\n\t\t{\n\t\t\treturn orbitalDebris ?? Biome.orbitalDebris;\n\t\t}\n\t\tset\n\t\t{\n\t\t\torbitalDebris = value;\n\t\t}\n\t}\n\n\tpublic Material MapEdgeMaterial\n\t{\n\t\tget\n\t\t{\n\t\t\tif (ModsConfig.AnomalyActive && generatorDef == MapGeneratorDefOf.MetalHell)\n\t\t\t{\n\t\t\t\treturn MapEdgeClipDrawer.ClipMatMetalhell;\n\t\t\t}\n\t\t\tWorldObject parent = Parent;\n\t\t\tif (parent != null && parent.def.MapEdgeMaterial != null)\n\t\t\t{\n\t\t\t\treturn parent.def.MapEdgeMaterial;\n\t\t\t}\n\t\t\treturn MapEdgeClipDrawer.ClipMat;\n\t\t}\n\t}\n\n\tpublic bool Disposed { get; private set; }\n\n\tpublic IEnumerable AllCells\n\t{\n\t\tget\n\t\t{\n\t\t\tfor (int z = 0; z < Size.z; z++)\n\t\t\t{\n\t\t\t\tfor (int y = 0; y < Size.y; y++)\n\t\t\t\t{\n\t\t\t\t\tfor (int x = 0; x < Size.x; x++)\n\t\t\t\t\t{\n\t\t\t\t\t\tyield return new IntVec3(x, y, z);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic bool IsPlayerHome\n\t{\n\t\tget\n\t\t{\n\t\t\tif (!wasSpawnedViaGravShipLanding)\n\t\t\t{\n\t\t\t\tif (info?.parent != null && info.parent.Faction == Faction.OfPlayer)\n\t\t\t\t{\n\t\t\t\t\treturn info.parent.def.canBePlayerHome;\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t}\n\n\tpublic bool TreatAsPlayerHomeForThreatPoints\n\t{\n\t\tget\n\t\t{\n\t\t\tif (IsPlayerHome)\n\t\t\t{\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tif (info.parent != null && info.parent.def.treatAsPlayerHome)\n\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 IsTempIncidentMap => info.parent.def.isTempIncidentMapOwner;\n\n\tpublic PlanetTile Tile => info.Tile;\n\n\tpublic Tile TileInfo\n\t{\n\t\tget\n\t\t{\n\t\t\tif (!IsPocketMap)\n\t\t\t{\n\t\t\t\treturn Find.WorldGrid[Tile];\n\t\t\t}\n\t\t\treturn pocketTileInfo;\n\t\t}\n\t}\n\n\tpublic BiomeDef Biome => TileInfo.PrimaryBiome;\n\n\tpublic IEnumerable Biomes => TileInfo.Biomes;\n\n\tpublic MixedBiomeMapComponent MixedBiomeComp => mixedBiomeComp ?? (mixedBiomeComp = GetComponent());\n\n\tpublic bool IsStartingMap => Find.GameInfo.startingTile == Tile;\n\n\tpublic bool IsPocketMap => info.isPocketMap;\n\n\tpublic StoryState StoryState => storyState;\n\n\tpublic GameConditionManager GameConditionManager => gameConditionManager;\n\n\tpublic float PlayerWealthForStoryteller\n\t{\n\t\tget\n\t\t{\n\t\t\tif (TreatAsPlayerHomeForThreatPoints)\n\t\t\t{\n\t\t\t\tif (Find.Storyteller.difficulty.fixedWealthMode)\n\t\t\t\t{\n\t\t\t\t\treturn StorytellerUtility.FixedWealthModeMapWealthFromTimeCurve.Evaluate(AgeInDays * Find.Storyteller.difficulty.fixedWealthTimeFactor);\n\t\t\t\t}\n\t\t\t\treturn wealthWatcher.WealthItems + wealthWatcher.WealthBuildings * 0.5f + wealthWatcher.WealthPawns;\n\t\t\t}\n\t\t\tfloat num = 0f;\n\t\t\tforeach (Pawn item in mapPawns.PawnsInFaction(Faction.OfPlayer))\n\t\t\t{\n\t\t\t\tif (item.IsFreeColonist)\n\t\t\t\t{\n\t\t\t\t\tnum += WealthWatcher.GetEquipmentApparelAndInventoryWealth(item);\n\t\t\t\t}\n\t\t\t\tif (item.IsAnimal)\n\t\t\t\t{\n\t\t\t\t\tnum += item.MarketValue;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn num;\n\t\t}\n\t}\n\n\tpublic IEnumerable PlayerPawnsForStoryteller => mapPawns.PawnsInFaction(Faction.OfPlayer);\n\n\tpublic FloatRange IncidentPointsRandomFactorRange => FloatRange.One;\n\n\tpublic MapParent Parent => info.parent;\n\n\tpublic PocketMapParent PocketMapParent\n\t{\n\t\tget\n\t\t{\n\t\t\tif (!IsPocketMap)\n\t\t\t{\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\treturn Parent as PocketMapParent;\n\t\t}\n\t}\n\n\tpublic IEnumerable ChildPocketMaps\n\t{\n\t\tget\n\t\t{\n\t\t\tforeach (PocketMapParent pocketMap in Find.World.pocketMaps)\n\t\t\t{\n\t\t\t\tif (pocketMap.sourceMap == this)\n\t\t\t\t{\n\t\t\t\t\tyield return pocketMap.Map;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic float AgeInDays => (float)(Find.TickManager.TicksGame - generationTick) / 60000f;\n\n\tpublic int NextGenSeed => HashCode.Combine(TileInfo.tile.Valid ? TileInfo.tile.GetHashCode() : uniqueID, generatedId++, Find.World.info.Seed);\n\n\tpublic int ConstantRandSeed => uniqueID ^ 0xFDA252;\n\n\tpublic IEnumerator GetEnumerator()\n\t{\n\t\tforeach (IntVec3 allCell in AllCells)\n\t\t{\n\t\t\tyield return allCell;\n\t\t}\n\t}\n\n\tpublic IEnumerable IncidentTargetTags()\n\t{\n\t\treturn info.parent?.IncidentTargetTags() ?? Enumerable.Empty();\n\t}\n\n\tpublic void ConstructComponents()\n\t{\n\t\tspawnedThings = new ThingOwner(this);\n\t\tcellIndices = new CellIndices(this);\n\t\tlisterThings = new ListerThings(ListerThingsUse.Global, thingListChangedCallbacks);\n\t\tlisterBuildings = new ListerBuildings();\n\t\tmapPawns = new MapPawns(this);\n\t\tdynamicDrawManager = new DynamicDrawManager(this);\n\t\tmapDrawer = new MapDrawer(this);\n\t\ttooltipGiverList = new TooltipGiverList();\n\t\tpawnDestinationReservationManager = new PawnDestinationReservationManager();\n\t\treservationManager = new ReservationManager(this);\n\t\tenrouteManager = new EnrouteManager(this);\n\t\tphysicalInteractionReservationManager = new PhysicalInteractionReservationManager();\n\t\tdesignationManager = new DesignationManager(this);\n\t\tlordManager = new LordManager(this);\n\t\tdebugDrawer = new DebugCellDrawer();\n\t\tpassingShipManager = new PassingShipManager(this);\n\t\thaulDestinationManager = new HaulDestinationManager(this);\n\t\tgameConditionManager = new GameConditionManager(this);\n\t\tweatherManager = new WeatherManager(this);\n\t\tzoneManager = new ZoneManager(this);\n\t\tplanManager = new PlanManager(this);\n\t\tresourceCounter = new ResourceCounter(this);\n\t\tmapTemperature = new MapTemperature(this);\n\t\tTemperatureVacuumCache = new TemperatureVacuumCache(this);\n\t\tareaManager = new AreaManager(this);\n\t\tattackTargetsCache = new AttackTargetsCache(this);\n\t\tattackTargetReservationManager = new AttackTargetReservationManager(this);\n\t\tlordsStarter = new VoluntarilyJoinableLordsStarter(this);\n\t\tflecks = new FleckManager(this);\n\t\tdeferredSpawner = new DeferredSpawner(this);\n\t\tthingGrid = new ThingGrid(this);\n\t\tcoverGrid = new CoverGrid(this);\n\t\tedificeGrid = new EdificeGrid(this);\n\t\tblueprintGrid = new BlueprintGrid(this);\n\t\tfogGrid = new FogGrid(this);\n\t\tglowGrid = new GlowGrid(this);\n\t\tregionGrid = new RegionGrid(this);\n\t\tterrainGrid = new TerrainGrid(this);\n\t\tpathing = new Pathing(this);\n\t\troofGrid = new RoofGrid(this);\n\t\tfertilityGrid = new FertilityGrid(this);\n\t\tsnowGrid = new SnowGrid(this);\n\t\tgasGrid = new GasGrid(this);\n\t\tpollutionGrid = new PollutionGrid(this);\n\t\tdeepResourceGrid = new DeepResourceGrid(this);\n\t\texitMapGrid = new ExitMapGrid(this);\n\t\tavoidGrid = new AvoidGrid(this);\n\t\tlinkGrid = new LinkGrid(this);\n\t\tpowerNetManager = new PowerNetManager(this);\n\t\tpowerNetGrid = new PowerNetGrid(this);\n\t\tregionMaker = new RegionMaker(this);\n\t\tpathFinder = new PathFinder(this);\n\t\tpawnPathPool = new PawnPathPool(this);\n\t\tregionAndRoomUpdater = new RegionAndRoomUpdater(this);\n\t\tregionLinkDatabase = new RegionLinkDatabase();\n\t\tmoteCounter = new MoteCounter();\n\t\tgatherSpotLister = new GatherSpotLister();\n\t\twindManager = new WindManager(this);\n\t\tlisterBuildingsRepairable = new ListerBuildingsRepairable();\n\t\tlisterHaulables = new ListerHaulables(this);\n\t\tlisterMergeables = new ListerMergeables(this);\n\t\tlisterFilthInHomeArea = new ListerFilthInHomeArea(this);\n\t\tlisterArtificialBuildingsForMeditation = new ListerArtificialBuildingsForMeditation(this);\n\t\tlisterBuldingOfDefInProximity = new ListerBuldingOfDefInProximity(this);\n\t\tlisterBuildingWithTagInProximity = new ListerBuildingWithTagInProximity(this);\n\t\treachability = new Reachability(this);\n\t\titemAvailability = new ItemAvailability(this);\n\t\tautoBuildRoofAreaSetter = new AutoBuildRoofAreaSetter(this);\n\t\troofCollapseBufferResolver = new RoofCollapseBufferResolver(this);\n\t\troofCollapseBuffer = new RoofCollapseBuffer();\n\t\twildAnimalSpawner = new WildAnimalSpawner(this);\n\t\twildPlantSpawner = new WildPlantSpawner(this);\n\t\tsteadyEnvironmentEffects = new SteadyEnvironmentEffects(this);\n\t\ttempTerrain = new TempTerrainManager(this);\n\t\tskyManager = new SkyManager(this);\n\t\toverlayDrawer = new OverlayDrawer();\n\t\tfloodFiller = new FloodFiller(this);\n\t\tweatherDecider = new WeatherDecider(this);\n\t\tfireWatcher = new FireWatcher(this);\n\t\tdangerWatcher = new DangerWatcher(this);\n\t\tdamageWatcher = new DamageWatcher();\n\t\tstrengthWatcher = new StrengthWatcher(this);\n\t\twealthWatcher = new WealthWatcher(this);\n\t\tregionDirtyer = new RegionDirtyer(this);\n\t\tcellsInRandomOrder = new MapCellsInRandomOrder(this);\n\t\trememberedCameraPos = new RememberedCameraPos(this);\n\t\tmineStrikeManager = new MineStrikeManager();\n\t\tstoryState = new StoryState(this);\n\t\tretainedCaravanData = new RetainedCaravanData(this);\n\t\ttemporaryThingDrawer = new TemporaryThingDrawer();\n\t\tanimalPenManager = new AnimalPenManager(this);\n\t\tplantGrowthRateCalculator = new MapPlantGrowthRateCalculator();\n\t\tautoSlaughterManager = new AutoSlaughterManager(this);\n\t\ttreeDestructionTracker = new TreeDestructionTracker(this);\n\t\tstorageGroups = new StorageGroupManager(this);\n\t\teffecterMaintainer = new EffecterMaintainer(this);\n\t\tpostTickVisuals = new PostTickVisuals(this);\n\t\tif (ModsConfig.OdysseyActive)\n\t\t{\n\t\t\tsubstructureGrid = new SubstructureGrid(this);\n\t\t\twaterBodyTracker = new WaterBodyTracker(this);\n\t\t\tfreezeManager = new FreezeManager(this);\n\t\t\tsandGrid = new SandGrid(this);\n\t\t}\n\t\tcomponents.Clear();\n\t\tFillComponents();\n\t}\n\n\tpublic void ExposeData()\n\t{\n\t\tif (Scribe.mode == LoadSaveMode.LoadingVars)\n\t\t{\n\t\t\tevents = new MapEvents(this);\n\t\t}\n\t\tScribe_Values.Look(ref uniqueID, \"uniqueID\", -1);\n\t\tScribe_Values.Look(ref generationTick, \"generationTick\", 0);\n\t\tScribe_Values.Look(ref wasSpawnedViaGravShipLanding, \"wasSpawnedViaGravShipLanding\", defaultValue: false);\n\t\tScribe_Values.Look(ref fogOfWarColor, \"fogOfWarColor\");\n\t\tScribe_Values.Look(ref generatedId, \"generatedId\", 0);\n\t\tScribe_Defs.Look(ref orbitalDebris, \"orbitalDebris\");\n\t\tScribe_Defs.Look(ref generatorDef, \"generatorDef\");\n\t\tScribe_Deep.Look(ref pocketTileInfo, \"pocketTileInfo\");\n\t\tScribe_Deep.Look(ref info, \"mapInfo\");\n\t\tScribe_Collections.Look(ref layoutStructureSketches, \"layoutStructureSketches\", LookMode.Deep);\n\t\tScribe_Collections.Look(ref landingBlockers, \"landingBlockers\", LookMode.Undefined);\n\t\tif (Scribe.mode == LoadSaveMode.Saving)\n\t\t{\n\t\t\tcompressor = new MapFileCompressor(this);\n\t\t\tcompressor.BuildCompressedString();\n\t\t\tExposeComponents();\n\t\t\tcompressor.ExposeData();\n\t\t\tHashSet hashSet = new HashSet();\n\t\t\tif (Scribe.EnterNode(\"things\"))\n\t\t\t{\n\t\t\t\ttry\n\t\t\t\t{\n\t\t\t\t\tforeach (Thing allThing in listerThings.AllThings)\n\t\t\t\t\t{\n\t\t\t\t\t\ttry\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif (allThing.def.isSaveable && !allThing.IsSaveCompressible())\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tif (!hashSet.Add(allThing.ThingID))\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tLog.Error(\"Saving Thing with already-used ID \" + allThing.ThingID);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\thashSet.Add(allThing.ThingID);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tThing target = allThing;\n\t\t\t\t\t\t\t\tScribe_Deep.Look(ref target, \"thing\");\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcatch (OutOfMemoryException)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tthrow;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcatch (Exception arg)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tLog.Error($\"Exception saving {allThing}: {arg}\");\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tfinally\n\t\t\t\t{\n\t\t\t\t\tScribe.ExitNode();\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tLog.Error(\"Could not enter the things node while saving.\");\n\t\t\t}\n\t\t\tcompressor = null;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tif (Scribe.mode == LoadSaveMode.LoadingVars)\n\t\t\t{\n\t\t\t\tConstructComponents();\n\t\t\t\tregionAndRoomUpdater.Enabled = false;\n\t\t\t\tcompressor = new MapFileCompressor(this);\n\t\t\t}\n\t\t\telse if (Scribe.mode == LoadSaveMode.PostLoadInit && landingBlockers == null)\n\t\t\t{\n\t\t\t\tlandingBlockers = new List();\n\t\t\t}\n\t\t\tExposeComponents();\n\t\t\tDeepProfiler.Start(\"Load compressed things\");\n\t\t\tcompressor.ExposeData();\n\t\t\tDeepProfiler.End();\n\t\t\tDeepProfiler.Start(\"Load non-compressed things\");\n\t\t\tScribe_Collections.Look(ref loadedFullThings, \"things\", LookMode.Deep);\n\t\t\tDeepProfiler.End();\n\t\t}\n\t\tBackCompatibility.PostExposeData(this);\n\t}\n\n\tprivate void FillComponents()\n\t{\n\t\tcomponents.RemoveAll((MapComponent component) => component == null);\n\t\tforeach (Type item3 in typeof(MapComponent).AllSubclassesNonAbstract())\n\t\t{\n\t\t\tif (!typeof(CustomMapComponent).IsAssignableFrom(item3) && GetComponent(item3) == null)\n\t\t\t{\n\t\t\t\ttry\n\t\t\t\t{\n\t\t\t\t\tMapComponent item = (MapComponent)Activator.CreateInstance(item3, this);\n\t\t\t\t\tcomponents.Add(item);\n\t\t\t\t}\n\t\t\t\tcatch (Exception ex)\n\t\t\t\t{\n\t\t\t\t\tLog.Error(\"Could not instantiate a MapComponent of type \" + item3?.ToString() + \": \" + ex);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (generatorDef?.customMapComponents != null)\n\t\t{\n\t\t\tforeach (Type customMapComponent in generatorDef.customMapComponents)\n\t\t\t{\n\t\t\t\tif (GetComponent(customMapComponent) == null)\n\t\t\t\t{\n\t\t\t\t\ttry\n\t\t\t\t\t{\n\t\t\t\t\t\tMapComponent item2 = (MapComponent)Activator.CreateInstance(customMapComponent, this);\n\t\t\t\t\t\tcomponents.Add(item2);\n\t\t\t\t\t}\n\t\t\t\t\tcatch (Exception ex2)\n\t\t\t\t\t{\n\t\t\t\t\t\tLog.Error(\"Could not instantiate a MapComponent of type \" + customMapComponent?.ToString() + \": \" + ex2);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\troadInfo = GetComponent();\n\t\twaterInfo = GetComponent();\n\t}\n\n\tpublic void FinalizeLoading()\n\t{\n\t\tregionAndRoomUpdater.Enabled = true;\n\t\tList list = compressor.ThingsToSpawnAfterLoad().ToList();\n\t\tcompressor = null;\n\t\tDeepProfiler.Start(\"Merge compressed and non-compressed thing lists\");\n\t\tList list2 = new List(loadedFullThings.Count + list.Count);\n\t\tforeach (Thing item in loadedFullThings.Concat(list))\n\t\t{\n\t\t\tlist2.Add(item);\n\t\t}\n\t\tloadedFullThings.Clear();\n\t\tDeepProfiler.End();\n\t\tDeepProfiler.Start(\"Spawn everything into the map\");\n\t\tBackCompatibility.PreCheckSpawnBackCompatibleThingAfterLoading(this);\n\t\tforeach (Thing item2 in list2)\n\t\t{\n\t\t\tif (item2 is Building)\n\t\t\t{\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\ttry\n\t\t\t{\n\t\t\t\tif (!BackCompatibility.CheckSpawnBackCompatibleThingAfterLoading(item2, this))\n\t\t\t\t{\n\t\t\t\t\tGenSpawn.Spawn(item2, item2.Position, this, item2.Rotation, WipeMode.FullRefund, respawningAfterLoad: true);\n\t\t\t\t}\n\t\t\t}\n\t\t\tcatch (Exception ex)\n\t\t\t{\n\t\t\t\tLog.Error(\"Exception spawning loaded thing \" + item2.ToStringSafe() + \": \" + ex);\n\t\t\t}\n\t\t}\n\t\tforeach (Building item3 in from t in list2.OfType()\n\t\t\torderby t.def.size.Magnitude\n\t\t\tselect t)\n\t\t{\n\t\t\ttry\n\t\t\t{\n\t\t\t\tGenSpawn.SpawnBuildingAsPossible(item3, this, respawningAfterLoad: true);\n\t\t\t}\n\t\t\tcatch (Exception ex2)\n\t\t\t{\n\t\t\t\tLog.Error(\"Exception spawning loaded thing \" + item3.ToStringSafe() + \": \" + ex2);\n\t\t\t}\n\t\t}\n\t\tBackCompatibility.PostCheckSpawnBackCompatibleThingAfterLoading(this);\n\t\tDeepProfiler.End();\n\t\tFinalizeInit();\n\t}\n\n\tpublic void FinalizeInit()\n\t{\n\t\tDeepProfiler.Start(\"Finalize geometry\");\n\t\tpathing.RecalculateAllPerceivedPathCosts();\n\t\tregionAndRoomUpdater.Enabled = true;\n\t\tregionAndRoomUpdater.RebuildAllRegionsAndRooms();\n\t\tpowerNetManager.UpdatePowerNetsAndConnections_First();\n\t\tTemperatureVacuumCache.TemperatureVacuumSaveLoad.ApplyLoadedDataToRegions();\n\t\tavoidGrid.Regenerate();\n\t\tanimalPenManager.RebuildAllPens();\n\t\tplantGrowthRateCalculator.BuildFor(this);\n\t\tgasGrid.RecalculateEverHadGas();\n\t\tDeepProfiler.End();\n\t\tDeepProfiler.Start(\"Thing.PostMapInit()\");\n\t\tforeach (Thing item in listerThings.AllThings.ToList())\n\t\t{\n\t\t\ttry\n\t\t\t{\n\t\t\t\titem.PostMapInit();\n\t\t\t}\n\t\t\tcatch (Exception ex)\n\t\t\t{\n\t\t\t\tLog.Error(\"Error in PostMapInit() for \" + item.ToStringSafe() + \": \" + ex);\n\t\t\t}\n\t\t}\n\t\tDeepProfiler.End();\n\t\tDeepProfiler.Start(\"listerFilthInHomeArea.RebuildAll()\");\n\t\tlisterFilthInHomeArea.RebuildAll();\n\t\tDeepProfiler.End();\n\t\tif (ModsConfig.OdysseyActive)\n\t\t{\n\t\t\tGetComponent().SetDrawerDirty();\n\t\t}\n\t\tLongEventHandler.ExecuteWhenFinished(delegate\n\t\t{\n\t\t\tmapDrawer.RegenerateEverythingNow();\n\t\t});\n\t\tDeepProfiler.Start(\"resourceCounter.UpdateResourceCounts()\");\n\t\tresourceCounter.UpdateResourceCounts();\n\t\tDeepProfiler.End();\n\t\tDeepProfiler.Start(\"wealthWatcher.ForceRecount()\");\n\t\twealthWatcher.ForceRecount(allowDuringInit: true);\n\t\tDeepProfiler.End();\n\t\tif (ModsConfig.OdysseyActive)\n\t\t{\n\t\t\tusing (new ProfilerBlock(\"WaterBodyTracker.ConstructBodies()\"))\n\t\t\t{\n\t\t\t\twaterBodyTracker?.ConstructBodies();\n\t\t\t}\n\t\t}\n\t\tMapComponentUtility.FinalizeInit(this);\n\t\tLongEventHandler.ExecuteWhenFinished(delegate\n\t\t{\n\t\t\tFind.MusicManagerPlay.CheckTransitions();\n\t\t});\n\t}\n\n\tprivate void ExposeComponents()\n\t{\n\t\tScribe_Deep.Look(ref weatherManager, \"weatherManager\", this);\n\t\tScribe_Deep.Look(ref reservationManager, \"reservationManager\", this);\n\t\tScribe_Deep.Look(ref enrouteManager, \"enrouteManager\", this);\n\t\tScribe_Deep.Look(ref physicalInteractionReservationManager, \"physicalInteractionReservationManager\");\n\t\tScribe_Deep.Look(ref planManager, \"planManager\", this);\n\t\tScribe_Deep.Look(ref designationManager, \"designationManager\", this);\n\t\tScribe_Deep.Look(ref pawnDestinationReservationManager, \"pawnDestinationReservationManager\");\n\t\tScribe_Deep.Look(ref lordManager, \"lordManager\", this);\n\t\tScribe_Deep.Look(ref passingShipManager, \"visitorManager\", this);\n\t\tScribe_Deep.Look(ref gameConditionManager, \"gameConditionManager\", this);\n\t\tScribe_Deep.Look(ref fogGrid, \"fogGrid\", this);\n\t\tScribe_Deep.Look(ref roofGrid, \"roofGrid\", this);\n\t\tScribe_Deep.Look(ref terrainGrid, \"terrainGrid\", this);\n\t\tScribe_Deep.Look(ref zoneManager, \"zoneManager\", this);\n\t\tScribe_Deep.Look(ref TemperatureVacuumCache, \"temperatureCache\", this);\n\t\tScribe_Deep.Look(ref snowGrid, \"snowGrid\", this);\n\t\tScribe_Deep.Look(ref gasGrid, \"gasGrid\", this);\n\t\tScribe_Deep.Look(ref pollutionGrid, \"pollutionGrid\", this);\n\t\tScribe_Deep.Look(ref waterBodyTracker, \"waterBodyTracker\", this);\n\t\tScribe_Deep.Look(ref areaManager, \"areaManager\", this);\n\t\tScribe_Deep.Look(ref lordsStarter, \"lordsStarter\", this);\n\t\tScribe_Deep.Look(ref attackTargetReservationManager, \"attackTargetReservationManager\", this);\n\t\tScribe_Deep.Look(ref deepResourceGrid, \"deepResourceGrid\", this);\n\t\tScribe_Deep.Look(ref weatherDecider, \"weatherDecider\", this);\n\t\tScribe_Deep.Look(ref damageWatcher, \"damageWatcher\");\n\t\tScribe_Deep.Look(ref rememberedCameraPos, \"rememberedCameraPos\", this);\n\t\tScribe_Deep.Look(ref mineStrikeManager, \"mineStrikeManager\");\n\t\tScribe_Deep.Look(ref retainedCaravanData, \"retainedCaravanData\", this);\n\t\tScribe_Deep.Look(ref storyState, \"storyState\", this);\n\t\tScribe_Deep.Look(ref tempTerrain, \"tempTerrain\", this);\n\t\tScribe_Deep.Look(ref wildPlantSpawner, \"wildPlantSpawner\", this);\n\t\tScribe_Deep.Look(ref temporaryThingDrawer, \"temporaryThingDrawer\");\n\t\tScribe_Deep.Look(ref flecks, \"flecks\", this);\n\t\tScribe_Deep.Look(ref deferredSpawner, \"deferredSpawner\", this);\n\t\tScribe_Deep.Look(ref autoSlaughterManager, \"autoSlaughterManager\", this);\n\t\tScribe_Deep.Look(ref treeDestructionTracker, \"treeDestructionTracker\", this);\n\t\tScribe_Deep.Look(ref storageGroups, \"storageGroups\", this);\n\t\tScribe_Deep.Look(ref sandGrid, \"sandGrid\", this);\n\t\tScribe_Collections.Look(ref components, \"components\", LookMode.Deep, this);\n\t\tif (Scribe.mode == LoadSaveMode.PostLoadInit)\n\t\t{\n\t\t\tif (planManager == null)\n\t\t\t{\n\t\t\t\tplanManager = new PlanManager(this);\n\t\t\t}\n\t\t\tif (ModsConfig.BiotechActive && pollutionGrid == null)\n\t\t\t{\n\t\t\t\tpollutionGrid = new PollutionGrid(this);\n\t\t\t}\n\t\t\tif (ModsConfig.OdysseyActive)\n\t\t\t{\n\t\t\t\tif (sandGrid == null)\n\t\t\t\t{\n\t\t\t\t\tsandGrid = new SandGrid(this);\n\t\t\t\t}\n\t\t\t\tif (substructureGrid == null)\n\t\t\t\t{\n\t\t\t\t\tsubstructureGrid = new SubstructureGrid(this);\n\t\t\t\t}\n\t\t\t\tif (waterBodyTracker == null)\n\t\t\t\t{\n\t\t\t\t\twaterBodyTracker = new WaterBodyTracker(this);\n\t\t\t\t}\n\t\t\t\tif (freezeManager == null)\n\t\t\t\t{\n\t\t\t\t\tfreezeManager = new FreezeManager(this);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tFillComponents();\n\t\tBackCompatibility.PostExposeData(this);\n\t}\n\n\tpublic void MapPreTick()\n\t{\n\t\titemAvailability.Tick();\n\t\tlisterHaulables.ListerHaulablesTick();\n\t\ttry\n\t\t{\n\t\t\tautoBuildRoofAreaSetter.AutoBuildRoofAreaSetterTick_First();\n\t\t}\n\t\tcatch (Exception ex)\n\t\t{\n\t\t\tLog.Error(ex.ToString());\n\t\t}\n\t\troofCollapseBufferResolver.CollapseRoofsMarkedToCollapse();\n\t\twindManager.WindManagerTick();\n\t\ttry\n\t\t{\n\t\t\tmapTemperature.MapTemperatureTick();\n\t\t}\n\t\tcatch (Exception ex2)\n\t\t{\n\t\t\tLog.Error(ex2.ToString());\n\t\t}\n\t\ttemporaryThingDrawer.Tick();\n\t\ttry\n\t\t{\n\t\t\tpathFinder.PathFinderTick();\n\t\t}\n\t\tcatch (Exception ex3)\n\t\t{\n\t\t\tLog.Error(ex3.ToString());\n\t\t}\n\t}\n\n\tpublic void MapPostTick()\n\t{\n\t\ttry\n\t\t{\n\t\t\twildAnimalSpawner.WildAnimalSpawnerTick();\n\t\t}\n\t\tcatch (Exception ex)\n\t\t{\n\t\t\tLog.Error(ex.ToString());\n\t\t}\n\t\ttry\n\t\t{\n\t\t\twildPlantSpawner.WildPlantSpawnerTick();\n\t\t}\n\t\tcatch (Exception ex2)\n\t\t{\n\t\t\tLog.Error(ex2.ToString());\n\t\t}\n\t\ttry\n\t\t{\n\t\t\tpowerNetManager.PowerNetsTick();\n\t\t}\n\t\tcatch (Exception ex3)\n\t\t{\n\t\t\tLog.Error(ex3.ToString());\n\t\t}\n\t\ttry\n\t\t{\n\t\t\tsteadyEnvironmentEffects.SteadyEnvironmentEffectsTick();\n\t\t}\n\t\tcatch (Exception ex4)\n\t\t{\n\t\t\tLog.Error(ex4.ToString());\n\t\t}\n\t\ttry\n\t\t{\n\t\t\ttempTerrain.Tick();\n\t\t}\n\t\tcatch (Exception ex5)\n\t\t{\n\t\t\tLog.Error(ex5.ToString());\n\t\t}\n\t\ttry\n\t\t{\n\t\t\tgasGrid.Tick();\n\t\t}\n\t\tcatch (Exception ex6)\n\t\t{\n\t\t\tLog.Error(ex6.ToString());\n\t\t}\n\t\tif (ModsConfig.BiotechActive)\n\t\t{\n\t\t\ttry\n\t\t\t{\n\t\t\t\tpollutionGrid.PollutionTick();\n\t\t\t}\n\t\t\tcatch (Exception ex7)\n\t\t\t{\n\t\t\t\tLog.Error(ex7.ToString());\n\t\t\t}\n\t\t}\n\t\ttry\n\t\t{\n\t\t\tdeferredSpawner.DeferredSpawnerTick();\n\t\t}\n\t\tcatch (Exception ex8)\n\t\t{\n\t\t\tLog.Error(ex8.ToString());\n\t\t}\n\t\ttry\n\t\t{\n\t\t\tlordManager.LordManagerTick();\n\t\t}\n\t\tcatch (Exception ex9)\n\t\t{\n\t\t\tLog.Error(ex9.ToString());\n\t\t}\n\t\ttry\n\t\t{\n\t\t\tpassingShipManager.PassingShipManagerTick();\n\t\t}\n\t\tcatch (Exception ex10)\n\t\t{\n\t\t\tLog.Error(ex10.ToString());\n\t\t}\n\t\ttry\n\t\t{\n\t\t\tdebugDrawer.DebugDrawerTick();\n\t\t}\n\t\tcatch (Exception ex11)\n\t\t{\n\t\t\tLog.Error(ex11.ToString());\n\t\t}\n\t\ttry\n\t\t{\n\t\t\tlordsStarter.VoluntarilyJoinableLordsStarterTick();\n\t\t}\n\t\tcatch (Exception ex12)\n\t\t{\n\t\t\tLog.Error(ex12.ToString());\n\t\t}\n\t\ttry\n\t\t{\n\t\t\tgameConditionManager.GameConditionManagerTick();\n\t\t}\n\t\tcatch (Exception ex13)\n\t\t{\n\t\t\tLog.Error(ex13.ToString());\n\t\t}\n\t\ttry\n\t\t{\n\t\t\tweatherManager.WeatherManagerTick();\n\t\t}\n\t\tcatch (Exception ex14)\n\t\t{\n\t\t\tLog.Error(ex14.ToString());\n\t\t}\n\t\ttry\n\t\t{\n\t\t\tresourceCounter.ResourceCounterTick();\n\t\t}\n\t\tcatch (Exception ex15)\n\t\t{\n\t\t\tLog.Error(ex15.ToString());\n\t\t}\n\t\ttry\n\t\t{\n\t\t\tweatherDecider.WeatherDeciderTick();\n\t\t}\n\t\tcatch (Exception ex16)\n\t\t{\n\t\t\tLog.Error(ex16.ToString());\n\t\t}\n\t\ttry\n\t\t{\n\t\t\tfireWatcher.FireWatcherTick();\n\t\t}\n\t\tcatch (Exception ex17)\n\t\t{\n\t\t\tLog.Error(ex17.ToString());\n\t\t}\n\t\tif (ModsConfig.OdysseyActive)\n\t\t{\n\t\t\ttry\n\t\t\t{\n\t\t\t\twaterBodyTracker?.Tick();\n\t\t\t}\n\t\t\tcatch (Exception ex18)\n\t\t\t{\n\t\t\t\tLog.Error(ex18.ToString());\n\t\t\t}\n\t\t}\n\t\ttry\n\t\t{\n\t\t\tflecks.FleckManagerTick();\n\t\t}\n\t\tcatch (Exception ex19)\n\t\t{\n\t\t\tLog.Error(ex19.ToString());\n\t\t}\n\t\ttry\n\t\t{\n\t\t\teffecterMaintainer.EffecterMaintainerTick();\n\t\t}\n\t\tcatch (Exception ex20)\n\t\t{\n\t\t\tLog.Error(ex20.ToString());\n\t\t}\n\t\tMapComponentUtility.MapComponentTick(this);\n\t\ttry\n\t\t{\n\t\t\tforeach (TileMutatorDef mutator in TileInfo.Mutators)\n\t\t\t{\n\t\t\t\tmutator.Worker?.Tick(this);\n\t\t\t}\n\t\t}\n\t\tcatch (Exception ex21)\n\t\t{\n\t\t\tLog.Error(ex21.ToString());\n\t\t}\n\t}\n\n\tpublic void MapUpdate()\n\t{\n\t\tif (Disposed)\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\tbool drawingMap = WorldRendererUtility.DrawingMap;\n\t\tskyManager.SkyManagerUpdate();\n\t\tpowerNetManager.UpdatePowerNetsAndConnections_First();\n\t\tregionGrid.UpdateClean();\n\t\tregionAndRoomUpdater.TryRebuildDirtyRegionsAndRooms();\n\t\tglowGrid.GlowGridUpdate_First();\n\t\tlordManager.LordManagerUpdate();\n\t\tpostTickVisuals.ProcessPostTickVisuals();\n\t\tif (drawingMap && Find.CurrentMap == this)\n\t\t{\n\t\t\tif (AlwaysRedrawShadows)\n\t\t\t{\n\t\t\t\tmapDrawer.WholeMapChanged(MapMeshFlagDefOf.Things);\n\t\t\t}\n\t\t\tGlobalRendererUtility.UpdateGlobalShadersParams();\n\t\t\tPlantFallColors.SetFallShaderGlobals(this);\n\t\t\twaterInfo.SetTextures();\n\t\t\tavoidGrid.DebugDrawOnMap();\n\t\t\tBreachingGridDebug.DebugDrawAllOnMap(this);\n\t\t\tmapDrawer.MapMeshDrawerUpdate_First();\n\t\t\tpowerNetGrid.DrawDebugPowerNetGrid();\n\t\t\tDoorsDebugDrawer.DrawDebug();\n\t\t\tmapDrawer.DrawMapMesh();\n\t\t\tdynamicDrawManager.DrawDynamicThings();\n\t\t\tgameConditionManager.GameConditionManagerDraw(this);\n\t\t\tMapEdgeClipDrawer.DrawClippers(this);\n\t\t\tdesignationManager.DrawDesignations();\n\t\t\toverlayDrawer.DrawAllOverlays();\n\t\t\ttemporaryThingDrawer.Draw();\n\t\t\tflecks.FleckManagerDraw();\n\t\t}\n\t\ttry\n\t\t{\n\t\t\tareaManager.AreaManagerUpdate();\n\t\t}\n\t\tcatch (Exception ex)\n\t\t{\n\t\t\tLog.Error(ex.ToString());\n\t\t}\n\t\tweatherManager.WeatherManagerUpdate();\n\t\ttry\n\t\t{\n\t\t\tflecks.FleckManagerUpdate();\n\t\t}\n\t\tcatch (Exception ex2)\n\t\t{\n\t\t\tLog.Error(ex2.ToString());\n\t\t}\n\t\tMapComponentUtility.MapComponentUpdate(this);\n\t}\n\n\tpublic T GetComponent() where T : MapComponent\n\t{\n\t\tfor (int i = 0; i < components.Count; i++)\n\t\t{\n\t\t\tif (components[i] is T result)\n\t\t\t{\n\t\t\t\treturn result;\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tpublic MapComponent GetComponent(Type type)\n\t{\n\t\tfor (int i = 0; i < components.Count; i++)\n\t\t{\n\t\t\tif (type.IsInstanceOfType(components[i]))\n\t\t\t{\n\t\t\t\treturn components[i];\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tpublic void MapOnGUI()\n\t{\n\t\tDevGUISketches();\n\t\tDevRoadPaths();\n\t\tpathFinder.OnGUI();\n\t}\n\n\tprivate static void DevRoadPaths()\n\t{\n\t\tif (!DebugViewSettings.drawRoadPaths)\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\tfor (int i = 0; i < GenStep_Roads.paths.Count; i++)\n\t\t{\n\t\t\tforeach (IntVec3 item in GenStep_Roads.paths[i])\n\t\t\t{\n\t\t\t\tVector2 vector = item.ToVector3Shifted().MapToUIPosition();\n\t\t\t\tDevGUI.DrawRect(new Rect(vector.x, vector.y, 5f, 5f), (i % 2 == 0) ? Color.yellow : Color.blue);\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate void DevGUISketches()\n\t{\n\t\tif ((!DebugViewSettings.drawMapGraphs && !DebugViewSettings.drawMapRooms) || layoutStructureSketches.NullOrEmpty())\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\tforeach (LayoutStructureSketch layoutStructureSketch in layoutStructureSketches)\n\t\t{\n\t\t\tDebugGUILayoutStructure(layoutStructureSketch);\n\t\t}\n\t}\n\n\tprivate void DebugGUILayoutStructure(LayoutStructureSketch layoutStructureSketch)\n\t{\n\t\tDevDrawOutline(layoutStructureSketch.structureLayout.container, Color.yellow);\n\t\tVector2 pos = (layoutStructureSketch.structureLayout.container.Min - IntVec3.South).ToVector3().MapToUIPosition();\n\t\tDevDrawLabel(layoutStructureSketch.layoutDef.defName, pos);\n\t\tif (DebugViewSettings.drawMapGraphs && layoutStructureSketch.structureLayout?.neighbours != null)\n\t\t{\n\t\t\tforeach (KeyValuePair> connection in layoutStructureSketch.structureLayout.neighbours.connections)\n\t\t\t{\n\t\t\t\tforeach (Vector2 item in connection.Value)\n\t\t\t\t{\n\t\t\t\t\tVector2 vector = layoutStructureSketch.center.ToVector2();\n\t\t\t\t\tVector2 vector2 = vector + connection.Key;\n\t\t\t\t\tVector2 vector3 = vector + item;\n\t\t\t\t\tVector2 start = new Vector3(vector2.x, 0f, vector2.y).MapToUIPosition();\n\t\t\t\t\tVector2 end = new Vector3(vector3.x, 0f, vector3.y).MapToUIPosition();\n\t\t\t\t\tDevGUI.DrawLine(start, end, Color.green, 2f);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (!DebugViewSettings.drawMapRooms || layoutStructureSketch.structureLayout?.Rooms == null)\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\tforeach (LayoutRoom room in layoutStructureSketch.structureLayout.Rooms)\n\t\t{\n\t\t\tstring name = \"NA\";\n\t\t\tif (!room.defs.NullOrEmpty())\n\t\t\t{\n\t\t\t\tname = room.defs.Select((LayoutRoomDef x) => x.defName).ToCommaList();\n\t\t\t}\n\t\t\tDevDrawLabel(name, room.rects[0].CenterVector3.MapToUIPosition());\n\t\t\tforeach (CellRect rect in room.rects)\n\t\t\t{\n\t\t\t\tDevDrawOutline(rect, Color.blue);\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate static void DevDrawLabel(string name, Vector2 pos)\n\t{\n\t\tfloat widthCached = name.GetWidthCached();\n\t\tDevGUI.Label(new Rect(pos.x - widthCached / 2f, pos.y, widthCached, 20f), name);\n\t}\n\n\tprivate static void DevDrawOutline(CellRect r, Color color)\n\t{\n\t\tIntVec3 min = r.Min;\n\t\tIntVec3 intVec = r.Max + new IntVec3(1, 0, 1);\n\t\tIntVec3 a = new IntVec3(min.x, 0, min.z);\n\t\tIntVec3 intVec2 = new IntVec3(intVec.x, 0, min.z);\n\t\tIntVec3 intVec3 = new IntVec3(min.x, 0, intVec.z);\n\t\tIntVec3 b = new IntVec3(intVec.x, 0, intVec.z);\n\t\tDevDrawLine(a, intVec2, color);\n\t\tDevDrawLine(a, intVec3, color);\n\t\tDevDrawLine(intVec3, b, color);\n\t\tDevDrawLine(intVec2, b, color);\n\t}\n\n\tprivate static void DevDrawLine(IntVec3 a, IntVec3 b, Color color)\n\t{\n\t\tVector2 start = a.ToVector3().MapToUIPosition();\n\t\tVector2 end = b.ToVector3().MapToUIPosition();\n\t\tDevGUI.DrawLine(start, end, color, 2f);\n\t}\n\n\tpublic string GetUniqueLoadID()\n\t{\n\t\treturn \"Map_\" + uniqueID;\n\t}\n\n\tpublic override string ToString()\n\t{\n\t\tstring text = \"Map-\" + uniqueID;\n\t\tif (IsPlayerHome)\n\t\t{\n\t\t\ttext += \"-PlayerHome\";\n\t\t}\n\t\treturn text;\n\t}\n\n\tpublic ThingOwner GetDirectlyHeldThings()\n\t{\n\t\treturn spawnedThings;\n\t}\n\n\tpublic void GetChildHolders(List outChildren)\n\t{\n\t\tThingOwnerUtility.AppendThingHoldersFromThings(outChildren, listerThings.ThingsInGroup(ThingRequestGroup.ThingHolder));\n\t\tList passingShips = passingShipManager.passingShips;\n\t\tfor (int i = 0; i < passingShips.Count; i++)\n\t\t{\n\t\t\tif (passingShips[i] is IThingHolder item)\n\t\t\t{\n\t\t\t\toutChildren.Add(item);\n\t\t\t}\n\t\t}\n\t\tfor (int j = 0; j < components.Count; j++)\n\t\t{\n\t\t\tif (components[j] is IThingHolder item2)\n\t\t\t{\n\t\t\t\toutChildren.Add(item2);\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic void Dispose()\n\t{\n\t\tif (Disposed)\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\tDisposed = true;\n\t\tforeach (MapComponent component in components)\n\t\t{\n\t\t\tif (component is IDisposable disposable)\n\t\t\t{\n\t\t\t\tdisposable.Dispose();\n\t\t\t}\n\t\t}\n\t\tif (regionAndRoomUpdater != null)\n\t\t{\n\t\t\tregionAndRoomUpdater.Enabled = false;\n\t\t}\n\t\tpathFinder?.Dispose();\n\t\tlordManager?.Dispose();\n\t\tfogGrid?.Dispose();\n\t\tsnowGrid?.Dispose();\n\t\tglowGrid?.Dispose();\n\t\tsandGrid?.Dispose();\n\t\tavoidGrid?.Dispose();\n\t\tlisterBuildings?.Dispose();\n\t\tlisterThings?.Clear();\n\t\tregionDirtyer?.SetAllDirty();\n\t\tregionGrid?.Dispose();\n\t\tpathing?.Dispose();\n\t\tmapDrawer?.Dispose();\n\t\tResources.UnloadUnusedAssets();\n\t\tMapGenerator.ClearDebugMode();\n\t}\n}\n\n", "timestamp": "2025-08-25 11:41:03,392" }, "Thing-class-definition": { "keywords": [ "Thing", "class", "definition" ], "question": "Thing class definition", "embedding": [ -0.03260350599884987, 0.02423495054244995, 0.021687297150492668, -0.0035957377403974533, -0.038440532982349396, -0.006014395505189896, -0.03369996324181557, 0.0753331258893013, 0.057306062430143356, 0.10796888172626495, -0.06514251232147217, -0.039601489901542664, -0.012843072414398193, -0.0421491414308548, 0.06291735172271729, -0.03266800194978714, 0.0012244454119354486, -0.08120240271091461, -0.015938954427838326, -0.02213877998292446, 0.031523171812295914, 0.07765503227710724, 0.004659947007894516, 0.04437430575489998, 0.04353583976626396, 0.008449177257716656, -0.004825221840292215, 0.04705095291137695, -0.030555708333849907, -0.05395219102501869, -0.003035415429621935, -0.004514827858656645, -0.016479121521115303, 0.012480273842811584, -0.01504405029118061, 0.014713500626385212, -0.017027350142598152, 0.004958248231559992, 0.017478832975029945, -0.011222572065889835, 0.019252514466643333, -0.000278397579677403, -0.03389345481991768, -0.013600918464362621, -0.028330544009804726, 0.025782890617847443, 0.00896515790373087, -0.057725295424461365, -0.019510505720973015, 0.08262134343385696, -0.0044906409457325935, 0.030555708333849907, -0.013705726712942123, -0.023364232853055, 0.002277569379657507, 0.014310391619801521, 0.04830865561962128, -0.018285052850842476, 0.0028197518549859524, 0.03582838177680969, 0.023380357772111893, 0.024380069226026535, -0.044535551220178604, -0.011891733855009079, 0.09100602567195892, -0.022300023585557938, 0.022944999858736992, 0.01805931143462658, 0.056499842554330826, -0.029862361028790474, -0.011456375010311604, 0.07900948077440262, -0.06939934939146042, 0.024444567039608955, -0.056435346603393555, 0.04008521884679794, -0.006252230145037174, -0.009190899319946766, -0.028443414717912674, -0.01547134667634964, 0.01181111205369234, 0.011948169209063053, -0.008392741903662682, 0.002870140364393592, 0.04443880543112755, 0.038988761603832245, 0.011770800687372684, -0.07384967803955078, -0.011150011792778969, 0.07720354944467545, -0.02342873066663742, 0.007421248126775026, 0.019881365820765495, 0.009779439307749271, 0.010400228202342987, 0.06488452106714249, -0.05543563514947891, 0.01738208718597889, -0.02146155573427677, 0.047502435743808746, -0.0262021254748106, -0.054468169808387756, -0.021364809945225716, 0.04134292155504227, 0.024186577647924423, 0.08629770576953888, -0.04508377984166145, -0.010150300338864326, -0.022025909274816513, -0.01235934067517519, 0.0018784907879307866, 0.03002360463142395, -0.012657641433179379, 0.03850502893328667, -0.007868699729442596, 0.07197925448417664, -0.05085630714893341, -0.010101926513016224, 0.045825500041246414, 0.004369708243757486, -0.0008641662425361574, -0.04266512021422386, -0.012722139246761799, -0.022042034193873405, 0.010255108587443829, 0.00850561261177063, 0.06446529179811478, -0.0032450323924422264, -0.0024287353735417128, -0.016688738018274307, -0.03918225318193436, -0.0026302901096642017, 0.028443414717912674, -0.01893002726137638, -0.012899507768452168, -0.018043186515569687, 0.036344364285469055, 0.005349264480173588, -0.06185314059257507, 0.007010076195001602, -0.02362222410738468, -0.013270368799567223, -0.0237995907664299, 0.030249346047639847, 0.0679159089922905, -0.03927899897098541, 0.010771089233458042, -0.057048071175813675, -0.0004847393138334155, 0.0024105955380946398, -0.02181629277765751, -0.057983286678791046, -0.014302329160273075, 0.0071511645801365376, 0.021735670045018196, -0.006909298710525036, 0.0016537571791559458, -0.04185890033841133, 0.02046184428036213, -0.04289086163043976, 0.018849406391382217, -0.011093576438724995, -0.03070082888007164, -0.01762395165860653, -0.02255801483988762, -0.03395795449614525, -0.02995910681784153, 0.05246874690055847, -0.06804490089416504, -0.011109701357781887, 0.042374882847070694, -0.009739127941429615, -0.015551968477666378, -0.002868124982342124, 0.020171605050563812, 0.001337316120043397, 0.03241001442074776, 0.008932908996939659, 0.02238064631819725, -0.046825211495161057, 0.02349322848021984, 0.011698241345584393, 0.07081829756498337, 0.0011942122364416718, -0.006167577113956213, -0.016543619334697723, -0.016737110912799835, 0.017494957894086838, 0.030071977525949478, 0.011198384687304497, -0.04766368120908737, 0.002444859826937318, 0.02908838912844658, 0.05617735534906387, -0.07913848012685776, -0.03360321745276451, 0.006917361170053482, 0.031103936955332756, -0.0035816289018839598, -0.040536701679229736, -0.005889431573450565, 0.028798149898648262, 0.013987903483211994, 0.008562047965824604, 0.04134292155504227, -0.03518340736627579, -0.005357326939702034, -0.0012365387519821525, 0.00786063726991415, -0.002368269022554159, 0.00965044368058443, -0.025782890617847443, 0.019897490739822388, -0.013536420650780201, -0.025799015536904335, -0.023348107933998108, -0.06024070084095001, 0.007336595095694065, -0.027701692655682564, -0.018655912950634956, -0.029539871960878372, 0.029120638966560364, 0.010005180723965168, 0.04440655559301376, 0.027217961847782135, -0.01085171103477478, 0.01731758937239647, 0.01565677672624588, -0.015560030937194824, -0.0010314567480236292, -0.017704574391245842, 0.033925704658031464, -0.0882326290011406, 0.04147191718220711, 0.03731182590126991, 0.0014330546837300062, -0.02428332343697548, -0.010674342513084412, 0.0316682904958725, 0.02004260942339897, -0.01007774006575346, 0.04079469293355942, -0.06182089075446129, 0.06314308941364288, -0.00825568474829197, -0.008836162276566029, -0.050211332738399506, -0.027330832555890083, 0.05450041964650154, -0.016978977248072624, -0.008521737530827522, 0.0014542179415002465, -0.05011458694934845, -0.023267487064003944, -0.04179440438747406, 0.04253612458705902, -0.016471058130264282, 0.01652749441564083, 0.0024408285971730947, -0.006219981238245964, -0.015955079346895218, -0.011077452450990677, 0.0020619055721908808, -0.027169587090611458, -0.03311948478221893, 0.004974372684955597, -0.00293665356002748, -0.0421491414308548, -0.11448313295841217, 0.0033296854235231876, -0.015890581533312798, 0.031232932582497597, 0.00927958358079195, -0.029620494693517685, -0.01973624713718891, 0.02786293625831604, 0.01652749441564083, 0.058950748294591904, -0.07997694611549377, -0.012085226364433765, -0.0075784604996442795, 0.012843072414398193, 0.010085802525281906, -0.04205239564180374, -0.0032006902620196342, 0.023396482691168785, 0.02360609918832779, 0.006913329940289259, 0.03747307136654854, -0.0031341772992163897, 0.010932332836091518, 0.0055669439025223255, -0.02700834348797798, -0.010488912463188171, -0.01060178317129612, 0.00507111893966794, -0.0006580764311365783, -0.0017656200798228383, 0.003998847212642431, 0.03592512756586075, 0.00510336784645915, 0.01245608739554882, -0.007022169418632984, -0.00439389469102025, 0.04895363003015518, 0.012754388153553009, -0.00882003828883171, -0.09384391456842422, -0.009110277518630028, -0.09055454283952713, 0.0011387846898287535, -0.01174661424010992, -0.007002014201134443, -0.008666856214404106, 0.01659199222922325, 0.010932332836091518, -0.03902101144194603, -0.01418139599263668, -0.011311255395412445, 0.012472211383283138, -0.03292599320411682, -0.006598904263228178, 0.0430198572576046, 0.016309814527630806, -0.0083524314686656, 0.00902965571731329, 0.05311372131109238, 0.00850561261177063, -0.01768844947218895, -0.014294266700744629, -0.0001568348379805684, 0.004889719653874636, 0.02157442644238472, -0.008392741903662682, 0.012875321321189404, -0.004728475585579872, -0.008062192238867283, 0.032281018793582916, -0.01755945384502411, 0.011238696053624153, -0.012036853469908237, 0.06307858973741531, 0.018043186515569687, -0.029862361028790474, 0.01818830519914627, -0.03076532483100891, -0.010182549245655537, 0.03271637484431267, -0.021864665672183037, 0.021219689399003983, -0.008126690052449703, -0.014310391619801521, -0.003769074799492955, 0.02441231906414032, 0.0021304343827068806, -0.011262882500886917, 0.018462419509887695, 0.007223724387586117, -0.01264151744544506, -0.00168701377697289, -0.017672324553132057, 0.06843189150094986, 0.01050503645092249, 0.03889201581478119, 0.05627410113811493, 0.030410589650273323, -0.006699681747704744, 0.03808579593896866, 0.018349548801779747, 0.011835298500955105, 0.023267487064003944, -0.02644398994743824, -0.03274862468242645, 0.008481426164507866, -0.029491499066352844, -0.028314419090747833, 0.01214166171848774, 0.007630865089595318, 0.016737110912799835, 0.028459537774324417, 0.06694844365119934, 0.024815427139401436, -6.172616122057661e-05, -0.05862826108932495, -0.009384391829371452, 0.0036400798708200455, 0.0421491414308548, 0.005054994486272335, 0.025508776307106018, -0.04943736270070076, 0.0679159089922905, -0.007433341350406408, 0.006280447822064161, -0.009392454288899899, 0.03789230436086655, 0.014721563085913658, 0.011859484948217869, 0.023138491436839104, 0.010698528960347176, -0.012504460290074348, 0.01506823766976595, -0.025137916207313538, -0.010996830649673939, 0.027524324133992195, -0.038376033306121826, -0.0345061831176281, 0.008235529065132141, 0.026863224804401398, 0.008424990810453892, 0.04985659569501877, -0.08597521483898163, 0.03087819553911686, 0.08874861150979996, -0.014262017793953419, -0.04260062426328659, -0.01572933793067932, -0.003057586494833231, -0.015890581533312798, 0.06959284096956253, -0.026863224804401398, 0.007292252965271473, 0.022574137896299362, 0.015890581533312798, -0.007876762188971043, -0.03437718749046326, 0.011383815668523312, -0.024122079834342003, -0.00732047064229846, 0.01278663706034422, 0.0018281020456925035, -0.06504576653242111, -0.05856376513838768, 0.02109069563448429, 0.0644330382347107, 0.013270368799567223, -0.0469542071223259, -0.0006228043348528445, 0.0017918222583830357, -0.030346091836690903, -0.00786466896533966, -0.0775260403752327, -0.012835009954869747, 0.015793833881616592, -0.02373509481549263, -0.036279864609241486, -0.010553409345448017, 0.019284764304757118, -0.013060751371085644, 0.011996542103588581, -0.016446871683001518, -0.018526917323470116, 0.01645493507385254, -0.001411891425959766, 0.04131067171692848, 0.013294555246829987, 0.020735958591103554, -0.010916207917034626, -0.004514827858656645, 0.002833860693499446, -0.021671172231435776, 0.019155768677592278, -0.029942981898784637, 0.012448024936020374, 0.031410299241542816, 0.007425278890877962, -0.041149429976940155, 0.008957095444202423, -0.001743449131026864, -0.023718969896435738, -0.02902389131486416, 0.026186000555753708, 0.01368154026567936, -0.013770224526524544, 0.03137805312871933, 0.013246181420981884, -0.007183413486927748, -0.00607083085924387, -0.0038537278305739164, 0.01507629919797182, 0.06482002884149551, 0.05746730789542198, 0.011875608935952187, 0.017027350142598152, 0.007203568704426289, -0.05740280821919441, -0.03137805312871933, -0.017043475061655045, 0.01060178317129612, 0.018655912950634956, -0.052984725683927536, 0.01954275369644165, 0.006123234983533621, 0.026669731363654137, 0.022283898666501045, -0.006868987809866667, -0.02804030478000641, -0.0006338898674584925, 0.07243073731660843, -0.006409442983567715, -0.08803913742303848, -0.04063344746828079, 0.029733365401625633, -0.06059543788433075, 0.002835876075550914, -0.004522889852523804, 0.02065533585846424, -0.004950186237692833, 0.0034848826471716166, -0.004045205190777779, 0.025605522096157074, 0.027201836928725243, -0.022461267188191414, 0.05572587251663208, -0.03063633106648922, -0.010561471804976463, 0.01836567372083664, 0.10596945136785507, 0.01245608739554882, 0.006651308387517929, -0.007804201915860176, -0.0037368261255323887, -0.04069794714450836, -0.028685279190540314, -0.01794644072651863, -0.05037257820367813, 0.02768556773662567, -0.01143218856304884, -0.018720410764217377, 0.0759781002998352, -0.039923977106809616, -0.008957095444202423, 0.0017646122723817825, 0.037569817155599594, -0.0295882448554039, -0.023073993623256683, 0.038988761603832245, 0.03299048915505409, 0.011980418115854263, -0.013544483110308647, 0.09932620823383331, 0.09887472540140152, 0.035667140036821365, 0.00459141843020916, 0.03328073024749756, 0.035409148782491684, 0.006901236716657877, 7.079612259985879e-05, -0.041891150176525116, 0.00705844908952713, -0.03268412873148918, -0.0028600627556443214, 0.016414623707532883, -0.029314130544662476, -0.04208464175462723, 0.040407706052064896, 0.03107168897986412, 0.014931180514395237, 0.0005955944652669132, 0.028217673301696777, -0.03174891322851181, -0.02454131282866001, -0.018075434491038322, -0.0469542071223259, -0.03207140043377876, 0.0052887978963553905, 0.02083270438015461, 0.02323523722589016, 0.010650156065821648, 0.04724444821476936, -0.030991066247224808, -0.03840828314423561, 0.017801320180296898, -0.02602475695312023, 0.02329973503947258, 0.04124617576599121, 0.006772241555154324, -0.006776272784918547, -0.008376617915928364, 0.09706879407167435, 0.011109701357781887, -0.028072552755475044, 0.008513675071299076, 0.021896913647651672, -0.006219981238245964, 0.0007785054622218013, 0.020058734342455864, 0.03921450302004814, 0.0011327379615977407, 0.02576676569879055, -0.0027794407214969397, -0.005865244660526514, 0.013238119892776012, -0.0390855073928833, -0.016866106539964676, -0.03194240480661392, 0.01794644072651863, 0.026911597698926926, 0.016624240204691887, 0.005736249964684248, 0.04772817716002464, 0.021687297150492668, -0.04605124145746231, -0.0048211910761892796, 0.003075726330280304, 0.009045779705047607, -0.03149092197418213, 0.005712063051760197, -0.009045779705047607, 0.007042325101792812, 0.04011746868491173, 0.06933484971523285, 0.053468458354473114, -0.04353583976626396, 0.021558301523327827, 0.0353768989443779, -0.003380074165761471, 0.0040391581133008, 0.012512522749602795, 0.02570226974785328, -0.04630923271179199, -0.039536990225315094, 0.008134751580655575, -0.001273826346732676, -0.03302273899316788, 0.006651308387517929, -0.01152893528342247, 0.026976095512509346, -0.00555081944912672, -0.057241566479206085, -0.01525366771966219, -0.021219689399003983, 0.04637372866272926, -0.02594413422048092, 0.04085918888449669, -0.022509640082716942, 0.007155195809900761, -0.005990209057927132, 0.005143678747117519, 0.0021949317306280136, -0.023009495809674263, 0.01762395165860653, 0.007913041859865189, 0.013576732017099857, -0.03120068460702896, 0.00274316081777215, 0.006473940331488848, -0.05340396240353584, -0.03753756731748581, 0.015624528750777245, -0.02342873066663742, 0.010521160438656807, 0.02213877998292446, 0.04224588721990585, -0.0063368831761181355, 0.03353872150182724, 0.03207140043377876, -0.04495478421449661, 0.054468169808387756, 0.020268350839614868, -0.02749207615852356, -0.038924265652894974, -0.023073993623256683, -0.024267198517918587, -0.018268927931785583, 0.03211977332830429, 0.024686433374881744, -0.017333712428808212, -0.02218715287744999, 0.01146443746984005, 0.003253094619140029, 0.00699798297137022, -0.01880103163421154, 0.02305787056684494, -0.0310071911662817, 0.015987327322363853, 0.0478249229490757, -0.08913559466600418, -0.03989172726869583, 0.04469679296016693, 0.028878772631287575, 0.002118340926244855, 0.016108259558677673, -0.014052401296794415, -0.020687585696578026, -0.02749207615852356, 0.027653319761157036, -0.021977536380290985, 0.02028447575867176, -0.06156289950013161, 0.014665127731859684, 0.0674644261598587, -0.034989915788173676, 0.02970111556351185, 0.011907857842743397, 0.028765901923179626, -0.02755657397210598, -0.02205815725028515, -0.04163316264748573, 0.003956520929932594, 0.06810940057039261, -0.007094729226082563, 0.007651020307093859, 0.049405112862586975, 0.0067923967726528645, 0.025734517723321915, 0.009690755046904087, -0.027750065550208092, -0.04272961989045143, 0.004889719653874636, 0.04218139126896858, 0.008892597630620003, 0.012214221060276031, 0.023444855585694313, -0.010625969618558884, -0.0007774976547807455, 0.009803625755012035, 0.020171605050563812, -0.01910739578306675, -0.037569817155599594, -0.019526628777384758, -0.03026546910405159, -0.018704285845160484, 0.03969823569059372, 0.02299337275326252, -0.052243005484342575, -0.045535262674093246, 0.018897779285907745, -0.019091270864009857, 0.008900660090148449, 0.06798040866851807, -0.01297206711024046, -0.030233221128582954, 0.0023158646654337645, 0.012004604563117027, 0.01069046650081873, -0.049953341484069824, 0.0039041165728121996, -0.055016398429870605, -0.0020467890426516533, 0.0028318450786173344, 0.018156057223677635, -0.023815715685486794, 0.004329397343099117, -0.04211689159274101, 0.05201726406812668, -0.022606387734413147, -0.04576100409030914, 0.005865244660526514, 0.0011851423187181354, -0.026830974966287613, -0.002674632240086794, 0.015479409135878086, -0.05037257820367813, 0.019881365820765495, -0.010166424326598644, -0.006373162847012281, 0.030652454122900963, 0.004607542883604765, -0.003172472584992647, 0.046889711171388626, -7.04182093613781e-05, 0.022896625101566315, 0.0013353006215766072, 0.0600472092628479, 0.003166425973176956, 0.007703424897044897, -0.0001686761825112626, 0.024009209126234055, -0.005272673908621073, -0.0325390063226223, -0.03321623057126999, -0.018543042242527008, -0.007586522959172726, 0.07694556564092636, -0.0012415775563567877, -0.004575293976813555, 0.005913618020713329, 0.01232709176838398, -0.0040351273491978645, -0.016180820763111115, 0.017236966639757156, -0.0030031665228307247, -0.04672846570611, -0.010996830649673939, 0.029378628358244896, 0.032393887639045715, -0.03934349864721298, 0.04801841825246811, 0.0019873303826898336, -0.005720125511288643, 0.0006495103589259088, -0.015519720502197742, 0.032942116260528564, 0.023589974269270897, 0.029572121798992157, -0.0019530660938471556, -0.029862361028790474, 0.036408860236406326, 0.046825211495161057, 0.022961122915148735, 0.05314597114920616, -0.026298871263861656, 0.05182377249002457, -0.024138202890753746, -0.011424126103520393, 0.038730770349502563, -3.287862637080252e-05, -0.009319894015789032, 0.019494380801916122, -0.021848540753126144, 0.01794644072651863, 0.00405125180259347, -0.020913327112793922, -0.02279987931251526, -0.0014421246014535427, -0.04037545993924141, -0.003922256641089916, -0.00789288617670536, -0.026250498369336128, 0.04647047445178032, 0.01954275369644165, 0.031523171812295914, 0.008900660090148449, 0.0025033107958734035, 0.008171032182872295, -0.006187732331454754, 0.02539590559899807, -0.04179440438747406, 0.002299740444868803, 0.03205527737736702, 0.058660510927438736, 0.022767631337046623, -0.050630565732717514, 0.005139647517353296, 0.0022191184107214212, -0.017672324553132057, -0.05579037219285965, -0.006111141759902239, 0.0399562232196331, 0.005929742474108934, -0.02120356634259224, 0.007618771865963936, -0.005441979970782995, -0.007900948636233807, -0.04414856433868408, 0.023364232853055, 0.004333428107202053, -0.03274862468242645, -0.021122943609952927, -0.056628838181495667, 0.019284764304757118, 0.030894320458173752, 0.006844801362603903, 0.012794699519872665, -0.002307802438735962, 0.04637372866272926, -0.020203853026032448, -0.017494957894086838, 0.0018956229323521256, 0.0055911303497850895, -0.027072841301560402, 0.012254532426595688, -0.025750642642378807, 0.019929738715291023, -0.022283898666501045, 0.0063368831761181355, 0.010053553618490696, 0.021977536380290985, 0.0014945288421586156, -0.02655686065554619, 0.05108204856514931, 0.04043995589017868, -0.025073418393731117, 0.02410595491528511, -0.010166424326598644, 0.02607312984764576, -0.02854016050696373, 0.03176503628492355, 0.010101926513016224, 0.05227525532245636, 0.004345521796494722, -0.039601489901542664, 0.02854016050696373, -0.016817733645439148, 0.012625393457710743, -0.02207428216934204, 0.03373221307992935, -0.032700251787900925, -0.04253612458705902, 0.037086084485054016, -0.011819173581898212, -0.01335099060088396, -0.03224876895546913, 0.029314130544662476, -0.02742757834494114, 0.0023219112772494555, 0.006941547617316246, -0.020074859261512756, -0.02133256010711193, -0.02404145710170269, 0.021219689399003983, -0.06765791773796082, 0.021671172231435776, -0.031152311712503433, 0.005478259641677141, 0.02607312984764576, -0.05134003981947899, -0.013326804153621197, -0.05991821363568306, 0.02908838912844658, -0.0028499849140644073, 0.01991361565887928, 0.023928586393594742, 0.007026200648397207, -0.019381510093808174, -0.029620494693517685, -0.024380069226026535, 0.035731635987758636, 0.001526777632534504, -0.05201726406812668, 0.04424531012773514, 0.01880103163421154, -0.014471635222434998, -0.01694672740995884, 0.01831730082631111, 0.00838468037545681, -0.044535551220178604, 0.06785140931606293, -0.03168441727757454, 0.05843476951122284, 0.030652454122900963, 0.04408406838774681, 0.037086084485054016, 0.0027451764326542616, -0.000567880691960454, -0.011794987134635448, -0.015697088092565536, -0.009303770028054714, 0.026605233550071716, -0.02496054768562317, 0.018720410764217377, -0.04414856433868408, 0.021977536380290985, -0.007848544046282768, 0.050017841160297394, 0.016801608726382256, -0.01039216574281454, -0.024138202890753746, 0.0561128593981266, -0.004418081138283014, 0.01257701963186264, -0.04914712533354759, -0.016180820763111115, -0.004514827858656645, -0.04095593839883804, -0.019091270864009857, 0.0049139061011374, -0.053049225360155106, -0.01371378917247057, -0.03311948478221893, 0.0364733561873436, 0.024831552058458328, 0.02644398994743824, -0.051501285284757614, 0.03210365027189255, 0.002547652693465352, -0.05017908290028572, -0.02607312984764576, 0.003793261479586363, 0.02520241215825081, -0.02823379635810852, 0.03453843295574188, -0.008130720816552639, -0.05221075564622879, -0.01891390234231949, 0.04308435693383217, -0.013834722340106964, -0.04085918888449669, -0.03207140043377876, -0.0044785477221012115, 0.020993947982788086, 0.021558301523327827, -0.0001853044523159042, 0.01941375806927681, -0.02546040341258049, -0.025347532704472542, 0.017091847956180573, -0.003454649355262518, 0.029056141152977943, -0.0258796364068985, 0.007348688319325447, -0.04598674550652504, -0.01688223145902157, -0.01781744509935379, -0.018946152180433273, -0.01075496431440115, -0.004272961989045143, -0.03889201581478119, 0.04530952125787735, 0.013770224526524544, -0.02502504549920559, 0.07081829756498337, -0.026363369077444077, -0.007699393667280674, 7.614992500748485e-05, -0.004494672175496817, -0.06888337433338165, -0.0031059596221894026, -0.005216238554567099, -0.039665985852479935, 0.05046932399272919, 0.012931756675243378, 0.0011750644771382213, 0.005599192343652248, 0.01764007657766342, 0.014229768887162209, -0.03976273164153099, -0.012560895644128323, 0.007284190505743027, 0.013802473433315754, -0.03789230436086655, 0.045535262674093246, -0.03315173462033272, 0.0007538149948231876 ], "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" }, "LayoutRoomDef": { "keywords": [ "LayoutRoomDef" ], "question": "LayoutRoomDef", "embedding": [ -0.03730578348040581, -0.0024191075935959816, 0.017382575199007988, -0.0029748703818768263, -0.005055335350334644, 0.0047636814415454865, 0.014543810859322548, 0.0008214919944293797, -0.06735262274742126, 0.12018735706806183, 0.0036618774756789207, -0.07907062768936157, -0.06735262274742126, -0.008017242886126041, 0.0615973174571991, 0.03292449191212654, -0.013843840919435024, -0.10095115751028061, -0.04801272228360176, -0.03826500102877617, 0.04277591407299042, 0.012806849554181099, -0.04373513162136078, 0.027869155630469322, -0.011225436814129353, -0.000681741104926914, 0.03810945153236389, 0.044668424874544144, 0.06408609449863434, -0.05475316941738129, 0.027246961370110512, -0.003256802447140217, 0.015178968198597431, 0.01992320641875267, -0.039327915757894516, 0.06455273926258087, 0.04780532419681549, -0.006419627461582422, -0.0045206365175545216, 0.0016259708208963275, -0.010408805683255196, -0.007148762699216604, -0.020739836618304253, 0.001633262145332992, -0.0221397764980793, -0.008989423513412476, 0.038705721497535706, -0.07082654535770416, -0.009890309534966946, 0.013934577815234661, 0.00489654578268528, 0.03302818909287453, -0.02118055894970894, 0.012592969462275505, -0.04917933791875839, 0.04809049516916275, 0.0008725314401090145, -0.0057877106592059135, -0.001318924012593925, -0.003525772364810109, 0.03059125877916813, 0.03204304724931717, 0.00477340305224061, 0.012625375762581825, 0.03002091310918331, -0.05750119686126709, 0.042179644107818604, -0.01853622868657112, 0.05063112825155258, -0.03326151520013809, -0.003161204745993018, 0.017265914008021355, -0.03883534297347069, -0.012845736928284168, -0.057397499680519104, 0.0415055975317955, -0.018030695617198944, -0.03992418572306633, -0.0013521400978788733, -0.01812143251299858, -0.008743137121200562, 0.002944084582850337, -0.008957017213106155, 0.013506818562746048, 0.028880223631858826, 0.036009542644023895, 0.028750598430633545, -0.005505778826773167, 0.006069642957299948, 0.05941963195800781, -0.01861400343477726, 0.013597555458545685, 0.02760990709066391, 0.006374259479343891, -0.0003674029721878469, 0.010434730909764767, -0.044383250176906586, 0.012016142718493938, 0.01654002070426941, 0.01374014187604189, -0.017589975148439407, -0.02919132076203823, -0.01791403442621231, 0.011076369322836399, -0.006131214089691639, 0.05083852633833885, 0.006740447133779526, 0.007459860295057297, -0.004721553530544043, 0.02843950130045414, 0.020584288984537125, -0.0020075514912605286, -0.008218160830438137, 0.019275086000561714, 0.005703455302864313, 0.0636712983250618, 0.002268419601023197, 0.008632957004010677, -0.05459761992096901, 0.030669033527374268, 0.06123436987400055, 0.0062964847311377525, 0.027065487578511238, -0.037461329251527786, 0.006377500016242266, -0.022049039602279663, -0.006293244194239378, 0.02206200174987316, 0.01984543167054653, -0.04412400349974632, -0.006302966270595789, -0.02475818060338497, 0.023500828072428703, 0.013351269997656345, -0.031083831563591957, -0.022541610524058342, 0.015865975990891457, 0.0176547858864069, -0.007414491847157478, 0.013260533101856709, 0.008185754530131817, 0.02926909551024437, -0.007595965173095465, -0.009929196909070015, 0.06351575255393982, 0.019754694774746895, -0.015671540051698685, -0.042309265583753586, -0.023474903777241707, -0.0066043417900800705, 0.01694185473024845, -0.02164720557630062, -0.03422073274850845, 0.019404709339141846, -0.0016996944323182106, -0.02068798802793026, 0.016695568338036537, 0.028128404170274734, -0.007680220995098352, -0.019676920026540756, -0.022113850340247154, 0.03453182801604271, 0.004595170263200998, 0.02823210321366787, -0.00805613026022911, -0.015671540051698685, -0.06284170597791672, 0.00453359866514802, -0.002770712599158287, -0.02464151941239834, -0.006675634998828173, 0.019184349104762077, -0.050760749727487564, 0.029087621718645096, -0.0017839500214904547, -0.04871269315481186, -0.021258333697915077, 0.02054540067911148, 0.03585399314761162, -0.005534944124519825, 0.03564659506082535, 0.01498453225940466, 0.06828591227531433, 0.008607032708823681, -0.004883583635091782, -0.0498015321791172, 0.00788113847374916, 0.03984641283750534, -0.005774748511612415, 0.006082605104893446, -0.026197006925940514, 0.01944359764456749, 0.07481896132230759, 0.055323515087366104, -0.07653000205755234, 0.01564561389386654, -0.011439315974712372, 0.05418282374739647, 0.07735959440469742, 0.04243889078497887, 0.012631856836378574, -0.04871269315481186, 0.05039780214428902, 0.032509695738554, 0.03326151520013809, 0.016630757600069046, 0.03279486671090126, 0.02040281519293785, 0.042309265583753586, -0.002589239040389657, 0.05729379877448082, -0.002036716789007187, 0.020597251132130623, -0.030072763562202454, -0.029424643144011497, 0.007699664682149887, -0.013241089880466461, -0.006471477448940277, -0.017382575199007988, 0.03507624939084053, 0.02061021327972412, -0.04713128134608269, 0.007012657355517149, 0.02748028375208378, 0.03305411338806152, -0.013267014175653458, 0.014621584676206112, 0.0053113424219191074, 0.03370223566889763, 0.022865669801831245, 0.04277591407299042, -0.006228432059288025, -0.049568209797143936, 0.03678728640079498, -0.033313363790512085, -0.011951331049203873, -0.03149862587451935, -0.05724195018410683, -0.006986732594668865, 0.03261339291930199, 0.02394154854118824, 0.008717212826013565, -0.04352773353457451, 0.036294713616371155, 0.016488170251250267, -0.05817524343729019, -0.07606334984302521, -0.015956712886691093, 0.03696876019239426, -0.011944849975407124, -0.016241885721683502, 0.017888110131025314, -0.008393152616918087, 0.036709509789943695, 0.033805932849645615, 0.016993703320622444, -0.023824887350201607, 0.0002671469119377434, -0.00017185304022859782, -0.007265424355864525, 0.0013934577582404017, 0.051305171102285385, -0.03022831305861473, -0.022036077454686165, 0.018730664625763893, 0.03155047819018364, -0.01498453225940466, 0.030357936397194862, -0.032691169530153275, -0.05288658291101456, -0.011264324188232422, 0.013182759284973145, 0.023993398994207382, -0.009656986221671104, -0.008918129839003086, 0.028465425595641136, 0.015062307007610798, 0.023423053324222565, -0.03308004140853882, -0.016656681895256042, 0.014971570111811161, 0.03751318156719208, 0.0002876032085623592, -0.03720208257436752, -0.0052627334371209145, 0.005914093926548958, 0.04096117988228798, -0.0003821882128249854, 0.00034836443956010044, 0.01860104128718376, 0.048608992248773575, -0.004809049889445305, 0.02919132076203823, 0.017732560634613037, 0.05407912656664848, 0.01317627727985382, 0.022800859063863754, 0.028050629422068596, 0.011685601435601711, 0.028672825545072556, -0.009741242043673992, 0.03188749775290489, -0.056153107434511185, 0.03051348589360714, 0.04490174725651741, 0.021089822053909302, -0.048323821276426315, -0.016345584765076637, -0.07549300789833069, -0.0892331451177597, -0.006649710237979889, 0.005146072246134281, 0.026067381724715233, -0.04472027346491814, -0.02228236198425293, 0.026754390448331833, -0.007433935534209013, -0.001322974800132215, 0.027428435161709785, -0.010687497444450855, -0.08679621666669846, -0.03282079100608826, -0.053456928580999374, 0.004977561067789793, 0.011581902392208576, -0.008198716677725315, 0.02068798802793026, -0.03880941867828369, -9.250899165635929e-05, -0.025639623403549194, 0.02103797160089016, 0.011620789766311646, -0.009974565356969833, 0.047079429030418396, -0.024032285436987877, -0.014077164232730865, -0.02843950130045414, 0.056412357836961746, 0.0200787540525198, -0.01848438009619713, -0.03341706097126007, -0.06097511947154999, -0.005334026645869017, -0.005826598033308983, 0.01909361220896244, 0.02552296221256256, 0.010525466874241829, 0.028361726552248, -0.0636194497346878, -0.0004573296173475683, -0.01943063549697399, -0.006448793224990368, -0.0034512383863329887, 0.007991318590939045, 0.026754390448331833, -0.012307796627283096, -0.029295019805431366, -0.011873556300997734, -0.008769062347710133, 0.008166310377418995, 0.007466341368854046, 0.05558276176452637, 0.012605932541191578, -0.0030947725754231215, 0.028543200343847275, -0.07507821172475815, -0.008963498286902905, 0.07554485648870468, -0.004679425619542599, 0.05646420642733574, 0.022100888192653656, -0.03411703184247017, 0.04847937077283859, 0.031031981110572815, -0.03523179888725281, 0.05319768190383911, 0.01598263718187809, 0.0013456589076668024, -0.021906452253460884, -0.0014234333066269755, -0.04503137245774269, 0.023630451411008835, -0.0026086827274411917, -0.0024191075935959816, -0.011776338331401348, -0.02526371367275715, -0.042231492698192596, 0.026832163333892822, 0.01204206794500351, -0.01744738779962063, 0.049360811710357666, -0.016902966424822807, 0.018639927729964256, -0.00612473301589489, 0.08549997955560684, -0.006578417029231787, 0.027869155630469322, 0.019197311252355576, 0.006831184029579163, -0.018043657764792442, 0.013377195224165916, -0.030150538310408592, -0.03357261046767235, -0.03626878932118416, -0.04007973521947861, -0.007200612220913172, -0.014621584676206112, -0.024434121325612068, 0.02309899404644966, 0.01519193034619093, 0.009715317748486996, -0.013182759284973145, 0.016086336225271225, 0.0025066037196666002, -0.03976863622665405, 0.0005496867233887315, -0.0014850047882646322, 0.00553170358762145, 0.02366933971643448, -0.0456535667181015, 0.014141975902020931, 0.007550596725195646, -0.08259639889001846, -0.016099298372864723, -0.016643719747662544, -0.011957812123000622, 0.0071228379383683205, -0.008464446291327477, -0.026391442865133286, 0.0484275184571743, -0.0422055684030056, -0.01183466985821724, -0.10121040791273117, 0.06284170597791672, -0.010726384818553925, -0.03085050731897354, -0.0072265369817614555, 0.021413881331682205, -0.012897586449980736, -0.029035771265625954, -0.02740250900387764, 0.003467441536486149, 0.05340507999062538, -0.023345278576016426, -0.06242690980434418, -0.034609604626894, 0.07502636313438416, 0.016228921711444855, 0.027713607996702194, -0.018445491790771484, -0.00501968851312995, 0.009780129417777061, 0.01221057865768671, 0.010603241622447968, 0.02381192520260811, -0.0004719122953247279, 0.03492069989442825, -0.0020221341401338577, -0.016436321660876274, -0.012605932541191578, 1.7633417883189395e-05, 0.04422770068049431, -0.021128708496689796, 0.027921006083488464, -0.008619994856417179, 0.02360452711582184, 0.00039697345346212387, 0.006121492478996515, -0.03507624939084053, -0.02201015129685402, 0.009598655626177788, -0.024369308724999428, 0.037539105862379074, 0.0010515745962038636, 0.024330420419573784, -0.04601651430130005, 0.0020172731019556522, 0.011575421318411827, 0.009054235182702541, -0.023928586393594742, 0.01875659078359604, 0.017589975148439407, -0.004465545993298292, 0.002642708830535412, -0.11054333299398422, -0.043424032628536224, -0.03030608594417572, -0.014154938980937004, -0.010214369744062424, 0.009929196909070015, 0.011329135857522488, -0.004530358128249645, -0.05042373016476631, 0.045368392020463943, -0.036839134991168976, 0.0005585983162745833, -0.019599145278334618, 0.02732473611831665, -1.1671221727738157e-05, -0.006857108790427446, 0.02893207222223282, 0.015036381781101227, -0.026326630264520645, 0.0038336291909217834, -0.008989423513412476, 0.0010094468016177416, -0.014777134172618389, 0.04656093567609787, -0.023552676662802696, -0.005246530752629042, 0.00975420419126749, 0.022515686228871346, 0.03238007053732872, -0.009507918730378151, -0.020843535661697388, -0.009987527504563332, 0.05475316941738129, 0.05485687032341957, -0.0021323144901543856, -0.03201712295413017, -0.021258333697915077, 0.003334576962515712, 0.006147417239844799, 0.040727853775024414, -0.03222452104091644, 0.0010839805472642183, -0.007945950143039227, -0.023539714515209198, 0.026754390448331833, -0.04969783499836922, -0.04534246772527695, -0.005288658197969198, -0.04656093567609787, 0.014193826355040073, -0.0027383065316826105, -0.009209783747792244, 0.018795477226376534, 0.019949130713939667, -0.050138555467128754, 0.03777242824435234, 0.009948640130460262, -0.018834363669157028, 0.01376606710255146, 0.012651300989091396, 0.013467931188642979, 0.0034155920147895813, -0.006283522583544254, -0.0035905842669308186, 0.012223541736602783, -0.06056032329797745, 0.002673494629561901, 0.011964293196797371, -0.04552394151687622, -0.03855017200112343, -0.01806958205997944, -0.012832773849368095, 0.05796784535050392, 0.016138184815645218, 0.02096019685268402, 0.016786305233836174, 0.016565944999456406, -0.03722800686955452, -0.007777438964694738, -0.029217245057225227, 0.0083088967949152, 0.013312382623553276, -0.05978257954120636, -0.0124503830447793, -0.05114962160587311, -0.029632041230797768, -0.02401932328939438, -0.028361726552248, -0.03785020112991333, -0.03619101643562317, 0.011659677140414715, -0.008457965217530727, 0.008658882230520248, 0.042516667395830154, 0.01832883059978485, 0.006682116072624922, -0.025847021490335464, -0.008224641904234886, 0.010253257118165493, -0.009170896373689175, -0.017239989712834358, -0.007472822442650795, 0.025354450568556786, 0.010940263979136944, 0.01834179274737835, -0.0595233328640461, 0.03378000855445862, 0.005444207228720188, -0.026274781674146652, -0.011769857257604599, 0.004578967113047838, 0.014478998258709908, -0.027998780831694603, 0.027091411873698235, 0.006740447133779526, 0.05480501800775528, 0.04096117988228798, -0.07637444883584976, 0.00541504193097353, 0.004601651336997747, 0.010693978518247604, -0.0008579487330280244, -0.021919414401054382, 0.036709509789943695, 0.033805932849645615, 0.017188139259815216, 0.04329441115260124, 0.03510217368602753, -0.022100888192653656, -0.013299420475959778, 0.015308592468500137, 0.005249771289527416, -0.009281077422201633, 0.03637249022722244, -0.018289944157004356, -0.012307796627283096, -0.01910657435655594, -0.02158239297568798, -0.0023704986087977886, -0.0040831551887094975, -0.04067600518465042, -0.03126530349254608, -0.005236808676272631, -0.04005381092429161, -0.03139492869377136, -0.032768942415714264, 0.017382575199007988, 0.038290925323963165, -0.021063897758722305, 0.032509695738554, 0.04269814118742943, 0.022437911480665207, -0.0670933723449707, 0.012599450536072254, -0.05042373016476631, -0.036502111703157425, 0.0470275804400444, -0.004523877054452896, 0.01708444021642208, -0.018238093703985214, -0.05895298719406128, -0.026884013786911964, -0.043346259742975235, 0.012385571375489235, -0.010454174131155014, 0.01958618313074112, -0.008937573060393333, 0.04129819944500923, 0.048194196075201035, 0.04135005176067352, 0.006980251520872116, -0.02040281519293785, -0.005593274720013142, -0.0034512383863329887, -0.007375604473054409, 0.0345836766064167, -0.01784922182559967, -0.04969783499836922, 0.0025697953533381224, -0.0017110365442931652, -0.006714522372931242, 0.01708444021642208, -0.007446897681802511, -0.006312687881290913, 0.006251116283237934, -0.006811740342527628, -0.00685062725096941, 0.03416888043284416, 0.005551146809011698, 0.014388262294232845, 0.01674741879105568, 0.015269705094397068, -0.0003929226950276643, -0.021569430828094482, 0.03422073274850845, 0.010739346966147423, -0.020584288984537125, 0.02081761136651039, -0.005402079317718744, -0.010382880456745625, -0.048323821276426315, 0.029632041230797768, -0.019002875313162804, 0.02649514190852642, -0.02166016772389412, 0.010752309113740921, 0.0352836474776268, -0.015619689598679543, 0.0739893689751625, -0.002009171759709716, -0.050890374928712845, 0.007647814694792032, -0.07466341555118561, 0.007096913177520037, 0.030461635440587997, 0.031083831563591957, 0.0006059920997358859, -0.047909025102853775, -0.05057927593588829, -0.011666158214211464, -0.0007408820674754679, 0.010940263979136944, -0.04132412374019623, -0.03300226479768753, -0.006108530331403017, -0.004313237965106964, -0.014803058467805386, 0.01860104128718376, -0.02794693037867546, -0.005009966902434826, -0.011154143139719963, 0.014103089459240437, -0.02532852627336979, 0.05423467233777046, -0.020441701635718346, -0.009935677982866764, -0.015749312937259674, 0.005888169165700674, 0.01965099573135376, 0.013312382623553276, -0.05032002925872803, 0.022930482402443886, -0.06278985738754272, -0.014323449693620205, 0.005820116959512234, 0.07528560608625412, -0.03541327267885208, -0.031161604449152946, 0.008030205965042114, -0.004190095234662294, -0.018730664625763893, -0.06538233906030655, -0.05042373016476631, -0.023850811645388603, -0.03984641283750534, -0.053923577070236206, 2.351966395508498e-05, -0.021880527958273888, -0.020700950175523758, -0.0581233948469162, -0.004400734324008226, 0.007628371473401785, -0.01183466985821724, 0.0560494102537632, 0.054701320827007294, -0.013390157371759415, 0.038783494383096695, -0.03715023398399353, -0.0615973174571991, -0.003979456145316362, 0.023086031898856163, 0.022256437689065933, 0.014958607032895088, 0.0022279121913015842, 0.05265326052904129, 0.01006530225276947, 0.0005602186429314315, -0.021258333697915077, 0.0162678100168705, 0.023980436846613884, 0.0001158514351118356, -0.0014461175305768847, -0.009494956582784653, 0.03541327267885208, 0.015749312937259674, -0.024161910638213158, -0.017032591626048088, -0.06616008281707764, -0.008626475930213928, 0.03839462250471115, 0.008464446291327477, 0.035750292241573334, 0.016799267381429672, 0.020662061870098114, -0.04744237661361694, -0.020467625930905342, -0.007518190890550613, -0.039327915757894516, -0.003093152306973934, -0.024576706811785698, 0.01328645832836628, 0.06045662611722946, -0.00019686641462612897, 0.00784873217344284, -0.01374014187604189, 0.05423467233777046, -0.012612413614988327, -0.022787895053625107, 0.04816827178001404, 0.01978061906993389, 0.015412291511893272, 0.019054725766181946, -0.004118802025914192, 0.11977256089448929, 0.017615899443626404, 0.03051348589360714, -0.006484439596533775, -0.03678728640079498, -0.020636137574911118, 0.00337994541041553, -0.012029105797410011, 0.005000245291739702, -0.037616878747940063, -0.03569844365119934, -0.04510914534330368, 0.015075269155204296, -0.030954206362366676, -0.03611323982477188, 0.010959707200527191, 0.00854870118200779, 0.03987233713269234, -0.012443901970982552, -0.05993812903761864, -0.00553170358762145, -0.006358056329190731, -0.004744237754493952, 0.018030695617198944, 0.07554485648870468, 0.013649404980242252, -0.02609330788254738, 0.005227087065577507, -0.016786305233836174, -0.00040507494122721255, 0.0028663103003054857, 0.058849286288022995, -0.029865365475416183, 0.039613090455532074, -0.013416081666946411, -0.05630865693092346, -0.030409786850214005, -0.0005095842643640935, -0.03657988831400871, 0.05485687032341957, 0.014816020615398884, -0.0047053503803908825, 0.017006665468215942, -0.034765150398015976, -0.017525162547826767, -0.011212474666535854, -0.03238007053732872, -0.010577316395938396, 0.032276369631290436, -0.007239499129354954, -0.021154632791876793, -0.04036490619182587, -0.05817524343729019, -0.016164110973477364, 0.03489477559924126, 0.003021859098225832, 0.005094222258776426, -0.011692083440721035, 0.04007973521947861, -0.04523877054452896, 0.05817524343729019, 0.008723693899810314, 0.028180252760648727, -0.04720905423164368, -0.05776044726371765, -0.05138294771313667, 0.03409110754728317, -0.019910244271159172, 0.024887803941965103, 0.056982703506946564, 0.027091411873698235, 0.022463835775852203, 0.03689098358154297, 0.06688597053289413, -0.0032065731938928366, -0.032198596745729446, -0.0043586064130067825, 0.02020837925374508, -0.0595233328640461, -0.0009567870292812586, 0.011439315974712372, 0.011393947526812553, 0.03883534297347069, -0.0058460417203605175, -0.03302818909287453, 0.010752309113740921, 0.005534944124519825, 0.03471330180764198, -0.0052756960503757, -0.024615593254566193, 0.005210883915424347, -0.006153898313641548, -0.02552296221256256, 0.0052724555134773254, -0.04697573184967041, 0.002205227967351675, 0.024110060185194016, 0.05506426841020584, 0.0032324979547411203, -0.02484891749918461, -0.02573036029934883, -0.06289355456829071, 0.004961357917636633, -0.0019232957856729627, -0.02815432846546173, 0.060508474707603455, -0.0152178555727005, -0.05340507999062538, 0.0290616974234581, -0.010331030935049057, -0.01079767756164074, -0.022152738645672798, -0.05869373679161072, -0.018523266538977623, 0.04954228550195694, 0.05687900260090828, -0.02960611693561077, -0.03030608594417572, -0.07077469676733017, -0.024304496124386787, -0.0016867320518940687, -0.011815225705504417, 0.004695628769695759, -0.013908653520047665, 0.010194926522672176, 0.0768410935997963, -0.011951331049203873, 0.03657988831400871, -0.017771447077393532, -0.03424665704369545, 0.03238007053732872, 0.03886127099394798, 0.011199511587619781, -0.05008670687675476, 0.004306756891310215, 0.03800575062632561, 0.042101867496967316, 0.03308004140853882, 0.0009276216151192784, -0.02360452711582184, -0.03100605681538582, -0.04648315906524658, -0.008522776886820793, -0.0006104479543864727, -0.02504335343837738, 0.00662702601402998, -0.007745032664388418, 0.028206178918480873, 0.03196527436375618, -0.0012257567141205072, 0.019676920026540756, 0.0018827883759513497, 0.04609428718686104, -0.02185460366308689, -0.013960503041744232, -0.003943809773772955, -0.006471477448940277, 0.004008621443063021, 0.014025314711034298, -0.0028014983981847763, -0.017602937296032906, 0.020519476383924484, -0.020091716200113297, 0.06315280497074127, 0.009054235182702541, 0.03927606716752052, -0.024239685386419296, 0.052627336233854294, -0.03105790540575981, 0.013442006893455982, -0.04308701306581497, -0.021971264854073524, -0.01778441108763218, 0.018302906304597855, 0.02166016772389412, 0.01546414103358984, -0.032068971544504166, -0.03295041620731354, -0.010959707200527191, -0.02588590979576111, -0.08487778156995773, 0.04523877054452896, 0.038705721497535706, 0.014790096320211887, 0.030150538310408592, -0.010713421739637852, 0.00788761954754591, 0.020117642357945442, -0.03730578348040581, 0.04324255883693695, 0.03790205344557762, -0.00079354178160429, 0.037124309688806534, -0.025134090334177017, 0.03914644196629524, -0.04197224602103233, 0.06963400542736053, 0.012476308271288872, 0.030150538310408592, 0.01819920726120472, -0.0016535159666091204, 0.03976863622665405, 0.03673543781042099, -0.011432834900915623, -0.02601553313434124, 0.04474619776010513, -0.03748725354671478, 0.03831684961915016, 0.038446471095085144, 0.001637312932871282, 0.026248855516314507, -0.05527166649699211, 0.03473922610282898, 0.045575790107250214, -0.011342098005115986, -0.0048673804849386215, 0.003295689821243286, -0.0021549987141042948, 0.019806545227766037, -0.03085050731897354, 0.01207447424530983, 0.006792296655476093, -0.031446777284145355, -0.046120211482048035, 0.02236013673245907, 0.052342165261507034, -0.06325650215148926 ], "result": "--- 结果 1 (相似度: 1.000) ---\n文件路径: C:\\Steam\\steamapps\\common\\RimWorld\\Data\\dll1.6\\RimWorld\\LayoutRoomDef.txt\n\npublic class LayoutRoomDef : Def\n{\n\tpublic SketchResolverDef sketchResolverDef;\n\n\tpublic IntRange areaSizeRange = new IntRange(25, int.MaxValue);\n\n\tpublic bool requiresSingleRectRoom;\n\n\tpublic List floorTypes;\n\n\tpublic TerrainDef edgeTerrain;\n\n\tpublic int minSingleRectWidth;\n\n\tpublic int minSingleRectHeight;\n\n\tpublic Type roomContentsWorkerType = typeof(RoomContentsWorker);\n\n\tpublic bool canBeInMixedRoom;\n\n\tpublic bool dontPlaceRandomly;\n\n\tpublic bool isValidPlayerSpawnRoom = true;\n\n\tpublic bool dontDestroyWallsDoors;\n\n\tpublic SimpleCurve threatPointsScaleCurve;\n\n\tpublic int minConnectedRooms;\n\n\tpublic int minAdjRooms;\n\n\tpublic bool spawnJunk = true;\n\n\tpublic bool canMergeWithAdjacentRoom;\n\n\tpublic bool canRemoveBorderDoors;\n\n\tpublic bool canRemoveBorderWalls;\n\n\tpublic RoofDef roofDef;\n\n\tpublic bool noRoof;\n\n\tpublic FloatRange? itemsPer100CellsRange;\n\n\tpublic ThingSetMakerDef thingSetMakerDef;\n\n\tpublic List scatter = new List();\n\n\tpublic List scatterTerrain = new List();\n\n\tpublic List fillEdges = new List();\n\n\tpublic List fillInterior = new List();\n\n\tpublic List wallAttachments = new List();\n\n\tpublic List prefabs = new List();\n\n\tpublic List parts = new List();\n\n\t[Unsaved(false)]\n\tprivate RoomContentsWorker workerInt;\n\n\tpublic RoomContentsWorker ContentsWorker => GetWorker(ref workerInt);\n\n\tpublic bool CanResolve(LayoutRoom room)\n\t{\n\t\tint area = room.Area;\n\t\tif (room.requiredDef != this && dontPlaceRandomly)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tif ((minSingleRectHeight > 0 || minSingleRectWidth > 0) && !room.TryGetRectOfSize(minSingleRectWidth, minSingleRectHeight, out var _))\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tif (!SatisfiesMinAdjRooms(room))\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tif (area >= areaSizeRange.min && area <= areaSizeRange.max && room.connections.Count >= minConnectedRooms)\n\t\t{\n\t\t\tif (requiresSingleRectRoom)\n\t\t\t{\n\t\t\t\treturn room.rects.Count == 1;\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tprivate bool SatisfiesMinAdjRooms(LayoutRoom room)\n\t{\n\t\tif (minAdjRooms <= 0)\n\t\t{\n\t\t\treturn true;\n\t\t}\n\t\tif (room.connections.Count < minAdjRooms)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tint num = 0;\n\t\tforeach (LayoutRoom connection in room.connections)\n\t\t{\n\t\t\tint num2 = num;\n\t\t\tforeach (CellRect rect in connection.rects)\n\t\t\t{\n\t\t\t\tforeach (CellRect rect2 in room.rects)\n\t\t\t\t{\n\t\t\t\t\tif (rect.OverlapsCardinal(rect2))\n\t\t\t\t\t{\n\t\t\t\t\t\tnum++;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (num != num2)\n\t\t\t\t{\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (num >= minAdjRooms)\n\t\t\t{\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tif (num < minAdjRooms)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t}\n\n\tpublic void ResolveSketch(LayoutRoomParams parms)\n\t{\n\t\tSketchResolveParams parms2 = default(SketchResolveParams);\n\t\tforeach (CellRect rect in parms.room.rects)\n\t\t{\n\t\t\tif (!floorTypes.NullOrEmpty())\n\t\t\t{\n\t\t\t\tTerrainDef def = floorTypes.RandomElement();\n\t\t\t\tforeach (IntVec3 item in rect)\n\t\t\t\t{\n\t\t\t\t\tparms.sketch.AddTerrain(def, item);\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (edgeTerrain != null)\n\t\t\t{\n\t\t\t\tforeach (IntVec3 edgeCell in rect.ContractedBy(1).EdgeCells)\n\t\t\t\t{\n\t\t\t\t\tbool flag = true;\n\t\t\t\t\tforeach (CellRect rect2 in parms.room.rects)\n\t\t\t\t\t{\n\t\t\t\t\t\tif (!(rect2 == rect) && rect2.ContractedBy(1).Contains(edgeCell))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tflag = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (flag)\n\t\t\t\t\t{\n\t\t\t\t\t\tparms.sketch.AddTerrain(edgeTerrain, edgeCell);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tparms2.rect = rect;\n\t\t\tparms2.sketch = parms.sketch;\n\t\t\tif (sketchResolverDef != null)\n\t\t\t{\n\t\t\t\tsketchResolverDef.Resolve(parms2);\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic void PreResolveContents(Map map, LayoutRoom room, Faction faction, float? threatPoints = null)\n\t{\n\t\tContentsWorker?.PreFillRooms(map, room, faction, threatPoints);\n\t}\n\n\tpublic void PostResolveContents(Map map, LayoutRoom room, Faction faction, float? threatPoints = null)\n\t{\n\t\tContentsWorker?.PostFillRooms(map, room, faction, threatPoints);\n\t}\n\n\tpublic void ResolveContents(Map map, LayoutRoom room, float? threatPoints = null, Faction faction = null)\n\t{\n\t\tContentsWorker?.FillRoom(map, room, faction, threatPoints);\n\t}\n\n\tprivate RoomContentsWorker GetWorker(ref RoomContentsWorker worker)\n\t{\n\t\tif (roomContentsWorkerType == null)\n\t\t{\n\t\t\treturn null;\n\t\t}\n\t\tif (worker != null)\n\t\t{\n\t\t\treturn worker;\n\t\t}\n\t\tworker = (RoomContentsWorker)Activator.CreateInstance(roomContentsWorkerType);\n\t\tworker.Initialize(this);\n\t\treturn worker;\n\t}\n}\n\n", "timestamp": "2025-08-25 18:18:04,672" }, "PrefabDef": { "keywords": [ "PrefabDef" ], "question": "PrefabDef", "embedding": [ -0.00308246910572052, 0.03501245379447937, 0.01863211765885353, -0.009116968140006065, 0.052450031042099, -0.0035767625086009502, -0.015460401773452759, 0.009727969765663147, -0.03630311042070389, 0.15707547962665558, 0.031415097415447235, -0.06821250170469284, -0.03509483486413956, -0.06837726384401321, 0.0692560076713562, 0.04454133287072182, -0.0008787439437583089, -0.11116111278533936, 0.01993650384247303, -0.0346280038356781, 0.0041568707674741745, 0.03935125097632408, 0.0007071142899803817, -0.017506226897239685, -0.00046640363871119916, 0.0011233162367716432, -0.04432164877653122, -0.015446671284735203, -0.0014923200942575932, -0.0020818680059164762, -0.00777139188721776, 0.002893676282837987, -0.03157985955476761, 0.00682399608194828, -0.030783498659729958, 0.044788479804992676, 0.036907244473695755, 0.018330048769712448, 0.017780834808945656, -0.08073460310697556, -0.03698962926864624, -0.023314176127314568, -0.008114650845527649, -0.04852314293384552, -0.028888707980513573, 0.02188621647655964, 0.007723335642367601, -0.0446237176656723, -0.031167950481176376, 0.0626654252409935, -0.001646786811761558, 0.006003606133162975, -0.0031356741674244404, 0.021350732073187828, 0.02059556171298027, 0.0165176410228014, 0.03212907537817955, 0.026527082547545433, 0.007235907018184662, 0.005392604507505894, 0.030975723639130592, 0.03147001937031746, -0.044404029846191406, -0.005087103694677353, 0.0028009964153170586, -0.03424355387687683, -0.03852742910385132, 0.01167768333107233, 0.020128728821873665, -0.04393719881772995, -0.028229650110006332, -0.008869822137057781, -0.016833439469337463, -0.019826659932732582, -0.03083842061460018, 0.07601135224103928, -0.009274867363274097, -0.0015764186391606927, -0.031167950481176376, -0.04473355785012245, -0.006515062414109707, 0.032348763197660446, -0.050692543387413025, -0.018316319212317467, -0.029987137764692307, 0.05242256820201874, -0.0236162431538105, -0.03163478150963783, 0.0008976231911219656, 0.025003012269735336, -0.05247749015688896, 0.030618734657764435, 0.018467353656888008, -0.019579512998461723, 0.0514339804649353, 0.019579512998461723, -0.015172063373029232, 0.01476015243679285, 0.009144429117441177, 0.028696483001112938, -0.02202351950109005, -0.05991935357451439, 0.008354933001101017, 0.06579595059156418, -0.029163315892219543, 0.04632628336548805, 0.01370291318744421, -0.01966189593076706, -0.015323097817599773, 0.00672445073723793, -0.0774393081665039, 0.015954695641994476, -0.010448814369738102, 0.07238653302192688, -0.03734661638736725, 0.024206649512052536, -0.02254527434706688, -0.0022637953516095877, 0.001814125687815249, 0.018700769171118736, 0.024453796446323395, -0.021048663184046745, 0.0040710559114813805, -0.03460054472088814, 0.04212478920817375, 0.004740411881357431, 0.0194147489964962, 0.03108556754887104, -0.025771912187337875, 0.016682405024766922, -0.02806488424539566, -0.026032790541648865, -0.00157384411431849, 0.02858663909137249, 0.022627657279372215, -0.06343433260917664, 0.039021722972393036, 0.028943628072738647, 0.004047027789056301, 0.027199871838092804, -0.05203811824321747, 0.003796448465436697, 0.01809663325548172, 0.020375875756144524, 0.11983870714902878, -0.041108742356300354, -0.0071260640397667885, -0.024975551292300224, -0.0430309921503067, 0.006920108571648598, -0.022119633853435516, -0.031003184616565704, -0.05008840560913086, 0.017382653430104256, 0.026774229481816292, -0.038609813898801804, 0.019236253574490547, -0.03957093879580498, 0.014252128079533577, -0.03473784774541855, -0.0013764699688181281, -0.04418434575200081, 0.020636752247810364, -0.00043508122325874865, 0.014128555543720722, -0.04736979305744171, -0.052916862070560455, 0.028366953134536743, -0.028421875089406967, -0.03594611957669258, -0.03465546295046806, -0.01746503636240959, -0.036797404289245605, -0.000994593952782452, -0.0008452761685475707, -0.016572561115026474, -0.014018712565302849, 0.0190165676176548, 0.013064451515674591, 0.017094315961003304, 0.00970050971955061, -0.0008740241173654795, 0.06239081919193268, -0.023520130664110184, 0.04130096733570099, -0.040834132581949234, 0.008512832224369049, 0.006309106945991516, -0.04036730155348778, 0.006721018347889185, -0.005581397097557783, 0.02913585491478443, 0.03322750702500343, 0.03789583221077919, -0.04536515846848488, -0.019304906949400902, -0.011059816926717758, 0.06519182026386261, 0.02976745180785656, 0.002219171728938818, -0.009659318253397942, -0.043717510998249054, 0.02504420280456543, 0.04959411174058914, 0.025469845160841942, 0.004925771616399288, 0.05969966575503349, 0.0037346617318689823, 0.020279763266444206, 0.0011464862618595362, 0.029657607898116112, -0.020224841311573982, -0.006312539801001549, -0.0013361370656639338, -0.016297955065965652, 0.008615809492766857, -0.07551705837249756, -0.03188192844390869, -0.010242858901619911, 0.02820218913257122, -0.008128381334245205, 0.0356440506875515, -0.014348241500556469, 0.035726435482501984, 0.040339838713407516, 0.004047027789056301, -0.0019376990385353565, -0.04418434575200081, -0.007791987620294094, 0.0011902517871931195, 0.047150105237960815, 0.0022140229120850563, -0.06859695166349411, 0.05310908704996109, -0.012103324756026268, -0.001893075299449265, -0.011107873171567917, -0.06255558878183365, 0.0004264997551217675, 0.004088218789547682, 0.031415097415447235, 0.0328155942261219, -0.007764526642858982, -0.007894964888691902, -0.038637273013591766, -0.05288940295577049, -0.1062730997800827, -0.03119540959596634, 0.04179525747895241, 0.0010083243250846863, -0.013421440497040749, -0.003992106299847364, -0.035589128732681274, 0.008650136180222034, 0.04418434575200081, -0.021748913452029228, -0.005464688874781132, -0.02398696355521679, -0.004634001292288303, 0.01048314105719328, -0.013153698295354843, 0.018151555210351944, -0.014416893012821674, 0.04091651365160942, 0.045172929763793945, 0.020938821136951447, -0.004342230968177319, 0.030756037682294846, 0.0020200812723487616, -0.010084959678351879, -0.020417066290974617, -0.005368576385080814, 0.021199697628617287, -0.04132842645049095, 0.006240454968065023, 0.011046086438000202, 0.04978633671998978, 0.0007689009653404355, -0.052642256021499634, -0.038884419947862625, -0.02320433221757412, 0.02150176651775837, 0.032843057066202164, -0.009515149518847466, -0.015707548707723618, -0.005269031040370464, 0.048715367913246155, 0.010730287060141563, 0.020677942782640457, 0.026279935613274574, -0.017094315961003304, -0.006611175369471312, 0.02152922749519348, 0.023959502577781677, -0.0002546555479057133, -0.016682405024766922, 0.045172929763793945, 0.027776546776294708, -0.037703607231378555, 0.004455506335943937, -0.009110103361308575, 0.00806659460067749, -0.019249984994530678, 0.01134815439581871, 0.03514975681900978, 0.034957531839609146, -0.03083842061460018, -0.03855489194393158, 0.03726423531770706, -0.0690363198518753, 0.030481431633234024, 0.004558484070003033, 0.0071466597728431225, -0.003029263811185956, 0.023163141682744026, -0.008801169693470001, -0.028257111087441444, 0.009769161231815815, 0.005330817773938179, 0.04022999480366707, -0.10297780483961105, -0.004434911068528891, -0.041493192315101624, -0.00355616700835526, 0.024165458977222443, -0.04863298684358597, 0.07293574512004852, -0.0047919005155563354, 0.004397152457386255, -0.02505793236196041, -0.023561323061585426, -0.000760748574975878, -0.0073457504622638226, 0.06683946400880814, -0.0020681375171989202, -0.020142458379268646, 0.037181854248046875, 0.05088476836681366, 0.00646014092490077, -0.0364404134452343, 0.009007125161588192, -0.06398354470729828, 0.032074153423309326, 0.005262165796011686, 0.03446323797106743, 0.008759979158639908, 0.055662937462329865, 0.08930235356092453, -0.06167684122920036, -0.006271348334848881, -0.02886124700307846, 8.763840742176399e-05, -0.03262336924672127, -0.0007963617099449039, 0.013435170985758305, -0.009549475274980068, 0.013277271762490273, 0.007215311750769615, -0.020224841311573982, 0.019249984994530678, -0.006954434793442488, 0.0354243665933609, -0.0642581507563591, -0.03698962926864624, 0.038499969989061356, -0.00904831662774086, 0.016050808131694794, 0.048468220978975296, -0.014705230481922626, 0.007469323463737965, -0.018041711300611496, -0.05827170982956886, 0.006645501125603914, 0.024302762001752853, -0.011897369287908077, 0.01938728801906109, 0.004345663357526064, 0.008602079935371876, -0.01731400191783905, -0.0011962588177993894, 0.003974943421781063, 0.042564161121845245, 0.025112854316830635, 0.013510688208043575, -0.012075863778591156, -0.01676478609442711, -0.014128555543720722, 0.029273157939314842, 0.019977694377303123, -0.02990475483238697, 0.08864329755306244, 0.017670990899205208, 0.0398455448448658, -0.0016287656035274267, 0.03254098817706108, 0.01784948632121086, 0.06837726384401321, 0.014856264926493168, 0.021845025941729546, -0.03806059807538986, -0.00298292376101017, 0.013064451515674591, -0.023272983729839325, 0.0030910505447536707, 0.0007551705930382013, 0.02004634588956833, -0.02949284389615059, 0.02623874507844448, -0.0049051763489842415, -0.027735356241464615, -0.04978633671998978, 0.0009628424886614084, 0.020417066290974617, 0.02702137641608715, -0.029300618916749954, -0.0009199350606650114, -0.019854120910167694, 0.017519958317279816, 0.005979578010737896, 0.02752939984202385, -0.022586464881896973, -0.02807861566543579, -0.059095531702041626, 0.02386339008808136, -0.020897628739476204, 0.04179525747895241, -0.055827703326940536, -0.05176351219415665, -0.008602079935371876, 0.020279763266444206, -0.054756730794906616, -0.03347465395927429, -0.06354416906833649, 0.07414402067661285, 0.012178841978311539, -0.023108219727873802, 0.02659573405981064, -0.022119633853435516, -0.035726435482501984, 0.012165111489593983, -0.037950754165649414, -0.006370893679559231, 0.04591437056660652, -0.00022183136024978012, -0.02740582637488842, -0.01598215475678444, 0.057502806186676025, -0.022984646260738373, -0.023918312042951584, -0.019977694377303123, -0.029657607898116112, 0.00505277793854475, 0.045420076698064804, 0.0067828050814569, -0.014375701546669006, 0.005529908463358879, 0.04001031070947647, -0.04470609873533249, 0.03696216642856598, -0.04377243295311928, -0.0030876179225742817, -8.855018677422777e-05, -0.030481431633234024, 0.05286194011569023, 0.008876686915755272, -0.0011104439618065953, -0.010455680079758167, 0.016600022092461586, 0.005169485695660114, -0.01574873924255371, 0.0057255662977695465, -0.010462544858455658, 0.03951601684093475, -0.025936676189303398, 0.0165176410228014, -0.019881581887602806, -0.0014459800440818071, 0.030316665768623352, 0.007019653916358948, 0.0131674287840724, 0.011533514596521854, 0.017670990899205208, -0.037950754165649414, 0.025483574718236923, -0.10934869945049286, -0.026032790541648865, -0.021693991497159004, 0.006285078823566437, 0.010249724611639977, 0.0005470695905387402, -0.020430797711014748, -0.006223292089998722, -0.007785122375935316, 0.05179097130894661, -0.02519523724913597, -0.0025246725417673588, -0.027460748329758644, 0.055937543511390686, 0.013153698295354843, -0.036138344556093216, -0.017739644274115562, -0.004232387989759445, 0.027337174862623215, -0.014540466479957104, -0.04940188676118851, 0.0026293667033314705, -0.04495324566960335, -0.006171803455799818, -0.044101960957050323, 0.0033004386350512505, 0.010675366036593914, -0.039790622889995575, 0.04094397649168968, 0.027460748329758644, -0.060523491352796555, -0.005313654895871878, 0.04001031070947647, 0.02268257923424244, -0.004362826235592365, 0.008883551694452763, 0.011581570841372013, 0.00859521422535181, 0.04088905453681946, -0.019991425797343254, -0.019867852330207825, 0.036660097539424896, -0.00613061198964715, -0.006092853378504515, 0.06749852001667023, -0.02899855002760887, -0.0016716730315238237, -0.002516091102734208, 0.028614100068807602, 0.03199177235364914, 0.051598746329545975, 0.022462891414761543, 0.05313654989004135, -0.0041637360118329525, 0.052367646247148514, 0.02467348240315914, 0.04533769562840462, 0.006408652290701866, 0.017808295786380768, -0.011162794195115566, 0.016490180045366287, 0.009343519806861877, 0.043717510998249054, -0.021062394604086876, 0.014320780523121357, -0.017904408276081085, 0.014718960970640182, 0.007956751622259617, -0.012041538022458553, -0.01127263717353344, 0.007908695377409458, 0.00583540927618742, 0.047562018036842346, 0.059095531702041626, 0.009219946339726448, 0.009151294827461243, 0.013723509386181831, 0.00777139188721776, 0.015913503244519234, -0.030783498659729958, -0.008382393047213554, 0.012165111489593983, -0.05755772814154625, 0.010352701880037785, 0.007105468772351742, -0.022050980478525162, -0.07194716483354568, 0.02384966053068638, -0.03292543813586235, -0.02806488424539566, 0.05442720279097557, -0.034957531839609146, -0.011554109863936901, 0.020211111754179, 0.01730027236044407, 0.037566304206848145, 0.0027941311709582806, 0.011025490239262581, -0.0022363346070051193, -0.009405306540429592, -0.005186649039387703, 0.015158332884311676, 0.03157985955476761, -0.009522014297544956, -0.03525960072875023, 0.012288684956729412, 0.025991598144173622, -0.01574873924255371, -0.026952724903821945, -0.03177208453416824, -0.012631944380700588, 0.028888707980513573, 0.024220380932092667, 0.02634858898818493, 0.011821852065622807, 0.019606973975896835, -0.008526562713086605, -0.0638187825679779, -0.011945425532758236, -0.013950060121715069, 0.00892474316060543, -0.02555222623050213, -0.05689867213368416, -0.0009765728609636426, 0.03476530686020851, -0.022353049367666245, 0.07408910244703293, -0.012631944380700588, 0.012954608537256718, 0.020828977227211, 0.008224493823945522, 0.01588604226708412, -0.008828630670905113, 0.04574960842728615, 0.017080586403608322, 0.0023736385628581047, -0.04239939525723457, -0.005615722853690386, -0.0027701030485332012, -0.06596072018146515, -0.007819448597729206, -0.011306962929666042, 0.030481431633234024, 0.0014674337580800056, -0.07617611438035965, 0.0048708501271903515, -0.0006101435283198953, 0.04841329902410507, -0.02740582637488842, 0.0007813441334292293, -9.76143783191219e-05, -0.03655025735497475, -0.022366778925061226, -0.0013610234018415213, -0.030069518834352493, 0.019071489572525024, -0.00662490539252758, 0.01889299415051937, 0.012899686582386494, -0.014265858568251133, -0.019854120910167694, -0.03081095963716507, -0.04209732636809349, -0.031387634575366974, -0.029080932959914207, -0.010304645635187626, -0.011355019174516201, 0.0021642502397298813, 0.012542696669697762, 0.04613405838608742, -0.0023530428297817707, 0.012419123202562332, 0.012240628711879253, 0.02268257923424244, -0.011046086438000202, -0.005687807686626911, -0.0015266459668055177, 0.01835750974714756, 0.02715867944061756, 0.010840130038559437, 0.029163315892219543, -0.03817044198513031, -0.0012443151790648699, -0.023973233997821808, 0.03185446932911873, -0.0009885869221761823, -0.04077921062707901, 0.0024319924414157867, -0.018522275611758232, 0.0005384880932979286, 0.026073981076478958, 0.00950141903012991, -0.00616493821144104, 0.01614692062139511, 0.05511372163891792, 0.02044452726840973, -0.036934707313776016, -0.024316493421792984, -0.047781702131032944, -0.04511801153421402, -0.026005329564213753, 0.021337002515792847, 0.03498499467968941, 0.03352957218885422, -0.02571699023246765, 0.02479705587029457, 0.050967149436473846, -0.09660691022872925, 0.047232486307621, 0.008808035403490067, -0.01650390960276127, 0.0027906985487788916, -0.030481431633234024, -0.008567753247916698, 0.00924740731716156, 0.0207191351801157, 0.05190081521868706, -0.021419383585453033, 0.047287408262491226, -0.014416893012821674, 0.002129924250766635, 0.013030124828219414, -0.00015993740817066282, -0.013792160898447037, -0.006007038522511721, 0.017780834808945656, 0.0022140229120850563, -0.010421354323625565, 0.001313825137913227, 0.017876947298645973, -0.016860900446772575, 0.008313741534948349, 0.010345837101340294, 0.021968599408864975, -0.06178668513894081, 0.012117055244743824, -0.02765297330915928, 0.051351599395275116, 0.010469410568475723, -0.02229812741279602, -0.07881234586238861, 0.006796535104513168, -0.02309449017047882, -0.01443062350153923, 0.028119806200265884, 0.07299067080020905, -0.05733804404735565, -0.02700764685869217, 0.015680087730288506, 0.0036660099867731333, -0.04522785171866417, -0.05124175548553467, -0.015172063373029232, -0.0032026097178459167, -0.018687039613723755, -0.018330048769712448, 0.02165280096232891, -0.007510514929890633, 0.027447018772363663, 0.0314425565302372, 0.05401529371738434, -0.0438273549079895, -0.025483574718236923, 0.009137564338743687, 0.061566997319459915, -0.010002577677369118, 0.015968425199389458, -0.03243114426732063, -0.016448987647891045, -0.017135506495833397, -0.021845025941729546, -0.008409854024648666, 0.05494895949959755, 0.004009269177913666, 0.020897628739476204, 0.029190775007009506, 0.0003134387079626322, -0.01035956759005785, 0.018920455127954483, 0.017904408276081085, 0.008004807867109776, 0.01677851751446724, -0.0005200379528105259, 0.03726423531770706, 0.007483053952455521, -0.021474305540323257, -0.04423926770687103, -0.01874196156859398, -0.03580881655216217, 0.005934954155236483, 0.015707548707723618, 0.015021029859781265, 0.04690295830368996, -0.009103238582611084, -0.0448434017598629, -0.02700764685869217, 0.00924740731716156, -0.0374564602971077, 0.03125033155083656, -0.034051328897476196, 0.011746334843337536, 0.021982328966259956, 0.02976745180785656, -0.002304986584931612, -0.023025836795568466, 0.007750796154141426, -0.027900120243430138, 0.04599675536155701, 0.027639243751764297, 0.031524937599897385, 0.012075863778591156, -0.0037552574649453163, -0.014334511011838913, 0.039406172931194305, 0.01324981078505516, 0.028614100068807602, 0.00217969692312181, -0.009940790943801403, 0.009350384585559368, -0.0028027126099914312, 0.023369096219539642, -0.0048708501271903515, -0.026856612414121628, -0.06645501405000687, -0.010641040280461311, -0.03196430951356888, -0.029218235984444618, -0.01938728801906109, 0.0374564602971077, 0.03465546295046806, 0.06920108944177628, -0.034957531839609146, -0.004280444234609604, 0.0019497130997478962, 0.046491045504808426, 0.020032616332173347, -0.0001243242440978065, 0.033914025872945786, 0.004417747724801302, 0.018453622236847878, 0.019085220992565155, -0.018824342638254166, -0.036797404289245605, -0.02139192260801792, -0.022462891414761543, 0.011375615373253822, -0.02309449017047882, 0.011560975573956966, 0.022229475900530815, 0.02255900576710701, 0.007805717643350363, -0.017904408276081085, 4.435554365045391e-05, 0.019730547443032265, -0.030371587723493576, 0.05689867213368416, -0.021611608564853668, 0.03627564758062363, 0.0001499614299973473, -0.007249637506902218, -0.0019256849773228168, -0.02346521057188511, 0.012412258423864841, -0.02478332631289959, -0.019991425797343254, 0.0013061017962172627, -0.022888533771038055, 0.02831203117966652, -0.022188285365700722, 0.001659658970311284, 0.054619427770376205, 0.05794217810034752, -0.025373730808496475, 0.06255558878183365, 0.009913329966366291, 0.032870516180992126, -0.0106135793030262, -0.005104266572743654, 0.024302762001752853, -0.014842534437775612, 0.018069172278046608, 0.024563640356063843, 0.02280615083873272, 0.023973233997821808, -0.02006007730960846, -0.01666867360472679, 0.11269891262054443, 0.03668756037950516, -0.007359480485320091, 0.0157212782651186, 0.05319146811962128, -0.011869908310472965, 0.006679826881736517, 0.02913585491478443, -0.013345924206078053, -0.006614607758820057, -0.0005685233045369387, -0.005121429450809956, 0.008883551694452763, 0.008080325089395046, 0.05154382437467575, 0.012377932667732239, 0.007180985528975725, -0.015803661197423935, -0.002416545758023858, -0.005135159939527512, 0.014773882925510406, -0.055553093552589417, 0.022984646260738373, 0.04088905453681946, 0.049758877605199814, -0.0029691935051232576, -0.05991935357451439, 0.03070111759006977, -0.09473958611488342, 0.018687039613723755, 0.026444701477885246, -0.03778598830103874, 0.03190939128398895, -0.008897282183170319, -0.04849568381905556, -0.01875569112598896, -0.01003003865480423, -0.008348067291080952, -0.0530267059803009, -0.040449682623147964, 0.019098950549960136, 0.0028988253325223923, 0.03278813511133194, 0.017808295786380768, -0.017121776938438416, -0.049621570855379105, -0.000780485977884382, 0.060907941311597824, 0.023904582485556602, 0.02373981662094593, 0.015515322797000408, 0.0057976506650447845, 0.023904582485556602, 0.03188192844390869, 0.01953832246363163, 0.040834132581949234, -0.0240144245326519, 0.042811308056116104, -3.6605393688660115e-05, 0.0660705640912056, 0.004757574759423733, 0.03385910391807556, 0.055278487503528595, 0.021845025941729546, 0.008272550068795681, 0.000852999510243535, 0.004331932868808508, -0.023657435551285744, -0.01874196156859398, 0.004678625147789717, 0.0022843910846859217, -0.06035872548818588, 0.008499101735651493, 0.008306876756250858, 0.04769932106137276, -0.015432940796017647, 0.021597879007458687, -0.025895485654473305, 0.050802383571863174, 0.01476015243679285, -0.00930232834070921, -0.023396557196974754, -0.0020887332502752542, 0.01049000583589077, 0.0165176410228014, 0.00963185727596283, 0.004266713745892048, -0.011121602728962898, 0.010181072168052197, -0.04094397649168968, 0.024494986981153488, 0.010641040280461311, -0.021295810118317604, -0.0508573055267334, 0.02608771063387394, -0.015281906351447105, -0.04066937044262886, -0.03424355387687683, 0.026073981076478958, 0.019112680107355118, -0.024179188534617424, -0.005523043219000101, 0.01665494404733181, -0.07205700129270554, -0.0500609427690506, 0.10841503739356995, -0.03163478150963783, -0.03171716630458832, -0.02831203117966652, 0.03168970346450806, 0.0028198757208883762, 0.0165176410228014, 0.02781773917376995, -0.006120314355939627, 0.032074153423309326, -0.02507166378200054, 0.045310236513614655, -0.018014250323176384, 0.00039002843550406396, 0.030481431633234024, 0.014265858568251133, -0.010805804282426834, 0.010270319879055023, -0.040339838713407516, 0.0398455448448658, -0.01716296747326851, -0.0049532325938344, -0.022215746343135834, 0.057118356227874756, 0.008162707090377808, 0.011746334843337536, -0.002739209681749344, 0.03525960072875023, -0.02297091670334339, 0.03951601684093475, -0.007716470398008823, -0.057228200137615204, 0.009412171319127083, -0.04992363974452019, 0.0017574878875166178, -0.005093968939036131, 0.007888100109994411, 0.036797404289245605, -0.00655968626961112, 0.0049051763489842415, 0.0002503647992853075, -0.02660946547985077, 0.014979838393628597, -0.0021213428117334843, -0.03449070081114769, -0.042152248322963715, 0.005564234219491482, -0.03786837309598923, -0.03671501949429512 ], "result": "--- 结果 1 (相似度: 1.000) ---\n文件路径: C:\\Steam\\steamapps\\common\\RimWorld\\Data\\dll1.6\\RimWorld\\PrefabDef.txt\n\npublic class PrefabDef : Def\n{\n\tinternal List things = new List();\n\n\tinternal List prefabs = new List();\n\n\tinternal List terrain = new List();\n\n\tpublic IntVec2 size;\n\n\tpublic RotEnum rotations = RotEnum.All;\n\n\tpublic bool edgeOnly;\n\n\tpublic IEnumerable<(PrefabThingData data, IntVec3 cell)> GetThings()\n\t{\n\t\tforeach (PrefabThingData data in things)\n\t\t{\n\t\t\tbool flag = false;\n\t\t\tif (!data.rects.NullOrEmpty())\n\t\t\t{\n\t\t\t\tforeach (CellRect rect in data.rects)\n\t\t\t\t{\n\t\t\t\t\tforeach (IntVec3 cell in rect.Cells)\n\t\t\t\t\t{\n\t\t\t\t\t\tyield return (data: data, cell: cell);\n\t\t\t\t\t\tflag = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (!data.positions.NullOrEmpty())\n\t\t\t{\n\t\t\t\tforeach (IntVec3 position in data.positions)\n\t\t\t\t{\n\t\t\t\t\tyield return (data: data, cell: position);\n\t\t\t\t\tflag = true;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (!flag)\n\t\t\t{\n\t\t\t\tyield return (data: data, cell: data.position);\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic IEnumerable<(SubPrefabData data, IntVec3 cell)> GetPrefabs()\n\t{\n\t\tforeach (SubPrefabData data in prefabs)\n\t\t{\n\t\t\tif (!data.positions.NullOrEmpty())\n\t\t\t{\n\t\t\t\tforeach (IntVec3 position in data.positions)\n\t\t\t\t{\n\t\t\t\t\tyield return (data: data, cell: position);\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tyield return (data: data, cell: data.position);\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic IEnumerable<(PrefabTerrainData data, IntVec3 cell)> GetTerrain()\n\t{\n\t\tforeach (PrefabTerrainData data in terrain)\n\t\t{\n\t\t\tif (data.rects.NullOrEmpty())\n\t\t\t{\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tforeach (CellRect rect in data.rects)\n\t\t\t{\n\t\t\t\tforeach (IntVec3 cell in rect.Cells)\n\t\t\t\t{\n\t\t\t\t\tyield return (data: data, cell: cell);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\n", "timestamp": "2025-08-25 18:25:35,112" }, "MapGeneratorDef": { "keywords": [ "MapGeneratorDef" ], "question": "MapGeneratorDef", "embedding": [ -0.031396057456731796, 0.06638790667057037, -0.03507234901189804, -0.06096738949418068, 0.01399405486881733, 0.006034349091351032, 0.03440149500966072, 0.059733014553785324, 0.019454821944236755, 0.10964469611644745, -0.017240997403860092, -0.02347995899617672, -0.07594089210033417, -0.01614079438149929, -0.009740828536450863, 0.03303294628858566, -0.01016346737742424, -0.08560121804475784, -0.006876273546367884, 0.0013123619137331843, 0.05431249737739563, -0.023627547547221184, -0.03013484925031662, -0.002363090170547366, -0.035260189324617386, -0.0034213652834296227, 0.05179008096456528, 0.02341287210583687, 0.006121560465544462, -0.030644699931144714, 0.007345872465521097, -0.04720142483711243, 0.03574320673942566, -0.020045176148414612, 0.02246025763452053, 0.023708049207925797, -0.00285281497053802, 0.03858763352036476, 0.01572486385703087, 0.006929941941052675, -0.04881148040294647, 0.004531632177531719, 0.012652343139052391, 0.010378141887485981, -0.04682574421167374, -0.002809209283441305, 0.011230128817260265, -0.05984035134315491, -0.047174591571092606, -0.014262397773563862, 0.0057626524940133095, 0.026445141062140465, -0.004263289738446474, 0.015268681570887566, 0.04682574421167374, 0.028310121968388557, 0.026753734797239304, -0.06611955910921097, 0.0185424592345953, -0.003713187761604786, 0.02453991025686264, 0.017469089478254318, -0.05393681675195694, -0.025304686278104782, 0.10851766169071198, -0.07604823261499405, 0.0700373649597168, -0.030430026352405548, -0.0113710081204772, -0.03257676586508751, -0.017938688397407532, -0.035635869950056076, -0.013142067939043045, 0.0008440206293016672, -0.027907608076930046, 0.009298063814640045, -0.011075831949710846, -0.10019904375076294, -0.013551290147006512, -0.003914444707334042, 0.006829313468188047, -0.008110648021101952, -0.022554177790880203, 0.017938688397407532, 0.03687024489045143, 0.042934782803058624, 0.04658423736691475, 0.0297860037535429, -0.04899931699037552, -0.021158797666430473, 0.016529889777302742, -0.023694632574915886, 0.02247367426753044, -0.0004402492195367813, 0.03815828636288643, 0.019012058153748512, -0.07524320483207703, -0.0027874065563082695, 0.008707710541784763, 0.0029383490327745676, 0.007419666741043329, -0.04371297359466553, -0.03778260573744774, 0.04556453600525856, -0.04339096322655678, 0.08705026656389236, -0.02483508735895157, -0.034804005175828934, -0.016717730090022087, -0.008828463964164257, -0.002904806286096573, -0.026351220905780792, 0.0337306372821331, 0.04237126186490059, 0.017053158953785896, 0.06923233717679977, 0.03617255389690399, 0.011867442168295383, -0.009807913564145565, 0.0027991465758532286, 0.06209442764520645, 0.0024754584301263094, -0.038024116307497025, -0.033515963703393936, 0.016583560034632683, -0.0022624616976827383, 0.020461106672883034, 0.051333896815776825, -0.02949082851409912, -0.021185630932450294, -0.016556724905967712, -0.022970108315348625, -0.02378855273127556, 0.026780569925904274, -0.020541608333587646, -0.03577004000544548, 0.009660325944423676, -0.02307744510471821, -0.008506453596055508, 0.026512227952480316, -0.10052105784416199, -0.02424473501741886, 0.05074354261159897, 0.007775220554322004, 0.06284578889608383, -0.02353362739086151, -0.0063261715695261955, -0.05721059441566467, -0.00030167552176862955, 0.009432234801352024, -0.024432573467493057, 0.005447350442409515, -0.027196500450372696, 0.02593529038131237, -0.06762228161096573, -0.013886718079447746, -0.007312329951673746, -0.04339096322655678, 0.0025190641172230244, -0.06386549025774002, -0.012779805809259415, 0.018730297684669495, -0.00024276599287986755, 0.007708135060966015, 0.02733067236840725, 0.024258151650428772, -0.0160871259868145, 0.029893340542912483, -0.00805697962641716, -0.013256113976240158, 0.008566830307245255, 0.0032653913367539644, -0.00962678249925375, 0.023882471024990082, 0.014316066168248653, -0.028846805915236473, -0.01996467262506485, 0.057317931205034256, 0.002394955838099122, -0.039419494569301605, 0.034857675433158875, 0.024003226310014725, 0.045376695692539215, -0.024419156834483147, -0.01678481511771679, -0.017053158953785896, -0.020192764699459076, 0.02844429202377796, 0.011471636593341827, -0.041888244450092316, 0.008627207949757576, 0.0036092051304876804, 0.051011886447668076, 0.024700915440917015, -0.04384714365005493, -0.0017048126319423318, 0.011431385762989521, 0.0015412915963679552, 0.031771738082170486, -0.009512737393379211, 0.013095107860863209, -0.022554177790880203, 0.018354618921875954, 0.02272859960794449, -0.006520719733089209, -0.02529126964509487, -0.006410028785467148, -0.04594021663069725, 0.0357968732714653, -0.0027874065563082695, 0.01618104614317417, 0.008164317347109318, -0.010096382349729538, -0.035931043326854706, -0.001693911268375814, -0.023949557915329933, -0.01489300187677145, -0.03949999809265137, 0.01434290036559105, 0.043256793171167374, -0.008224694058299065, 0.030000677332282066, 0.019884170964360237, 0.018636377528309822, 0.022218748927116394, -0.013195736333727837, 0.02597554214298725, 0.0066213482059538364, 0.02385563775897026, 0.0006268310244195163, 0.0291419830173254, -0.006208771839737892, -0.049562837928533554, 0.029302988201379776, 0.0022658160887658596, -0.019441405311226845, -0.01716049574315548, -0.04779177904129028, -0.0034213652834296227, 0.0006469567306339741, -0.015268681570887566, 0.015859033912420273, -0.03356963023543358, 0.04457166790962219, -0.005534561816602945, -0.05570787936449051, -0.044008150696754456, -0.024674082174897194, 0.06413383036851883, 0.00042767066042870283, 0.011142916977405548, -0.023654380813241005, 0.008130773901939392, -0.0006897237617522478, 0.02212482877075672, 0.03756793215870857, 0.00771484337747097, -0.021199047565460205, 0.011196586303412914, 0.028900474309921265, -0.0054305787198245525, 0.024271568283438683, -0.04650373384356499, 0.059035323560237885, -0.003412979654967785, 0.01575169712305069, -0.028229618445038795, 0.0386413037776947, -0.08549388498067856, -0.0027387693990021944, -0.00823140237480402, -0.01887788623571396, 0.03144972771406174, -0.0035588908940553665, 0.0029651832301169634, 0.020930705592036247, 0.010934951715171337, -0.009680451825261116, -0.026485392823815346, -0.03475033864378929, 0.005497664678841829, 0.04475950822234154, -0.05645923689007759, -0.006950067821890116, -0.014503905549645424, 0.036279890686273575, 0.009573114104568958, 0.028229618445038795, 0.008620498701930046, -0.0038037532940506935, 0.06649523973464966, 0.019897587597370148, 0.0196426622569561, -0.0062523772940039635, -0.03365013375878334, -0.013725712895393372, 0.046262226998806, -0.009432234801352024, -0.0343746580183506, -0.0035287023056298494, 0.004461192060261965, 0.013041439466178417, -0.058015622198581696, 0.023386038839817047, 0.08667458593845367, -0.003419688204303384, -0.01171985361725092, -0.11120108515024185, 0.017240997403860092, -0.07143273949623108, 0.04518885537981987, 0.0002019905368797481, 0.0012712720781564713, -0.009854873642325401, 0.047469768673181534, -0.019360903650522232, -0.03466983512043953, 0.021521059796214104, 0.0014624659670516849, 0.05919633060693741, -0.09440284967422485, 0.0009182340581901371, -0.011183168739080429, 0.0006121560581959784, 0.055224861949682236, -0.022366337478160858, 0.025532778352499008, 0.02381538599729538, 0.00012022996816085652, -0.022205332294106483, 0.041888244450092316, 0.010029296390712261, -0.006862856447696686, 0.05946467071771622, -0.05109238997101784, 0.010519021190702915, 0.012531588785350323, -0.008325322531163692, -0.0030205289367586374, -0.060108695179224014, -0.03013484925031662, 0.019199896603822708, -0.012578548863530159, 0.03829245641827583, 0.03477717190980911, 0.034159984439611435, -0.011330757290124893, 0.03958050161600113, 0.03300611302256584, 0.026418307796120644, -0.026176799088716507, 0.013162193819880486, 0.034938178956508636, 0.07035937160253525, 0.011089248582720757, -0.0323084220290184, -0.008915675804018974, -0.024593578651547432, -0.023748300969600677, 0.018113110214471817, -0.007929516956210136, 0.023305535316467285, -0.008989470079541206, 0.009928667917847633, 0.03606521710753441, -0.029302988201379776, -0.02801494486629963, 0.005668732803314924, -0.0014792373403906822, 0.03912431746721268, 0.04942866787314415, -0.008674167096614838, -0.01246450375765562, 0.013739129528403282, -0.07400882989168167, 0.08645991235971451, 0.035528529435396194, -0.019749999046325684, -0.053131792694330215, 0.020957540720701218, -0.02798810973763466, 0.037326425313949585, -0.017375169321894646, -0.015456520952284336, 0.0012645634124055505, -0.002296004444360733, -0.0002813402097672224, 0.06778328865766525, -0.0019220022950321436, -0.019119394943118095, 0.07588722556829453, 0.011015454307198524, 0.030752036720514297, -0.014933253638446331, 0.0009291354799643159, 0.02212482877075672, -0.015456520952284336, -0.011109374463558197, -0.004434357862919569, -0.02174915000796318, -0.020568443462252617, -0.023225033655762672, 0.009432234801352024, 0.004363917745649815, -0.04518885537981987, -0.03053736314177513, 0.027183083817362785, -0.012202870100736618, 0.02551935985684395, -1.1805492249550298e-05, -0.0006155103328637779, -0.04443749785423279, 0.06730026751756668, 0.0070238616317510605, -0.034508831799030304, -0.013625084422528744, 0.009076680988073349, 0.01085444912314415, 0.0066582453437149525, 0.012135784141719341, -0.0251973494887352, -0.010861157439649105, -0.0678369551897049, -0.022232165560126305, -0.02494242414832115, -0.002683423925191164, 0.027263585478067398, -0.020152512937784195, -0.05047520250082016, 0.012840182520449162, 0.02841745875775814, -0.027505094185471535, -0.09075339138507843, 0.03998301550745964, -0.006010869517922401, -0.01681165024638176, -0.012384001165628433, -0.04376664385199547, 0.022715182974934578, -0.003944633062928915, -0.01992442086338997, 0.01556385774165392, 0.010592815466225147, -0.008117357268929482, -0.008969344198703766, -0.006889690645039082, 0.039016980677843094, 0.021279551088809967, 0.019884170964360237, 0.03491134196519852, -0.016288382932543755, -0.009519445709884167, -0.0031781799625605345, -0.009371858090162277, 0.015872452408075333, 0.044303327798843384, 0.02243342250585556, -0.012779805809259415, 0.017388585954904556, -0.05396365374326706, 0.01785818487405777, 0.03426732122898102, -0.01194794476032257, 0.03161073103547096, -0.0006058667786419392, 0.02099779061973095, 0.028175950050354004, -0.010659901425242424, -0.04763077199459076, -0.03461616858839989, -0.003934570122510195, 0.046450067311525345, 0.019146228209137917, -0.03249626234173775, 0.0329524427652359, -0.03147656098008156, 0.03491134196519852, 0.02593529038131237, 0.014316066168248653, -0.01753617450594902, -0.01351774763315916, 0.0014180217403918505, -0.006406674161553383, -0.05790828540921211, -0.057693611830472946, -0.02138688787817955, 0.022366337478160858, -0.06483151763677597, -0.006470405496656895, -0.005350076127797365, -0.033435460180044174, -0.01855587586760521, 0.003184888744726777, 0.013625084422528744, -0.009519445709884167, -0.009371858090162277, -0.0019169709412381053, -0.027156248688697815, 0.02734408900141716, 0.03499184548854828, 0.009935376234352589, 0.013470787554979324, -0.007010444533079863, -0.011706436052918434, -0.04143206402659416, 0.009895125404000282, 0.001261209137737751, 0.02384222112596035, -0.04583287984132767, -0.01956215873360634, 0.03161073103547096, -0.05758627504110336, 0.022312669083476067, -0.04701358452439308, -0.04357880353927612, -0.0009719025692902505, 0.054124657064676285, 0.06161141023039818, -0.04459850490093231, 0.0048704142682254314, -0.029302988201379776, -0.010257387533783913, 0.009713994339108467, 0.04899931699037552, -0.06493885815143585, 0.030242186039686203, -0.015939537435770035, 0.030215352773666382, 0.03018851764500141, -0.032066915184259415, -0.011652767658233643, -0.007688009180128574, -0.031744904816150665, 0.008224694058299065, 0.008264944888651371, 0.003602496348321438, -0.005708984099328518, 0.004742951598018408, 0.04000984877347946, 0.10551222413778305, 0.01351774763315916, -0.02419106476008892, -0.007855723612010479, -0.016623809933662415, 0.029624998569488525, 0.03300611302256584, 0.011840607970952988, 0.01209553238004446, 0.012591966427862644, -0.02949082851409912, 0.012008321471512318, -0.006041057873517275, 0.01561752613633871, -0.06300678849220276, -0.01683848351240158, -0.062201764434576035, 0.060055024921894073, 0.04272010549902916, -0.021641813218593597, 0.01188756711781025, 0.005007939878851175, -0.011693019419908524, -0.0005530368653126061, -0.026807403191924095, -0.01681165024638176, 0.020447690039873123, -0.07449184358119965, 0.01581878401339054, -0.028551628813147545, 0.016570141538977623, -0.05774728208780289, 0.004102284088730812, -0.02317136526107788, -0.009063264355063438, 0.023010360077023506, 0.029195651412010193, -0.012524880468845367, 0.00861379038542509, 0.028175950050354004, 0.0033391856122761965, -0.034562498331069946, -0.03788994252681732, -0.012913976795971394, -0.03512601926922798, 0.02729042060673237, -0.007815471850335598, 0.01192781887948513, 0.020581860095262527, 0.0113710081204772, -0.05742526799440384, 0.04658423736691475, 0.042961616069078445, -0.04086854308843613, -0.013967220671474934, 0.024754583835601807, 0.029302988201379776, -0.013256113976240158, 0.013665336184203625, -0.004957625642418861, 0.015080842189490795, 0.01823386549949646, -0.04661107063293457, 0.007459918037056923, -0.009989045560359955, 0.015510189346969128, 0.03751426562666893, 0.00060209323419258, 0.03220108523964882, 0.029571330174803734, -0.01679823361337185, 0.035957880318164825, 0.01422214601188898, -0.03893648087978363, 0.000654923147521913, 0.0015119415475055575, -0.03185224160552025, 0.029893340542912483, 0.009398692287504673, -0.05289028212428093, -0.024056894704699516, -0.024593578651547432, -0.02700866013765335, 0.010391558520495892, -0.019173063337802887, -0.018985223025083542, 0.0350186824798584, -0.016006622463464737, 0.01470516249537468, -0.021091710776090622, -0.027464842423796654, 0.02099779061973095, 0.014664910733699799, -0.030269021168351173, 0.05372214317321777, 0.04336412996053696, -0.013926969841122627, -0.016570141538977623, -0.006185291800647974, 0.02415081486105919, 0.05221942812204361, 0.0476844422519207, -0.018636377528309822, -0.014235563576221466, 0.007620923686772585, -0.0014180217403918505, 0.02310427837073803, -0.05796195566654205, -0.012001613155007362, -0.03848029673099518, -0.005350076127797365, 0.008908967487514019, 0.03236209228634834, 0.04666474089026451, 0.0602160319685936, -0.006339588668197393, -0.0392853245139122, -0.03746059536933899, -0.0008872069884091616, 0.007117781788110733, -0.03236209228634834, -3.5665427276398987e-05, -0.011183168739080429, -0.017415421083569527, 0.056244563311338425, -0.05229993164539337, 0.010928243398666382, 0.011250254698097706, 0.026767153292894363, -0.015188178978860378, 0.030939877033233643, -0.03182540461421013, -0.02173573337495327, -0.01212236750870943, 0.05576154589653015, -0.023211615160107613, 0.03885597735643387, 0.01824728213250637, -0.034133151173591614, 0.0703057050704956, 0.006688433699309826, -0.0078020547516644, 0.04526935890316963, -0.04339096322655678, 0.0077953459694981575, -0.09300746768712997, 0.003894318826496601, 0.04003668203949928, 0.012343749403953552, -0.04306895285844803, 0.0266195647418499, 0.009230977855622768, -0.013443953357636929, 0.03466983512043953, 0.0026767151430249214, -0.03684340789914131, -0.012551714666187763, 0.006312754470854998, -0.016932403668761253, 0.015684612095355988, 0.047120921313762665, -0.03426732122898102, -0.01752275787293911, 0.0196426622569561, -0.02343970723450184, 0.0161542110145092, 0.013316490687429905, 0.0075873807072639465, 0.0007895135786384344, 0.0019739936105906963, -0.005276281852275133, 0.018408287316560745, 0.020434271544218063, 0.010103090666234493, 0.0014431788586080074, 0.013383576646447182, -0.009137057699263096, 0.01922673173248768, 0.01122342050075531, -0.06509986519813538, -0.0026733609847724438, -0.006648182403296232, 0.0021366761066019535, -0.023962974548339844, -0.010706860572099686, -0.07529687136411667, 0.0037232504691928625, 0.026887906715273857, -0.023399455472826958, 0.04030502587556839, 0.03893648087978363, -0.019360903650522232, -0.03998301550745964, 0.010250679217278957, -0.042210254818201065, -0.020581860095262527, -0.025076596066355705, -0.04100271686911583, 0.002884680638089776, -0.01556385774165392, -0.028524795547127724, -0.026123130694031715, -0.0054708304814994335, 0.027639266103506088, -0.011350883170962334, 0.04733559489250183, -0.01229008100926876, -0.012484629638493061, 0.024660665541887283, 0.03856080025434494, -0.03179857134819031, 0.04086854308843613, 0.008439367637038231, -0.05476868152618408, -0.005913595203310251, -0.050341032445430756, 0.015134510584175587, 0.038399793207645416, 0.026552477851510048, 0.0015253587625920773, 0.013215862214565277, 0.010223845019936562, -0.02389588952064514, -0.010519021190702915, 0.052809782326221466, -0.013450661674141884, 0.012880434282124043, -0.037702105939388275, 0.00034989332198165357, -0.010753820650279522, -0.013041439466178417, -0.040170855820178986, -0.021453972905874252, 0.05439300090074539, 0.016999490559101105, 0.039419494569301605, -0.0014574346132576466, 0.006721976678818464, 0.038104619830846786, -0.02027326636016369, -0.038372959941625595, 0.04674524441361427, -0.004860351327806711, 0.0277197677642107, 0.0059974524192512035, 0.014664910733699799, 0.03665556758642197, 0.006617994047701359, -0.003713187761604786, -0.018368035554885864, -0.04459850490093231, -0.04170040786266327, -0.020219597965478897, 0.03461616858839989, 0.004343792330473661, -0.00778192887082696, -0.004638968966901302, 0.010304347611963749, 0.013725712895393372, -0.006929941941052675, 0.06456317752599716, -0.010123216547071934, -0.07846330851316452, -0.005386973265558481, -0.01294081099331379, 0.007050695829093456, 0.013625084422528744, -0.035904210060834885, -0.016274966299533844, 0.02346654050052166, -0.03434782475233078, 0.013276238925755024, 0.02876630239188671, 0.04108321666717529, 0.03861446678638458, -0.012155910022556782, -0.007104364689439535, -0.0329524427652359, -0.003525347914546728, -0.045108355581760406, 0.01506742462515831, 0.033837974071502686, 0.0713254064321518, -0.001057436689734459, 0.04140523076057434, 0.022272417321801186, -0.033515963703393936, -0.003954696003347635, -0.0105324387550354, 0.030591031536459923, -0.008526579476892948, 0.059357333928346634, -0.03340862691402435, 0.009432234801352024, 0.005011294037103653, 0.05079721286892891, -0.0005228483350947499, 0.010653192177414894, 0.013913552276790142, -0.04210291802883148, -0.007506878115236759, -0.012337041087448597, -0.0027572179678827524, -0.01677139848470688, -0.03550169616937637, -0.005631835665553808, 0.013926969841122627, -0.0035588908940553665, -0.052434101700782776, -0.013182319700717926, -0.0019538679625838995, 0.009573114104568958, 0.007325747050344944, -0.041485730558633804, -0.008929092437028885, -0.01189427636563778, 0.018327783793210983, 0.024969259276986122, -0.005578167270869017, 0.017804516479372978, -0.008338739164173603, -0.018998639658093452, -0.06660258024930954, -0.010579398833215237, 0.011760104447603226, 0.002653235336765647, 0.015845617279410362, 0.06429483741521835, 0.008976052515208721, -0.043283626437187195, 0.014557573944330215, 0.010277513414621353, 0.001709844102151692, 0.0034414909314364195, -0.006745456717908382, 0.02307744510471821, 0.0030322689563035965, -0.011827190406620502, 0.029544496908783913, -0.02105145901441574, 0.03933899477124214, 0.01784476824104786, -0.05538586899638176, -0.03794361278414726, -0.0011211680248379707, 0.07298912853002548, 0.012565132230520248, 0.04073437303304672, 0.04000984877347946, -0.005651961546391249, -0.023372622206807137, 0.004987813998013735, 0.007365998346358538, -0.005719047039747238, -0.03531385585665703, 0.01210224162787199, 0.04210291802883148, -0.01754959113895893, 0.001806279644370079, -0.04551086947321892, 0.006577742751687765, 0.0242313165217638, -0.07712160050868988, -0.03464300185441971, 0.00046708344598300755, -0.056566573679447174, -0.060806382447481155, -0.06161141023039818, -0.019870752468705177, 0.027438009157776833, -0.014946670271456242, -0.028980977833271027, 0.02099779061973095, 0.04035869240760803, 0.026109714061021805, -0.04526935890316963, -0.06477785110473633, -0.031744904816150665, 0.023560460656881332, -0.007533712312579155, -0.00533330487087369, 0.02983967214822769, -0.010223845019936562, -0.005108567886054516, 0.04129789397120476, 0.02243342250585556, -0.022513926029205322, -0.044974181801080704, -0.03340862691402435, 0.018864469602704048, 0.06740760803222656, -0.04159306734800339, 0.024781418964266777, 0.02315794676542282, 0.004967688117176294, 0.0005974810919724405, 0.024982675909996033, -0.034481994807720184, -0.05055570602416992, -0.007983186282217503, -0.030671535059809685, 0.0004519892099779099, 0.007231827359646559, 0.0350186824798584, 0.010921535082161427, 0.0419955812394619, 0.01752275787293911, 0.0016612070612609386, -0.01224982924759388, -0.013625084422528744, 0.028658965602517128, -0.042881112545728683, 0.015188178978860378, 0.018448539078235626, -0.0039010273758322, -0.018005773425102234, 0.0328182727098465, -0.01678481511771679, -0.003706479212269187, 0.011364299803972244, -0.022674931213259697, 0.05533219873905182, 0.06687092036008835, 0.019360903650522232, -0.08431317657232285, 0.01607370935380459, -0.04443749785423279, 0.014275814406573772, 0.026928158476948738, 0.010418392717838287, 0.047442931681871414, 0.009023012593388557, 0.013101817108690739, 0.015550441108644009, -0.031718067824840546, 0.025680365040898323, 0.005340013187378645, -0.02381538599729538, -0.002297681523486972, 0.04806011915206909, -0.0051890709437429905, 0.01827411539852619, 0.044383831322193146, -0.013276238925755024, 0.015349184162914753, -0.014248980209231377, -0.007164741400629282, 0.04041236266493797, 0.017710596323013306, -0.004508152138441801, -0.019186479970812798, 0.019119394943118095, 0.008701001293957233, -0.0032586827874183655, 0.04215658828616142, 0.015966372564435005, -0.043659307062625885, -0.005856572650372982, -0.05876697972416878, -0.010565981268882751, -0.02523760125041008, 0.028256453573703766, 0.016878735274076462, 0.04736243188381195, 0.003887610277161002, -0.013712295331060886, 0.019830502569675446, -0.014262397773563862, 0.027585595846176147, -0.005071671213954687, -0.03861446678638458, -0.05678124725818634, 0.004504797514528036, 0.006681725382804871, 0.03126188740134239, -0.030430026352405548, 0.015698028728365898, -0.047872282564640045, -0.013631792739033699, -0.045108355581760406, 0.01106241438537836, 0.012048573233187199, -0.010411684401333332, 0.040519699454307556, 0.026834238320589066 ], "result": "--- 结果 1 (相似度: 1.000) ---\n文件路径: C:\\Steam\\steamapps\\common\\RimWorld\\Data\\dll1.6\\Verse\\MapGeneratorDef.txt\n\npublic class MapGeneratorDef : Def\n{\n\tpublic bool isUnderground;\n\n\tpublic bool forceCaves;\n\n\tpublic List genSteps;\n\n\tpublic PocketMapProperties pocketMapProperties;\n\n\tpublic List customMapComponents = new List();\n\n\tpublic bool ignoreAreaRevealedLetter;\n\n\tpublic RoofDef roofDef;\n\n\tpublic bool disableShadows;\n\n\tpublic bool disableCallAid;\n\n\tpublic bool disableMapClippers;\n\n\tpublic bool renderWorld;\n\n\tpublic bool defeatRequiresCantReachUnfogged = true;\n\n\tpublic TerrainDef defaultUnderGridTerrain;\n\n\tpublic bool validScenarioMap;\n}\n\n", "timestamp": "2025-08-25 18:50:15,860" }, "GenStepDef": { "keywords": [ "GenStepDef" ], "question": "GenStepDef", "embedding": [ -0.0476333312690258, 0.013148783706128597, 0.0033006062731146812, -0.039855364710092545, -0.038809362798929214, -0.01437582541257143, -0.00036710654967464507, 0.05125410854816437, 0.0380852073431015, 0.13431741297245026, -0.03384755924344063, -0.0016092341393232346, -0.03964080289006233, -0.006933117285370827, -0.04047223925590515, 0.019954504445195198, 0.011271344497799873, -0.08330468833446503, 0.03824613243341446, -0.006048038136214018, 0.02553318254649639, -0.01653488166630268, -0.07354199886322021, 0.08791782706975937, -0.001840561511926353, -0.0010770134394988418, 0.028590727597475052, 0.007992529310286045, 0.03277473524212837, -0.04181326925754547, -0.014174670912325382, -0.04280562698841095, 0.0375756174325943, -0.018814628943800926, -0.03953351825475693, 0.03883618488907814, 0.011264638975262642, 0.02837616205215454, -0.008569171652197838, -0.01636054739356041, -0.025922080501914024, -0.0009286621934734285, 0.011506023816764355, -0.0028211886528879404, -0.040445417165756226, 0.03505448251962662, 0.014013747684657574, -0.05696688964962959, -0.03172873333096504, -0.019029194489121437, -0.014590390026569366, -0.011103715747594833, 0.03143370896577835, -0.00251107569783926, 0.002046744804829359, 0.02800067514181137, -0.004354990087449551, -0.027021722868084908, 0.03602002561092377, -0.0034531482961028814, 0.033337969332933426, 0.042027831077575684, 0.008857493288815022, -0.028402982279658318, 0.05211236700415611, -0.02468833327293396, 0.09135086089372635, -0.010869035497307777, -0.0028530380222946405, -0.04248378053307533, -0.05468714237213135, 0.0005510788760147989, -0.02452741004526615, -0.018090473487973213, -0.01941809244453907, -0.012015614658594131, -0.06066812947392464, -0.08201730251312256, -0.05264877900481224, -0.004257765598595142, -0.008951365016400814, -0.021697839722037315, -0.01744678057730198, -0.025171104818582535, 0.06506670266389847, 0.028939394280314445, -0.0024406719021499157, -0.054338473826646805, -0.01640077866613865, 0.10594125092029572, 0.023038869723677635, 0.00780478585511446, 0.03226514533162117, -0.012585552409291267, 0.07579492777585983, 0.0053372932597994804, -0.06163366883993149, 0.0029150606133043766, -0.020571377128362656, -0.014912236481904984, -0.017473600804805756, -0.10331283509731293, 0.003102804534137249, 0.05610863119363785, -0.01021193154156208, -7.6428143074736e-05, -0.042537420988082886, 0.000640341080725193, -0.02167101949453354, 0.008803851902484894, -0.054794423282146454, -0.04296655207872391, 0.00857587717473507, 0.013229245319962502, 0.012062551453709602, -0.010942792519927025, -0.0076170414686203, 0.0004513399035204202, 0.000298588362056762, 0.03390119969844818, 0.013591323047876358, 0.05326564982533455, -0.062331002205610275, -0.033579353243112564, 0.017929550260305405, -0.004908164031803608, -0.00251107569783926, 0.03218468278646469, -0.03942623734474182, -0.023535048589110374, -0.02435307763516903, -0.04267152398824692, 0.0027759289368987083, 0.00528365233913064, 0.004525971133261919, -0.0547407828271389, -0.0016838288865983486, 0.019820401445031166, -0.05415073037147522, -0.010493547655642033, -0.06227736175060272, -0.012350872159004211, -0.002625063294544816, 0.0060614487156271935, 0.04221557453274727, 0.011405447497963905, -0.003193323966115713, -0.042537420988082886, -0.013732131570577621, 0.0244737695902586, 0.00385545683093369, 0.0010677939280867577, -0.02581479772925377, 0.023172972723841667, 0.011371921747922897, -0.015944829210639, -0.0029284709598869085, -0.02104073576629162, -0.012820231728255749, -0.01512680109590292, 0.008763620629906654, -0.03231878578662872, -0.012558731250464916, -0.006004455033689737, 0.00657103955745697, -0.00807299092411995, -0.05369478091597557, -0.008488710038363934, -0.03009267896413803, 0.04707009717822075, -0.019699707627296448, -0.0028312462382018566, 0.020115427672863007, 0.01728585734963417, 0.027424031868577003, -0.013852824456989765, -0.0002679961617104709, 0.020826172083616257, -0.027464263141155243, -0.009259801357984543, 0.04189372807741165, -0.005555210635066032, -0.031111860647797585, -0.00960176344960928, -0.0028295700903981924, -0.001280682161450386, -0.043127477169036865, 0.06265284866094589, 0.025975720956921577, -0.0036844757851213217, 0.014778133481740952, 0.047981999814510345, 0.018465962260961533, 0.02800067514181137, -0.07853062450885773, -0.004589669872075319, 0.00617208331823349, -0.016923779621720314, 0.008186979219317436, 0.012464859522879124, 0.014067388139665127, -0.011016548611223698, -0.005934050772339106, 0.05146867409348488, 0.0779942125082016, -0.021282121539115906, 0.027316749095916748, -0.05932709947228432, 0.029180780053138733, -0.0007660625269636512, 0.02837616205215454, 0.005166312213987112, -0.03518858551979065, -0.02535884827375412, 0.0035939563531428576, 0.03355253115296364, -0.002355181146413088, -0.02448718063533306, 0.015046339482069016, 0.041571881622076035, 0.007067219819873571, 0.05361431837081909, 0.003262051846832037, 0.013986926525831223, -0.012042435817420483, 0.008180273696780205, 0.04766015335917473, -0.015850955620408058, 0.025332028046250343, 0.0015975001733750105, 0.01975334994494915, 0.013007976114749908, -0.03427668660879135, 0.025130873546004295, 0.002522809896618128, -0.008146747946739197, -0.03854115679860115, -0.06485213339328766, -0.04535358399152756, 0.01357791293412447, 0.01787590980529785, 0.03540315106511116, 1.9342764062457718e-05, 0.021201660856604576, -0.013303002342581749, -0.03309658169746399, -0.053292471915483475, -0.06361839175224304, 0.03982854634523392, 0.033123403787612915, 0.011210997588932514, -0.02167101949453354, 0.001959577901288867, 0.010386265814304352, 0.02875165082514286, 0.005783185362815857, -0.023467998951673508, 0.0404185988008976, -0.00528365233913064, -0.0008578391280025244, -0.025600234046578407, 0.0013728778576478362, -0.025627054274082184, 0.013732131570577621, -0.012397808022797108, -0.0008129985071718693, 0.0026887620333582163, 0.00611844239756465, -0.07343471795320511, -0.04760650917887688, -0.0259489007294178, 0.05181733891367912, 0.028402982279658318, -0.03725377097725868, -0.026726696640253067, 0.030602268874645233, 0.02146986499428749, -0.021241890266537666, -4.447395258466713e-05, -0.03556407615542412, 0.027209468185901642, -0.0027390506584197283, 0.007771260105073452, -0.04698963835835457, -0.004901458974927664, 0.03457171469926834, 0.06538854539394379, 0.051790520548820496, 0.0380852073431015, 0.04999354109168053, 0.03972126170992851, 0.029100317507982254, 0.02050432562828064, -0.02737039141356945, -0.031192321330308914, -0.03017313964664936, 0.05294380336999893, 0.01117076724767685, -0.01649465039372444, -0.006272660568356514, -0.006520750932395458, 0.007684092968702316, -0.00065919931512326, 0.04379798844456673, 0.032238323241472244, 0.012116191908717155, 0.005659140180796385, -0.10894515365362167, -0.028993034735322, -0.06200915575027466, 0.004499150440096855, -0.007221438456326723, 0.04398573189973831, -0.015260904096066952, 0.0389971062541008, -0.027008313685655594, -0.04615819826722145, 0.004006322473287582, 0.025600234046578407, 0.02038363181054592, -0.08899065107107162, -0.0400162898004055, -0.041705984622240067, 0.013269476592540741, 0.031889658421278, -0.057932429015636444, 0.036475975066423416, -0.022194020450115204, -0.028510265052318573, 0.0023149503394961357, -0.02845662459731102, -0.002041715895757079, 0.023213202133774757, 0.06919706612825394, -0.007918773218989372, 0.019739938899874687, 0.017460189759731293, 0.02531861700117588, -0.06050720438361168, -0.009467661380767822, 0.008857493288815022, 0.05766422301530838, 0.005380876827985048, -0.006470462307333946, 0.003127948846668005, 0.047847896814346313, -0.018063653260469437, 0.04757969081401825, -0.0006587802199646831, 0.0013879644684493542, -0.007254964206367731, -0.009856559336185455, -0.0040800790302455425, 0.0552503727376461, -0.004254412837326527, -0.029073497280478477, -0.0028597430791705847, -0.018130704760551453, -0.0476333312690258, 0.009031826630234718, -0.01286716852337122, 0.004411983769387007, -0.021778302267193794, 0.018519602715969086, 0.020973684266209602, -0.041330497711896896, -0.011961974203586578, 0.0035973088815808296, -0.024554230272769928, 0.030199961736798286, 0.005112670827656984, -0.034920379519462585, -0.01176081970334053, 0.03100457787513733, -0.06624680757522583, 0.04934984818100929, 0.009722456336021423, -0.016467830166220665, -0.05018128454685211, 0.0027289928402751684, 0.010413086041808128, 0.0471237413585186, 0.0017818915657699108, 0.012210064567625523, 0.024876078590750694, 0.01878780871629715, 0.051790520548820496, 0.10068441927433014, -0.035134945064783096, 0.001983045833185315, 0.03610048443078995, 0.025506360456347466, 0.024218974635004997, -0.0014206520281732082, 0.07960344851016998, 0.018559833988547325, -0.017714986577630043, -0.007462823297828436, 0.014000337570905685, -0.02644508145749569, 0.016722625121474266, -0.006420173682272434, -0.02934170328080654, -0.03945305570960045, -0.009762687608599663, -0.041786447167396545, -0.0022914824075996876, 0.015006108209490776, 0.023213202133774757, -0.025224745273590088, -0.04779425263404846, -0.022247662767767906, 0.0931210145354271, -0.01240451354533434, -0.023280253633856773, -0.0064671095460653305, -0.01979357935488224, -0.011935153044760227, -0.006457052193582058, 0.00931344274431467, -0.02640485018491745, 0.017084702849388123, -0.054794423282146454, 0.029100317507982254, -0.022703612223267555, 0.04299337416887283, 0.031058218330144882, -0.01408079918473959, -0.039265312254428864, 0.023655742406845093, -0.03146052733063698, -0.006262602750211954, -0.09510573744773865, 0.01493905670940876, -0.009259801357984543, -0.0214296355843544, 0.008937954902648926, -0.006309539079666138, -0.025130873546004295, -0.008515531197190285, -0.029556266963481903, 0.010245457291603088, 0.0404185988008976, -0.03129960596561432, 0.01422831229865551, 0.009219571016728878, 0.034383971244096756, 0.0152340829372406, 0.010989728383719921, 0.03339160978794098, -0.016038700938224792, -0.004646663554012775, -0.019391272217035294, 0.029824472963809967, -0.0046533686108887196, -0.003322398057207465, 0.008193683810532093, -0.008589287288486958, 0.03720013052225113, -0.03784382343292236, 0.01996791362762451, 0.0676414743065834, -0.0173663180321455, 0.07665318995714188, -0.011988794431090355, 0.01452333852648735, 0.0017031060997396708, -0.023079099133610725, -0.005736249033361673, -0.037146490067243576, 0.0030726315453648567, 0.02665964514017105, 0.010540483519434929, -0.015207262709736824, -0.01086233090609312, -0.039479877799749374, 0.025211334228515625, 0.028563905507326126, 0.01925716921687126, -0.04562178999185562, -0.026847390457987785, -0.011412152089178562, -0.0052031902596354485, -0.026471901684999466, -0.05519673228263855, -0.03516176715493202, -0.030414525419473648, -0.0194985531270504, 0.00929332710802555, -0.030360884964466095, -0.025466131046414375, -0.04189372807741165, -0.027263108640909195, -0.0036878283135592937, -0.010600830428302288, -0.03481309860944748, -0.011821165680885315, -0.03779018297791481, 0.003020666539669037, -0.04079408571124077, -0.002682056976482272, 0.015193852595984936, -0.027102185413241386, 0.0006395029486157, -0.05152231454849243, 0.0008766973624005914, 0.015515699051320553, 0.005464691203087568, -0.009159224107861519, -0.0011717235902324319, 0.0016151011222973466, -0.03135324642062187, 0.06463757157325745, -0.02623051591217518, -0.02263656072318554, -0.010594124905765057, 0.004100194666534662, 0.01586436666548252, -0.024044640362262726, -0.004934984724968672, -0.01774180680513382, -0.04653368890285492, 0.0008440098026767373, 0.04347614198923111, -0.09247732162475586, 0.043663885444402695, -0.009541417472064495, -0.0011742380447685719, 0.08110540360212326, -0.015502288937568665, -0.013879644684493542, 0.018881680443882942, 0.010781869292259216, -0.005310472566634417, 0.0013586294371634722, 0.002529514953494072, -0.0019897508900612593, -0.008213799446821213, 0.023709382861852646, 0.07407841086387634, 0.024031229317188263, -0.0013007975649088621, -0.0007610336760990322, 0.014416055753827095, 0.008790441788733006, 0.05002036318182945, 0.016749445348978043, -0.05447257682681084, 0.016588522121310234, -0.025546591728925705, 0.018318448215723038, 0.026391441002488136, 0.01483177486807108, -0.030226781964302063, 0.0244737695902586, -0.020893223583698273, 0.016038700938224792, 0.03677099943161011, 0.01886827126145363, 0.03905075043439865, 0.008669748902320862, -0.009735866449773312, 0.02644508145749569, -0.027303339913487434, 0.014107619412243366, 0.015287724323570728, -0.08593310415744781, -0.04226921871304512, 0.016186213120818138, -0.009494481608271599, -0.06104361638426781, 0.019739938899874687, -0.02210014872252941, 0.030950937420129776, -0.01086233090609312, -0.008166863583028316, -0.001845590420998633, -0.04489763453602791, 0.057986069470644, 0.00420747697353363, -0.044253937900066376, -0.0015170384431257844, -0.009990662336349487, -0.018975552171468735, -0.02794703282415867, -0.008542351424694061, 0.008770326152443886, 0.007945593446493149, -0.00362412934191525, 0.01483177486807108, 0.0538288839161396, 0.05213918536901474, 0.0023300370667129755, -0.013866234570741653, 0.011626716703176498, 0.04562178999185562, -0.0005988530465401709, 0.01967288739979267, -0.02188558503985405, 0.03811202943325043, -0.027209468185901642, -0.05058359354734421, -0.028483444824814796, 0.006346417125314474, 0.021349173039197922, -0.0016528175910934806, -0.011881512589752674, 0.017768627032637596, 0.008482005447149277, -0.02737039141356945, 0.03553725406527519, 0.04846476763486862, -0.010708112269639969, -0.00016113294987007976, -0.014121029525995255, -0.01795637048780918, -0.005390934646129608, 0.04578271135687828, -0.019404681399464607, -0.06549583375453949, -0.07284466922283173, -0.015931418165564537, 0.022234251722693443, -0.03838023543357849, -0.008971480652689934, 0.016803085803985596, -0.007429297547787428, 0.011264638975262642, -0.05884432792663574, -0.042832449078559875, -0.061204537749290466, 0.027759289368987083, -0.03336478769779205, 0.03687828406691551, 0.02518451400101185, 0.003905745455995202, -0.06501305848360062, -0.04146460071206093, 0.0072750793769955635, 0.04334203898906708, 0.022649969905614853, 0.0034464432392269373, -0.001885821227915585, -0.029851293191313744, -0.008696569129824638, 0.01762111485004425, -0.02104073576629162, 0.007422592490911484, -0.02703513391315937, -0.01803683303296566, 0.009400609880685806, 0.03966762125492096, 0.015703443437814713, 0.0485452301800251, -0.032238323241472244, -0.03846069797873497, -0.059917151927948, -0.011043369770050049, 0.018881680443882942, -0.038648441433906555, -0.0010392970871180296, 0.02247563749551773, -0.0049718632362782955, 0.05841520056128502, -0.003272109432145953, 0.08325104415416718, 0.013054911978542805, 0.03159463033080101, -0.014603800140321255, -0.008696569129824638, -0.06683685630559921, -0.015529109165072441, 0.01508656982332468, 0.026431670412421227, -0.009065352380275726, 0.04489763453602791, 0.027397211641073227, -0.015247493982315063, 0.05154913291335106, 0.011975384317338467, -0.03481309860944748, -0.008026055060327053, -0.061365462839603424, 0.01041979156434536, -0.022194020450115204, 0.01762111485004425, 0.009755982086062431, 0.014576978981494904, 0.00126308121252805, -0.007295195013284683, 0.045970454812049866, -0.06892886012792587, 0.023923948407173157, -0.029448984190821648, -0.03612730652093887, 0.01870734617114067, -0.01837209053337574, -0.007610336411744356, 0.033498890697956085, 0.057556942105293274, -0.02979765273630619, 0.003188295057043433, -0.019525375217199326, 0.014389235526323318, -0.015287724323570728, 0.025747746229171753, -0.015006108209490776, -0.005471396259963512, 0.008622813038527966, 0.023749614134430885, 0.037226948887109756, 0.022529277950525284, -0.055304013192653656, 0.0010795278940349817, 0.006312891375273466, 0.058146994560956955, 0.007221438456326723, 0.033498890697956085, -0.041357316076755524, -0.031406886875629425, -0.0029787595849484205, 0.0010736609110608697, -0.013095143251121044, 0.016119161620736122, -0.07670682668685913, 0.025305207818746567, 0.05125410854816437, -0.035295870155096054, 0.04527312144637108, 0.017983192577958107, -0.04833066463470459, -0.022408585995435715, 0.024031229317188263, -0.007402477320283651, -0.01508656982332468, -0.020034965127706528, -0.0722009688615799, -0.01770157553255558, -0.010299098677933216, -0.006058095954358578, -0.009762687608599663, -0.011975384317338467, 0.00658109737560153, 0.009722456336021423, 0.04564860835671425, -0.02138940431177616, -0.046506866812705994, -0.011251228861510754, 0.05685960501432419, -0.06254556775093079, 0.028805291280150414, 0.011961974203586578, -0.026606004685163498, -0.03449125215411186, -0.05932709947228432, 0.009031826630234718, 0.037521976977586746, 0.028644368052482605, -0.008448479697108269, 0.010600830428302288, 0.010701406747102737, -0.03194329887628555, 0.010406380519270897, 0.015354775823652744, 0.012572142295539379, 0.013960106298327446, -0.011888217180967331, -0.04020403325557709, -0.022690201178193092, -0.04741876572370529, -0.06474485248327255, 0.0004243097791913897, 0.003774995217099786, 0.023360716179013252, -0.0006667425623163581, -0.023843485862016678, 0.0194985531270504, 0.006333007011562586, -0.0580933541059494, -0.045675430446863174, 0.027383800595998764, -0.04361024498939514, -0.07016260921955109, 0.019351040944457054, 0.016038700938224792, 0.030521808192133904, 0.010493547655642033, 0.008274145424365997, -0.0019897508900612593, -0.004472329746931791, -0.027061954140663147, -0.01682990789413452, 0.06522762775421143, 0.04615819826722145, 0.005649082362651825, -0.0533192902803421, 0.00642352644354105, -0.031031398102641106, 0.04302019253373146, 0.0457022488117218, 0.019860630854964256, -0.05342657491564751, -0.045755889266729355, -0.034732636064291, 0.026056183502078056, 0.006547571625560522, -0.02113460935652256, 0.021992865949869156, -0.03414258360862732, 0.005980987101793289, -0.004606432747095823, 0.019283989444375038, 0.05916617438197136, 0.02415192313492298, 0.030441345646977425, 0.046131379902362823, -0.034839920699596405, -0.007925477810204029, -0.014657441526651382, 0.02745085209608078, 0.0290466770529747, 0.05712781101465225, -0.011995499953627586, 0.018278218805789948, 0.016052110120654106, -0.010386265814304352, -0.0072080278769135475, -0.011713883839547634, 0.023655742406845093, 0.012793411500751972, -0.003805168205872178, -0.018814628943800926, 0.047311484813690186, 0.02008860558271408, 0.0418400876224041, -0.00887090340256691, -0.0034833215177059174, 0.008931249380111694, -0.02762518636882305, 0.0048209973610937595, -0.025895260274410248, 0.03720013052225113, 0.01098302286118269, -0.029931755736470222, -0.005213248077780008, 0.01389305479824543, 0.010319214314222336, -0.02958308719098568, -0.030736371874809265, 0.005055677145719528, 0.04023085534572601, 0.0041638934053480625, -0.01207596156746149, -0.00897818524390459, 0.003132977755740285, 0.03770972043275833, -0.0214296355843544, -0.0008909457828849554, 0.03827295079827309, -0.019941093400120735, -0.020155657082796097, -0.06790968030691147, 0.017607703804969788, 0.03325750678777695, 0.013644964434206486, 0.04556814581155777, 0.013054911978542805, -0.009823033586144447, -0.004908164031803608, 0.0026518837548792362, 0.006051390897482634, 0.06796332448720932, 0.0017936255317181349, 0.04969851300120354, -0.0009915229165926576, 0.021992865949869156, 0.009132403880357742, -0.002611652947962284, -0.040311314165592194, 0.008488710038363934, 0.03009267896413803, -0.026847390457987785, -0.021858764812350273, 0.0034162700176239014, 0.06817788630723953, 0.0485452301800251, 0.016709214076399803, 0.013718721456825733, -0.03827295079827309, -0.02628415822982788, -0.0045293234288692474, 0.02117483876645565, -0.006678321864455938, 0.0055283899419009686, 0.0101046497002244, 0.008421658538281918, -0.005434517748653889, 0.016387367621064186, -0.05498216673731804, -0.00976939219981432, 0.03921167179942131, -0.04208147153258324, -0.01019181590527296, 0.02109437808394432, -0.03639551252126694, -0.032533351331949234, -0.026833979412913322, -0.017057882621884346, -0.018090473487973213, -0.00746952835470438, -0.008374722674489021, 0.010634355247020721, 0.0269144419580698, 0.02146986499428749, -0.016601933166384697, -0.05648411810398102, 0.021536916494369507, 0.06238464266061783, 0.02632438950240612, -0.016896959394216537, 0.028322521597146988, 0.01762111485004425, 0.016186213120818138, 0.028483444824814796, 0.02494313009083271, 0.03931895270943642, -0.00504226703196764, 0.021443044766783714, 0.0101046497002244, 0.04698963835835457, -0.009152519516646862, 0.041705984622240067, 0.006259250454604626, 0.016964010894298553, 0.031487349420785904, 0.023669151589274406, -0.02749108336865902, -0.0547407828271389, -0.020236119627952576, 0.009206159971654415, 0.0034330328926444054, 0.02092004381120205, 0.0014617210254073143, 0.014979287981987, 0.04436122253537178, 0.012290526181459427, 0.01586436666548252, 0.01301468163728714, 0.005685960873961449, 0.017004240304231644, -0.04618502035737038, 0.030655911192297935, 0.00120022043120116, -0.018010012805461884, -0.03497402369976044, 0.022998638451099396, 0.01937786117196083, -0.014563568867743015, -0.013537682592868805, -0.03650279343128204, 0.054928526282310486, 0.022247662767767906, 0.020611606538295746, -0.08244642615318298, 0.018050242215394974, -0.017004240304231644, -0.02092004381120205, 0.014483107253909111, 0.006400058511644602, 0.008468594402074814, -0.015877777710556984, 0.016038700938224792, 0.01025216281414032, -0.014469697140157223, -0.045594967901706696, 0.037682898342609406, -0.020397042855620384, -0.05417754873633385, 0.01681649684906006, -0.015207262709736824, 0.008052876219153404, 0.04969851300120354, 0.007610336411744356, 0.018841449171304703, -0.013986926525831223, 0.02297181822359562, 0.043502964079380035, 0.027678826823830605, 0.026297567412257195, 0.025050411000847816, 0.009279916994273663, 0.01904260367155075, -0.014268542639911175, -0.008931249380111694, 0.01892191171646118, -0.018841449171304703, 0.033793918788433075, -0.02762518636882305, 0.03682463988661766, -0.03832659497857094, -0.0006763812270946801, -0.02012883685529232, 0.025305207818746567, -0.014751313254237175, -0.0008021026733331382, 0.01129816472530365, -0.054553039371967316, 0.016548290848731995, 0.00015044663450680673, -0.019686298444867134, -0.00822050403803587, 0.01623985543847084, -0.027517903596162796, 0.03695874288678169, 0.007945593446493149, -0.03821931034326553, -0.010781869292259216, 0.0023568575270473957, 0.0280811358243227, 0.008904429152607918, -0.02682056836783886, -0.024084871634840965, -0.002950262511149049, -0.01715175434947014 ], "result": "--- 结果 1 (相似度: 1.000) ---\n文件路径: C:\\Steam\\steamapps\\common\\RimWorld\\Data\\dll1.6\\Verse\\GenStepDef.txt\n\npublic class GenStepDef : Def\n{\n\tpublic SitePartDef linkWithSite;\n\n\tpublic float order;\n\n\tpublic GenStep genStep;\n\n\tpublic List preventsGenSteps;\n\n\tpublic override void PostLoad()\n\t{\n\t\tbase.PostLoad();\n\t\tgenStep.def = this;\n\t}\n}\n\n", "timestamp": "2025-08-25 18:50:24,032" }, "HediffDef-damage-deflect": { "keywords": [ "HediffDef", "damage", "deflect" ], "question": "RimWorld HediffDef damage reduction deflect", "embedding": [ 0.03841423615813255, 0.027570577338337898, 0.04054836183786392, 0.0031218777876347303, -0.022581342607736588, -0.03524189069867134, -0.007822719402611256, -0.03775092959403992, 0.035991717129945755, 0.08253869414329529, 0.0021827910095453262, -0.05052683502435684, -0.017087412998080254, -0.03206954151391983, 0.06223567947745323, -0.019005240872502327, -0.008421138860285282, -0.11639629304409027, 0.03847191482782364, -0.010735509917140007, -0.023835860192775726, -0.00306780356913805, -0.0034481247421354055, -0.006045483518391848, -0.010007312521338463, 0.016222229227423668, -0.004513384308665991, 0.005028890911489725, 0.01301383227109909, 0.015515659935772419, -0.007058471906930208, -0.021456601098179817, 0.006986373104155064, 0.004289878066629171, -0.06056298688054085, 0.0728486180305481, -0.028940455988049507, 0.011341139674186707, -0.006427607499063015, 0.022869737818837166, 0.006780891213566065, -0.0122712142765522, 0.01802469789981842, -0.026777490973472595, -0.05326658859848976, 0.01777956262230873, 0.029877739027142525, -0.06684999912977219, -0.03991389274597168, 0.0358186811208725, 0.03535724803805351, -0.012076547369360924, -0.033742234110832214, -0.00885373167693615, -0.008240891620516777, -0.010101040825247765, -0.011759312823414803, -0.009351213462650776, 0.007249533664435148, 0.0033345690462738276, -0.0056633600033819675, 0.003936593886464834, -0.04060604050755501, -0.03434786573052406, 0.002819062676280737, -0.04925789684057236, -0.09880418330430984, -0.024484749883413315, 0.06823429465293884, -0.01527052465826273, -0.02100958861410618, 0.00031700936960987747, 0.04354767128825188, -0.03033917210996151, -0.018846623599529266, 0.031925346702337265, -0.03757788985967636, 0.01134834997355938, -0.026330478489398956, 0.003132692538201809, -0.01196839939802885, 0.005378569941967726, -0.04429749771952629, -0.02465778775513172, 0.03962549567222595, -0.0002681173791643232, -0.02656119503080845, -0.0039005447179079056, -0.012501930817961693, 0.0651773065328598, -0.004837829153984785, 0.033251963555812836, 0.017693042755126953, -0.017967019230127335, 0.010007312521338463, 0.03022381290793419, -0.0025631121825426817, 0.0796547457575798, 0.01165116485208273, 0.006380743347108364, -0.03685690090060234, 0.025176897644996643, -0.02845018357038498, 0.05987083911895752, -0.023907959461212158, 0.02467220649123192, 0.008702324703335762, 0.014059264212846756, -0.015659857541322708, -0.017000894993543625, -0.02173057571053505, 0.014549536630511284, -0.018774526193737984, 0.0684073343873024, 0.013633881695568562, -0.003907754551619291, 0.012437041848897934, 1.202585372084286e-05, -0.010951806791126728, 0.012062127701938152, 0.056064020842313766, 0.01422509178519249, -0.06806126236915588, -0.03717413917183876, 0.04100979492068291, -0.01966855116188526, 0.048017796128988266, 0.05113246291875839, -0.014261141419410706, 0.008291360922157764, 0.005007260944694281, -0.01356178242713213, 0.01597709208726883, 0.02579694800078869, -0.02040395885705948, 0.015184005722403526, 0.0333961620926857, 0.01883220486342907, -0.07919331640005112, 0.0024964206386357546, -0.040663719177246094, -0.026662133634090424, 0.01955319195985794, 0.009646818041801453, 0.14212113618850708, -0.04227873310446739, -0.03270401060581207, 0.030800603330135345, -0.061658889055252075, -0.0011103213764727116, 0.02708030678331852, -0.0025739269331097603, -0.008659064769744873, 0.061543527990579605, -0.02007230371236801, 0.0013770869700238109, 0.023590724915266037, -0.01150696724653244, -0.023677242919802666, 0.010418275371193886, -0.00832741055637598, -0.026143021881580353, -0.031492751091718674, -0.0005844508414156735, 0.024874083697795868, -0.04259596765041351, -0.026258381083607674, 0.0018673586891964078, -0.00046999400365166366, -0.026734232902526855, -0.019106179475784302, -0.02973354235291481, -0.057967428117990494, -0.03328080102801323, -0.035386085510253906, 0.006366323214024305, -0.0097549669444561, 0.04100979492068291, 0.024326132610440254, 0.02550855278968811, -0.006827755831182003, 0.00030011121998541057, -0.0007683027652092278, -0.004419656004756689, 0.024109836667776108, -0.04262480512261391, 0.0017366796964779496, 0.05364150181412697, -0.006845780182629824, 0.008147163316607475, -0.01609245128929615, 0.06904180347919464, -0.002790223341435194, -0.019221538677811623, -0.004491754807531834, -0.02429729327559471, -0.00670879241079092, 0.034780457615852356, -0.0519111305475235, -0.024643367156386375, 0.004152890294790268, -0.051565054804086685, -0.0007182842236943543, 0.010937387123703957, 0.06500427424907684, 0.012905684299767017, -0.00688182981684804, 0.01640968583524227, 0.00947378110140562, 0.011925140395760536, 0.03247329592704773, -0.013453634455800056, 0.023360008373856544, -0.025450874119997025, 0.06713839620351791, 0.02100958861410618, -0.006182471290230751, 0.024484749883413315, 0.00556242186576128, 0.029964258894324303, -0.040461841970682144, 0.04092327505350113, -0.03576100245118141, 0.00394380372017622, 0.025652749463915825, -0.0015771611360833049, 0.02164405770599842, -0.03186766803264618, 0.06212031841278076, 0.019884847104549408, 0.010778769850730896, 0.002885754220187664, -0.06858037412166595, -0.014881190843880177, 0.008067854680120945, -0.013021041639149189, -0.02543645352125168, -0.06488891690969467, 0.0390198677778244, 0.005627310834825039, 0.007364891469478607, 0.004884693305939436, -0.03610707446932793, 0.02438381128013134, 0.0014131363714113832, 0.013424795120954514, -0.0354149267077446, 0.0016564697725698352, -0.005659755319356918, -0.015948252752423286, -0.019654130563139915, -0.022062230855226517, -0.00045872858026996255, -0.02550855278968811, 0.05121898278594017, 0.020793292671442032, 5.664402124239132e-06, -0.03827003762125969, -0.02177383564412594, 0.0075487433932721615, -0.018284253776073456, 0.0321849025785923, -0.026604454964399338, 0.03726065531373024, -0.014837931841611862, -0.019524352625012398, 0.02173057571053505, -0.03668386489152908, -0.015025388449430466, -0.011059954762458801, -0.021946871653199196, 0.03504001349210739, 0.0321849025785923, -0.0024261244107037783, 0.011752103455364704, -0.014837931841611862, 0.05078639090061188, 0.0012545189820230007, -0.0026874823961406946, -0.036712706089019775, 0.0019592847675085068, -0.01806795783340931, 0.009632398374378681, -0.03959665820002556, -0.05081522837281227, 0.03878914937376976, -0.003987063188105822, -0.03157927095890045, -0.011629534885287285, 0.008478817529976368, -0.0035652853548526764, -0.03429018706083298, 0.036395471543073654, 0.06217799708247185, 0.016712499782443047, -0.007476644590497017, 0.041182830929756165, 5.182100721867755e-05, -0.03126203641295433, 0.021384501829743385, -0.018889883533120155, -0.026907268911600113, -0.010151510126888752, 0.028032010421156883, 0.049834683537483215, -0.012739856727421284, -0.03330964222550392, -0.10053455829620361, 0.009783806279301643, -0.11149357259273529, 0.0028569146525114775, -0.0006754755740985274, -0.017159512266516685, 0.009098867885768414, 0.006795311346650124, 0.02519131824374199, -0.02112494595348835, -0.01968296989798546, -0.0030047171749174595, 0.05857305973768234, -0.05214184522628784, -0.011535806581377983, -0.09078679978847504, 0.008990718983113766, -0.01834193244576454, 0.014571165665984154, -8.809570863377303e-05, -0.0025739269331097603, 0.0171018335968256, -0.038010481745004654, -0.000254148239037022, 0.015414722263813019, 0.013814128935337067, 0.08144279569387436, 0.019466673955321312, 0.031608112156391144, 0.005018075928092003, 0.006409582681953907, 0.019769489765167236, -0.006312249228358269, -0.0015708524733781815, -0.03515537083148956, 0.008896990679204464, -0.04112515226006508, 0.0563235767185688, 0.013496894389390945, 0.05975547805428505, 0.03607823699712753, 0.02429729327559471, 0.012840795330703259, 0.017404649406671524, 0.006971953436732292, -0.01640968583524227, -0.013612251728773117, 0.008817682042717934, 0.0050721499137580395, -0.01346084475517273, 0.005778718274086714, -0.03417482599616051, 0.033742234110832214, 0.012321683578193188, 0.013287807814776897, -0.0261574424803257, -0.039856214076280594, 0.01452790666371584, 0.0017402846133336425, 0.028666479513049126, 0.030627567321062088, -0.035270728170871735, 0.06044762581586838, -0.009906373918056488, -0.06402372568845749, 0.030396850779652596, 0.01142765861004591, -0.010620152577757835, 0.061658889055252075, 0.0032967173028737307, -0.007808299269527197, -0.004069976974278688, -0.007440595421940088, -0.009906373918056488, 0.005346125457435846, -0.004109631292521954, -0.036597348749637604, -0.00506854522973299, 0.016885537654161453, 0.057679034769535065, 0.016265487298369408, 0.02945956587791443, -0.018096797168254852, 0.056035179644823074, 0.0062906197272241116, 0.006586224772036076, -0.02128356322646141, 0.028262726962566376, -0.008565336465835571, 0.01482351217418909, 0.006925088819116354, 0.048306189477443695, -0.01557333953678608, 0.0023666429333388805, -0.017159512266516685, -0.08230797946453094, -0.051103625446558, 0.026705393567681313, -0.01822657510638237, 0.015169586054980755, -0.011615115217864513, -0.028305985033512115, 0.020014625042676926, -0.010396646335721016, -0.041182830929756165, 0.04490312933921814, 0.023345589637756348, -0.023807020857930183, -0.004635952413082123, 0.01930805668234825, 0.010454325005412102, 0.0362224318087101, -0.049834683537483215, -0.022884156554937363, 0.0006092347903177142, -0.029142331331968307, -0.01963971182703972, -0.02780129387974739, 0.021153785288333893, -0.016669241711497307, -0.005695804487913847, -0.046893056482076645, 0.013143610209226608, -0.03593403846025467, -0.0011031115427613258, -0.0543336495757103, 0.021831514313817024, 0.01557333953678608, -0.021932452917099, 0.03636663034558296, 0.027830133214592934, -0.007098126225173473, -0.025768108665943146, 0.013064301572740078, -0.007195459678769112, 0.04876762256026268, -0.0061860764399170876, -0.094939686357975, -0.015804056078195572, 0.019048500806093216, 0.02112494595348835, 0.025609491392970085, 0.019610870629549026, -0.04325927421450615, -0.026301639154553413, 0.02245156466960907, 0.040375322103500366, -0.010483164340257645, 0.03042569011449814, 0.017721883952617645, -0.03454974293708801, 0.008341830223798752, -0.008291360922157764, 0.0018691611476242542, -0.01658272184431553, -0.027008207514882088, 0.033338483422994614, -0.0003550865512806922, 0.005075755063444376, -0.02216316945850849, 0.033223122358322144, 0.024254033342003822, -0.028897196054458618, 0.005919310729950666, 0.033453840762376785, -0.007325237151235342, -0.023807020857930183, 0.018284253776073456, -0.044557053595781326, 0.038039322942495346, 0.035501446574926376, 0.01301383227109909, 0.01568869687616825, 0.01685669831931591, 0.032934729009866714, -0.012400992214679718, -0.003922174219042063, -0.11287786811590195, -0.022797638550400734, -0.010656201280653477, -0.0057174344547092915, 0.03065640665590763, 0.004722470883280039, -0.051276661455631256, -0.005987804848700762, 0.027411960065364838, 0.05661197006702423, -0.006539360620081425, 0.04510500282049179, -0.021918032318353653, -0.04640278220176697, -0.021312402561306953, -0.05266095697879791, -0.008421138860285282, 0.028190627694129944, -0.027671515941619873, -0.019264796748757362, 0.008896990679204464, -0.0023540256079286337, 0.014066474512219429, 0.011240202002227306, -0.04726796969771385, -0.007851558737456799, 0.005569631699472666, -0.043432313948869705, 0.01806795783340931, 0.003969038370996714, -0.0498923659324646, 0.020331859588623047, 0.014311610721051693, -0.0032606679014861584, 0.014938869513571262, 0.012429831549525261, -0.01273264642804861, -0.04060604050755501, 0.07780901342630386, -0.021975712850689888, -0.002516247797757387, -0.032444458454847336, 0.0030011122580617666, -0.0022999513894319534, -0.003240840742364526, -0.000930074427742511, -0.025652749463915825, -0.017274871468544006, 0.020288599655032158, -0.005032495595514774, 0.07238718867301941, 0.02386469952762127, 0.017044154927134514, 0.01681343838572502, 0.05407409369945526, 0.029964258894324303, 0.0010787781793624163, 0.02656119503080845, -0.012098177336156368, 0.040779076516628265, 0.02824830636382103, 0.04772939905524254, 0.018803365528583527, -0.03717413917183876, 0.009711707010865211, -0.020173242315649986, 0.015256104059517384, 0.029791221022605896, -0.049950044602155685, -0.03728949651122093, 0.025998825207352638, -0.011658375151455402, 0.04966164752840996, 0.051103625446558, 0.022639021277427673, 0.0127759063616395, 0.015515659935772419, 0.004614322911947966, 0.004982026759535074, -0.0358186811208725, 0.000755685439798981, 0.010115460492670536, -0.08150047808885574, 0.0005132532678544521, -0.03134855628013611, -0.015111906453967094, -0.03636663034558296, -0.008760003373026848, -0.003720297710970044, -0.005465088412165642, 0.01060573197901249, -0.061024416238069534, 0.023403268307447433, -0.0171018335968256, 0.06108209863305092, -0.007094521075487137, -0.027498479932546616, 0.03155042976140976, 0.010728300549089909, -0.003788791596889496, 0.004830619320273399, 0.011254621669650078, 0.010930176824331284, 0.004358372185379267, 0.0049387672916054726, 0.021990131586790085, 0.06015923246741295, 0.035587962716817856, -0.03835655748844147, -0.011016695760190487, -0.022682279348373413, 0.025551812723279, -0.0006804323638789356, 0.04083675518631935, -0.0005700310575775802, 0.04204801470041275, 0.017404649406671524, -0.0587460957467556, -0.014239511452615261, -0.01015871949493885, 0.07855884730815887, -0.002350420691072941, -0.021067267283797264, -0.018918722867965698, 0.03403063118457794, -0.011052744463086128, 0.008536497130990028, 0.007296397816389799, 0.03607823699712753, 0.008868151344358921, 0.011319510638713837, 0.02506154030561447, 0.006312249228358269, 0.014549536630511284, 0.009877534583210945, -0.011168102733790874, -0.05326658859848976, 0.015746375545859337, 0.031204357743263245, -0.02591230534017086, -0.005904891062527895, -0.03310776501893997, -0.0494886115193367, 0.0023918773513287306, 0.01279753539711237, -0.030973641201853752, 0.0038969398010522127, 0.02550855278968811, -0.005245187319815159, 0.019856007769703865, -0.0034427172504365444, 0.002491013379767537, -0.03795280307531357, -0.02961818315088749, -0.019985785707831383, 0.00408439664170146, 0.01241541188210249, 0.020173242315649986, -0.03279053047299385, 0.02100958861410618, 0.023749342188239098, -0.05251676216721535, -0.036481987684965134, -0.0001312423264607787, -0.02820504829287529, 0.0047477055341005325, -0.010209188796579838, 0.01741906814277172, 0.02973354235291481, 0.012912893667817116, -0.019654130563139915, 0.017880501225590706, -0.024210775271058083, -0.0010562472743913531, -0.001159889274276793, 0.008860941976308823, -0.03584751859307289, 0.013287807814776897, 0.03143507242202759, 0.03005077689886093, 0.034866977483034134, 0.009127707220613956, 0.02791665308177471, 0.0006556484149768949, -0.002768593607470393, 0.024441489949822426, -0.05398757755756378, -0.013071510940790176, 0.014239511452615261, 0.024196354672312737, 0.030368011444807053, -0.016222229227423668, -0.020937489345669746, 0.011939560063183308, 0.03763556852936745, 0.018846623599529266, -0.04478776827454567, -0.011672794818878174, 0.0006795311346650124, -0.017130672931671143, -0.03775092959403992, -0.0104615343734622, -0.0048630633391439915, 0.009812645614147186, 0.005951755214482546, 0.0325886532664299, 0.028075270354747772, -0.1082058697938919, 0.022062230855226517, 0.005703014321625233, -0.036308951675891876, 0.0033021247945725918, -0.054622046649456024, 0.005775113124400377, 0.049546290189027786, 0.007952496409416199, 0.11045534908771515, -0.04487428814172745, -0.006907064467668533, 0.0478735975921154, -0.004405236337333918, -0.017793981358408928, 0.04744100570678711, -0.021946871653199196, -0.010995065793395042, -0.05162273719906807, 0.0006799817201681435, 0.007267558481544256, 0.007447805255651474, 0.003484174143522978, -0.0269649475812912, 0.007404545787721872, 0.03388643264770508, -0.01446301769465208, -0.054823920130729675, 0.006899854633957148, -0.002855112077668309, 0.027224503457546234, 0.017375808209180832, 0.020548155531287193, -0.03948129713535309, 0.013900646939873695, -0.060216911137104034, -0.00939447246491909, 0.024960601702332497, 0.055746786296367645, -0.03596287593245506, -0.0225380826741457, 0.011708843521773815, 0.015674278140068054, 0.018615908920764923, 0.018644748255610466, 0.0005263211787678301, 0.0009769386379048228, -0.005666965153068304, -0.04605671018362045, 0.028911616653203964, -0.019899265840649605, 0.06085138022899628, 0.012869634665548801, 0.12216419726610184, -0.0006768273888155818, 0.011478127911686897, 0.0038176311645656824, 0.05491043999791145, 0.014376498758792877, 0.0019971365109086037, -0.01782282069325447, 0.026777490973472595, -0.04914253577589989, -0.028435762971639633, 0.013302227482199669, 0.002938025863841176, 0.022999513894319534, 0.01762094534933567, 0.017433488741517067, -0.026186281815171242, -0.05897681042551994, 0.02310045249760151, 0.007447805255651474, 0.026532355695962906, 0.02096632868051529, -0.019740648567676544, 0.014491857029497623, -0.02824830636382103, -0.028118528425693512, -0.04054836183786392, -0.05877493694424629, -0.018212154507637024, 0.021052846685051918, 0.021427761763334274, 0.029272109270095825, -0.012134226970374584, -0.035703323781490326, -0.047383327037096024, -0.011961190029978752, -0.04051952064037323, -0.037202976644039154, 0.07988546043634415, 0.00030912357033230364, 0.011845831759274006, 0.012811955064535141, 0.036193594336509705, -0.0049387672916054726, 0.015111906453967094, -0.03013729490339756, -0.01701531559228897, 0.008197632618248463, 0.0446724109351635, 0.051276661455631256, 0.01730371080338955, 0.038443077355623245, -0.02269669994711876, 0.05251676216721535, -0.02040395885705948, 0.061139777302742004, -0.04957513138651848, -0.03899102658033371, -0.04896949976682663, -0.042192213237285614, -0.03143507242202759, -0.004581878427416086, -0.011369979940354824, -0.031925346702337265, 0.018529389053583145, -0.023792602121829987, -0.011917930096387863, 0.014448598027229309, 0.051363181322813034, 0.027700355276465416, 0.03728949651122093, 0.03818352147936821, -0.046373944729566574, 0.007555953226983547, 0.04187497869133949, -0.004715261049568653, 0.005075755063444376, -0.009603559039533138, 0.002775803441181779, 0.015602178871631622, -0.006532150786370039, -0.0261574424803257, -0.0321849025785923, -0.0003902347234543413, -0.018889883533120155, -0.042711324989795685, -0.02317255176603794, -0.018615908920764923, -0.03492465615272522, 0.025003861635923386, 0.0337999127805233, -0.01798143796622753, 0.01919269934296608, -0.006124792620539665, -0.01907734014093876, -0.06448516249656677, -0.03230025991797447, -0.00026270997477695346, 0.019120600074529648, -0.015674278140068054, 0.013352696783840656, 0.018760105594992638, -0.012429831549525261, -0.00032174086663872004, -0.010713880881667137, -0.014174622483551502, -0.10762907564640045, 0.052891675382852554, -0.014563956297934055, -0.004412446171045303, 0.05739063769578934, 0.051766932010650635, -0.004614322911947966, 0.050469156354665756, -0.04325927421450615, 0.01939457468688488, -0.012458670884370804, -0.012307263910770416, 0.01023802813142538, 0.018529389053583145, -0.013907857239246368, 0.045479919761419296, 0.03025265410542488, 0.008846521377563477, -0.004491754807531834, -0.02602766454219818, 0.06460051983594894, 0.046979572623968124, 0.038962189108133316, 0.04285552352666855, 0.0011580868158489466, -0.03403063118457794, -0.009207015857100487, -0.004917137790471315, -0.012833585031330585, -0.005710224155336618, -0.03930826112627983, -0.019423414021730423, -0.00036860507680103183, 0.023547464981675148, 0.007274768315255642, -0.021615218371152878, -0.004617927595973015, 0.005050520412623882, -0.028637640178203583, 0.01120415236800909, 0.0490848571062088, -0.023114873096346855, 0.03175230696797371, 0.030194973573088646, 0.03951013833284378, 0.025681590661406517, -0.04591251164674759, -0.007808299269527197, 0.011788152158260345, 0.015631018206477165, 0.026099761947989464, 0.03166579082608223, 0.029704703018069267, -0.025047119706869125, -0.062466394156217575, 0.0072531383484601974, -0.006716002710163593, -0.038241200149059296, 0.016842277720570564, -0.01726045086979866, -0.056265898048877716, -0.013266177847981453, 0.00048216068535111845, 0.004149285610765219, 0.011110424064099789, -0.05842886120080948, -0.0021124945487827063, 0.07630936056375504, 0.03734717518091202, -0.00223326007835567, 0.0006150928093120456, -0.004048347007483244, 0.00026744147180579603, 0.010512003675103188, 0.009668448008596897, 0.023547464981675148, -0.06956091523170471, 0.03962549567222595, -0.008860941976308823, -0.01782282069325447, -0.002525260206311941, -0.0010003707138821483, 0.07256022840738297, 0.027584997937083244, 0.023590724915266037, 0.02539319545030594, 0.033655717968940735, -0.049632810056209564, -0.0647735521197319, -0.0023035563062876463, -0.009192596189677715, -0.04233641177415848, 0.014996549114584923, 0.020778872072696686, 0.010497584007680416, -0.0134824737906456, 0.027311023324728012, -0.030310332775115967, 0.0018277043709531426, 0.014513486996293068, -0.03411714732646942, -0.012862424366176128, -0.0098559046164155, 0.014253931120038033, 0.03163694962859154, 0.008695114403963089, -0.010375016368925571, 0.026690972968935966, 0.044528212398290634, -0.020029043778777122, 0.06979162991046906, 0.01811121590435505, 0.013287807814776897, -0.019942525774240494, 0.005620101001113653, -0.014809091575443745, 0.004095211625099182, -0.022105488926172256, 0.0031831616070121527, 0.007916447706520557, -0.0675998255610466, 0.01522726472467184, -0.004855853505432606, -0.04775824025273323, 9.992442210204899e-05, 0.07469435036182404, -0.04357650876045227, -0.0555160716176033, 0.011247411370277405, 0.038529593497514725, 0.038039322942495346, 0.027772454544901848, -0.030887123197317123, -0.03642430901527405, -0.003624766832217574, 0.01822657510638237, 0.029228851199150085, -0.02036069892346859, 0.020649094134569168, 0.04002925008535385, 0.009964053519070148, -0.01581847481429577, -0.011369979940354824, 0.03054104931652546, 0.01867358759045601, 0.013792498968541622, 0.01887546479701996, 0.005854421760886908, 0.03769324719905853, 0.04276900365948677, 0.0045386189594864845, -0.0207211934030056, 0.04429749771952629, -0.029243269935250282, -0.005616495851427317, 0.020504897460341454, -0.06984931230545044, 0.050036560744047165, -0.023504206910729408, 0.0043475572019815445, 0.06817661970853806, 0.0012581238988786936, 0.08000081777572632, 0.008752793073654175, 0.01822657510638237, 0.010324547067284584, -0.003080420894548297, -0.008341830223798752, -0.00953867007046938, -0.00616444693878293, -0.027570577338337898, 0.015025388449430466, -0.007083706557750702, -0.03204070404171944 ], "result": "--- 结果 1 (相似度: 1.000) ---\n文件路径: C:\\Steam\\steamapps\\common\\RimWorld\\Data\\dll1.6\\Verse\\HediffDef.txt\n\npublic class HediffDef : Def, IRenderNodePropertiesParent\n{\n\tprivate class ReportStringOverride\n\t{\n\t\tpublic JobDef jobDef;\n\n\t\t[MustTranslate]\n\t\tpublic string reportString;\n\t}\n\n\tpublic Type hediffClass = typeof(Hediff);\n\n\tpublic List comps;\n\n\t[MustTranslate]\n\tpublic string descriptionShort;\n\n\t[NoTranslate]\n\tpublic string debugLabelExtra;\n\n\tpublic float initialSeverity = 0.5f;\n\n\tpublic float lethalSeverity = -1f;\n\n\tpublic List stages;\n\n\tpublic bool tendable;\n\n\tpublic bool isBad = true;\n\n\tpublic ThingDef spawnThingOnRemoved;\n\n\tpublic float chanceToCauseNoPain;\n\n\tpublic bool canApplyDodChanceForCapacityChanges;\n\n\tpublic bool makesSickThought;\n\n\tpublic bool makesAlert = true;\n\n\tpublic NeedDef chemicalNeed;\n\n\tpublic float minSeverity;\n\n\tpublic float maxSeverity = float.MaxValue;\n\n\tpublic bool scenarioCanAdd;\n\n\tpublic List hediffGivers;\n\n\tpublic bool cureAllAtOnceIfCuredByItem;\n\n\tpublic TaleDef taleOnVisible;\n\n\tpublic bool recordDownedTale = true;\n\n\tpublic bool everCurableByItem = true;\n\n\tpublic List tags;\n\n\tpublic bool priceImpact;\n\n\tpublic float priceOffset;\n\n\tpublic bool chronic;\n\n\tpublic bool keepOnBodyPartRestoration;\n\n\tpublic bool countsAsAddedPartOrImplant;\n\n\tpublic bool blocksSocialInteraction;\n\n\tpublic bool blocksSleeping;\n\n\t[MustTranslate]\n\tpublic string overrideTooltip;\n\n\t[MustTranslate]\n\tpublic string extraTooltip;\n\n\t[MustTranslate]\n\tpublic string inspectString;\n\n\tpublic bool levelIsQuantity;\n\n\tpublic bool removeOnDeathrestStart;\n\n\tpublic bool preventsCrawling;\n\n\tpublic bool preventsPregnancy;\n\n\tpublic bool preventsLungRot;\n\n\tpublic bool pregnant;\n\n\tpublic bool allowMothballIfLowPriorityWorldPawn;\n\n\tpublic List removeWithTags;\n\n\tpublic List onlyLifeThreateningTo;\n\n\tpublic bool canAffectBionicOrImplant = true;\n\n\tpublic bool alwaysShowSeverity;\n\n\tpublic bool showGizmosOnCorpse;\n\n\tpublic BodyPartDef defaultInstallPart;\n\n\tpublic Color? hairColorOverride;\n\n\tpublic List possiblePathways;\n\n\tpublic List givesInfectionPathways;\n\n\tpublic bool duplicationAllowed = true;\n\n\tpublic bool preventsDeath;\n\n\tpublic List allowedMeditationFocusTypes;\n\n\tpublic List abilities;\n\n\tpublic bool isInfection;\n\n\tpublic bool forceRemoveOnResurrection;\n\n\tpublic bool organicAddedBodypart;\n\n\tpublic bool deprioritizeHealing;\n\n\tpublic bool clearsEgo;\n\n\tpublic List aptitudes;\n\n\tpublic SimpleCurve removeOnRedressChanceByDaysCurve = new SimpleCurve\n\t{\n\t\tnew CurvePoint(0f, 0f),\n\t\tnew CurvePoint(1f, 0f)\n\t};\n\n\tpublic bool removeOnQuestLodgers;\n\n\tpublic List removeOnRedressIfNotOfKind;\n\n\tpublic bool displayWound;\n\n\tpublic float? woundAnchorRange;\n\n\tpublic Color defaultLabelColor = Color.white;\n\n\tprivate List renderNodeProperties;\n\n\tpublic Color? skinColorOverride;\n\n\tpublic Color? skinColorTint;\n\n\tpublic float skinColorTintStrength = 0.5f;\n\n\tpublic ShaderTypeDef skinShader;\n\n\tpublic bool forceRenderTreeRecache;\n\n\tpublic InjuryProps injuryProps;\n\n\tpublic AddedBodyPartProps addedPartProps;\n\n\tprivate List reportStringOverrides;\n\n\t[MustTranslate]\n\tpublic string labelNoun;\n\n\t[MustTranslate]\n\tpublic string battleStateLabel;\n\n\t[MustTranslate]\n\tpublic string labelNounPretty;\n\n\t[MustTranslate]\n\tpublic string targetPrefix;\n\n\tprivate bool alwaysAllowMothballCached;\n\n\tprivate bool alwaysAllowMothball;\n\n\tprivate string descriptionCached;\n\n\tprivate Dictionary reportStringOverridesDict;\n\n\tprivate Hediff concreteExampleInt;\n\n\tpublic bool HasDefinedGraphicProperties\n\t{\n\t\tget\n\t\t{\n\t\t\tif (renderNodeProperties.NullOrEmpty())\n\t\t\t{\n\t\t\t\treturn skinShader != null;\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t}\n\n\tpublic List RenderNodeProperties => renderNodeProperties ?? PawnRenderUtility.EmptyRenderNodeProperties;\n\n\tpublic bool IsAddiction => typeof(Hediff_Addiction).IsAssignableFrom(hediffClass);\n\n\tpublic bool AlwaysAllowMothball\n\t{\n\t\tget\n\t\t{\n\t\t\tif (!alwaysAllowMothballCached)\n\t\t\t{\n\t\t\t\talwaysAllowMothball = true;\n\t\t\t\tif (comps != null && comps.Count > 0)\n\t\t\t\t{\n\t\t\t\t\talwaysAllowMothball = false;\n\t\t\t\t}\n\t\t\t\tif (stages != null)\n\t\t\t\t{\n\t\t\t\t\tfor (int i = 0; i < stages.Count; i++)\n\t\t\t\t\t{\n\t\t\t\t\t\tHediffStage hediffStage = stages[i];\n\t\t\t\t\t\tif (hediffStage.deathMtbDays > 0f || (hediffStage.hediffGivers != null && hediffStage.hediffGivers.Count > 0))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\talwaysAllowMothball = false;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\talwaysAllowMothballCached = true;\n\t\t\t}\n\t\t\treturn alwaysAllowMothball;\n\t\t}\n\t}\n\n\tpublic Hediff ConcreteExample => concreteExampleInt ?? (concreteExampleInt = HediffMaker.Debug_MakeConcreteExampleHediff(this));\n\n\tpublic string Description\n\t{\n\t\tget\n\t\t{\n\t\t\tif (descriptionCached == null)\n\t\t\t{\n\t\t\t\tif (!descriptionShort.NullOrEmpty())\n\t\t\t\t{\n\t\t\t\t\tdescriptionCached = descriptionShort;\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tdescriptionCached = description;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn descriptionCached;\n\t\t}\n\t}\n\n\tpublic bool HasComp(Type compClass)\n\t{\n\t\tif (comps != null)\n\t\t{\n\t\t\tfor (int i = 0; i < comps.Count; i++)\n\t\t\t{\n\t\t\t\tif (comps[i].compClass == compClass)\n\t\t\t\t{\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic HediffCompProperties CompPropsFor(Type compClass)\n\t{\n\t\tif (comps != null)\n\t\t{\n\t\t\tfor (int i = 0; i < comps.Count; i++)\n\t\t\t{\n\t\t\t\tif (comps[i].compClass == compClass)\n\t\t\t\t{\n\t\t\t\t\treturn comps[i];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tpublic T CompProps() where T : HediffCompProperties\n\t{\n\t\tif (comps != null)\n\t\t{\n\t\t\tfor (int i = 0; i < comps.Count; i++)\n\t\t\t{\n\t\t\t\tif (comps[i] is T result)\n\t\t\t\t{\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tpublic bool PossibleToDevelopImmunityNaturally()\n\t{\n\t\tHediffCompProperties_Immunizable hediffCompProperties_Immunizable = CompProps();\n\t\tif (hediffCompProperties_Immunizable != null && (hediffCompProperties_Immunizable.immunityPerDayNotSick > 0f || hediffCompProperties_Immunizable.immunityPerDaySick > 0f))\n\t\t{\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic string PrettyTextForPart(BodyPartRecord bodyPart)\n\t{\n\t\tif (labelNounPretty.NullOrEmpty())\n\t\t{\n\t\t\treturn null;\n\t\t}\n\t\treturn labelNounPretty.Formatted(label, bodyPart.Label);\n\t}\n\n\tpublic override void ResolveReferences()\n\t{\n\t\tbase.ResolveReferences();\n\t\tif (comps != null)\n\t\t{\n\t\t\tfor (int i = 0; i < comps.Count; i++)\n\t\t\t{\n\t\t\t\tcomps[i].ResolveReferences(this);\n\t\t\t}\n\t\t}\n\t\tif (renderNodeProperties != null)\n\t\t{\n\t\t\tfor (int j = 0; j < renderNodeProperties.Count; j++)\n\t\t\t{\n\t\t\t\trenderNodeProperties[j].ResolveReferencesRecursive();\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic int StageAtSeverity(float severity)\n\t{\n\t\tif (stages == null)\n\t\t{\n\t\t\treturn 0;\n\t\t}\n\t\tfor (int num = stages.Count - 1; num >= 0; num--)\n\t\t{\n\t\t\tif (severity >= stages[num].minSeverity)\n\t\t\t{\n\t\t\t\treturn num;\n\t\t\t}\n\t\t}\n\t\treturn 0;\n\t}\n\n\tpublic int AptitudeFor(SkillDef skill)\n\t{\n\t\tint num = 0;\n\t\tif (aptitudes.NullOrEmpty())\n\t\t{\n\t\t\treturn num;\n\t\t}\n\t\tfor (int i = 0; i < aptitudes.Count; i++)\n\t\t{\n\t\t\tif (aptitudes[i].skill == skill)\n\t\t\t{\n\t\t\t\tnum += aptitudes[i].level;\n\t\t\t}\n\t\t}\n\t\treturn num;\n\t}\n\n\tpublic override IEnumerable ConfigErrors()\n\t{\n\t\tforeach (string item in base.ConfigErrors())\n\t\t{\n\t\t\tyield return item;\n\t\t}\n\t\tif (hediffClass == null)\n\t\t{\n\t\t\tyield return \"hediffClass is null\";\n\t\t}\n\t\tif (!comps.NullOrEmpty() && !typeof(HediffWithComps).IsAssignableFrom(hediffClass))\n\t\t{\n\t\t\tyield return \"has comps but hediffClass is not HediffWithComps or subclass thereof\";\n\t\t}\n\t\tif (minSeverity > initialSeverity)\n\t\t{\n\t\t\tyield return \"minSeverity is greater than initialSeverity\";\n\t\t}\n\t\tif (maxSeverity < initialSeverity)\n\t\t{\n\t\t\tyield return \"maxSeverity is lower than initialSeverity\";\n\t\t}\n\t\tif (!tendable && HasComp(typeof(HediffComp_TendDuration)))\n\t\t{\n\t\t\tyield return \"has HediffComp_TendDuration but tendable = false\";\n\t\t}\n\t\tif (string.IsNullOrEmpty(description))\n\t\t{\n\t\t\tyield return \"Hediff with defName \" + defName + \" has no description!\";\n\t\t}\n\t\tif (possiblePathways != null)\n\t\t{\n\t\t\tfor (int i = 0; i < possiblePathways.Count - 1; i++)\n\t\t\t{\n\t\t\t\tHediffInfectionPathway vector = possiblePathways[i];\n\t\t\t\tfor (int k = i + 1; k < possiblePathways.Count; k++)\n\t\t\t\t{\n\t\t\t\t\tHediffInfectionPathway hediffInfectionPathway = possiblePathways[k];\n\t\t\t\t\tif (vector.PathwayDef == hediffInfectionPathway.PathwayDef)\n\t\t\t\t\t{\n\t\t\t\t\t\tyield return \"Multiple possible infection vectors of type: \" + vector.PathwayDef.defName;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (string.IsNullOrEmpty(vector.Explanation))\n\t\t\t\t{\n\t\t\t\t\tyield return \"Missing explanation for possible infection vector: \" + vector.PathwayDef.defName;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (comps != null)\n\t\t{\n\t\t\tfor (int i = 0; i < comps.Count; i++)\n\t\t\t{\n\t\t\t\tforeach (string item2 in comps[i].ConfigErrors(this))\n\t\t\t\t{\n\t\t\t\t\tyield return $\"{comps[i]}: {item2}\";\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (stages != null)\n\t\t{\n\t\t\tif (!typeof(Hediff_Addiction).IsAssignableFrom(hediffClass))\n\t\t\t{\n\t\t\t\tfor (int i = 0; i < stages.Count; i++)\n\t\t\t\t{\n\t\t\t\t\tif (i >= 1 && stages[i].minSeverity <= stages[i - 1].minSeverity)\n\t\t\t\t\t{\n\t\t\t\t\t\tyield return \"stages are not in order of minSeverity\";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tfor (int i = 0; i < stages.Count; i++)\n\t\t\t{\n\t\t\t\tif (stages[i].hediffGivers != null)\n\t\t\t\t{\n\t\t\t\t\tfor (int j = 0; j < stages[i].hediffGivers.Count; j++)\n\t\t\t\t\t{\n\t\t\t\t\t\tforeach (string item3 in stages[i].hediffGivers[j].ConfigErrors())\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tyield return item3;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (stages[i].minSeverity > maxSeverity)\n\t\t\t\t{\n\t\t\t\t\tyield return $\"minSeverity of stage {i} is greater than maxSeverity.\";\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (hediffGivers == null)\n\t\t{\n\t\t\tyield break;\n\t\t}\n\t\tfor (int i = 0; i < hediffGivers.Count; i++)\n\t\t{\n\t\t\tforeach (string item4 in hediffGivers[i].ConfigErrors())\n\t\t\t{\n\t\t\t\tyield return item4;\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic override IEnumerable SpecialDisplayStats(StatRequest req)\n\t{\n\t\tif (stages == null || stages.Count != 1)\n\t\t{\n\t\t\tyield break;\n\t\t}\n\t\tforeach (StatDrawEntry item in stages[0].SpecialDisplayStats())\n\t\t{\n\t\t\tyield return item;\n\t\t}\n\t}\n\n\tpublic bool TryGetReportStringOverrideFor(JobDef def, out string str)\n\t{\n\t\tif (reportStringOverrides.NullOrEmpty())\n\t\t{\n\t\t\tstr = null;\n\t\t\treturn false;\n\t\t}\n\t\tif (reportStringOverridesDict == null)\n\t\t{\n\t\t\treportStringOverridesDict = new Dictionary();\n\t\t\tif (reportStringOverrides != null)\n\t\t\t{\n\t\t\t\tforeach (ReportStringOverride reportStringOverride in reportStringOverrides)\n\t\t\t\t{\n\t\t\t\t\treportStringOverridesDict[reportStringOverride.jobDef] = reportStringOverride.reportString;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn reportStringOverridesDict.TryGetValue(def, out str);\n\t}\n\n\tpublic static HediffDef Named(string defName)\n\t{\n\t\treturn DefDatabase.GetNamed(defName);\n\t}\n}\n\n", "timestamp": "2025-08-26 17:54:10,374" }, "DamageDef-armor penetration": { "keywords": [ "DamageDef", "armor penetration" ], "question": "RimWorld DamageDef armor penetration", "embedding": [ 0.03361095115542412, 0.04171029478311539, 0.0011501000262796879, -0.023532941937446594, 0.006394390948116779, -0.00720894243568182, -0.011067342013120651, -0.04434851557016373, 0.05213127285242081, 0.08326229453086853, 0.02609201706945896, -0.04321407899260521, -0.04986239969730377, -0.040628623217344284, 0.07365916669368744, -0.011740089394152164, -0.020644089207053185, -0.09275989234447479, 0.011001386679708958, -0.013929813168942928, -0.01497191097587347, -0.0003604883386287838, 0.00012088416406186298, 0.02119811624288559, 0.029073208570480347, 0.027490274980664253, -0.02762218751013279, 0.02822897769510746, 0.029996586963534355, 0.008791876025497913, 0.01588209718465805, -0.02462780475616455, 0.007894880138337612, -0.013191111385822296, -0.05170915648341179, 0.06869930773973465, -0.04761991277337074, -0.02655370719730854, -0.026250312104821205, 0.03487729653716087, -0.010632035322487354, -0.0021188221871852875, 0.006001955363899469, -0.003286235500127077, -0.0023875911720097065, 0.005187404341995716, 0.04289749264717102, -0.08141554147005081, -0.048622436821460724, 0.026580089703202248, 0.04878072813153267, 0.009425048716366291, -0.060045938938856125, 0.011436693370342255, 0.018652230501174927, -0.028809387236833572, -0.006226204335689545, 0.00398701336234808, -0.003851804416626692, 0.010143964551389217, 0.02077599987387657, 0.006325137801468372, -0.03825422376394272, -0.05677454173564911, 0.024245262145996094, -0.03408583253622055, -0.10304895788431168, 0.015196160413324833, 0.012459004297852516, -0.019324976950883865, -0.011166275478899479, 0.03128931671380997, 0.04089244455099106, -0.013408764265477657, 0.012017101980745792, 0.006054719910025597, -0.013250471092760563, -0.013019626960158348, -0.03714616969227791, -0.02433760091662407, -0.0015524289337918162, -0.012538150884211063, -0.07650844752788544, -0.02305806241929531, 0.044585954397916794, 0.04696035757660866, -0.025920532643795013, -0.007980622351169586, -0.03593258559703827, 0.060256995260715485, 0.004066159948706627, -0.004056266508996487, 0.015750186517834663, -0.014378311112523079, 0.0020281332544982433, -0.014391502365469933, -0.024456320330500603, 0.06774954497814178, -0.0045410399325191975, -0.006430666893720627, -0.011660941876471043, 0.019298596307635307, -0.038412515074014664, 0.03682958334684372, -0.01887647993862629, 0.023189973086118698, 0.015723804011940956, -0.02369123511016369, 0.0008532999781891704, 0.015486364252865314, -0.0015845822636038065, -0.007090222090482712, -0.061365049332380295, 0.06358115375041962, 0.010381404310464859, -0.014813617803156376, 0.024416746571660042, -0.0063779023475945, -0.0067373597994446754, 0.023612089455127716, 0.02102663181722164, 0.011608177796006203, -0.03793763741850853, -0.01877095177769661, 0.09017443656921387, -0.03208078071475029, 0.00604812428355217, 0.00560292461887002, 0.01937774196267128, 0.026566898450255394, 0.004465191159397364, 0.012604107148945332, 0.03358456864953041, -0.006476835813373327, 0.004501466639339924, 0.025683093816041946, 0.006278968881815672, 0.03561599925160408, -0.06685255467891693, 0.050416428595781326, -0.02198958210647106, 0.008264231495559216, 0.06368668377399445, -0.009286542423069477, 0.13518249988555908, -0.02665923535823822, -0.036064498126506805, 0.001330653321929276, -0.0560358390212059, -0.0010651822667568922, 0.01780799962580204, -0.025511609390378, -0.0097284447401762, 0.048622436821460724, -0.0028426845092326403, -0.016370169818401337, 0.023704426363110542, 0.002911937888711691, -0.01482680905610323, -0.0011261911131441593, -0.025313742458820343, -0.015908479690551758, -0.038095928728580475, 0.024654187262058258, -0.015156586654484272, 0.0017692578257992864, -0.028756622225046158, 0.028677476570010185, -0.01969432830810547, -0.025353316217660904, -0.03189610689878464, 0.010796924121677876, -0.026949439197778702, -0.00897655077278614, -0.024469511583447456, -0.00649662222713232, -0.020010916516184807, 0.047593530267477036, 0.0033373511396348476, 0.04500807076692581, 0.011093724519014359, 0.0030999111477285624, 0.006579066626727581, 0.031922489404678345, 0.034956444054841995, -0.024654187262058258, 0.02280743047595024, 0.013850666582584381, 0.027965156361460686, 0.04207964614033699, 0.015644658356904984, 0.03215992823243141, 0.016897812485694885, -0.006417475640773773, -0.03516750410199165, -0.03601173311471939, -0.001170711126178503, 0.053371235728263855, -0.05814641714096069, 0.0077102044597268105, 0.009840568527579308, -0.04606335982680321, 0.0005779355415143073, 0.04136732593178749, 0.01602720096707344, -0.013270257972180843, 0.009068888612091541, -0.025867769494652748, 0.03200163692235947, 0.009702062234282494, 0.013745137490332127, -0.016356978565454483, -0.006199822295457125, -0.031131021678447723, 0.0403384193778038, -0.008594009093940258, -0.03004935197532177, 0.014035342261195183, 0.01077713817358017, 0.043662577867507935, -0.037304461002349854, 0.027991537004709244, -0.023704426363110542, 0.0011558710830286145, 0.011641155928373337, 0.004752097651362419, 0.0041486043483018875, -0.022398507222533226, 0.0421060286462307, -0.004145306535065174, 0.055297136306762695, 0.013177920132875443, -0.0713902935385704, 0.007703608833253384, 0.001651362283155322, -0.01165434718132019, -0.026434985920786858, -0.05345038324594498, 0.03015488013625145, 0.007875093258917332, 0.027569422498345375, 0.02584138698875904, -0.03471900522708893, -0.005751324351876974, -0.017583752050995827, -0.0012317199725657701, -0.03572152927517891, 0.020564941689372063, -0.01862584985792637, -0.020973866805434227, 0.009899929165840149, -0.040813297033309937, -0.03015488013625145, -0.010005458258092403, 0.02191043645143509, 0.03743637353181839, 0.007096817716956139, -0.025366507470607758, -0.03097272850573063, -0.006618639919906855, -0.016607608646154404, 0.0349828265607357, 0.016079964116215706, 0.05263253301382065, -0.03297777846455574, -0.040839679539203644, 0.025392888113856316, -0.009339306503534317, -0.005781004671007395, 0.03915121778845787, -0.022886577993631363, 0.016963768750429153, 0.013501102104783058, -0.025181831791996956, 0.011733493767678738, -0.01948327198624611, 0.06753849238157272, -0.012208373285830021, 0.008033386431634426, -0.007894880138337612, -0.0002883494598791003, -0.009385475888848305, -0.01902158185839653, -0.017465030774474144, -0.012373262085020542, 0.0428183451294899, 0.00854783970862627, -0.03564238175749779, -0.0183752179145813, 0.03609088063240051, 0.0014988400507718325, -0.004511360079050064, -0.009939501993358135, 0.029970204457640648, 0.0018681911751627922, 0.0026777954772114754, 0.044374898076057434, 0.011040960438549519, -0.024456320330500603, 0.032212693244218826, -0.01983943209052086, -0.026223929598927498, 0.011693920008838177, 0.008805066347122192, 0.000947286665905267, -0.036592140793800354, -0.028571946546435356, -0.05323932319879532, 0.006437262054532766, -0.10299619287252426, 0.005523778032511473, -0.028677476570010185, -0.04252814128994942, -0.007393617648631334, 0.010955218225717545, 0.00888421293348074, 0.007538720034062862, 0.0036935112439095974, 0.007729991339147091, 0.03994268551468849, -0.017755236476659775, 0.01208305824548006, -0.10151879489421844, 0.005180808715522289, 0.005180808715522289, 0.023823147639632225, 0.0331888347864151, 0.03442880138754845, 0.028202595189213753, -0.014800426550209522, 0.02783324383199215, 0.0047553954645991325, 0.012010506354272366, 0.052447859197854996, 0.00813891552388668, 0.0208815298974514, -0.0008483533165417612, 0.011106915771961212, -0.00402328884229064, 0.00940526183694601, 0.004870817996561527, -0.01487957313656807, 0.037093404680490494, -0.03862357512116432, 0.035958968102931976, 0.0004493222222663462, 0.06062634661793709, 0.05556096136569977, 0.03477177023887634, 0.01019013300538063, 0.001729684416204691, 0.023704426363110542, -0.048727963119745255, 0.011898382566869259, 0.007466169074177742, 0.005286337807774544, -0.020828764885663986, -0.0014427778078243136, -0.06400327384471893, 0.013534080237150192, 0.04302940517663956, -0.017003342509269714, -0.017042916268110275, -0.03184334188699722, 0.03308330848813057, -0.022965723648667336, 0.011337759904563427, 0.0406813882291317, -0.05197297781705856, 0.05814641714096069, -0.03405945003032684, -0.09471217542886734, 0.024086968973279, 0.003874888876453042, -0.021646613255143166, 0.010216515511274338, 0.012340284883975983, -0.025577563792467117, -0.034244123846292496, -0.003568195505067706, -0.0024205688387155533, 0.004231048747897148, 0.006697786506265402, -0.06110122799873352, 0.005682071205228567, 0.021066203713417053, 0.031605903059244156, 0.005573244299739599, 0.04157838225364685, -0.05242147669196129, 0.03928313031792641, 0.013916621915996075, 0.015934862196445465, -0.022939343005418777, -0.009596533142030239, -0.00890399981290102, 0.03764742985367775, 0.0022820623125880957, 0.014088106341660023, -0.03764742985367775, -0.03268757462501526, -0.017728853970766068, -0.06595555692911148, -0.00759148458018899, 0.029389794915914536, 0.02084195613861084, 0.017649706453084946, -0.01873137801885605, -0.03936227411031723, 0.0071627735160291195, -0.010843093506991863, -0.04440128058195114, 0.03065614216029644, 0.0024914711248129606, -0.03147399052977562, -0.014048533514142036, 0.007611270993947983, -0.011073937639594078, 0.019931768998503685, -0.05091768875718117, -0.020353885367512703, 0.002636573277413845, -0.015802951529622078, 0.017676088958978653, -0.011951146647334099, -0.002163342200219631, -0.020934293046593666, -0.023005297407507896, 0.008204870857298374, 0.0032895333133637905, -0.004788373131304979, 0.0171352531760931, -0.06753849238157272, 0.038597192615270615, 0.03205440193414688, -0.013877049088478088, 0.035352177917957306, 0.04329322651028633, 0.0041057332418859005, -0.0027256133034825325, -0.03572152927517891, 0.002151800086721778, 0.022213831543922424, -0.014497031457722187, -0.0785134956240654, -0.007268302142620087, 0.01931178756058216, -0.010447359643876553, 0.027173688635230064, 0.02619754709303379, -0.03743637353181839, -0.04339875653386116, 0.030022969469428062, 0.053160179406404495, 0.0006657388876192272, 0.025247786194086075, -0.009583341889083385, -0.04358343034982681, 0.03033955581486225, -0.025643520057201385, -0.004056266508996487, 0.016620799899101257, -0.03743637353181839, 0.03862357512116432, 0.005609520245343447, -0.017148444429039955, -0.026936249807476997, 0.01702972501516342, 0.02148832008242607, -0.011535626836121082, 0.013448338024318218, 0.018137777224183083, -0.026936249807476997, -0.02429802715778351, -0.007756373379379511, -0.03144760802388191, 0.016541654244065285, 0.04218517243862152, -0.006717573385685682, 0.020261546596884727, 0.010249493643641472, 0.03965248167514801, -0.021884053945541382, 0.03875548392534256, -0.1102776899933815, -0.017214400693774223, -0.03448156639933586, 0.024970773607492447, 0.03458709269762039, 0.028783004730939865, -0.0535295307636261, -0.012795377522706985, 0.022134684026241302, 0.045694008469581604, 0.009814186953008175, 0.027147306129336357, -0.017821190878748894, -0.0069253332912921906, -0.04627441614866257, -0.045878686010837555, 0.014167253859341145, 0.025419270619750023, -0.00280146230943501, 0.015789760276675224, -0.014140871353447437, -0.015196160413324833, 0.03846528008580208, 0.017359502613544464, -0.015130204148590565, -0.04788373410701752, 0.006800017785280943, -0.047488000243902206, 0.03432327136397362, -0.02573585696518421, -0.015552320517599583, 0.010460550896823406, 0.040523093193769455, 0.009985671378672123, 0.03208078071475029, 0.02701539546251297, 0.0025656712241470814, -0.038808248937129974, 0.04097159206867218, -0.0015079089207574725, 0.021936817094683647, -0.048411376774311066, 0.015605084598064423, -0.059254471212625504, 0.004729013424366713, 0.003236769000068307, 0.017992675304412842, -0.006133866496384144, 0.017794808372855186, 0.03379562497138977, 0.06891036778688431, 0.011416906490921974, 0.011153084225952625, 0.0028064087964594364, -0.01156200934201479, 0.012729422189295292, 0.03806954622268677, 0.013890240341424942, 0.003812231123447418, -0.008996337652206421, 0.023744000121951103, 0.08774726837873459, 0.021527893841266632, -0.07629738748073578, 0.041314560920000076, -0.04268643632531166, 0.027252836152911186, 0.016251448541879654, -0.025313742458820343, -0.02184448018670082, 0.009873546659946442, 0.01202369760721922, 0.02198958210647106, 0.0695963054895401, -0.0019852621480822563, 0.016660373657941818, -0.01613272912800312, -0.009517386555671692, 0.051234275102615356, -0.04614250734448433, -0.012854738160967827, 0.006170142441987991, -0.05075939744710922, -0.002654711017385125, 0.00282454676926136, -0.0010313800303265452, -0.0023809955455362797, 0.015288498252630234, 0.008521458134055138, -0.01841479167342186, 0.0011459777597337961, -0.01762332394719124, -0.00723532447591424, 0.007855306379497051, 0.048015642911195755, 0.018335644155740738, -0.022965723648667336, 0.027859626337885857, -0.04200049862265587, 0.03350542113184929, 0.022860195487737656, -0.003317564493045211, 0.020406648516654968, -0.04044394567608833, 0.027358364313840866, -0.006865973584353924, 0.0703350082039833, 0.016765901818871498, -0.040417563170194626, -0.026316266506910324, -0.020037297159433365, 0.0007098466739989817, -0.002150151180103421, 0.0809934213757515, 0.03305692598223686, -0.008686346933245659, 0.011126702651381493, -0.06009870395064354, -0.027002204209566116, 0.006117377895861864, 0.045166365802288055, 0.0038913777098059654, -0.013217492960393429, -0.025999680161476135, 0.03593258559703827, -0.018797334283590317, 0.03086720034480095, 0.007842115126550198, 0.04785735160112381, 0.025102684274315834, 0.025577563792467117, -0.010948622599244118, 0.009880142286419868, -0.019324976950883865, -0.012722826562821865, 0.0002918533282354474, -0.04521913081407547, -0.002857524435967207, -0.00525665795430541, -0.043900016695261, -0.030128497630357742, 0.002610191237181425, -0.037304461002349854, -0.010335235856473446, -0.027068160474300385, -0.03295139595866203, 0.017465030774474144, 0.03864995390176773, -0.016502080485224724, -0.02305806241929531, 0.02772771567106247, 0.011786257848143578, -0.024350790306925774, -0.013092177920043468, -0.05313379690051079, 0.020512178540229797, 0.029706383123993874, 0.02965361811220646, -0.05052195489406586, 0.013369191437959671, 0.02305806241929531, -0.04181582108139992, -0.02515544928610325, -0.034455183893442154, -0.05147171393036842, 0.03664490580558777, -0.018889671191573143, 0.007835520431399345, 0.00440583098679781, 0.02437717281281948, -0.06537514925003052, 0.0492556095123291, -0.01239964459091425, 0.021567467600107193, -0.006196524482220411, -0.022530417889356613, -0.029574470594525337, 0.01598762720823288, 0.008989742025732994, 0.021461937576532364, 0.04529827460646629, 0.03382200747728348, 0.006480133160948753, -0.008264231495559216, -0.028703857213258743, -0.008745706640183926, -0.034455183893442154, -0.00017447305435780436, 0.04236984997987747, 0.0003821300051640719, 0.05476949363946915, 0.008890808559954166, -0.032028019428253174, -0.009167822077870369, 0.03923036530613899, 0.0328194834291935, -0.03983715549111366, -0.0023331777192652225, 0.002092439914122224, -0.02687029354274273, -0.046089742332696915, -0.0052071912214159966, 0.008270827122032642, 0.034244123846292496, 0.02098705805838108, 0.015037866309285164, 0.029680000618100166, -0.11966975778341293, 0.014457457698881626, 0.016924194991588593, -0.03371648117899895, -0.023031679913401604, -0.0471186488866806, 0.011291591450572014, 0.011542222462594509, 5.9224739743513055e-06, 0.13233323395252228, -0.026857102289795876, 0.03477177023887634, 0.03015488013625145, -0.006331733427941799, -0.015248924493789673, 0.015974435955286026, 0.011904978193342686, -0.015420408919453621, -0.04155199974775314, 0.031131021678447723, 0.02844003587961197, 0.005279742181301117, -0.005560053512454033, -0.014154062606394291, 0.031078258529305458, 0.005480906460434198, -0.012815164402127266, -0.07202346622943878, -0.002169937826693058, -0.016818666830658913, 0.028281742706894875, -0.032318223267793655, 0.02295253425836563, -0.05482225865125656, -0.021963199600577354, -0.0406813882291317, -0.02301848866045475, 0.0035352178383618593, 0.054980549961328506, -0.036592140793800354, -0.039019305258989334, 0.015143395401537418, -0.0012869577622041106, 0.0003759466635528952, 0.018823714926838875, 0.012168800458312035, -0.008000409230589867, 0.01834883540868759, -0.006585662253201008, 0.010856284759938717, -0.02270190231502056, 0.004560826811939478, -0.011773066595196724, 0.09576746821403503, 0.011252017691731453, -0.00034791557118296623, -0.008026790805161, 0.057513244450092316, -0.035958968102931976, -0.020182400941848755, -0.02027473784983158, 0.0406813882291317, -0.03682958334684372, -0.0013116911286488175, 0.011502648703753948, 0.002968000015243888, 0.0034857511054724455, 0.032133545726537704, 0.0002427988947601989, -0.02198958210647106, -0.02483886294066906, 0.012261138297617435, -0.014589369297027588, 0.010486933402717113, 0.06273692101240158, -0.05946552753448486, 0.004761991091072559, -0.0036572355311363935, -0.06205098703503609, -0.03735722601413727, -0.059729352593421936, -0.031210169196128845, 0.027543039992451668, 0.0007910544518381357, 0.03136846050620079, -0.015802951529622078, -0.016079964116215706, -0.07439786940813065, -0.002428813371807337, -0.022002773359417915, -0.0385444276034832, 0.09149354696273804, -0.011555413715541363, 0.011641155928373337, 0.01487957313656807, 0.025419270619750023, -0.020683662965893745, 0.012360070832073689, -0.03558961674571037, -0.0349828265607357, 0.032529279589653015, 0.02012963593006134, 0.009820782579481602, -0.0009373933426104486, 0.04553571715950966, 0.011693920008838177, 0.029970204457640648, -0.006971502210944891, 0.04846414178609848, -0.049624960869550705, -0.04025927186012268, -0.05819918215274811, -0.04347790405154228, -0.03155313804745674, -0.024469511583447456, -0.01477404497563839, -0.028888532891869545, 0.028862150385975838, 0.0032169821206480265, -0.044876161962747574, 0.034745387732982635, 0.05988764390349388, 0.0038880801293998957, 0.03297777846455574, 0.010269279591739178, -0.006166844628751278, 0.004329982213675976, 0.06986012309789658, 0.024403555318713188, 0.019153492525219917, 0.014140871353447437, -0.022147875279188156, 0.012966861948370934, 0.02611839957535267, 0.0016315755201503634, -0.012353475205600262, 0.005253360141068697, -0.022675519809126854, -0.020221972838044167, 0.0008314521983265877, -0.00888421293348074, -0.022688711062073708, 0.01118606235831976, 0.041024357080459595, 0.02841365337371826, 0.0007918789051473141, 0.026210738345980644, -0.006123973522335291, -0.045878686010837555, -0.024416746571660042, -0.02094748429954052, -0.0017676089191809297, -0.03429688885807991, 0.0313948430120945, 0.024535465985536575, -0.017755236476659775, -0.01873137801885605, -0.034850914031267166, 0.0201692096889019, -0.02873023971915245, 0.06358115375041962, 0.008125724270939827, -0.0026810932904481888, 0.015394026413559914, 0.03780572488903999, -0.001051166676916182, 0.059940408915281296, -0.016317404806613922, 0.023466987535357475, -0.008864426985383034, 0.007571697700768709, 0.057935360819101334, 0.0265932809561491, -0.006931928917765617, 0.015314879827201366, 0.027701333165168762, -0.024654187262058258, -0.005678773391991854, -0.030708907172083855, 0.06331733614206314, 0.04339875653386116, -0.00041263445746153593, 0.028862150385975838, -0.006160249002277851, -0.05814641714096069, -0.026184355840086937, -0.003973822109401226, -0.011891786940395832, -0.027068160474300385, -0.034138597548007965, -0.0328194834291935, 0.02027473784983158, 0.025142258033156395, 0.0012976755388081074, -0.011067342013120651, -0.006133866496384144, 0.004155199974775314, -0.007855306379497051, -0.008356569334864616, 0.038808248937129974, -0.04300302267074585, 0.03440241888165474, 0.022939343005418777, 0.06801337003707886, -0.0005746377864852548, -0.04772543907165527, -0.014800426550209522, -0.004613591358065605, 0.00999226700514555, 0.019496463239192963, 0.03339989483356476, 0.030814435333013535, -0.018427982926368713, -0.06569173187017441, -0.033030543476343155, -0.006892355624586344, -0.018467554822564125, 0.032239075750112534, 0.0012251244625076652, -0.05323932319879532, -0.015196160413324833, 0.005487502086907625, 0.0032136845402419567, -0.011087128892540932, -0.06954354047775269, 0.0035352178383618593, 0.08357887715101242, 0.05289635434746742, 0.01795310154557228, 0.010282470844686031, 0.026500942185521126, 0.0649530291557312, 0.002544235670939088, 0.03229184076189995, 0.010407786816358566, -0.05688007175922394, 0.036882348358631134, -0.007505742367357016, -0.023796765133738518, 0.0012770644389092922, 0.012017101980745792, 0.06268416345119476, 0.01873137801885605, 0.009609724394977093, 0.005098364315927029, -0.002054515527561307, -0.021105777472257614, -0.031131021678447723, 0.005039004608988762, -0.013679182156920433, 0.008026790805161, 0.01644931547343731, 0.022992106154561043, 0.014734471216797829, -0.004699333570897579, 0.019404124468564987, -0.012584320269525051, 0.013032818213105202, 0.008343378081917763, -0.03883463144302368, -0.007571697700768709, -0.0349828265607357, 0.015130204148590565, 0.0057711112312972546, -0.0025409378577023745, -0.015143395401537418, -0.0063779023475945, 0.05403079092502594, -0.027859626337885857, 0.0535295307636261, 0.03632831946015358, 0.07576974481344223, -0.03382200747728348, -0.013586844317615032, -0.013171324506402016, -0.008072960190474987, -0.0360381156206131, 0.004273919854313135, 0.026487750932574272, -0.01774204522371292, 0.0018962222384288907, -0.012017101980745792, -0.047514382749795914, 0.0006212188745848835, 0.07355363667011261, -0.03490367904305458, -0.045060835778713226, 0.02687029354274273, 0.02983829379081726, 0.022649137303233147, 0.013111964799463749, -0.04859605431556702, -0.050126221030950546, 0.01004503108561039, 0.03316245228052139, 0.025208214297890663, -0.013078986667096615, 0.009174417704343796, 0.0524742417037487, 0.008481884375214577, -0.04018012434244156, -0.01638335920870304, -0.00565568869933486, -0.01816415973007679, 0.004254133440554142, 0.003304373240098357, -0.02262275479733944, 0.038412515074014664, 0.038491662591695786, -0.025498418137431145, -0.006978097837418318, 0.03669767081737518, 0.01332961767911911, -0.015802951529622078, 0.03044508397579193, -0.08700856566429138, 0.0799381360411644, 0.011891786940395832, -0.02063089795410633, 0.036776818335056305, -0.03004935197532177, 0.06811890006065369, 0.024007821455597878, 0.025788621976971626, -0.0036638311576098204, -0.015802951529622078, 0.00966908410191536, -0.030286790803074837, -0.01370556466281414, -0.029178738594055176, -0.005929404404014349, 0.012373262085020542, -0.008376355282962322 ], "result": "--- 结果 1 (相似度: 1.000) ---\n文件路径: C:\\Steam\\steamapps\\common\\RimWorld\\Data\\dll1.6\\Verse\\DamageDef.txt\n\npublic class DamageDef : Def\n{\n\tpublic Type workerClass = typeof(DamageWorker);\n\n\tprivate bool externalViolence;\n\n\tprivate bool externalViolenceForMechanoids;\n\n\tpublic bool hasForcefulImpact = true;\n\n\tpublic bool harmsHealth = true;\n\n\tpublic bool makesBlood = true;\n\n\tpublic bool canInterruptJobs = true;\n\n\tpublic bool isRanged;\n\n\tpublic bool makesAnimalsFlee;\n\n\tpublic bool execution;\n\n\tpublic RulePackDef combatLogRules;\n\n\tpublic float buildingDamageFactor = 1f;\n\n\tpublic float buildingDamageFactorPassable = 1f;\n\n\tpublic float buildingDamageFactorImpassable = 1f;\n\n\tpublic float plantDamageFactor = 1f;\n\n\tpublic float corpseDamageFactor = 1f;\n\n\tpublic bool causeStun;\n\n\tpublic int stunAdaptationTicks;\n\n\tpublic int? constantStunDurationTicks;\n\n\tpublic StatDef stunResistStat;\n\n\tpublic bool displayAdaptedTextMote = true;\n\n\t[MustTranslate]\n\tpublic string adaptedText;\n\n\tpublic bool canUseDeflectMetalEffect = true;\n\n\tpublic ImpactSoundTypeDef impactSoundType;\n\n\t[MustTranslate]\n\tpublic string deathMessage = \"{0} has been killed.\";\n\n\tpublic EffecterDef damageEffecter;\n\n\tpublic int defaultDamage = -1;\n\n\tpublic float defaultArmorPenetration = -1f;\n\n\tpublic float defaultStoppingPower;\n\n\tpublic List additionalHediffs;\n\n\tpublic List additionalHediffsThisPart;\n\n\tpublic bool applyAdditionalHediffsIfHuntingForFood = true;\n\n\tpublic DamageArmorCategoryDef armorCategory;\n\n\tpublic int minDamageToFragment = 99999;\n\n\tpublic FloatRange overkillPctToDestroyPart = new FloatRange(0f, 0.7f);\n\n\tpublic bool consideredHelpful;\n\n\tpublic SimpleCurve igniteChanceByTargetFlammability;\n\n\tpublic float igniteCellChance;\n\n\tpublic bool ignoreShields;\n\n\tpublic bool harmAllLayersUntilOutside;\n\n\tpublic HediffDef hediff;\n\n\tpublic HediffDef hediffSkin;\n\n\tpublic HediffDef hediffSolid;\n\n\tpublic bool isExplosive;\n\n\tpublic float explosionSnowMeltAmount = 1f;\n\n\tpublic bool explosionAffectOutsidePartsOnly = true;\n\n\tpublic ThingDef explosionCellMote;\n\n\tpublic FleckDef explosionCellFleck;\n\n\tpublic Color explosionColorCenter = Color.white;\n\n\tpublic Color explosionColorEdge = Color.white;\n\n\tpublic EffecterDef explosionInteriorEffecter;\n\n\tpublic ThingDef explosionInteriorMote;\n\n\tpublic FleckDef explosionInteriorFleck;\n\n\tpublic ThingDef explosionCenterMote;\n\n\tpublic FleckDef explosionCenterFleck;\n\n\tpublic EffecterDef explosionCenterEffecter;\n\n\tpublic EffecterDef explosionCellEffecter;\n\n\tpublic float explosionCellEffecterChance;\n\n\tpublic float explosionCellEffecterMaxRadius;\n\n\tpublic float explosionHeatEnergyPerCell;\n\n\tpublic float expolosionPropagationSpeed = 1f;\n\n\tpublic SoundDef soundExplosion;\n\n\tpublic float explosionInteriorCellCountMultiplier = 1f;\n\n\tpublic float explosionInteriorCellDistanceMultiplier = 0.7f;\n\n\tpublic float stabChanceOfForcedInternal;\n\n\tpublic SimpleCurve cutExtraTargetsCurve;\n\n\tpublic float cutCleaveBonus;\n\n\tpublic float bluntInnerHitChance;\n\n\tpublic FloatRange bluntInnerHitDamageFractionToConvert;\n\n\tpublic FloatRange bluntInnerHitDamageFractionToAdd;\n\n\tpublic float bluntStunDuration = 1f;\n\n\tpublic SimpleCurve bluntStunChancePerDamagePctOfCorePartToHeadCurve;\n\n\tpublic SimpleCurve bluntStunChancePerDamagePctOfCorePartToBodyCurve;\n\n\tpublic float scratchSplitPercentage = 0.5f;\n\n\tpublic bool scaleDamageToBuildingsBasedOnFlammability;\n\n\t[Unsaved(false)]\n\tprivate DamageWorker workerInt;\n\n\tpublic DamageWorker Worker\n\t{\n\t\tget\n\t\t{\n\t\t\tif (workerInt == null)\n\t\t\t{\n\t\t\t\tworkerInt = (DamageWorker)Activator.CreateInstance(workerClass);\n\t\t\t\tworkerInt.def = this;\n\t\t\t}\n\t\t\treturn workerInt;\n\t\t}\n\t}\n\n\tpublic bool ExternalViolenceFor(Thing thing)\n\t{\n\t\tif (externalViolence)\n\t\t{\n\t\t\treturn true;\n\t\t}\n\t\tif (externalViolenceForMechanoids)\n\t\t{\n\t\t\tif (thing is Pawn pawn && pawn.RaceProps.IsMechanoid)\n\t\t\t{\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tif (thing is Building_Turret)\n\t\t\t{\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n}\n\n", "timestamp": "2025-08-26 17:55:14,832" }, "HediffDef-damage-factor-reduction": { "keywords": [ "HediffDef", "damage", "factor", "reduction" ], "question": "RimWorld HediffDef damage factor reduction", "embedding": [ -0.004668164532631636, 0.028456196188926697, 0.027616821229457855, 0.00876527838408947, -0.03473087027668953, -0.0012711030431091785, 0.016264615580439568, -0.05460067093372345, 0.0504450723528862, 0.07408518344163895, 0.025910548865795135, -0.017681920900940895, -0.010258265770971775, -0.01773696206510067, 0.059994686394929886, -0.002499205293133855, -0.04180363938212395, -0.11987929046154022, 0.02724529430270195, -0.013292401097714901, -0.07171841710805893, -0.007767660543322563, -0.019842280074954033, -0.005187613889575005, -0.004843608010560274, 0.02381899207830429, -0.010684833861887455, 0.01827361062169075, 0.039161670953035355, 0.011200843378901482, -0.018122248351573944, -0.03602433204650879, 0.012143420055508614, -0.0037703083362430334, -0.07557129114866257, 0.05905899032950401, -0.02639215812087059, 0.023158499971032143, -0.014929870143532753, 0.02263561077415943, -0.010155064053833485, -0.004585603252053261, 0.017035188153386116, 0.014517063274979591, -0.018466254696249962, 0.012322302907705307, 0.035941772162914276, -0.07777293026447296, -0.02468588761985302, 0.027713142335414886, 0.02330986224114895, -0.02553902193903923, -0.05834345892071724, 0.0065223583951592445, 0.015026192180812359, -0.021397188305854797, -0.0042037563398480415, 0.006395075935870409, 0.003849429776892066, 0.02724529430270195, 0.01345752365887165, 0.007987825199961662, -0.02223656326532364, -0.037978287786245346, 0.007643818389624357, -0.04871128126978874, -0.08900129050016403, -0.00011255453864578158, 0.05063771829009056, -0.012542467564344406, -0.015053712762892246, 0.04163851588964462, 0.07458055019378662, -0.002767530269920826, -0.007884622551500797, 0.039822161197662354, -0.023667629808187485, 0.016374696046113968, -0.02884148247539997, 0.007292932365089655, -0.015315157361328602, 0.021438468247652054, -0.0320613794028759, -0.005153213161975145, 0.053472328931093216, 0.005249535199254751, -0.013072236441075802, 0.021878795698285103, -0.023213541135191917, 0.05746280029416084, 0.007361733354628086, 0.005679543130099773, 0.01743423566222191, -0.013643287122249603, 0.010333946906030178, -0.019484512507915497, -0.01447578240185976, 0.0713331326842308, -0.009983060881495476, 0.00853823497891426, -0.019745957106351852, 0.07347973436117172, -0.054875873029232025, 0.05083036050200462, -0.021644871681928635, 0.028263552114367485, -0.01523259561508894, 0.003233658615499735, -0.014090495184063911, -0.00912992563098669, 0.006563638802617788, 0.029474454000592232, -0.013450643979012966, 0.05523364245891571, -0.01111828163266182, -0.0005835205665789545, 0.01925058849155903, -0.0011722012422978878, -0.011214603669941425, 0.026227034628391266, 0.04604179412126541, 0.013877211138606071, -0.07634185999631882, -0.04188619926571846, 0.05399521812796593, -0.0003801268758252263, 0.030189987272024155, 0.02950197458267212, -0.013450643979012966, 0.024396922439336777, -0.015452760271728039, -0.02509869448840618, 0.021218305453658104, 0.029254289343953133, -0.006302194204181433, -0.010216984897851944, 0.016746222972869873, 0.017544317990541458, -0.08245141059160233, 0.01100819930434227, -0.02991478145122528, -0.0015015872195363045, 0.009625294245779514, 0.014971151016652584, 0.12769511342048645, -0.03153849020600319, -0.0354464016854763, 0.02372266910970211, -0.06511349976062775, -0.002961893565952778, 0.04777558520436287, 0.0036533460952341557, -0.00807038601487875, 0.07276419550180435, -0.024851011112332344, 0.011586129665374756, 0.02274569310247898, 0.006470757070928812, -0.031566012650728226, -0.0027021688874810934, 0.008944162167608738, -0.014186817221343517, -0.02223656326532364, -0.002375363139435649, 0.015562841668725014, -0.03134584799408913, -0.060324933379888535, 0.01604445092380047, -3.778693644562736e-05, -0.01912674680352211, -0.045243699103593826, -0.013085996732115746, -0.04048265516757965, -0.04078537970781326, -0.013994173146784306, 0.007533736526966095, -0.013904731720685959, 0.04158347472548485, 0.03792324662208557, 0.05531620234251022, 0.0057965051382780075, 0.009797297418117523, -0.01857633702456951, -0.004871128126978874, 0.017282873392105103, -0.0245620459318161, 0.016003169119358063, 0.04496849328279495, 0.015604122541844845, 0.024080436676740646, 0.01202645804733038, 0.06858108192682266, -0.006931725423783064, -0.033822692930698395, -0.05030747130513191, -0.005335536785423756, -0.017145270481705666, 0.013430003076791763, -0.0500047467648983, -0.021287105977535248, -0.010354587808251381, -0.04895896837115288, -0.014695946127176285, -0.0020124365109950304, 0.042354047298431396, 0.009845457971096039, -0.06137071177363396, -0.007863982580602169, 0.026447199285030365, -0.0005013890913687646, 0.015535321086645126, -0.005077532026916742, 0.02659856155514717, -0.058178335428237915, 0.05707751587033272, 0.01753055676817894, 0.003403941635042429, 0.007021167315542698, -0.005163533613085747, 0.02425931952893734, -0.03429054096341133, 0.05949931964278221, -0.04062025621533394, -0.009061124175786972, 0.01331304106861353, 0.002265281043946743, 0.030052384361624718, -0.010953158140182495, 0.045684028416872025, 0.011524208821356297, 0.01753055676817894, 0.01436570007354021, -0.07072768360376358, 0.0006652220617979765, -0.015397719107568264, 0.006082030013203621, -0.019057946279644966, -0.09830322116613388, 0.008324950933456421, 0.003441782435402274, 0.014833549037575722, 0.022140242159366608, -0.04571154713630676, 0.01432441920042038, 0.020433969795703888, -0.0004704285238403827, -0.024768449366092682, 0.023571306839585304, 0.0025748866610229015, -0.03643713891506195, -0.005091292317956686, -0.028593799099326134, 0.010010581463575363, -0.03918918967247009, 0.04703253135085106, 0.01447578240185976, 0.03013494610786438, -0.04339982569217682, -0.016539819538593292, 0.004444560501724482, -0.010382108390331268, 0.011214603669941425, -0.03335484489798546, 0.058068253099918365, -0.016182053834199905, -0.01718655228614807, 0.0047988868318498135, -0.024644605815410614, -0.011083880439400673, -0.018865302205085754, -0.019897321239113808, 0.020764216780662537, 0.03032759018242359, -0.031455930322408676, -0.0064810775220394135, -0.018837781623005867, 0.027713142335414886, 0.010444029234349728, 0.012012697756290436, -0.035969290882349014, -0.0023616028483957052, -0.02317225933074951, 0.0028672919142991304, -0.04229900613427162, -0.057242635637521744, 0.05248159170150757, 0.01404921431094408, -0.010560991242527962, -0.014503302983939648, 0.015645403414964676, -0.025470221415162086, -0.02256680838763714, -0.004620003513991833, 0.018438734114170074, 0.035198718309402466, -0.032006338238716125, 0.02809842862188816, 0.004227836616337299, -0.043867673724889755, 0.024328120052814484, -0.027162732556462288, -0.03046519123017788, -0.03302459791302681, 0.037345316261053085, 0.021135743707418442, -0.018342413008213043, -0.028263552114367485, -0.0927991196513176, -0.009535852819681168, -0.11536592990159988, 0.01944323256611824, -0.0186038576066494, -0.020447731018066406, 0.004368879366666079, -0.007595657836645842, 0.02116326428949833, -0.007368613500148058, -0.006591159384697676, 0.003242258680984378, 0.051463332027196884, -0.036382097750902176, -0.0043860794976353645, -0.08608411997556686, -0.011950776912271976, -0.025993110612034798, 0.021823756396770477, 0.00769197940826416, 0.0043860794976353645, 0.017489276826381683, -0.027589300647377968, -0.008861600421369076, 0.022098960354924202, 0.023103458806872368, 0.04758294299244881, 0.0161407720297575, 0.013980413787066936, 0.014654665254056454, -0.014861069619655609, 0.000552560028154403, -0.006759722717106342, 0.0010879196925088763, -0.03065783530473709, -0.013712088577449322, -0.01912674680352211, 0.04062025621533394, 0.015810526907444, 0.058288417756557465, 0.027713142335414886, 0.02831859327852726, -0.0027933306992053986, 0.007760780863463879, 0.0181635282933712, -0.006670280825346708, 0.009584013372659683, 0.0053424169309437275, 0.01689758710563183, -0.025305097922682762, 0.024658367037773132, -0.02745169773697853, 0.01775072142481804, -0.0037083872593939304, -0.007313572335988283, -0.01879649981856346, -0.03481343016028404, 0.02020004577934742, 0.0007318732677958906, 0.048463597893714905, 0.01836993359029293, -0.04185867682099342, 0.06373747438192368, 0.016374696046113968, -0.047803107649087906, 0.009597773663699627, 0.006477637216448784, -0.024630846455693245, 0.047060053795576096, 0.017117749899625778, -0.011077000759541988, 0.004031753167510033, -0.023915313184261322, -0.0037083872593939304, 0.012301662936806679, -0.02136966772377491, -0.057242635637521744, -0.007561257109045982, -0.00093483692035079, 0.05440802499651909, 0.004499601665884256, 0.04073033854365349, -0.04414287954568863, 0.05366497114300728, -0.017998406663537025, 0.008806559257209301, -0.017269112169742584, 0.011998937465250492, 0.015989409759640694, 0.015452760271728039, -0.009756016544997692, 0.08437784761190414, -0.02081925794482231, -0.012060858309268951, -0.01997988298535347, -0.07116801291704178, -0.02669488452374935, 0.02745169773697853, -0.02103942073881626, 0.020048683509230614, -0.021121982485055923, -0.032116420567035675, 0.0046750446781516075, 0.01570044457912445, -0.026419678702950478, 0.09637678414583206, 0.03962951898574829, -0.023970354348421097, -0.012397984974086285, 0.0209568589925766, -0.004936489276587963, 0.030850479379296303, -0.07182849943637848, -0.02661232277750969, -0.0037771884817630053, -0.033822692930698395, -0.012150299735367298, -0.030850479379296303, 0.04714261367917061, -0.02233288437128067, 0.00034744630102068186, -0.030410151928663254, 0.030905520543456078, 0.005744904279708862, -0.025456462055444717, -0.05768296495079994, 0.03555648401379585, 0.0030874558724462986, 0.009467051364481449, 0.013423123396933079, 0.03536384180188179, -0.03142840787768364, -0.026887526735663414, -0.0022429206874221563, 0.002373642986640334, 0.04031753167510033, -0.006931725423783064, -0.11090760678052902, -0.025883028283715248, 0.004953689873218536, 0.013980413787066936, 0.02980470098555088, 0.014351939782500267, -0.05099548399448395, -0.01882402040064335, 0.01903042569756508, 0.063242107629776, -0.0042381566017866135, 0.06335218995809555, -0.0012048818171024323, -0.03629953786730766, 0.01677374355494976, -0.010973799042403698, -0.0030840157996863127, -0.018645137548446655, -0.01318919938057661, 0.012088378891348839, -0.0007611137698404491, 0.006849164143204689, -0.018934102728962898, -0.011379726231098175, 0.030520232394337654, -0.022140242159366608, -0.0006355515215545893, 0.04433552175760269, -0.019911080598831177, -0.0008522754651494324, -0.0010397587902843952, -0.030602794140577316, 0.014984911307692528, 0.037675563246011734, 0.00912992563098669, -0.0027486097533255816, 0.028593799099326134, 0.03580416738986969, -0.015865568071603775, -0.004468640778213739, -0.09472555667161942, -0.006611799821257591, -0.007547496818006039, -0.0016684302827343345, 0.047280218452215195, 0.015851806849241257, -0.011730612255632877, -0.007052127737551928, 0.03539136052131653, 0.0755162462592125, 0.001724331290461123, 0.03709763288497925, -0.04282189533114433, -0.06814075261354446, -0.011469167657196522, -0.0367673859000206, -0.002654008101671934, 0.020213807001709938, -0.02402539551258087, -0.021080702543258667, 0.010994439013302326, -0.0018541936296969652, 0.019071705639362335, 0.004076473880559206, -0.05223390832543373, -0.012418624944984913, 0.0028982525691390038, -0.03203386068344116, 0.024754688143730164, -0.025924310088157654, -0.04029000923037529, 0.02778194285929203, 0.022525528445839882, -0.012157180346548557, 0.018466254696249962, 0.0002936953096650541, -0.008214868605136871, -0.02917172946035862, 0.058948908001184464, -0.017461756244301796, 0.0012934633996337652, -0.03718019276857376, -0.0007985244737938046, -0.023846512660384178, -0.021121982485055923, 0.003283539554104209, -0.006295314058661461, -0.012274142354726791, 0.03076791763305664, 0.024713408201932907, 0.07160833477973938, 0.0008178747957572341, 0.021190784871578217, 0.002249800832942128, 0.05856361985206604, 0.0032663391903042793, 0.01645725779235363, 0.03247418999671936, -0.011716851964592934, 0.01751679740846157, 0.0504450723528862, 0.04084042087197304, 0.03850117698311806, -0.04122570529580116, 0.008648316375911236, -0.02073669619858265, -0.019181787967681885, 0.038308534771203995, -0.04805079102516174, -0.037978287786245346, 0.03569408506155014, -0.01623709499835968, 0.024740928784012794, 0.03987720236182213, 0.007059007883071899, 0.01223286148160696, -0.02256680838763714, -0.007781420834362507, -0.002672928385436535, -0.01966339722275734, 0.007021167315542698, 0.01228102296590805, -0.05237150937318802, 0.012907113879919052, -0.04062025621533394, -0.02318602055311203, -0.04224396497011185, 0.007416774518787861, -0.018975384533405304, -0.004073034040629864, 0.00817358773201704, -0.04185867682099342, 0.02983221970498562, -0.042794376611709595, 0.08305686712265015, -0.029144208878278732, -0.013196079060435295, 0.040978021919727325, 0.023323623463511467, 0.015108753927052021, 0.014874829910695553, 0.008290550671517849, 0.014695946127176285, -0.006732202135026455, 0.003059935523197055, 0.011661811731755733, 0.04163851588964462, 0.03142840787768364, -0.031070642173290253, -0.014572104439139366, -0.01506747305393219, 0.014861069619655609, 0.003560464596375823, 0.035639047622680664, -0.0044342405162751675, 0.039904724806547165, 0.009246887639164925, -0.07848846167325974, -0.0040558334439992905, -0.020874299108982086, 0.04466576874256134, -0.011937016621232033, -0.0252225361764431, -0.020667893812060356, 0.030795438215136528, 0.007038367446511984, 0.020406449213624, 0.024603325873613358, 0.03940935432910919, 0.015122514218091965, -0.0036980670411139727, 0.015370198525488377, 0.021108223125338554, 0.005548820365220308, 0.011758132837712765, -0.033189721405506134, -0.03737283870577812, -0.0002807950950227678, 0.025360139086842537, -0.04150091111660004, -0.010168824344873428, -0.01073299441486597, -0.039574477821588516, 0.011028840206563473, -0.01859009638428688, -0.012322302907705307, -0.008407512679696083, 0.015205075964331627, -0.02339242398738861, 0.021287105977535248, -0.008868481032550335, 0.010155064053833485, -0.03261179104447365, -0.026447199285030365, -0.05501347780227661, 0.0421338826417923, 0.03181369602680206, 0.026309596374630928, -0.04527122154831886, 0.012625028379261494, 0.0363270565867424, -0.05779304727911949, -0.04562898725271225, -0.019484512507915497, -0.039574477821588516, -0.0007353133405558765, -0.008620795793831348, 0.018191048875451088, 0.004847047850489616, 0.014118015766143799, -0.013725848868489265, 0.009068004786968231, -0.024204278364777565, -0.004361999221146107, -0.00186967384070158, -0.02328234165906906, -0.03473087027668953, 0.011661811731755733, -0.0005512699717655778, 0.023433703929185867, 0.0361068956553936, 0.0013639847747981548, 0.009336329065263271, -0.0038631900679320097, -0.008476313203573227, 0.015108753927052021, -0.060545098036527634, -0.02018628641963005, 0.007045247592031956, -0.017668159678578377, 0.0363270565867424, -0.005617621820420027, -0.013154798187315464, 0.02436940185725689, 0.04882136359810829, 0.023763950914144516, -0.03214394301176071, 0.012769510969519615, -0.006862924434244633, -0.011634291149675846, -0.029006605967879295, 0.007034927606582642, 8.562530274502933e-05, 0.011352205649018288, 0.005462818779051304, 0.03874886408448219, 0.01944323256611824, -0.088836170732975, 0.01527387648820877, 0.011077000759541988, -0.027011370286345482, 0.0011876815697178245, -0.029199250042438507, 0.01871393993496895, 0.04207884147763252, 0.018012166023254395, 0.09747760742902756, -0.04067529737949371, -0.007169089745730162, 0.038308534771203995, -0.01675998419523239, -0.02288329415023327, 0.01570044457912445, -0.005751784425228834, -0.018672658130526543, -0.04163851588964462, 0.0025697266682982445, 0.015301397070288658, -0.022608090192079544, 0.014695946127176285, -0.019305629655718803, 0.04073033854365349, 0.023695148527622223, -0.006020109169185162, -0.04747286066412926, 0.024286840111017227, 0.005652022548019886, 0.023130979388952255, -0.024630846455693245, 0.018342413008213043, -0.03134584799408913, 0.026901287958025932, -0.04917913302779198, -0.0013897852040827274, 0.022415446117520332, 0.03539136052131653, -0.010471549816429615, -0.005387137643992901, 0.005851545836776495, 0.024823490530252457, 0.03310716152191162, 0.028029628098011017, 0.0029859740752726793, 0.0026557280216366053, 0.014076734893023968, -0.04433552175760269, 0.022030159831047058, -0.025827988982200623, 0.035749126225709915, 0.023447465151548386, 0.11668691784143448, 0.013595126569271088, 0.009542732499539852, -0.01400793343782425, 0.07392005622386932, 0.016636140644550323, -0.003452102653682232, -0.014200577512383461, 0.044390562921762466, -0.04361999034881592, -0.020227566361427307, 0.021314626559615135, -0.018452495336532593, 0.037345316261053085, -0.00215003895573318, 0.005338976625353098, -0.039381831884384155, -0.06318706274032593, -0.0038287893403321505, -0.0115998899564147, 0.0025594064500182867, 0.04447312653064728, -0.013753369450569153, -0.002998014446347952, -0.02200263924896717, -0.04788566753268242, -0.02051653154194355, -0.020791737362742424, -0.009859218262135983, 0.02798834629356861, 0.002784730400890112, 0.04582162946462631, -0.016113251447677612, -0.02330986224114895, -0.025470221415162086, -0.007747020572423935, -0.0245620459318161, -0.009460171684622765, 0.0932394489645958, 0.013485044240951538, 0.007327332627028227, 0.00939824990928173, 0.033712610602378845, 0.00017049809684976935, 0.011730612255632877, -0.010430268943309784, -0.008758398704230785, 0.028786441311240196, 0.022842014208436012, 0.035336319357156754, 0.024754688143730164, 0.01282455213367939, -0.00475760642439127, 0.05473827198147774, 0.012686950154602528, 0.029199250042438507, -0.036932509392499924, -0.052619192749261856, -0.041308268904685974, -0.03577664867043495, -0.02606191299855709, -0.029942302033305168, -0.004582162946462631, -0.047390297055244446, -0.0101481843739748, -0.03464830666780472, -0.011001319624483585, 0.02149350941181183, 0.04020744934678078, 0.015865568071603775, 0.019952362403273582, 0.007272291928529739, -0.037455398589372635, 0.0013450643746182323, 0.05702247470617294, -0.03313468024134636, -0.00288449227809906, 0.00040528233512304723, -0.011255883611738682, 0.006484517361968756, -0.0022240004036575556, -0.019787238910794258, -0.0175030380487442, -0.0013295840471982956, -0.0271352119743824, -0.03547392413020134, -0.040757857263088226, -0.004110874608159065, -0.022842014208436012, 0.007946544326841831, 0.00800846517086029, 0.006635880097746849, 0.01988356001675129, -0.013932252302765846, -0.010003700852394104, -0.06340722739696503, -0.045353781431913376, -0.003615505527704954, 0.01282455213367939, -0.008937281556427479, 0.01523259561508894, 0.003794388845562935, -0.015975650399923325, 0.023158499971032143, -0.04381263256072998, 0.013051596470177174, -0.09461547434329987, 0.058508578687906265, 0.00034852130920626223, 0.0012143419589847326, 0.04882136359810829, 0.051463332027196884, 0.008779038675129414, 0.08046993613243103, -0.023530026897788048, 0.006082030013203621, -0.013326801359653473, -0.006801003124564886, 0.025305097922682762, -0.012838312424719334, -0.0024785648565739393, 0.055839091539382935, 0.010175704024732113, 0.018617616966366768, -0.01655358076095581, -0.013829050585627556, 0.06847099959850311, 0.031455930322408676, 0.027699381113052368, 0.02531885914504528, 0.015053712762892246, -0.056472063064575195, -0.008056625723838806, -0.002664328319951892, -0.004922728985548019, -0.0034263019915670156, -0.03024502843618393, 0.0027623700443655252, -0.002896532416343689, 0.011262764222919941, 0.019704677164554596, -0.01922306790947914, -0.023254821076989174, -0.003438342362642288, -0.04884888604283333, -0.009762897156178951, 0.04243661090731621, -0.024520764127373695, 0.017709441483020782, -0.0009700976079329848, 0.05627942085266113, 0.03828101232647896, -0.02767186239361763, -0.009136805310845375, 0.023433703929185867, 0.01234294380992651, 0.033162202686071396, 0.03833605349063873, 0.0365472212433815, -0.007884622551500797, -0.07661706954240799, -0.014517063274979591, 0.03175865486264229, -0.029336851090192795, 0.03109816275537014, -0.002504365285858512, -0.05138077214360237, -0.03098808228969574, -0.005036251153796911, 0.017929604277014732, -0.011785653419792652, -0.04879384487867355, 0.026034392416477203, 0.08245141059160233, 0.030905520543456078, 0.0017527117161080241, -0.00016189792950171977, 0.013712088577449322, 0.0020244766492396593, 0.01933315023779869, -0.004809207282960415, 0.013030956499278545, -0.05713255703449249, 0.01201957743614912, 0.0019350351067259908, -0.01933315023779869, -0.008207988925278187, 0.005940987728536129, 0.07028735429048538, 0.03762052208185196, 0.03313468024134636, 0.04703253135085106, 0.01633341610431671, -0.0363270565867424, -0.06263665854930878, -0.0010096583282575011, -0.012900234200060368, -0.05916907265782356, 0.020777976140379906, 0.01164805144071579, 0.010698594152927399, -0.0009666575351729989, 0.024507004767656326, -0.024286840111017227, 0.02648847922682762, -0.016209574416279793, -0.03340988606214523, -0.0009993381099775434, -0.010595392435789108, -0.0007288632332347333, 0.035969290882349014, 0.010581632144749165, -0.006057949736714363, 0.0372077152132988, 0.05300448089838028, -0.009914259426295757, 0.05286687985062599, 0.01633341610431671, 0.023144738748669624, -0.010216984897851944, 0.0071002887561917305, -0.02724529430270195, -0.004558082669973373, -0.008331830613315105, -0.004148715175688267, 0.019800998270511627, -0.04975706338882446, 0.012322302907705307, 0.008015344850718975, -0.05922411382198334, 0.010753635317087173, 0.07204866409301758, -0.03409789875149727, -0.04106058552861214, 0.005280495621263981, 0.03068535588681698, 0.05330720543861389, 0.021507270634174347, -0.043757591396570206, -0.022277843207120895, -0.020654134452342987, 0.018768979236483574, 0.03453822433948517, -0.03984968364238739, 0.031015602871775627, 0.015328917652368546, 0.020970620214939117, -0.03418045863509178, -0.017668159678578377, 0.036272019147872925, 0.020227566361427307, -0.0005465399008244276, 0.009006083011627197, -0.005308016203343868, 0.03740035742521286, 0.053582411259412766, -0.004699124954640865, -0.019498273730278015, 0.022498007863759995, -0.03569408506155014, -0.022800732403993607, 0.02285577356815338, -0.09626670181751251, 0.07166337966918945, -0.0314008891582489, 0.013801530003547668, 0.07083776593208313, -0.007437414955347776, 0.06847099959850311, 0.004399839788675308, 0.03357500955462456, 0.0046578445471823215, -0.028924044221639633, -0.013319921679794788, -0.01415929663926363, -0.028401155024766922, -0.01675998419523239, 0.03357500955462456, 0.0039801523089408875, -0.017337914556264877 ], "result": "--- 结果 1 (相似度: 1.000) ---\n文件路径: C:\\Steam\\steamapps\\common\\RimWorld\\Data\\dll1.6\\Verse\\HediffDef.txt\n\npublic class HediffDef : Def, IRenderNodePropertiesParent\n{\n\tprivate class ReportStringOverride\n\t{\n\t\tpublic JobDef jobDef;\n\n\t\t[MustTranslate]\n\t\tpublic string reportString;\n\t}\n\n\tpublic Type hediffClass = typeof(Hediff);\n\n\tpublic List comps;\n\n\t[MustTranslate]\n\tpublic string descriptionShort;\n\n\t[NoTranslate]\n\tpublic string debugLabelExtra;\n\n\tpublic float initialSeverity = 0.5f;\n\n\tpublic float lethalSeverity = -1f;\n\n\tpublic List stages;\n\n\tpublic bool tendable;\n\n\tpublic bool isBad = true;\n\n\tpublic ThingDef spawnThingOnRemoved;\n\n\tpublic float chanceToCauseNoPain;\n\n\tpublic bool canApplyDodChanceForCapacityChanges;\n\n\tpublic bool makesSickThought;\n\n\tpublic bool makesAlert = true;\n\n\tpublic NeedDef chemicalNeed;\n\n\tpublic float minSeverity;\n\n\tpublic float maxSeverity = float.MaxValue;\n\n\tpublic bool scenarioCanAdd;\n\n\tpublic List hediffGivers;\n\n\tpublic bool cureAllAtOnceIfCuredByItem;\n\n\tpublic TaleDef taleOnVisible;\n\n\tpublic bool recordDownedTale = true;\n\n\tpublic bool everCurableByItem = true;\n\n\tpublic List tags;\n\n\tpublic bool priceImpact;\n\n\tpublic float priceOffset;\n\n\tpublic bool chronic;\n\n\tpublic bool keepOnBodyPartRestoration;\n\n\tpublic bool countsAsAddedPartOrImplant;\n\n\tpublic bool blocksSocialInteraction;\n\n\tpublic bool blocksSleeping;\n\n\t[MustTranslate]\n\tpublic string overrideTooltip;\n\n\t[MustTranslate]\n\tpublic string extraTooltip;\n\n\t[MustTranslate]\n\tpublic string inspectString;\n\n\tpublic bool levelIsQuantity;\n\n\tpublic bool removeOnDeathrestStart;\n\n\tpublic bool preventsCrawling;\n\n\tpublic bool preventsPregnancy;\n\n\tpublic bool preventsLungRot;\n\n\tpublic bool pregnant;\n\n\tpublic bool allowMothballIfLowPriorityWorldPawn;\n\n\tpublic List removeWithTags;\n\n\tpublic List onlyLifeThreateningTo;\n\n\tpublic bool canAffectBionicOrImplant = true;\n\n\tpublic bool alwaysShowSeverity;\n\n\tpublic bool showGizmosOnCorpse;\n\n\tpublic BodyPartDef defaultInstallPart;\n\n\tpublic Color? hairColorOverride;\n\n\tpublic List possiblePathways;\n\n\tpublic List givesInfectionPathways;\n\n\tpublic bool duplicationAllowed = true;\n\n\tpublic bool preventsDeath;\n\n\tpublic List allowedMeditationFocusTypes;\n\n\tpublic List abilities;\n\n\tpublic bool isInfection;\n\n\tpublic bool forceRemoveOnResurrection;\n\n\tpublic bool organicAddedBodypart;\n\n\tpublic bool deprioritizeHealing;\n\n\tpublic bool clearsEgo;\n\n\tpublic List aptitudes;\n\n\tpublic SimpleCurve removeOnRedressChanceByDaysCurve = new SimpleCurve\n\t{\n\t\tnew CurvePoint(0f, 0f),\n\t\tnew CurvePoint(1f, 0f)\n\t};\n\n\tpublic bool removeOnQuestLodgers;\n\n\tpublic List removeOnRedressIfNotOfKind;\n\n\tpublic bool displayWound;\n\n\tpublic float? woundAnchorRange;\n\n\tpublic Color defaultLabelColor = Color.white;\n\n\tprivate List renderNodeProperties;\n\n\tpublic Color? skinColorOverride;\n\n\tpublic Color? skinColorTint;\n\n\tpublic float skinColorTintStrength = 0.5f;\n\n\tpublic ShaderTypeDef skinShader;\n\n\tpublic bool forceRenderTreeRecache;\n\n\tpublic InjuryProps injuryProps;\n\n\tpublic AddedBodyPartProps addedPartProps;\n\n\tprivate List reportStringOverrides;\n\n\t[MustTranslate]\n\tpublic string labelNoun;\n\n\t[MustTranslate]\n\tpublic string battleStateLabel;\n\n\t[MustTranslate]\n\tpublic string labelNounPretty;\n\n\t[MustTranslate]\n\tpublic string targetPrefix;\n\n\tprivate bool alwaysAllowMothballCached;\n\n\tprivate bool alwaysAllowMothball;\n\n\tprivate string descriptionCached;\n\n\tprivate Dictionary reportStringOverridesDict;\n\n\tprivate Hediff concreteExampleInt;\n\n\tpublic bool HasDefinedGraphicProperties\n\t{\n\t\tget\n\t\t{\n\t\t\tif (renderNodeProperties.NullOrEmpty())\n\t\t\t{\n\t\t\t\treturn skinShader != null;\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t}\n\n\tpublic List RenderNodeProperties => renderNodeProperties ?? PawnRenderUtility.EmptyRenderNodeProperties;\n\n\tpublic bool IsAddiction => typeof(Hediff_Addiction).IsAssignableFrom(hediffClass);\n\n\tpublic bool AlwaysAllowMothball\n\t{\n\t\tget\n\t\t{\n\t\t\tif (!alwaysAllowMothballCached)\n\t\t\t{\n\t\t\t\talwaysAllowMothball = true;\n\t\t\t\tif (comps != null && comps.Count > 0)\n\t\t\t\t{\n\t\t\t\t\talwaysAllowMothball = false;\n\t\t\t\t}\n\t\t\t\tif (stages != null)\n\t\t\t\t{\n\t\t\t\t\tfor (int i = 0; i < stages.Count; i++)\n\t\t\t\t\t{\n\t\t\t\t\t\tHediffStage hediffStage = stages[i];\n\t\t\t\t\t\tif (hediffStage.deathMtbDays > 0f || (hediffStage.hediffGivers != null && hediffStage.hediffGivers.Count > 0))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\talwaysAllowMothball = false;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\talwaysAllowMothballCached = true;\n\t\t\t}\n\t\t\treturn alwaysAllowMothball;\n\t\t}\n\t}\n\n\tpublic Hediff ConcreteExample => concreteExampleInt ?? (concreteExampleInt = HediffMaker.Debug_MakeConcreteExampleHediff(this));\n\n\tpublic string Description\n\t{\n\t\tget\n\t\t{\n\t\t\tif (descriptionCached == null)\n\t\t\t{\n\t\t\t\tif (!descriptionShort.NullOrEmpty())\n\t\t\t\t{\n\t\t\t\t\tdescriptionCached = descriptionShort;\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tdescriptionCached = description;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn descriptionCached;\n\t\t}\n\t}\n\n\tpublic bool HasComp(Type compClass)\n\t{\n\t\tif (comps != null)\n\t\t{\n\t\t\tfor (int i = 0; i < comps.Count; i++)\n\t\t\t{\n\t\t\t\tif (comps[i].compClass == compClass)\n\t\t\t\t{\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic HediffCompProperties CompPropsFor(Type compClass)\n\t{\n\t\tif (comps != null)\n\t\t{\n\t\t\tfor (int i = 0; i < comps.Count; i++)\n\t\t\t{\n\t\t\t\tif (comps[i].compClass == compClass)\n\t\t\t\t{\n\t\t\t\t\treturn comps[i];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tpublic T CompProps() where T : HediffCompProperties\n\t{\n\t\tif (comps != null)\n\t\t{\n\t\t\tfor (int i = 0; i < comps.Count; i++)\n\t\t\t{\n\t\t\t\tif (comps[i] is T result)\n\t\t\t\t{\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tpublic bool PossibleToDevelopImmunityNaturally()\n\t{\n\t\tHediffCompProperties_Immunizable hediffCompProperties_Immunizable = CompProps();\n\t\tif (hediffCompProperties_Immunizable != null && (hediffCompProperties_Immunizable.immunityPerDayNotSick > 0f || hediffCompProperties_Immunizable.immunityPerDaySick > 0f))\n\t\t{\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic string PrettyTextForPart(BodyPartRecord bodyPart)\n\t{\n\t\tif (labelNounPretty.NullOrEmpty())\n\t\t{\n\t\t\treturn null;\n\t\t}\n\t\treturn labelNounPretty.Formatted(label, bodyPart.Label);\n\t}\n\n\tpublic override void ResolveReferences()\n\t{\n\t\tbase.ResolveReferences();\n\t\tif (comps != null)\n\t\t{\n\t\t\tfor (int i = 0; i < comps.Count; i++)\n\t\t\t{\n\t\t\t\tcomps[i].ResolveReferences(this);\n\t\t\t}\n\t\t}\n\t\tif (renderNodeProperties != null)\n\t\t{\n\t\t\tfor (int j = 0; j < renderNodeProperties.Count; j++)\n\t\t\t{\n\t\t\t\trenderNodeProperties[j].ResolveReferencesRecursive();\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic int StageAtSeverity(float severity)\n\t{\n\t\tif (stages == null)\n\t\t{\n\t\t\treturn 0;\n\t\t}\n\t\tfor (int num = stages.Count - 1; num >= 0; num--)\n\t\t{\n\t\t\tif (severity >= stages[num].minSeverity)\n\t\t\t{\n\t\t\t\treturn num;\n\t\t\t}\n\t\t}\n\t\treturn 0;\n\t}\n\n\tpublic int AptitudeFor(SkillDef skill)\n\t{\n\t\tint num = 0;\n\t\tif (aptitudes.NullOrEmpty())\n\t\t{\n\t\t\treturn num;\n\t\t}\n\t\tfor (int i = 0; i < aptitudes.Count; i++)\n\t\t{\n\t\t\tif (aptitudes[i].skill == skill)\n\t\t\t{\n\t\t\t\tnum += aptitudes[i].level;\n\t\t\t}\n\t\t}\n\t\treturn num;\n\t}\n\n\tpublic override IEnumerable ConfigErrors()\n\t{\n\t\tforeach (string item in base.ConfigErrors())\n\t\t{\n\t\t\tyield return item;\n\t\t}\n\t\tif (hediffClass == null)\n\t\t{\n\t\t\tyield return \"hediffClass is null\";\n\t\t}\n\t\tif (!comps.NullOrEmpty() && !typeof(HediffWithComps).IsAssignableFrom(hediffClass))\n\t\t{\n\t\t\tyield return \"has comps but hediffClass is not HediffWithComps or subclass thereof\";\n\t\t}\n\t\tif (minSeverity > initialSeverity)\n\t\t{\n\t\t\tyield return \"minSeverity is greater than initialSeverity\";\n\t\t}\n\t\tif (maxSeverity < initialSeverity)\n\t\t{\n\t\t\tyield return \"maxSeverity is lower than initialSeverity\";\n\t\t}\n\t\tif (!tendable && HasComp(typeof(HediffComp_TendDuration)))\n\t\t{\n\t\t\tyield return \"has HediffComp_TendDuration but tendable = false\";\n\t\t}\n\t\tif (string.IsNullOrEmpty(description))\n\t\t{\n\t\t\tyield return \"Hediff with defName \" + defName + \" has no description!\";\n\t\t}\n\t\tif (possiblePathways != null)\n\t\t{\n\t\t\tfor (int i = 0; i < possiblePathways.Count - 1; i++)\n\t\t\t{\n\t\t\t\tHediffInfectionPathway vector = possiblePathways[i];\n\t\t\t\tfor (int k = i + 1; k < possiblePathways.Count; k++)\n\t\t\t\t{\n\t\t\t\t\tHediffInfectionPathway hediffInfectionPathway = possiblePathways[k];\n\t\t\t\t\tif (vector.PathwayDef == hediffInfectionPathway.PathwayDef)\n\t\t\t\t\t{\n\t\t\t\t\t\tyield return \"Multiple possible infection vectors of type: \" + vector.PathwayDef.defName;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (string.IsNullOrEmpty(vector.Explanation))\n\t\t\t\t{\n\t\t\t\t\tyield return \"Missing explanation for possible infection vector: \" + vector.PathwayDef.defName;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (comps != null)\n\t\t{\n\t\t\tfor (int i = 0; i < comps.Count; i++)\n\t\t\t{\n\t\t\t\tforeach (string item2 in comps[i].ConfigErrors(this))\n\t\t\t\t{\n\t\t\t\t\tyield return $\"{comps[i]}: {item2}\";\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (stages != null)\n\t\t{\n\t\t\tif (!typeof(Hediff_Addiction).IsAssignableFrom(hediffClass))\n\t\t\t{\n\t\t\t\tfor (int i = 0; i < stages.Count; i++)\n\t\t\t\t{\n\t\t\t\t\tif (i >= 1 && stages[i].minSeverity <= stages[i - 1].minSeverity)\n\t\t\t\t\t{\n\t\t\t\t\t\tyield return \"stages are not in order of minSeverity\";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tfor (int i = 0; i < stages.Count; i++)\n\t\t\t{\n\t\t\t\tif (stages[i].hediffGivers != null)\n\t\t\t\t{\n\t\t\t\t\tfor (int j = 0; j < stages[i].hediffGivers.Count; j++)\n\t\t\t\t\t{\n\t\t\t\t\t\tforeach (string item3 in stages[i].hediffGivers[j].ConfigErrors())\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tyield return item3;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (stages[i].minSeverity > maxSeverity)\n\t\t\t\t{\n\t\t\t\t\tyield return $\"minSeverity of stage {i} is greater than maxSeverity.\";\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (hediffGivers == null)\n\t\t{\n\t\t\tyield break;\n\t\t}\n\t\tfor (int i = 0; i < hediffGivers.Count; i++)\n\t\t{\n\t\t\tforeach (string item4 in hediffGivers[i].ConfigErrors())\n\t\t\t{\n\t\t\t\tyield return item4;\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic override IEnumerable SpecialDisplayStats(StatRequest req)\n\t{\n\t\tif (stages == null || stages.Count != 1)\n\t\t{\n\t\t\tyield break;\n\t\t}\n\t\tforeach (StatDrawEntry item in stages[0].SpecialDisplayStats())\n\t\t{\n\t\t\tyield return item;\n\t\t}\n\t}\n\n\tpublic bool TryGetReportStringOverrideFor(JobDef def, out string str)\n\t{\n\t\tif (reportStringOverrides.NullOrEmpty())\n\t\t{\n\t\t\tstr = null;\n\t\t\treturn false;\n\t\t}\n\t\tif (reportStringOverridesDict == null)\n\t\t{\n\t\t\treportStringOverridesDict = new Dictionary();\n\t\t\tif (reportStringOverrides != null)\n\t\t\t{\n\t\t\t\tforeach (ReportStringOverride reportStringOverride in reportStringOverrides)\n\t\t\t\t{\n\t\t\t\t\treportStringOverridesDict[reportStringOverride.jobDef] = reportStringOverride.reportString;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn reportStringOverridesDict.TryGetValue(def, out str);\n\t}\n\n\tpublic static HediffDef Named(string defName)\n\t{\n\t\treturn DefDatabase.GetNamed(defName);\n\t}\n}\n\n", "timestamp": "2025-08-26 17:56:00,201" }, "ApplyDamageToPart-DamageWorker": { "keywords": [ "DamageWorker", "ApplyDamageToPart" ], "question": "RimWorld DamageWorker ApplyDamageToPart", "embedding": [ 0.05833260715007782, 0.0039617326110601425, 0.01326967403292656, -0.0016489468980580568, -0.017621899023652077, -0.00972683448344469, 0.020277254283428192, -0.007341274991631508, 0.011736100539565086, 0.09315041452646255, 0.0006700510857626796, -0.04450204223394394, -0.035130202770233154, -0.02859831228852272, 0.004267027135938406, 0.002069614827632904, -0.05736702308058739, -0.10848615318536758, -0.024068590253591537, -0.01311347633600235, 0.01313477661460638, -0.013518169522285461, -0.007646569982171059, -0.04063970968127251, -0.011885197833180428, -0.010933813638985157, -0.03339783102273941, 0.038026951253414154, 0.013653067871928215, -0.014838747680187225, -0.003929783124476671, 0.009698434732854366, 0.013567868620157242, -0.013248374685645103, -0.060377370566129684, 0.050096746534109116, -0.013312273658812046, -0.018388686701655388, -0.02766112983226776, 0.02127123810350895, -0.010585919953882694, -0.02034825272858143, 0.017224306240677834, -0.020305654034018517, 0.004100180231034756, 0.0011874547926709056, -0.0025719311088323593, -0.07934825122356415, -0.05475426837801933, 0.019908061251044273, 0.04115089774131775, -0.0024175087455660105, -0.001174142467789352, -0.0198228619992733, 0.010202526114881039, -0.0483359768986702, -0.03214825317263603, -0.009535137563943863, 0.0084914555773139, 0.006705835927277803, 0.01878627948462963, 0.0177638977766037, -0.0016240973491221666, -0.022464018315076828, -0.014682549983263016, -0.0037025869823992252, -0.07219157367944717, 7.737759005976841e-05, 0.006815883796662092, -0.032233450561761856, -0.004902466665953398, 0.022648613899946213, 0.03427821770310402, 0.004423224832862616, -0.019837062805891037, 0.02436678484082222, -0.009918531402945518, 0.03691937029361725, -0.03447701409459114, 0.022833211347460747, -0.009073645807802677, 0.021441634744405746, -0.02947869710624218, -0.014192658476531506, 0.018985075876116753, 0.02953549660742283, -0.006343741901218891, -0.006560288369655609, -0.01145920529961586, 0.0681588426232338, -0.007277376018464565, -0.0051509621553123, 0.06208134442567825, -0.001966666430234909, 0.005055113695561886, -0.034619010984897614, -0.03092707321047783, 0.0325174480676651, -0.01790589466691017, 0.012261491268873215, -9.024611790664494e-05, 0.049159564077854156, -0.03345463052392006, 0.04152009263634682, -0.050465941429138184, 0.04058291018009186, -0.018772080540657043, 0.015562934800982475, -0.006812334060668945, 0.010415522381663322, 0.012453188188374043, -0.0550098642706871, -0.0021494883112609386, 0.05395908281207085, 0.004032731521874666, -0.01945366896688938, 0.0001792719413060695, 0.013929963111877441, -0.007596870418637991, 0.015108542516827583, 0.042656075209379196, -0.009244042448699474, -0.016017327085137367, -0.035499393939971924, 0.015719132497906685, -0.015832729637622833, -0.0062691932544112206, 0.041576892137527466, -0.0034878156147897243, 0.020930442959070206, -0.004866966977715492, -0.0008639665320515633, 0.02653934806585312, 0.017323704436421394, -0.025176171213388443, -0.027348734438419342, 0.0006301142857410014, 0.04842117428779602, -0.02369939722120762, 0.046944402158260345, -0.04393405094742775, 0.020419253036379814, 0.046944402158260345, -0.01313477661460638, 0.12166352570056915, -0.02638315036892891, -0.042258478701114655, 0.009364740923047066, -0.07043080031871796, 0.004572322126477957, -0.048193980008363724, -0.011260407976806164, -0.029194703325629234, 0.05418627709150314, 0.008583753369748592, -0.014263656921684742, 0.028214920312166214, -0.046376410871744156, 0.011601202189922333, -0.03081347607076168, -0.02493477612733841, -0.0005120787536725402, 0.0012362664565443993, -0.007114078849554062, 0.020021658390760422, -0.035584595054388046, -0.018814679235219955, 0.012857881374657154, -0.0007920802454464138, -0.02389819361269474, -0.0703740045428276, 0.017820697277784348, -0.02767532877624035, -0.019524667412042618, -0.004043381195515394, 0.015037544071674347, -0.02235041931271553, 0.029450299218297005, -0.002602105727419257, 0.019837062805891037, -0.004483573604375124, 0.003281919052824378, 0.02425318770110607, 0.04123609885573387, 0.01248868741095066, -0.03833934664726257, -0.011359806172549725, 0.019027676433324814, 0.0368625707924366, 0.028868108987808228, 0.04969915375113487, 0.07718988507986069, -0.017891695722937584, -0.01429915614426136, -0.031665459275245667, 0.023827195167541504, 0.015051743946969509, 0.04373525455594063, -0.0964447557926178, -0.03265944495797157, -0.006602887529879808, -0.009357640519738197, -0.013440071605145931, -0.0015823855064809322, 0.05384548380970955, -0.005878699943423271, -0.025161972269415855, -0.005253910552710295, 0.04032731428742409, 0.0014705624198541045, 0.017792297527194023, 0.001799819408915937, 0.03814055025577545, -0.041065700352191925, 0.012595185078680515, 0.010088928043842316, -0.029819492250680923, -0.010159927420318127, 0.01755090057849884, 0.04103730246424675, -0.05600384622812271, 0.057225026190280914, -0.02029145509004593, 0.012872081249952316, 0.01564813405275345, -0.005743802059441805, 0.030529480427503586, -0.020532850176095963, 0.033227432519197464, 0.006524788681417704, 0.045041631907224655, -0.0028914257418364286, -0.11081491410732269, -0.0006079271552152932, 0.029194703325629234, -0.02591455914080143, -0.03345463052392006, -0.07156678289175034, -0.013425871729850769, 0.011111310683190823, 0.01709650829434395, 0.03944692760705948, -0.023557398468255997, 0.005221961066126823, 0.0024796328507363796, -0.015818530693650246, -0.023940792307257652, 0.029847892001271248, 0.005956798791885376, -0.024650780484080315, -0.0017785197123885155, 0.014625751413404942, -0.01823248900473118, -0.01792009547352791, 0.05126112699508667, -0.005999397952109575, 0.021924426779150963, -0.01120360940694809, -0.008129362016916275, 0.004057581070810556, -0.003029873361811042, 0.041633691638708115, -0.02256341651082039, 0.010877015069127083, -0.006396991200745106, 0.04330926388502121, 0.02849891409277916, -0.0017527826130390167, -0.011480504646897316, -0.014980744570493698, 0.005924849305301905, 0.04847797378897667, 0.021697230637073517, -0.02756172977387905, -0.0047569191083312035, -0.007011130452156067, 0.01292887981981039, 0.0032978937961161137, 0.009201443754136562, -0.029081104323267937, -0.0204334519803524, -0.01962406560778618, 0.000633664196357131, -0.04174729064106941, 0.015548734925687313, 0.07792827486991882, 0.037600960582494736, -0.03882214054465294, 0.02493477612733841, 0.043337661772966385, -0.02172563038766384, 0.008399156853556633, 0.025644762441515923, -0.0004193366039544344, -0.005378158297389746, 0.008995546959340572, 0.06071816757321358, 0.012446087785065174, -0.032034654170274734, -0.0116935009136796, -0.031409863382577896, -0.03067147731781006, -0.0020483150146901608, -0.0038836337625980377, 0.023912392556667328, -0.028314318507909775, -0.024238986894488335, -0.07991623878479004, -0.03402262181043625, -0.10797496140003204, -0.010039228945970535, 0.026979541406035423, -0.034249816089868546, -0.0018637182656675577, -0.009549337439239025, 0.0410941019654274, -0.029620695859193802, 0.0001140418098657392, -0.005513056181371212, 0.08235859870910645, -0.0013321147998794913, -0.02395499125123024, -0.02183922752737999, 0.01104741171002388, 0.004962815437465906, 0.006276293192058802, 0.016613716259598732, 0.016187723726034164, 0.009038145653903484, -0.008739951066672802, 0.014093260280787945, -0.002667779568582773, 0.027590129524469376, 0.04288326948881149, 0.0481087826192379, 0.0038232849910855293, -0.03169386088848114, -0.024437783285975456, 0.022733813151717186, 0.0038978336378932, -0.018303487449884415, -0.0141145596280694, 0.01197749562561512, -0.02090204320847988, 0.07423633337020874, 0.008555354550480843, 0.033369433134794235, 0.07292995601892471, 0.0341930165886879, 0.009733933955430984, -0.012360889464616776, 0.02421058714389801, -0.0507783368229866, -0.004934416152536869, 0.003695487044751644, 0.009173044003546238, -0.0012149667600169778, 0.0023039106745272875, -0.06230853870511055, 0.005733152385801077, -0.010365823283791542, -0.0023997591342777014, 0.00025204572011716664, 0.001560198375955224, 0.012864980846643448, 0.01621612347662449, 0.027036339044570923, 0.038168951869010925, -0.0424288772046566, 0.05759422108530998, -0.03799855336546898, -0.08423296362161636, 0.055265460163354874, 0.024409383535385132, -0.015207940712571144, -0.0017980444245040417, 0.008356558158993721, -0.013219974935054779, -0.006673886440694332, 0.016074126586318016, -0.03410781919956207, -0.012857881374657154, -0.013148976489901543, -0.05069313570857048, -0.01909867487847805, 0.014050660654902458, 0.05682743340730667, -0.00572960264980793, 0.019652465358376503, -0.06333091855049133, 0.060206975787878036, 0.012268590740859509, -0.012382188811898232, -0.009272442199289799, -0.0024601081386208534, 0.009684234857559204, 0.007717568427324295, -0.002307460643351078, 0.03870854154229164, -0.0022648614831268787, -0.03300023823976517, 0.005857400130480528, -0.06651166826486588, -0.004728519357740879, 0.041378095746040344, -0.015619734302163124, 0.017266906797885895, -0.018857279792428017, -0.0623653382062912, 0.008129362016916275, 0.0015362363774329424, -0.07315715402364731, 0.09883031994104385, 0.01143790502101183, -0.0339658223092556, -0.021825028583407402, 0.03745896369218826, -0.004753368906676769, 0.01590372994542122, -0.05305029824376106, -0.04347965866327286, 0.010245125740766525, -0.00419602869078517, -0.008810949511826038, 0.008306858129799366, -0.007930564694106579, -0.008853549137711525, 0.0014856497291475534, 0.0003911589737981558, 0.011608302593231201, -0.042400479316711426, -0.023628396913409233, -0.05327749252319336, 0.04217328131198883, 0.0001627425372134894, -0.009322141297161579, 0.009613236412405968, 0.0176502987742424, -0.03353982791304588, -0.02080264501273632, -0.03717496618628502, -0.0014962995192036033, 0.04651840776205063, 0.006560288369655609, -0.07576990872621536, -0.013255474157631397, 0.005992298014461994, -0.002751203253865242, 0.009662935510277748, -0.0008768350817263126, -0.007738868240267038, 0.00749747222289443, 0.03782815486192703, 0.013326473534107208, -0.012630685232579708, 0.021200239658355713, -0.011011912487447262, -0.02297520823776722, -0.005158062092959881, -0.026766544207930565, -0.001037469832226634, -0.018970876932144165, -0.023301802575588226, 0.01148760411888361, -0.016429120674729347, 0.006084596272557974, -0.026667146012187004, 0.00213528866879642, 0.024196388199925423, 0.005960348527878523, -0.05472586676478386, 0.014810347929596901, -0.023145606741309166, 0.02916630357503891, 0.018360286951065063, -0.07537231594324112, 0.0038232849910855293, 0.03924813121557236, 0.0077743674628436565, -0.022165821865200996, 0.024920575320720673, 0.03413621708750725, -0.055208660662174225, 0.005520156119018793, -0.11984595656394958, 0.003218020312488079, -0.02158363163471222, -0.037032969295978546, 0.02188182808458805, 0.0016027976525947452, -0.0024121839087456465, -0.048080381006002426, 0.024508781731128693, 0.07582671195268631, -0.007689169142395258, 0.040497709065675735, 0.0011466305004432797, -0.08536894619464874, -0.029705893248319626, -0.10485101491212845, -0.02812972106039524, 0.02467918023467064, -0.04413284733891487, -0.03175066038966179, 0.013383272103965282, -0.013866064138710499, 0.02076004631817341, 0.006766184698790312, -0.029194703325629234, 0.002850601449608803, 0.014597351662814617, -0.046688806265592575, 0.0567990317940712, -0.0024672080762684345, -0.02007845789194107, 0.026922741904854774, 0.06679566204547882, -0.0004619358805939555, 0.03035908378660679, 0.007824067026376724, -0.029052704572677612, -0.015378338284790516, 0.05131792649626732, -0.014043561182916164, -0.022520815953612328, -0.033625029027462006, 0.00903104618191719, -0.034051019698381424, 0.04152009263634682, -0.004934416152536869, -0.012850780971348286, 0.0008652977412566543, 0.04169049113988876, 0.060945361852645874, 0.12825222313404083, 0.0015646358951926231, 0.032347049564123154, 0.004817267879843712, 0.037089768797159195, 0.042514074593782425, 0.03689097240567207, 0.03328423202037811, 0.01605992577970028, -0.008136461488902569, 0.01463995035737753, 0.04524042829871178, 0.0205470509827137, -0.03754416108131409, 0.002612755401059985, -0.003031648462638259, 0.013532369397580624, 0.06980600953102112, -0.007213477045297623, -0.01579013094305992, 0.050977133214473724, 0.0063614915125072, 0.05145992338657379, 0.042769670486450195, -0.0155913345515728, 0.002696179086342454, -0.014725149609148502, -0.006886882707476616, 0.010564619675278664, 0.0007188627496361732, 0.006897532381117344, 0.01946786791086197, -0.030330684036016464, 0.05586184933781624, -0.06918121874332428, -0.028882307931780815, -0.023344403132796288, 0.018615882843732834, -0.02818652056157589, 0.008974247612059116, 0.005111912731081247, -0.023046206682920456, 0.029336700215935707, -0.04754079133272171, 0.03598218783736229, 0.020305654034018517, -0.0006731572793796659, 0.017408903688192368, -0.016429120674729347, -0.03339783102273941, 0.03211985155940056, 0.024451984092593193, 0.022265220060944557, 0.0012424788437783718, 0.03231864795088768, 0.009144644252955914, 0.05554945394396782, 0.04986955225467682, -0.05895739421248436, -0.016400720924139023, -0.0020412153098732233, 0.038850538432598114, 0.0044125746935606, 0.014725149609148502, 0.006563838105648756, 0.038168951869010925, 0.0013915762538090348, -0.08264259248971939, -0.014135858975350857, -0.02158363163471222, 0.02074584737420082, -0.0020962392445653677, -0.0175935011357069, -0.014235257171094418, 0.029876291751861572, -0.02301780879497528, -0.0019027675734832883, 0.05878699943423271, 0.03939012810587883, 0.007369674276560545, 0.03226185217499733, -0.0038481345400214195, 0.020362453535199165, 0.0036990370135754347, 0.003571239300072193, -0.018814679235219955, -0.03845294564962387, -0.0020128157921135426, 0.0408669039607048, -0.02885390818119049, -0.041946087032556534, 0.044274844229221344, -0.025005774572491646, -0.0076607693918049335, -0.020816845819354057, 0.004274127073585987, -0.017976893112063408, -0.0024547833018004894, -0.055521056056022644, 0.028740311041474342, 0.04200288653373718, 0.01145920529961586, -0.0033138685394078493, 0.0003993682039435953, -0.05285150185227394, 0.024579782038927078, 0.01352526992559433, 0.009322141297161579, -0.06685246527194977, 0.0076607693918049335, 0.014341755770146847, -0.053192295134067535, -0.05165871977806091, -0.030387481674551964, -0.010905413888394833, -0.01676991395652294, 0.006886882707476616, 0.011217809282243252, -0.0009021284058690071, -0.008562454022467136, -0.00877545028924942, 0.026397351175546646, -0.007362574804574251, -0.005836100783199072, -0.009180143475532532, -0.01065691839903593, -0.04913116246461868, -0.011182309128344059, 0.00021920877043157816, 0.00257548107765615, 0.050607938319444656, 0.03655017912387848, -0.006560288369655609, -0.01032322458922863, 0.0026163053698837757, 0.006986280903220177, -0.0077459681779146194, 0.0021903126034885645, 0.0075187720358371735, -0.017210107296705246, 0.04898916557431221, -0.007568471133708954, -0.029507096856832504, 0.01986546255648136, 0.04583682119846344, 0.01821829006075859, -0.03598218783736229, 0.003610288491472602, -0.03004668839275837, -0.009315041825175285, -0.03748736158013344, 0.03433501347899437, 0.015378338284790516, 0.03578339144587517, -0.023912392556667328, 0.044473644345998764, 0.02183922752737999, -0.10774776339530945, 0.021924426779150963, 0.039304930716753006, -0.028527313843369484, -0.006964981555938721, -0.08792490512132645, -0.009123344905674458, 0.04319566488265991, 0.03282983973622322, 0.08349458128213882, -0.05421467497944832, -0.034874606877565384, 0.031012272462248802, 0.01672731526196003, -0.026056556031107903, -0.01821829006075859, -0.011338506825268269, -0.007153128273785114, -0.05049433931708336, 0.013894462957978249, 0.05884379893541336, 0.03169386088848114, -0.007618170231580734, -0.03035908378660679, 0.033994220197200775, -0.02601395733654499, 0.006695185787975788, -0.035641394555568695, 0.013610468246042728, 0.008803850039839745, 0.015889529138803482, -0.020476050674915314, -0.013148976489901543, 0.025005774572491646, 0.018246689811348915, -0.019680865108966827, -0.006549638696014881, -0.008399156853556633, 0.060945361852645874, -0.0037948854733258486, -0.02111504040658474, -0.0024476833641529083, 0.04589361697435379, -0.015463536605238914, 0.038026951253414154, 0.012815281748771667, -0.02240721881389618, -0.0015806106384843588, 0.0051154629327356815, 0.02084524556994438, -0.022322019562125206, -0.04066810756921768, 0.006933032069355249, 0.06935162097215652, -0.010756316594779491, 0.06015017628669739, 0.04620601236820221, 0.025119371712207794, 0.00401498144492507, -0.012914679944515228, 0.014909746125340462, 0.013589168898761272, -0.0219954252243042, 0.006979180965572596, -0.003281919052824378, -0.006638386752456427, 0.030273884534835815, -0.029137903824448586, -0.005246810615062714, -0.0425424762070179, -0.04969915375113487, 0.017479902133345604, 0.0036315880715847015, -0.0016800089506432414, 0.054697468876838684, -0.0233870018273592, -0.005101263057440519, -0.03158026188611984, -0.04827917739748955, -0.0282291192561388, -0.024906376376748085, -0.02044765092432499, 0.03325583413243294, 0.028939107432961464, 0.06986281275749207, -0.0353005975484848, -0.01946786791086197, -0.07389554381370544, 0.01071371790021658, 0.013851864263415337, -0.03180745989084244, 0.03609578683972359, -0.011317207477986813, 0.01427075732499361, -0.013432971201837063, 0.0014776623575016856, 0.013305173255503178, 0.016386520117521286, 0.002607430564239621, -0.022520815953612328, -0.025062574073672295, 0.028214920312166214, 0.07315715402364731, -0.006549638696014881, 0.015562934800982475, 0.007209927309304476, 0.02090204320847988, 0.00035588143509812653, 0.040753304958343506, -0.020121056586503983, -0.014490853063762188, -0.015179541893303394, -0.024806978181004524, -4.972688839188777e-05, -0.008250059559941292, -0.030160285532474518, -0.05611744523048401, -0.02430998533964157, -0.03243224695324898, -0.00557340495288372, -0.0035002403892576694, 0.01417135912925005, 0.0005094163352623582, 0.0340794213116169, -0.005562755279242992, -0.00010488962288945913, -0.005882249679416418, 0.06015017628669739, -0.027732128277420998, 0.005956798791885376, 0.007973164319992065, 0.009222743101418018, -0.00352863990701735, 0.04248567670583725, 0.008732851594686508, 0.0014927495503798127, -0.005158062092959881, -0.03194945678114891, 0.010976413264870644, -1.72816885424254e-06, -0.05341948941349983, 0.007195727434009314, -0.007192177698016167, 0.03092707321047783, 0.02193862572312355, -0.0018850178457796574, -0.0088251493871212, -0.01473934855312109, -0.04867677018046379, -0.053760286420583725, 0.0012398164253681898, 0.02585775963962078, -0.03200625628232956, 0.020973043516278267, -0.02101564221084118, 0.018871478736400604, -0.025119371712207794, -0.015136942267417908, 0.019127074629068375, -0.10655498504638672, 0.025545364245772362, -0.016400720924139023, 0.0010924938833341002, 0.024224787950515747, 0.0481087826192379, 0.0024494582321494818, 0.05074993520975113, -0.03919133171439171, 0.0024352585896849632, -0.022464018315076828, 0.03913453221321106, 0.03836774826049805, 0.008739951066672802, -0.0005480219260789454, -0.004632670897990465, -0.009052345529198647, -0.014398555271327496, 0.018985075876116753, -0.02070324681699276, 0.048080381006002426, 0.06986281275749207, 0.023145606741309166, 0.0034239166416227818, 0.0023110106121748686, -0.05452707037329674, -0.03413621708750725, -0.013787965290248394, 0.007831166498363018, 0.007419373840093613, 0.002115763956680894, -0.014526352286338806, 0.013993862085044384, -0.005825450643897057, -0.0040753306820988655, 0.008143560960888863, -0.01208399422466755, 0.007831166498363018, -0.014867146499454975, 0.04001491889357567, 0.03302863612771034, 0.021810827776789665, 0.016500119119882584, -0.014100359752774239, 0.0239975918084383, 0.02074584737420082, -0.019297471269965172, -0.01109711080789566, 0.013340672478079796, 0.0029322500340640545, 0.00651768920943141, 0.004032731521874666, 0.0169829111546278, -0.00717442762106657, -0.04027051478624344, -0.017976893112063408, 0.02076004631817341, 0.00023895531194284558, 0.014277856796979904, 0.009584836661815643, -0.026028156280517578, -0.002350060036405921, 0.04836437478661537, 0.013432971201837063, -0.021555233746767044, -0.05157352238893509, 0.023273402824997902, 0.06742045283317566, 0.021299637854099274, -0.009286642074584961, 0.009904331527650356, -0.00013567425776273012, -0.001246916246600449, -0.01733790524303913, -0.004117929842323065, 0.00100995774846524, -0.03757255896925926, 0.0020838144700974226, -0.020362453535199165, -0.025886159390211105, 0.00018348750018049031, 0.008739951066672802, 0.05929819121956825, 0.04850637540221214, 0.026056556031107903, 0.04651840776205063, -0.004923766013234854, -0.016968710348010063, -0.03180745989084244, -0.02797352336347103, -0.013205775059759617, -0.04935836046934128, 0.005836100783199072, -0.0044374242424964905, 0.0397593230009079, 0.00517581170424819, 0.024196388199925423, -0.022236822172999382, 0.02534656785428524, -0.008782550692558289, -0.0038942836690694094, 0.028825508430600166, 0.022023824974894524, -0.0030990971717983484, -0.0327446423470974, 0.005832550581544638, 0.022421417757868767, 0.014824547804892063, 0.032347049564123154, -0.01935427077114582, 0.03351143002510071, 0.0683860331773758, 0.006546088494360447, 0.0006656136829406023, 0.03902093693614006, -0.011544403620064259, -0.020973043516278267, -0.005328459199517965, -0.014781948179006577, 0.0075258719734847546, -0.03691937029361725, 0.042656075209379196, 0.0030458481051027775, -0.03422141820192337, -0.002534656785428524, 0.025587964802980423, -0.02301780879497528, -0.07622430473566055, 0.01233959011733532, 0.0012833031360059977, 0.023685196414589882, 0.010025029070675373, -0.057991813868284225, -0.04825077950954437, -0.0038055351469665766, 0.012744283303618431, 0.004117929842323065, -0.024068590253591537, 0.016230324283242226, -0.0011803548550233245, 0.004018531646579504, -0.02581516094505787, -0.03189265727996826, 0.013141876086592674, 0.012453188188374043, 0.0024547833018004894, 0.012048495002090931, -0.046177614480257034, 0.07474752515554428, 0.04461564123630524, -0.017281105741858482, -0.01811889186501503, 0.015662332996726036, -0.006400540936738253, -0.038282547146081924, 0.04413284733891487, -0.07582671195268631, 0.06100216135382652, 0.017068108543753624, -0.026241153478622437, 0.10564620047807693, -0.03126786649227142, 0.04350806027650833, 0.003581888973712921, 0.035584595054388046, -0.022946808487176895, -0.010479421354830265, -0.0021388386376202106, -0.04464403912425041, -0.0052290610037744045, -0.01187809742987156, 0.019084475934505463, 0.03984452039003372, -0.012552586384117603 ], "result": "--- 结果 1 (相似度: 1.000) ---\n文件路径: C:\\Steam\\steamapps\\common\\RimWorld\\Data\\dll1.6\\Verse\\DamageWorker.txt\n\npublic class DamageWorker\n{\n\tpublic class DamageResult\n\t{\n\t\tpublic bool wounded;\n\n\t\tpublic bool headshot;\n\n\t\tpublic bool deflected;\n\n\t\tpublic bool stunned;\n\n\t\tpublic bool deflectedByMetalArmor;\n\n\t\tpublic bool diminished;\n\n\t\tpublic bool diminishedByMetalArmor;\n\n\t\tpublic Thing hitThing;\n\n\t\tpublic List parts;\n\n\t\tpublic List hediffs;\n\n\t\tpublic float totalDamageDealt;\n\n\t\tpublic BodyPartRecord LastHitPart\n\t\t{\n\t\t\tget\n\t\t\t{\n\t\t\t\tif (parts == null)\n\t\t\t\t{\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t\tif (parts.Count <= 0)\n\t\t\t\t{\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t\treturn parts[parts.Count - 1];\n\t\t\t}\n\t\t}\n\n\t\tpublic void AddPart(Thing hitThing, BodyPartRecord part)\n\t\t{\n\t\t\tif (this.hitThing != null && this.hitThing != hitThing)\n\t\t\t{\n\t\t\t\tLog.ErrorOnce(\"Single damage worker referring to multiple things; will cause issues with combat log\", 30667935);\n\t\t\t}\n\t\t\tthis.hitThing = hitThing;\n\t\t\tif (parts == null)\n\t\t\t{\n\t\t\t\tparts = new List();\n\t\t\t}\n\t\t\tparts.Add(part);\n\t\t}\n\n\t\tpublic void AddHediff(Hediff hediff)\n\t\t{\n\t\t\tif (hediffs == null)\n\t\t\t{\n\t\t\t\thediffs = new List();\n\t\t\t}\n\t\t\thediffs.Add(hediff);\n\t\t}\n\n\t\tpublic void AssociateWithLog(LogEntry_DamageResult log)\n\t\t{\n\t\t\tif (log == null)\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tThing thing = hitThing;\n\t\t\tPawn hitPawn = thing as Pawn;\n\t\t\tif (hitPawn != null)\n\t\t\t{\n\t\t\t\tList list = null;\n\t\t\t\tList recipientPartsDestroyed = null;\n\t\t\t\tif (!parts.NullOrEmpty())\n\t\t\t\t{\n\t\t\t\t\tlist = parts.Distinct().ToList();\n\t\t\t\t\trecipientPartsDestroyed = list.Select((BodyPartRecord part) => hitPawn.health.hediffSet.GetPartHealth(part) <= 0f).ToList();\n\t\t\t\t}\n\t\t\t\tlog.FillTargets(list, recipientPartsDestroyed, deflected);\n\t\t\t}\n\t\t\tif (hediffs != null)\n\t\t\t{\n\t\t\t\tfor (int i = 0; i < hediffs.Count; i++)\n\t\t\t\t{\n\t\t\t\t\thediffs[i].combatLogEntry = new WeakReference(log);\n\t\t\t\t\thediffs[i].combatLogText = log.ToGameStringFromPOV(null);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic DamageDef def;\n\n\tprivate const float ExplosionCamShakeMultiplier = 4f;\n\n\tprivate const float DamageToBuildingsFromFlammabilityMinFactor = 0.05f;\n\n\tprivate static List thingsToAffect = new List();\n\n\tprivate static List openCells = new List();\n\n\tprivate static List adjWallCells = new List();\n\n\tpublic virtual DamageResult Apply(DamageInfo dinfo, Thing victim)\n\t{\n\t\tDamageResult damageResult = new DamageResult();\n\t\tif (victim.SpawnedOrAnyParentSpawned)\n\t\t{\n\t\t\tImpactSoundUtility.PlayImpactSound(victim, dinfo.Def.impactSoundType, victim.MapHeld);\n\t\t}\n\t\tif (victim.def.useHitPoints && dinfo.Def.harmsHealth)\n\t\t{\n\t\t\tfloat num = dinfo.Amount;\n\t\t\tif (victim.def.category == ThingCategory.Building)\n\t\t\t{\n\t\t\t\tnum *= dinfo.Def.buildingDamageFactor;\n\t\t\t\tnum = ((victim.def.passability != Traversability.Impassable) ? (num * dinfo.Def.buildingDamageFactorPassable) : (num * dinfo.Def.buildingDamageFactorImpassable));\n\t\t\t\tif (dinfo.Def.scaleDamageToBuildingsBasedOnFlammability)\n\t\t\t\t{\n\t\t\t\t\tnum *= Mathf.Max(0.05f, victim.GetStatValue(StatDefOf.Flammability));\n\t\t\t\t}\n\t\t\t\tif (dinfo.Instigator is Pawn { IsShambler: not false })\n\t\t\t\t{\n\t\t\t\t\tnum *= 1.5f;\n\t\t\t\t}\n\t\t\t\tif (ModsConfig.BiotechActive && dinfo.Instigator != null && (dinfo.WeaponBodyPartGroup != null || (dinfo.Weapon != null && dinfo.Weapon.IsMeleeWeapon)) && victim.def.IsDoor)\n\t\t\t\t{\n\t\t\t\t\tnum *= dinfo.Instigator.GetStatValue(StatDefOf.MeleeDoorDamageFactor);\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (victim.def.category == ThingCategory.Plant)\n\t\t\t{\n\t\t\t\tnum *= dinfo.Def.plantDamageFactor;\n\t\t\t}\n\t\t\telse if (victim.def.IsCorpse)\n\t\t\t{\n\t\t\t\tnum *= dinfo.Def.corpseDamageFactor;\n\t\t\t}\n\t\t\tdamageResult.totalDamageDealt = Mathf.Min(victim.HitPoints, GenMath.RoundRandom(num));\n\t\t\tvictim.HitPoints -= Mathf.RoundToInt(damageResult.totalDamageDealt);\n\t\t\tif (victim.HitPoints <= 0)\n\t\t\t{\n\t\t\t\tvictim.HitPoints = 0;\n\t\t\t\tvictim.Kill(dinfo);\n\t\t\t}\n\t\t}\n\t\treturn damageResult;\n\t}\n\n\tpublic virtual void ExplosionStart(Explosion explosion, List cellsToAffect)\n\t{\n\t\tif (def.explosionHeatEnergyPerCell > float.Epsilon)\n\t\t{\n\t\t\tGenTemperature.PushHeat(explosion.Position, explosion.Map, def.explosionHeatEnergyPerCell * (float)cellsToAffect.Count);\n\t\t}\n\t\tif (explosion.doVisualEffects)\n\t\t{\n\t\t\tFleckMaker.Static(explosion.Position, explosion.Map, FleckDefOf.ExplosionFlash, explosion.radius * 6f);\n\t\t\tif (explosion.Map == Find.CurrentMap)\n\t\t\t{\n\t\t\t\tfloat magnitude = (explosion.Position.ToVector3Shifted() - Find.Camera.transform.position).magnitude;\n\t\t\t\tFind.CameraDriver.shaker.DoShake(4f * explosion.radius * explosion.screenShakeFactor / magnitude);\n\t\t\t}\n\t\t\tExplosionVisualEffectCenter(explosion);\n\t\t}\n\t}\n\n\tprotected virtual void ExplosionVisualEffectCenter(Explosion explosion)\n\t{\n\t\tfor (int i = 0; i < 4; i++)\n\t\t{\n\t\t\tFleckMaker.ThrowSmoke(explosion.Position.ToVector3Shifted() + Gen.RandomHorizontalVector(explosion.radius * 0.7f), explosion.Map, explosion.radius * 0.6f);\n\t\t}\n\t\tif (def.explosionCenterFleck != null)\n\t\t{\n\t\t\tFleckMaker.Static(explosion.Position.ToVector3Shifted(), explosion.Map, def.explosionCenterFleck);\n\t\t}\n\t\telse if (def.explosionCenterMote != null)\n\t\t{\n\t\t\tMoteMaker.MakeStaticMote(explosion.Position.ToVector3Shifted(), explosion.Map, def.explosionCenterMote);\n\t\t}\n\t\tif (def.explosionCenterEffecter != null)\n\t\t{\n\t\t\tdef.explosionCenterEffecter.Spawn(explosion.Position, explosion.Map, Vector3.zero);\n\t\t}\n\t\tif (def.explosionInteriorMote == null && def.explosionInteriorFleck == null && def.explosionInteriorEffecter == null)\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\tint num = Mathf.RoundToInt(MathF.PI * explosion.radius * explosion.radius / 6f * def.explosionInteriorCellCountMultiplier);\n\t\tfor (int j = 0; j < num; j++)\n\t\t{\n\t\t\tVector3 vector = Gen.RandomHorizontalVector(explosion.radius * def.explosionInteriorCellDistanceMultiplier);\n\t\t\tif (def.explosionInteriorEffecter != null)\n\t\t\t{\n\t\t\t\tVector3 vect = explosion.Position.ToVector3Shifted() + vector;\n\t\t\t\tdef.explosionInteriorEffecter.Spawn(explosion.Position, vect.ToIntVec3(), explosion.Map);\n\t\t\t}\n\t\t\telse if (def.explosionInteriorFleck != null)\n\t\t\t{\n\t\t\t\tFleckMaker.ThrowExplosionInterior(explosion.Position.ToVector3Shifted() + vector, explosion.Map, def.explosionInteriorFleck);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tMoteMaker.ThrowExplosionInteriorMote(explosion.Position.ToVector3Shifted() + vector, explosion.Map, def.explosionInteriorMote);\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic virtual void ExplosionAffectCell(Explosion explosion, IntVec3 c, List damagedThings, List ignoredThings, bool canThrowMotes)\n\t{\n\t\tif (explosion.doVisualEffects && (def.explosionCellMote != null || def.explosionCellFleck != null) && canThrowMotes)\n\t\t{\n\t\t\tfloat t = Mathf.Clamp01((explosion.Position - c).LengthHorizontal / explosion.radius);\n\t\t\tColor color = Color.Lerp(def.explosionColorCenter, def.explosionColorEdge, t);\n\t\t\tif (def.explosionCellMote != null)\n\t\t\t{\n\t\t\t\tif (c.GetFirstThing(explosion.Map, def.explosionCellMote) is Mote mote)\n\t\t\t\t{\n\t\t\t\t\tmote.spawnTick = Find.TickManager.TicksGame;\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tMoteMaker.ThrowExplosionCell(c, explosion.Map, def.explosionCellMote, color);\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tFleckMaker.ThrowExplosionCell(c, explosion.Map, def.explosionCellFleck, color);\n\t\t\t}\n\t\t}\n\t\tif (def.explosionCellEffecter != null && (def.explosionCellEffecterMaxRadius < float.Epsilon || c.InHorDistOf(explosion.Position, def.explosionCellEffecterMaxRadius)) && Rand.Chance(def.explosionCellEffecterChance))\n\t\t{\n\t\t\tdef.explosionCellEffecter.Spawn(explosion.Position, c, explosion.Map);\n\t\t}\n\t\tthingsToAffect.Clear();\n\t\tfloat num = float.MinValue;\n\t\tbool flag = false;\n\t\tList list = explosion.Map.thingGrid.ThingsListAt(c);\n\t\tfor (int i = 0; i < list.Count; i++)\n\t\t{\n\t\t\tThing thing = list[i];\n\t\t\tif (thing.def.category != ThingCategory.Mote && thing.def.category != ThingCategory.Ethereal)\n\t\t\t{\n\t\t\t\tthingsToAffect.Add(thing);\n\t\t\t\tif (thing.def.Fillage == FillCategory.Full && thing.def.Altitude > num)\n\t\t\t\t{\n\t\t\t\t\tflag = true;\n\t\t\t\t\tnum = thing.def.Altitude;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tfor (int j = 0; j < thingsToAffect.Count; j++)\n\t\t{\n\t\t\tif (thingsToAffect[j].def.Altitude >= num)\n\t\t\t{\n\t\t\t\tExplosionDamageThing(explosion, thingsToAffect[j], damagedThings, ignoredThings, c);\n\t\t\t}\n\t\t}\n\t\tif (!flag)\n\t\t{\n\t\t\tExplosionDamageTerrain(explosion, c);\n\t\t}\n\t\tif (def.explosionSnowMeltAmount > 0.0001f)\n\t\t{\n\t\t\tfloat lengthHorizontal = (c - explosion.Position).LengthHorizontal;\n\t\t\tfloat num2 = 1f - lengthHorizontal / explosion.radius;\n\t\t\tif (num2 > 0f)\n\t\t\t{\n\t\t\t\texplosion.Map.snowGrid.AddDepth(c, (0f - num2) * def.explosionSnowMeltAmount);\n\t\t\t}\n\t\t}\n\t\tif (def != DamageDefOf.Bomb && def != DamageDefOf.Flame)\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\tList list2 = explosion.Map.listerThings.ThingsOfDef(ThingDefOf.RectTrigger);\n\t\tfor (int k = 0; k < list2.Count; k++)\n\t\t{\n\t\t\tRectTrigger rectTrigger = (RectTrigger)list2[k];\n\t\t\tif (rectTrigger.activateOnExplosion && rectTrigger.Rect.Contains(c))\n\t\t\t{\n\t\t\t\trectTrigger.ActivatedBy(null);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected virtual void ExplosionDamageThing(Explosion explosion, Thing t, List damagedThings, List ignoredThings, IntVec3 cell)\n\t{\n\t\tif (t.def.category == ThingCategory.Mote || t.def.category == ThingCategory.Ethereal || damagedThings.Contains(t))\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\tdamagedThings.Add(t);\n\t\tif (ignoredThings != null && ignoredThings.Contains(t))\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\tif (def == DamageDefOf.Bomb && t.def == ThingDefOf.Fire && !t.Destroyed)\n\t\t{\n\t\t\tt.Destroy();\n\t\t\treturn;\n\t\t}\n\t\tDamageInfo dinfo = new DamageInfo(angle: (!(t.Position == explosion.Position)) ? (t.Position - explosion.Position).AngleFlat : ((float)Rand.RangeInclusive(0, 359)), def: def, amount: explosion.GetDamageAmountAt(cell), armorPenetration: explosion.GetArmorPenetrationAt(cell), instigator: explosion.instigator, hitPart: null, weapon: explosion.weapon, category: DamageInfo.SourceCategory.ThingOrUnknown, intendedTarget: explosion.intendedTarget);\n\t\tif (def.explosionAffectOutsidePartsOnly)\n\t\t{\n\t\t\tdinfo.SetBodyRegion(BodyPartHeight.Undefined, BodyPartDepth.Outside);\n\t\t}\n\t\tBattleLogEntry_ExplosionImpact battleLogEntry_ExplosionImpact = null;\n\t\tPawn pawn = t as Pawn;\n\t\tif (pawn != null)\n\t\t{\n\t\t\tbattleLogEntry_ExplosionImpact = new BattleLogEntry_ExplosionImpact(explosion.instigator, t, explosion.weapon, explosion.projectile, def);\n\t\t\tFind.BattleLog.Add(battleLogEntry_ExplosionImpact);\n\t\t}\n\t\tDamageResult damageResult = t.TakeDamage(dinfo);\n\t\tdamageResult.AssociateWithLog(battleLogEntry_ExplosionImpact);\n\t\tif (pawn != null && damageResult.wounded && pawn.stances != null)\n\t\t{\n\t\t\tpawn.stances.stagger.StaggerFor(95);\n\t\t}\n\t}\n\n\tprotected virtual void ExplosionDamageTerrain(Explosion explosion, IntVec3 c)\n\t{\n\t\tif (def == DamageDefOf.Bomb && explosion.Map.terrainGrid.CanRemoveTopLayerAt(c))\n\t\t{\n\t\t\tTerrainDef terrain = c.GetTerrain(explosion.Map);\n\t\t\tif (!(terrain.destroyOnBombDamageThreshold < 0f) && (float)explosion.GetDamageAmountAt(c) >= terrain.destroyOnBombDamageThreshold)\n\t\t\t{\n\t\t\t\texplosion.Map.terrainGrid.Notify_TerrainDestroyed(c);\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic IEnumerable ExplosionCellsToHit(Explosion explosion)\n\t{\n\t\treturn ExplosionCellsToHit(explosion.Position, explosion.Map, explosion.radius, explosion.needLOSToCell1, explosion.needLOSToCell2, explosion.affectedAngle);\n\t}\n\n\tpublic virtual IEnumerable ExplosionCellsToHit(IntVec3 center, Map map, float radius, IntVec3? needLOSToCell1 = null, IntVec3? needLOSToCell2 = null, FloatRange? affectedAngle = null)\n\t{\n\t\topenCells.Clear();\n\t\tadjWallCells.Clear();\n\t\tfloat num = affectedAngle?.min ?? 0f;\n\t\tfloat num2 = affectedAngle?.max ?? 0f;\n\t\tint num3 = GenRadial.NumCellsInRadius(radius);\n\t\tfor (int i = 0; i < num3; i++)\n\t\t{\n\t\t\tIntVec3 intVec = center + GenRadial.RadialPattern[i];\n\t\t\tif (!intVec.InBounds(map) || !GenSight.LineOfSight(center, intVec, map, skipFirstCell: true))\n\t\t\t{\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (affectedAngle.HasValue)\n\t\t\t{\n\t\t\t\tfloat lengthHorizontal = (intVec - center).LengthHorizontal;\n\t\t\t\tfloat num4 = lengthHorizontal / radius;\n\t\t\t\tif (!(lengthHorizontal > 0.5f))\n\t\t\t\t{\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tfloat num5 = Mathf.Atan2(-(intVec.z - center.z), intVec.x - center.x) * 57.29578f;\n\t\t\t\tfloat num6 = num;\n\t\t\t\tfloat num7 = num2;\n\t\t\t\tif (num5 - num6 < -0.5f * num4 || num5 - num7 > 0.5f * num4)\n\t\t\t\t{\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (needLOSToCell1.HasValue || needLOSToCell2.HasValue)\n\t\t\t{\n\t\t\t\tbool flag = needLOSToCell1.HasValue && GenSight.LineOfSight(needLOSToCell1.Value, intVec, map);\n\t\t\t\tbool flag2 = needLOSToCell2.HasValue && GenSight.LineOfSight(needLOSToCell2.Value, intVec, map);\n\t\t\t\tif (!flag && !flag2)\n\t\t\t\t{\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t}\n\t\t\topenCells.Add(intVec);\n\t\t}\n\t\tfor (int j = 0; j < openCells.Count; j++)\n\t\t{\n\t\t\tIntVec3 intVec2 = openCells[j];\n\t\t\tBuilding edifice = intVec2.GetEdifice(map);\n\t\t\tif (!intVec2.Walkable(map) || (edifice != null && edifice.def.Fillage == FillCategory.Full && !(edifice is Building_Door { Open: not false })))\n\t\t\t{\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tfor (int k = 0; k < 4; k++)\n\t\t\t{\n\t\t\t\tIntVec3 intVec3 = intVec2 + GenAdj.CardinalDirections[k];\n\t\t\t\tif (intVec3.InHorDistOf(center, radius) && intVec3.InBounds(map) && !intVec3.Standable(map) && intVec3.GetEdifice(map) != null && !openCells.Contains(intVec3) && !adjWallCells.Contains(intVec3))\n\t\t\t\t{\n\t\t\t\t\tadjWallCells.Add(intVec3);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn openCells.Concat(adjWallCells);\n\t}\n}\n\n", "timestamp": "2025-08-26 18:00:07,719" }, "Hediff-伤害减免-伤害抵挡": { "keywords": [ "Hediff", "伤害抵挡", "伤害减免" ], "question": "RimWorld Hediff 伤害抵挡 或 伤害减免", "embedding": [ 0.039701830595731735, -0.0089564248919487, 0.03833378478884697, -0.015533020719885826, 0.015889283269643784, -0.03237708657979965, 0.003486023051664233, -0.018112357705831528, 0.016858315095305443, 0.06669223308563232, 0.004410522989928722, -0.0076311309821903706, -0.0126259233802557, -0.025308849290013313, 0.04905014485120773, -0.016530554741621017, -0.026334883645176888, -0.106251560151577, 0.01364483218640089, 0.006526718847453594, -0.0476250983774662, -0.03237708657979965, -0.009704574942588806, 0.017314329743385315, -0.011884898878633976, 0.01825486123561859, -0.010531103238463402, -0.0015800216933712363, -0.0012397915124893188, 0.0019434088608250022, -0.03998684138059616, -0.04913564771413803, 0.015590022318065166, 0.01163551490753889, -0.04203891009092331, 0.06173307076096535, -0.029498489573597908, 0.03813427686691284, 0.01787009835243225, 0.0006822416326031089, -0.02107645571231842, -0.01358783058822155, 0.03049602173268795, 0.011913399212062359, -0.049392156302928925, 0.030439021065831184, 0.031522057950496674, -0.055690865963697433, -0.027574675157666206, 0.012476293370127678, 0.06030802056193352, -0.030695529654622078, -0.047539595514535904, 0.009405314922332764, -0.006729788146913052, -0.005440119653940201, 0.0006314743077382445, 0.009440941736102104, -0.012276786379516125, 0.00658015813678503, -0.0032615780364722013, 0.013708959333598614, -0.038818299770355225, -0.03137955069541931, 0.002039599698036909, -0.016701560467481613, -0.10904465615749359, -0.008557411842048168, 0.03551219031214714, -0.006423403043299913, -0.0251663438975811, 0.0205776896327734, 0.05671690031886101, -0.024297064170241356, -0.015932034701108932, 0.04913564771413803, -0.000777541717980057, 0.02825869806110859, -0.033688127994537354, 0.03736475110054016, -0.017941351979970932, 0.007716633845120668, -0.033260613679885864, -0.020477935671806335, 0.05204274505376816, 0.016459301114082336, 0.0001445087546017021, 0.01809810660779476, -0.024311315268278122, 0.07860563695430756, 0.01836886629462242, 0.015917783603072166, -0.005294052418321371, -0.020207177847623825, 0.011143873445689678, 0.02096245251595974, -0.009562070481479168, 0.08322279155254364, -0.009526444599032402, 0.003683748422190547, -0.036965738981962204, 0.02119046077132225, -0.02254425548017025, 0.03146505355834961, -0.02713290974497795, 0.03257659077644348, 0.012732801958918571, 0.03508467599749565, -0.03454315662384033, -0.030211012810468674, -0.01779884658753872, 0.029869001358747482, -0.029926003888249397, 0.06293010711669922, 0.020249929279088974, 0.019280895590782166, 0.01449273619800806, 0.0028126880060881376, -0.01906713843345642, 0.004417648073285818, 0.03964482992887497, 0.015447517856955528, -0.0664072260260582, -0.04845162481069565, 0.04565853253006935, -0.03277609869837761, 0.044147979468107224, 0.01836886629462242, -0.004813098814338446, 0.017699092626571655, 0.008115647360682487, 0.004830911755561829, 0.023869549855589867, 0.00999671034514904, 0.0004996573552489281, 0.00700767245143652, 0.009241434745490551, 0.020164426416158676, -0.0755845308303833, -0.03482816740870476, -0.06327211856842041, -0.04092737287282944, 0.03194957226514816, -0.012519044801592827, 0.09998135268688202, -0.03830528259277344, -0.013167441822588444, 0.040129344910383224, -0.045060012489557266, -0.00884242169559002, 0.025622358545660973, -0.0025383662432432175, -0.008179774507880211, 0.07284843921661377, 0.0003235303738620132, -0.009127430617809296, 0.020520687103271484, -0.01073060929775238, -0.03679473325610161, 0.00286078336648643, 0.01364483218640089, -0.010352971963584423, -0.03830528259277344, 0.011450259014964104, 0.04309344291687012, -0.049848172813653946, -0.03166456148028374, -0.023100024089217186, 0.007143051829189062, -0.005525622516870499, -0.009483693167567253, -0.01883913204073906, -0.05708741396665573, -0.015618523582816124, -0.01024609338492155, 0.023869549855589867, -0.00669772457331419, 0.044489990919828415, 0.03061002679169178, 0.02536584995687008, -0.01530501339584589, 0.0019077827455475926, 0.012184158898890018, 0.014506986364722252, 0.004912852309644222, -0.05771443620324135, 0.012618797831237316, 0.06749026477336884, -0.029669495299458504, 0.032833099365234375, -0.002096601529046893, 0.09029103070497513, 0.0065195937640964985, -0.026349132880568504, 0.016430800780653954, -0.03135105222463608, -0.02536584995687008, 0.042209915816783905, -0.02223074622452259, -0.04468949884176254, 0.007452999707311392, -0.06800328195095062, -0.006526718847453594, -0.0038690047804266214, 0.050902705639600754, -0.005165798123925924, -0.021902984008193016, -0.011336254887282848, 0.010360097512602806, -0.004563715308904648, 0.0116212647408247, -0.004225266631692648, 0.05503534525632858, -0.012711426243185997, 0.04665606468915939, 0.013124690391123295, -0.022487254813313484, 0.025622358545660973, 0.022558506578207016, 0.025650860741734505, -0.06030802056193352, 0.03753575682640076, -0.04531652107834816, -0.019865166395902634, 0.01283255498856306, 0.012212659232318401, 0.012725676409900188, -0.0109657421708107, 0.08419182151556015, 0.024040555581450462, -0.011115373112261295, 0.02288626693189144, -0.08259576559066772, -0.00841490738093853, -0.004813098814338446, 0.0003698444343172014, -0.01757083833217621, -0.06657823175191879, 0.009098930284380913, -0.003557275515049696, 0.02798793837428093, 0.03280460089445114, -0.014556863345205784, 0.014036720618605614, 8.605952461948618e-05, 0.01660180650651455, -0.021418467164039612, 0.010431349277496338, 0.005732254590839148, -0.03103754110634327, -0.0042288294062018394, -0.03286160156130791, 0.00015675525355618447, -0.04531652107834816, 0.02656289003789425, 0.0204921867698431, 0.04454699531197548, -0.02200273796916008, -0.012519044801592827, -0.005981638096272945, -0.02281501516699791, 0.031237047165632248, -0.0142219765111804, 0.036538224667310715, -0.04400547593832016, -0.014442859217524529, 0.03226308152079582, -0.066065214574337, -0.003434365149587393, 0.015376265160739422, -0.01899588666856289, 0.029897501692175865, 0.03061002679169178, -0.01825486123561859, -0.0028981908690184355, -0.02690490148961544, 0.021945735439658165, -0.031094541773200035, 0.0019095640163868666, -0.018468618392944336, -0.00205563148483634, -0.018981635570526123, -0.0029640994034707546, -0.05084570497274399, -0.0410698764026165, 0.04109837859869003, -0.0212332122027874, -0.04511701315641403, -0.013131815008819103, 0.00674403877928853, -0.04087036848068237, -0.03745025396347046, 0.023413535207509995, 0.05184323713183403, 0.011685391888022423, -0.0034397090785205364, 0.016231294721364975, 0.004335707984864712, -0.022301997989416122, 0.02617812715470791, -0.02378404699265957, -0.04300794005393982, -0.04477500170469284, -0.006369963753968477, 0.0345146581530571, -0.03793477267026901, -0.036224715411663055, -0.06646423041820526, 0.02215949259698391, -0.12004602700471878, 0.0003306556027382612, -0.009163057431578636, -0.06264510005712509, -0.002768155187368393, 0.008671415969729424, 0.014471360482275486, -0.038191281259059906, -0.020249929279088974, -0.01391559187322855, 0.04531652107834816, -0.03662372753024101, -0.03562619537115097, -0.08299478143453598, -0.004146888852119446, -0.0038405037485063076, 0.019594406709074974, 0.016730060800909996, -0.0035768698435276747, 0.010687857866287231, -0.032177578657865524, 0.006765414495021105, 0.032092075794935226, -0.013267194852232933, 0.049819670617580414, 0.01368045900017023, 0.0035323372576385736, 0.025893118232488632, 0.015846531838178635, 0.0027307476848363876, -0.009198683314025402, -0.019822414964437485, -0.045373521745204926, -0.012946559116244316, -0.026705395430326462, 0.02972649596631527, 0.014863247983157635, 0.044176481664180756, 0.036994241178035736, 0.02617812715470791, 0.011044120416045189, 0.007210741750895977, 0.020249929279088974, -0.001929158461280167, -0.025223346427083015, 0.008407781831920147, 0.0014392982702702284, -0.027731429785490036, 0.00099842413328588, -0.04337845370173454, 0.024767329916357994, 0.008122771978378296, -0.01942340098321438, -0.011692517437040806, -0.02733241580426693, 0.002321046544238925, -0.003794189775362611, 0.037307750433683395, 0.014065221883356571, -0.05512084811925888, 0.032177578657865524, -0.024653326719999313, -0.05905397981405258, 0.01678706333041191, -0.00036605916102416813, -0.004813098814338446, 0.036110710352659225, 0.024411069229245186, -0.009654698893427849, -0.007331870961934328, -0.0014410795411095023, -0.015447517856955528, 0.0051942989230155945, -0.01048122625797987, -0.07307644933462143, -0.005796381738036871, 0.030752530321478844, 0.047425590455532074, 0.0039972588419914246, 0.02528034709393978, -0.03477116674184799, 0.05611838027834892, 0.02003617212176323, -0.007780760992318392, -0.019979169592261314, 0.03411564230918884, 0.011186624877154827, -0.001638804911635816, 0.006523156072944403, 0.06372813880443573, -0.015661275014281273, 0.005828445311635733, -0.025237595662474632, -0.05563386529684067, -0.03918881341814995, 0.03830528259277344, 0.009163057431578636, 0.0035056176129728556, -0.014692242257297039, -0.01682981476187706, 0.03214907646179199, 0.02374129556119442, -0.03747875615954399, 0.03374513238668442, 0.036110710352659225, -0.01798410341143608, -0.009683199226856232, 0.023214029148221016, 0.000514353159815073, 0.03511317819356918, -0.050275687128305435, -0.033403120934963226, 0.026534389704465866, -0.048508625477552414, -0.02929898165166378, -0.03884680196642876, 0.12415016442537308, -0.009953958913683891, -0.03870429843664169, -0.0396733283996582, 0.020862698554992676, 0.003502054838463664, -0.020135924220085144, -0.023057272657752037, 0.035341184586286545, 0.004538777284324169, -0.015319263562560081, 0.03331761807203293, 0.021489720791578293, -0.0051942989230155945, -0.01976541243493557, -0.006402027327567339, 0.013509453274309635, 0.06469716876745224, 4.6007891796762124e-05, -0.0929701179265976, -0.019622907042503357, 0.011550012044608593, 0.01651630364358425, 0.012996436096727848, 0.030581524595618248, -0.03679473325610161, -0.028116192668676376, 0.01768484339118004, 0.046114545315504074, -0.011314879171550274, 0.03323211520910263, 0.012262536212801933, -0.029042473062872887, -0.0016031787963584065, 0.01872512698173523, 0.014763494953513145, 0.0007873388822190464, -0.03901780769228935, 0.02855795808136463, 0.01229103747755289, 0.015347764827311039, 0.0009627979015931487, 0.025807615369558334, 0.01583228074014187, -0.0065195937640964985, -0.014734993688762188, 0.016202792525291443, -0.015390516258776188, -0.023185526952147484, -0.00533680384978652, -0.04235241934657097, 0.02272951230406761, 0.047881606966257095, 0.016730060800909996, 0.0225870069116354, 0.022330498322844505, 0.04104137420654297, -0.02500958926975727, -0.005215674638748169, -0.10454150289297104, -0.017300080507993698, 0.0015443955780938268, -0.003847629064694047, 0.025465603917837143, -0.014464234933257103, -0.05118771642446518, -0.007025485392659903, 0.024639075621962547, 0.09012002497911453, 0.00703617325052619, 0.051900241523981094, -0.04030035063624382, -0.05740092322230339, -0.04030035063624382, -0.042209915816783905, -0.028016438707709312, 0.02941298671066761, -0.019252395257353783, 0.007652506697922945, 0.012476293370127678, -0.0018035761313512921, 0.01613154076039791, 0.0126259233802557, -0.057885441929101944, -0.009640447795391083, -0.0014090159675106406, -0.019209643825888634, 0.027075907215476036, -0.0030923536978662014, -0.026007121428847313, 0.035569190979003906, -0.005568374413996935, -0.0332036130130291, 0.0008452314650639892, 0.012405040673911572, -0.01725732907652855, -0.007638256065547466, 0.05794244259595871, -0.0258218664675951, -0.02941298671066761, -0.028928469866514206, 0.007445874623954296, -0.007004109676927328, 0.004136200994253159, -0.007445874623954296, -0.002613181248307228, -0.01714332401752472, -0.0012816523667424917, 0.008949300274252892, 0.03739325329661369, 0.022758012637495995, 0.023912301287055016, 0.0037407504860311747, 0.0543513223528862, 0.026733895763754845, 0.02030692994594574, 0.014079472050070763, -0.010167716071009636, 0.04409097880125046, 0.028785964474081993, 0.054493825882673264, 0.03656672686338425, -0.0370512418448925, 0.022401751950383186, -0.022301997989416122, 0.01034584641456604, 0.04049985855817795, -0.05192873999476433, -0.07222142070531845, 0.012269661761820316, -0.010445600375533104, 0.029583992436528206, 0.05098820850253105, 0.004549465142190456, -0.006042202468961477, -0.00037986430106684566, 0.0034646473359316587, 0.008621538989245892, -0.031237047165632248, -0.0030086322221904993, 0.020007669925689697, -0.06412714719772339, -0.015803780406713486, -0.042437922209501266, 0.029697995632886887, -0.04577253386378288, 0.021917235106229782, -0.02200273796916008, -0.0019950668793171644, -0.011108247563242912, -0.04967716708779335, 0.03334611654281616, -0.004150451626628637, 0.08441983163356781, -0.015390516258776188, -0.03377363085746765, 0.017813097685575485, 0.032092075794935226, -0.009832829236984253, 0.022601258009672165, 0.0056431894190609455, -0.0022729511838406324, 0.0014268291415646672, -0.0031778565607964993, 0.05532035604119301, 0.04924965277314186, 0.04588653892278671, -0.05292627587914467, -0.01497725211083889, -0.02446806989610195, 0.014963001944124699, -0.007766510359942913, 0.04149739071726799, -0.0026594954542815685, 0.02555110678076744, 0.015661275014281273, -0.02941298671066761, 0.005443682428449392, -0.018311863765120506, 0.055405858904123306, -0.0030763219110667706, -0.033061109483242035, -0.010174840688705444, 0.02509509213268757, -0.029355984181165695, -0.020520687103271484, -0.0011070839827880263, 0.020563438534736633, 0.01092299073934555, 0.02238750085234642, 0.016544803977012634, 0.0023851736914366484, 0.0029676619451493025, -0.009234309196472168, -0.010666482150554657, -0.02458207495510578, 0.0007330089574679732, 0.012262536212801933, -0.02161797508597374, -0.03254809230566025, -0.04095587134361267, -0.029811998829245567, 0.021062206476926804, 0.020606189966201782, -0.03277609869837761, 0.008742667734622955, 0.02679089829325676, 0.0038547541480511427, 0.021603723987936974, 0.013851464726030827, -0.03782076761126518, -0.04195340722799301, -0.01806960627436638, -0.03474266454577446, 0.017813097685575485, 0.046114545315504074, 0.03160756081342697, -0.027660178020596504, 0.028614958748221397, 0.025451352819800377, -0.06253109872341156, -0.01757083833217621, -0.026776647195219994, -0.04773909971117973, 0.007638256065547466, -0.012953684665262699, 0.05073169991374016, 0.004399835132062435, 0.009191557765007019, -0.023114275187253952, 0.03995833918452263, 0.0029694433324038982, -0.008550286293029785, -0.009241434745490551, -0.022130992263555527, -0.023983554914593697, -0.02579336427152157, 0.008101396262645721, 0.015846531838178635, 0.02200273796916008, -0.013630582019686699, 0.009298436343669891, -0.009170182049274445, 0.0021340090315788984, 0.014963001944124699, -0.055833373218774796, -0.008072895929217339, 0.01416497491300106, 0.010780486278235912, 0.03725074976682663, 0.008065770380198956, -0.014749244786798954, 0.00918443314731121, 0.012191283516585827, -0.0018258424242958426, -0.029056724160909653, -0.008578787557780743, -0.016901066526770592, -0.005489996634423733, 0.00011934775102417916, -0.007474375423043966, 0.006277335342019796, 0.028016438707709312, -0.0032027948182076216, 0.022758012637495995, 0.02084844931960106, -0.08282377570867538, -0.000916483870241791, 0.009170182049274445, -0.024453820660710335, 0.004606466740369797, -0.06144805997610092, 0.009490817785263062, 0.022900518029928207, 0.01795560121536255, 0.13828663527965546, -0.020976703613996506, -0.041981905698776245, 0.05520635098218918, -0.009647573344409466, -0.04249492287635803, 0.04104137420654297, -0.011457384563982487, -0.005415181629359722, -0.06840229034423828, 0.020549189299345016, 0.02570786140859127, -0.0096119474619627, 0.006654973141849041, -0.018582623451948166, 0.00991833209991455, 0.045145515352487564, 0.001861468655988574, -0.05523485317826271, 0.014749244786798954, 0.0020609754137694836, 0.02941298671066761, -0.00036450050538405776, 0.008058644831180573, -0.0396733283996582, 0.039388321340084076, -0.0450030080974102, -0.004264455288648605, 0.011200875975191593, 0.048081111162900925, -0.02154672145843506, -0.021988486871123314, 0.0009458754793740809, 0.03636721894145012, 0.038932304829359055, 0.04201040789484978, 0.002807344077154994, 0.012269661761820316, -0.010737734846770763, -0.03454315662384033, 0.0046385303139686584, -0.026605641469359398, 0.057343922555446625, 0.0032348583918064833, 0.1467229127883911, 0.011464509181678295, 0.01798410341143608, -0.005532748065888882, 0.0583699569106102, 0.010203341953456402, 0.009526444599032402, -0.010694983415305614, 0.019793912768363953, -0.037193745374679565, -0.015761028975248337, 0.011913399212062359, -0.00938393920660019, 0.01057385466992855, -0.007445874623954296, 0.03374513238668442, -0.022359000518918037, -0.058227453380823135, 0.030239513143897057, 0.005058919545263052, 0.01606028899550438, 0.030353518202900887, 0.007738009560853243, 0.008229650557041168, -0.01757083833217621, -0.005048231687396765, -0.027959438040852547, -0.015775278210639954, -0.029270481318235397, 0.02069169282913208, 0.03736475110054016, 0.03613921254873276, -0.015533020719885826, -0.018311863765120506, -0.014948750846087933, -0.0002311249409103766, -0.04226691648364067, -0.02728966437280178, 0.0705113634467125, -0.003405864117667079, 0.012953684665262699, 0.03346012160181999, 0.05044669285416603, -0.0008853109320625663, 0.03873279690742493, -0.025494104251265526, -0.009391064755618572, 0.03990133851766586, 0.0032295144628733397, 0.02748917229473591, 0.006430528126657009, 0.027745680883526802, 0.008201150223612785, 0.0571444146335125, -0.016459301114082336, 0.018197860568761826, -0.04739708825945854, -0.040015339851379395, -0.0397588312625885, -0.03918881341814995, -0.04685557261109352, 0.007153739687055349, -0.014863247983157635, -0.038390785455703735, -0.015803780406713486, -0.01891038380563259, 0.00249917758628726, 0.015290762297809124, 0.019466152414679527, 0.02952698990702629, 0.00669772457331419, 0.0017626059707254171, -0.028272947296500206, -0.0017857629572972655, 0.03257659077644348, 0.03083803318440914, -0.018867632374167442, -0.011279253289103508, -0.014065221883356571, -0.01268292497843504, -0.005066044628620148, -0.011150998994708061, -0.017186075448989868, -0.007588379550725222, -0.03049602173268795, -0.01687256619334221, -0.02157522365450859, 6.28468333161436e-05, -0.034030139446258545, 0.029669495299458504, 0.02609262429177761, -0.019309397786855698, 0.020720195025205612, -0.014734993688762188, -0.025950120761990547, -0.10414249449968338, -0.02941298671066761, -0.030097009614109993, -0.017770346254110336, -0.0006123252096585929, 0.03029651567339897, 0.01530501339584589, -0.007239242549985647, -0.003044258337467909, -0.02964099310338497, 0.02037818357348442, -0.07775060832500458, 0.04486050456762314, -0.006017264444380999, -0.03747875615954399, 0.04916414991021156, 0.03551219031214714, 0.003044258337467909, 0.07552753388881683, -0.034144144505262375, 0.008671415969729424, -0.010958617553114891, -0.016502052545547485, 0.014791996218264103, 0.0019950668793171644, 0.0072143045254051685, 0.04315044730901718, 0.032947104424238205, -0.01249054353684187, -0.028657710179686546, -0.005169360898435116, 0.07700958102941513, 0.02069169282913208, 0.04323595017194748, 0.03166456148028374, 0.025536855682730675, -0.03679473325610161, -0.016345297917723656, -0.0122981620952487, 0.01086598914116621, -0.025522606447339058, -0.053097281605005264, -0.022031238302588463, -0.0020609754137694836, 0.023641543462872505, -0.002116195857524872, -0.008935049176216125, -0.022359000518918037, -0.0041860779747366905, -0.029213478788733482, 0.024311315268278122, 0.04126938432455063, -0.008835296146571636, 0.023955052718520164, 0.03596820682287216, 0.07136639207601547, 0.03856179118156433, -0.02995450422167778, -0.005343928933143616, 0.019694160670042038, 0.0068865432403981686, 0.01497725211083889, 0.03334611654281616, 0.02119046077132225, -0.012804054655134678, -0.07376047223806381, -0.008365030400454998, 0.005803507287055254, -0.02297176979482174, 0.01597478613257408, -0.015889283269643784, -0.05617538467049599, -0.017015069723129272, -0.002639900892972946, 0.010659357532858849, 0.01567552611231804, -0.044062476605176926, 0.008792544715106487, 0.02037818357348442, 0.04890764132142067, 0.013936967588961124, 0.022515755146741867, -0.0003072759136557579, 0.021176209673285484, -0.0013350916560739279, 0.002351328730583191, 0.016858315095305443, -0.034600161015987396, 0.04557302966713905, 0.007973141968250275, -0.037735264748334885, 0.006562345195561647, -0.018269112333655357, 0.06834529340267181, 0.018497120589017868, 0.041782401502132416, 0.03166456148028374, 0.03668072819709778, -0.0271756611764431, -0.06395614147186279, -0.006099204532802105, -0.0059638251550495625, -0.06207508221268654, 0.0179128497838974, 0.0001756816782290116, 0.02374129556119442, -0.0092841861769557, 0.025807615369558334, -0.010210467502474785, 0.012041653506457806, 0.005023293197154999, -0.031066041439771652, -0.019694160670042038, -0.01949465274810791, 0.014136473648250103, 0.02895697019994259, -0.0010028773685917258, -0.015191009268164635, 0.012939433567225933, 0.021760478615760803, -0.02335653267800808, 0.06760426610708237, 0.02227349765598774, 0.03548368811607361, -0.0044390237890183926, 0.003936694469302893, -0.01574677787721157, 0.008863797411322594, -0.019466152414679527, 0.00222485582344234, 0.011093996465206146, -0.07102438062429428, -0.0033542062155902386, 0.0099610835313797, -0.05161523073911667, -0.005807069595903158, 0.02748917229473591, -0.029270481318235397, -0.034600161015987396, 0.006084953900426626, 0.02555110678076744, 0.026448886841535568, 0.021404217928647995, -0.03214907646179199, -0.03266209363937378, -0.0291849784553051, 0.03870429843664169, 0.031294047832489014, -0.03776376694440842, -0.011172374710440636, 0.028657710179686546, 0.007574128918349743, -0.02362729236483574, 0.001709166681393981, 0.011179500259459019, 0.02168922685086727, 0.004976979456841946, 0.01698656938970089, -0.007114551030099392, 0.03710824251174927, 0.024952586740255356, -0.000464921846287325, -0.010452724993228912, 0.02667689509689808, -0.016302546486258507, -0.0145497377961874, 0.008037269115447998, -0.09200108796358109, 0.052897773683071136, -0.03049602173268795, -0.002515209373086691, 0.06931432336568832, -0.01132913026958704, 0.08276677131652832, -0.011664016172289848, 0.0291849784553051, -0.007844887673854828, -0.025579607114195824, -0.0076311309821903706, -0.019508903846144676, -0.002892846940085292, -0.06635022163391113, 0.00976870208978653, -0.006565907504409552, -0.0066514103673398495 ], "result": "--- 结果 1 (相似度: 1.000) ---\n文件路径: C:\\Steam\\steamapps\\common\\RimWorld\\Data\\dll1.6\\Verse\\Hediff.txt\n\npublic class Hediff : IExposable, ILoadReferenceable\n{\n\tpublic HediffDef def;\n\n\tpublic int ageTicks;\n\n\tpublic int tickAdded = -1;\n\n\tprivate BodyPartRecord part;\n\n\tpublic string sourceLabel;\n\n\tpublic ThingDef sourceDef;\n\n\tpublic BodyPartGroupDef sourceBodyPartGroup;\n\n\tpublic string sourceToolLabel;\n\n\tpublic HediffDef sourceHediffDef;\n\n\tpublic int loadID = -1;\n\n\tprotected float severityInt;\n\n\tprivate bool recordedTale;\n\n\tprotected bool causesNoPain;\n\n\tprivate bool visible;\n\n\tpublic WeakReference combatLogEntry;\n\n\tpublic string combatLogText;\n\n\tpublic int temp_partIndexToSetLater = -1;\n\n\tpublic bool canBeThreateningToPart = true;\n\n\tprivate List abilities;\n\n\t[Unsaved(false)]\n\tpublic Pawn pawn;\n\n\tprivate static StringBuilder tipSb = new StringBuilder();\n\n\tpublic virtual string LabelBase => CurStage?.overrideLabel ?? def.label;\n\n\tpublic string LabelBaseCap => LabelBase.CapitalizeFirst(def);\n\n\tpublic virtual string Label\n\t{\n\t\tget\n\t\t{\n\t\t\tstring labelInBrackets = LabelInBrackets;\n\t\t\treturn LabelBase + (labelInBrackets.NullOrEmpty() ? \"\" : (\" (\" + labelInBrackets + \")\"));\n\t\t}\n\t}\n\n\tpublic string LabelCap => Label.CapitalizeFirst(def);\n\n\tpublic virtual Color LabelColor => def.defaultLabelColor;\n\n\tpublic virtual string LabelInBrackets\n\t{\n\t\tget\n\t\t{\n\t\t\tif (CurStage != null && !CurStage.label.NullOrEmpty())\n\t\t\t{\n\t\t\t\treturn CurStage.label;\n\t\t\t}\n\t\t\treturn null;\n\t\t}\n\t}\n\n\tpublic virtual string SeverityLabel\n\t{\n\t\tget\n\t\t{\n\t\t\tif (!IsLethal && !def.alwaysShowSeverity)\n\t\t\t{\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\treturn (Severity / Mathf.Abs(def.lethalSeverity)).ToStringPercent();\n\t\t}\n\t}\n\n\tpublic virtual int UIGroupKey => Label.GetHashCode();\n\n\tpublic virtual string TipStringExtra\n\t{\n\t\tget\n\t\t{\n\t\t\tStringBuilder stringBuilder = new StringBuilder();\n\t\t\tforeach (StatDrawEntry item in HediffStatsUtility.SpecialDisplayStats(CurStage, this))\n\t\t\t{\n\t\t\t\tif (item.ShouldDisplay())\n\t\t\t\t{\n\t\t\t\t\tstringBuilder.Append(\" - \" + item.LabelCap + \": \" + item.ValueString);\n\t\t\t\t\tif (CurStage?.statOffsetEffectMultiplier != null)\n\t\t\t\t\t{\n\t\t\t\t\t\tstringBuilder.Append($\" x {CurStage.statOffsetEffectMultiplier.LabelCap}\");\n\t\t\t\t\t}\n\t\t\t\t\telse if (CurStage?.statFactorEffectMultiplier != null)\n\t\t\t\t\t{\n\t\t\t\t\t\tstringBuilder.Append($\" x {CurStage.statFactorEffectMultiplier.LabelCap}\");\n\t\t\t\t\t}\n\t\t\t\t\tstringBuilder.AppendLine();\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (ModsConfig.AnomalyActive && !def.aptitudes.NullOrEmpty())\n\t\t\t{\n\t\t\t\tstringBuilder.AppendLine(def.aptitudes.Select((Aptitude x) => x.skill.LabelCap.ToString() + \" \" + x.level.ToStringWithSign()).ToLineList(\" - \", capitalizeItems: true));\n\t\t\t}\n\t\t\tHediffStage stage = CurStage;\n\t\t\tif (stage != null)\n\t\t\t{\n\t\t\t\tif (!stage.enablesNeeds.NullOrEmpty())\n\t\t\t\t{\n\t\t\t\t\tif (stringBuilder.Length > 0)\n\t\t\t\t\t{\n\t\t\t\t\t\tstringBuilder.AppendLine();\n\t\t\t\t\t}\n\t\t\t\t\tstringBuilder.AppendLine((\"AddsNeeds\".Translate().CapitalizeFirst() + \":\").Colorize(ColoredText.TipSectionTitleColor));\n\t\t\t\t\tstringBuilder.AppendLine(stage.enablesNeeds.Select((NeedDef x) => x.LabelCap.ToString()).ToLineList(\" - \"));\n\t\t\t\t}\n\t\t\t\tif (!stage.disablesNeeds.NullOrEmpty())\n\t\t\t\t{\n\t\t\t\t\tif (stringBuilder.Length > 0)\n\t\t\t\t\t{\n\t\t\t\t\t\tstringBuilder.AppendLine();\n\t\t\t\t\t}\n\t\t\t\t\tstringBuilder.AppendLine((\"DisabledNeedsLabel\".Translate().CapitalizeFirst() + \":\").Colorize(ColoredText.TipSectionTitleColor));\n\t\t\t\t\tstringBuilder.AppendLine(stage.disablesNeeds.Select((NeedDef x) => x.LabelCap.ToString()).ToLineList(\" - \"));\n\t\t\t\t}\n\t\t\t\tif (stage.disabledWorkTags != 0)\n\t\t\t\t{\n\t\t\t\t\tif (stringBuilder.Length > 0)\n\t\t\t\t\t{\n\t\t\t\t\t\tstringBuilder.AppendLine();\n\t\t\t\t\t}\n\t\t\t\t\tstringBuilder.AppendLine((\"DisabledWorkLabel\".Translate().CapitalizeFirst() + \":\").Colorize(ColoredText.TipSectionTitleColor));\n\t\t\t\t\tIEnumerable items = from x in DefDatabase.AllDefsListForReading\n\t\t\t\t\t\twhere (stage.disabledWorkTags & x.workTags) != 0\n\t\t\t\t\t\tselect x.labelShort;\n\t\t\t\t\tstringBuilder.Append(\" - \" + items.ToCommaList().CapitalizeFirst());\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (def.CompProps() != null)\n\t\t\t{\n\t\t\t\tstringBuilder.AppendLine(\" - \" + \"IncreasesChanceOfLovin\".Translate());\n\t\t\t}\n\t\t\treturn stringBuilder.ToString();\n\t\t}\n\t}\n\n\tpublic virtual HediffStage CurStage\n\t{\n\t\tget\n\t\t{\n\t\t\tif (!def.stages.NullOrEmpty())\n\t\t\t{\n\t\t\t\treturn def.stages[CurStageIndex];\n\t\t\t}\n\t\t\treturn null;\n\t\t}\n\t}\n\n\tpublic virtual bool ShouldRemove => Severity <= 0f;\n\n\tpublic virtual bool Visible\n\t{\n\t\tget\n\t\t{\n\t\t\tif (!visible && CurStage != null)\n\t\t\t{\n\t\t\t\treturn CurStage.becomeVisible;\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t}\n\n\tpublic virtual float BleedRate => 0f;\n\n\tpublic virtual float BleedRateScaled => BleedRate / pawn.HealthScale;\n\n\tpublic bool Bleeding => BleedRate > 1E-05f;\n\n\tpublic virtual float PainOffset\n\t{\n\t\tget\n\t\t{\n\t\t\tif (CurStage != null && !causesNoPain)\n\t\t\t{\n\t\t\t\treturn CurStage.painOffset;\n\t\t\t}\n\t\t\treturn 0f;\n\t\t}\n\t}\n\n\tpublic virtual float PainFactor => CurStage?.painFactor ?? 1f;\n\n\tpublic List CapMods => CurStage?.capMods;\n\n\tpublic virtual float SummaryHealthPercentImpact => 0f;\n\n\tpublic virtual float TendPriority\n\t{\n\t\tget\n\t\t{\n\t\t\tfloat a = 0f;\n\t\t\tHediffStage curStage = CurStage;\n\t\t\tif (curStage != null && curStage.lifeThreatening)\n\t\t\t{\n\t\t\t\ta = Mathf.Max(a, 1f);\n\t\t\t}\n\t\t\ta = Mathf.Max(a, BleedRate * 1.5f);\n\t\t\tHediffComp_TendDuration hediffComp_TendDuration = this.TryGetComp();\n\t\t\tif (hediffComp_TendDuration != null && hediffComp_TendDuration.TProps.severityPerDayTended < 0f)\n\t\t\t{\n\t\t\t\ta = Mathf.Max(a, 0.025f);\n\t\t\t}\n\t\t\treturn a;\n\t\t}\n\t}\n\n\tpublic virtual TextureAndColor StateIcon => TextureAndColor.None;\n\n\tpublic virtual int CurStageIndex => def.StageAtSeverity(Severity);\n\n\tpublic virtual float Severity\n\t{\n\t\tget\n\t\t{\n\t\t\treturn severityInt;\n\t\t}\n\t\tset\n\t\t{\n\t\t\tbool flag = false;\n\t\t\tif (IsLethal && value >= def.lethalSeverity)\n\t\t\t{\n\t\t\t\tvalue = def.lethalSeverity;\n\t\t\t\tflag = true;\n\t\t\t}\n\t\t\tbool flag2 = this is Hediff_Injury && value > severityInt && Mathf.RoundToInt(value) != Mathf.RoundToInt(severityInt);\n\t\t\tint curStageIndex = CurStageIndex;\n\t\t\tseverityInt = Mathf.Clamp(value, def.minSeverity, def.maxSeverity);\n\t\t\tif (CurStageIndex != curStageIndex)\n\t\t\t{\n\t\t\t\tOnStageIndexChanged(CurStageIndex);\n\t\t\t}\n\t\t\tif ((CurStageIndex != curStageIndex || flag || flag2) && pawn.health.hediffSet.hediffs.Contains(this))\n\t\t\t{\n\t\t\t\tpawn.health.Notify_HediffChanged(this);\n\t\t\t\tif (!pawn.Dead && pawn.needs.mood != null)\n\t\t\t\t{\n\t\t\t\t\tpawn.needs.mood.thoughts.situational.Notify_SituationalThoughtsDirty();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic BodyPartRecord Part\n\t{\n\t\tget\n\t\t{\n\t\t\treturn part;\n\t\t}\n\t\tset\n\t\t{\n\t\t\tif (pawn == null && value != null)\n\t\t\t{\n\t\t\t\tLog.Error(\"Hediff: Cannot set Part without setting pawn first.\");\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tpart = value;\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic bool IsLethal\n\t{\n\t\tget\n\t\t{\n\t\t\tif (def.lethalSeverity > 0f)\n\t\t\t{\n\t\t\t\treturn canBeThreateningToPart;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic bool IsCurrentlyLifeThreatening => IsStageLifeThreatening(CurStage);\n\n\tpublic List AllAbilitiesForReading\n\t{\n\t\tget\n\t\t{\n\t\t\tif (abilities == null && !def.abilities.NullOrEmpty())\n\t\t\t{\n\t\t\t\tabilities = new List();\n\t\t\t\tforeach (AbilityDef ability in def.abilities)\n\t\t\t\t{\n\t\t\t\t\tabilities.Add(AbilityUtility.MakeAbility(ability, pawn));\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn abilities;\n\t\t}\n\t}\n\n\tpublic virtual string Description => def.Description;\n\n\tpublic virtual bool TendableNow(bool ignoreTimer = false)\n\t{\n\t\tif (!def.tendable || Severity <= 0f || this.FullyImmune() || !Visible || this.IsPermanent() || !pawn.RaceProps.IsFlesh || (this is Hediff_Injury && !pawn.health.CanBleed))\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tif (!ignoreTimer)\n\t\t{\n\t\t\tHediffComp_TendDuration hediffComp_TendDuration = this.TryGetComp();\n\t\t\tif (hediffComp_TendDuration != null && !hediffComp_TendDuration.AllowTend)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t}\n\n\tpublic bool IsStageLifeThreatening(HediffStage stage)\n\t{\n\t\tif (stage == null)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tif (stage.lifeThreatening)\n\t\t{\n\t\t\treturn canBeThreateningToPart;\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic bool IsAnyStageLifeThreatening()\n\t{\n\t\tif (def.stages == null || !canBeThreateningToPart)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tfor (int i = 0; i < def.stages.Count; i++)\n\t\t{\n\t\t\tif (def.stages[i].lifeThreatening)\n\t\t\t{\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic bool CanEverKill()\n\t{\n\t\tif (!IsLethal)\n\t\t{\n\t\t\treturn IsAnyStageLifeThreatening();\n\t\t}\n\t\treturn true;\n\t}\n\n\tpublic void SetVisible()\n\t{\n\t\tvisible = true;\n\t}\n\n\tprotected virtual void OnStageIndexChanged(int stageIndex)\n\t{\n\t\tif (CurStage.pctConditionalThoughtsNullified > 0f || CurStage.pctAllThoughtNullification > 0f)\n\t\t{\n\t\t\tpawn.health.hediffSet.CacheThoughtsNullified();\n\t\t}\n\t}\n\n\tpublic virtual void ExposeData()\n\t{\n\t\tif (Scribe.mode == LoadSaveMode.Saving && combatLogEntry != null)\n\t\t{\n\t\t\tLogEntry target = combatLogEntry.Target;\n\t\t\tif (target == null || !Current.Game.battleLog.IsEntryActive(target))\n\t\t\t{\n\t\t\t\tcombatLogEntry = null;\n\t\t\t}\n\t\t}\n\t\tScribe_Values.Look(ref loadID, \"loadID\", 0);\n\t\tScribe_Values.Look(ref ageTicks, \"ageTicks\", 0);\n\t\tScribe_Values.Look(ref tickAdded, \"tickAdded\", 0);\n\t\tScribe_Values.Look(ref visible, \"visible\", defaultValue: false);\n\t\tScribe_Values.Look(ref severityInt, \"severity\", 0f);\n\t\tScribe_Values.Look(ref recordedTale, \"recordedTale\", defaultValue: false);\n\t\tScribe_Values.Look(ref causesNoPain, \"causesNoPain\", defaultValue: false);\n\t\tScribe_Values.Look(ref combatLogText, \"combatLogText\");\n\t\tScribe_Values.Look(ref canBeThreateningToPart, \"canBeThreateningToPart\", defaultValue: false);\n\t\tScribe_Defs.Look(ref def, \"def\");\n\t\tScribe_Defs.Look(ref sourceDef, \"source\");\n\t\tScribe_Defs.Look(ref sourceHediffDef, \"sourceHediffDef\");\n\t\tScribe_Defs.Look(ref sourceBodyPartGroup, \"sourceBodyPartGroup\");\n\t\tScribe_Values.Look(ref sourceLabel, \"sourceLabel\");\n\t\tScribe_Values.Look(ref sourceToolLabel, \"sourceToolLabel\");\n\t\tScribe_BodyParts.Look(ref part, \"part\");\n\t\tScribe_References.Look(ref combatLogEntry, \"combatLogEntry\");\n\t\tScribe_Collections.Look(ref abilities, \"abilities\", LookMode.Deep);\n\t\tif (Scribe.mode == LoadSaveMode.PostLoadInit && abilities != null)\n\t\t{\n\t\t\tforeach (Ability ability in abilities)\n\t\t\t{\n\t\t\t\tability.pawn = pawn;\n\t\t\t\tability.verb.caster = pawn;\n\t\t\t}\n\t\t}\n\t\tBackCompatibility.PostExposeData(this);\n\t}\n\n\tpublic virtual void Tick()\n\t{\n\t}\n\n\tpublic virtual void TickInterval(int delta)\n\t{\n\t\tageTicks += delta;\n\t\tif (def.hediffGivers != null && pawn.IsHashIntervalTick(60, delta))\n\t\t{\n\t\t\tfor (int i = 0; i < def.hediffGivers.Count; i++)\n\t\t\t{\n\t\t\t\tdef.hediffGivers[i].OnIntervalPassed(pawn, this);\n\t\t\t}\n\t\t}\n\t\tif (Visible && !visible)\n\t\t{\n\t\t\tvisible = true;\n\t\t\tif (def.taleOnVisible != null)\n\t\t\t{\n\t\t\t\tTaleRecorder.RecordTale(def.taleOnVisible, pawn, def);\n\t\t\t}\n\t\t}\n\t\tHediffStage curStage = CurStage;\n\t\tif (curStage == null)\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\tif (curStage.hediffGivers != null && pawn.IsHashIntervalTick(60, delta))\n\t\t{\n\t\t\tfor (int j = 0; j < curStage.hediffGivers.Count; j++)\n\t\t\t{\n\t\t\t\tcurStage.hediffGivers[j].OnIntervalPassed(pawn, this);\n\t\t\t}\n\t\t}\n\t\tif (curStage.mentalStateGivers != null && pawn.IsHashIntervalTick(60, delta) && !pawn.InMentalState)\n\t\t{\n\t\t\tfor (int k = 0; k < curStage.mentalStateGivers.Count; k++)\n\t\t\t{\n\t\t\t\tMentalStateGiver mentalStateGiver = curStage.mentalStateGivers[k];\n\t\t\t\tif (Rand.MTBEventOccurs(mentalStateGiver.mtbDays, 60000f, 60f))\n\t\t\t\t{\n\t\t\t\t\tpawn.mindState.mentalStateHandler.TryStartMentalState(mentalStateGiver.mentalState, \"MentalStateReason_Hediff\".Translate(Label));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (curStage.mentalBreakMtbDays > 0f && pawn.IsHashIntervalTick(60, delta) && !pawn.InMentalState && !pawn.Downed && Rand.MTBEventOccurs(curStage.mentalBreakMtbDays, 60000f, 60f))\n\t\t{\n\t\t\tTryDoRandomMentalBreak();\n\t\t}\n\t\tif (curStage.vomitMtbDays > 0f && pawn.IsHashIntervalTick(600, delta) && Rand.MTBEventOccurs(curStage.vomitMtbDays, 60000f, 600f) && pawn.Spawned && pawn.Awake() && pawn.RaceProps.IsFlesh)\n\t\t{\n\t\t\tpawn.jobs.StartJob(JobMaker.MakeJob(JobDefOf.Vomit), JobCondition.InterruptForced, null, resumeCurJobAfterwards: true);\n\t\t}\n\t\tif (curStage.forgetMemoryThoughtMtbDays > 0f && pawn.needs?.mood != null && pawn.IsHashIntervalTick(400, delta) && Rand.MTBEventOccurs(curStage.forgetMemoryThoughtMtbDays, 60000f, 400f) && pawn.needs.mood.thoughts.memories.Memories.TryRandomElement(out var result))\n\t\t{\n\t\t\tpawn.needs.mood.thoughts.memories.RemoveMemory(result);\n\t\t}\n\t\tif (!recordedTale && curStage.tale != null)\n\t\t{\n\t\t\tTaleRecorder.RecordTale(curStage.tale, pawn);\n\t\t\trecordedTale = true;\n\t\t}\n\t\tif (curStage.destroyPart && Part != null && Part != pawn.RaceProps.body.corePart)\n\t\t{\n\t\t\tpawn.health.AddHediff(HediffDefOf.MissingBodyPart, Part);\n\t\t}\n\t\tif (curStage.deathMtbDays > 0f && pawn.IsHashIntervalTick(200, delta) && Rand.MTBEventOccurs(curStage.deathMtbDays, 60000f, 200f))\n\t\t{\n\t\t\tDoMTBDeath();\n\t\t}\n\t}\n\n\tprivate void DoMTBDeath()\n\t{\n\t\tHediffStage curStage = CurStage;\n\t\tif (!curStage.mtbDeathDestroysBrain && ModsConfig.BiotechActive)\n\t\t{\n\t\t\tPawn_GeneTracker genes = pawn.genes;\n\t\t\tif (genes != null && genes.HasActiveGene(GeneDefOf.Deathless))\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\tpawn.Kill(null, this);\n\t\tif (curStage.mtbDeathDestroysBrain)\n\t\t{\n\t\t\tBodyPartRecord brain = pawn.health.hediffSet.GetBrain();\n\t\t\tif (brain != null)\n\t\t\t{\n\t\t\t\tHediff hediff = HediffMaker.MakeHediff(HediffDefOf.MissingBodyPart, pawn, brain);\n\t\t\t\tpawn.health.AddHediff(hediff, brain);\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate void TryDoRandomMentalBreak()\n\t{\n\t\tHediffStage curStage = CurStage;\n\t\tif (curStage != null)\n\t\t{\n\t\t\tTaggedString taggedString = \"MentalStateReason_Hediff\".Translate(Label);\n\t\t\tif (!curStage.mentalBreakExplanation.NullOrEmpty())\n\t\t\t{\n\t\t\t\ttaggedString += \"\\n\\n\" + curStage.mentalBreakExplanation.Formatted(pawn.Named(\"PAWN\"));\n\t\t\t}\n\t\t\tMentalBreakDef result;\n\t\t\tif (pawn.NonHumanlikeOrWildMan())\n\t\t\t{\n\t\t\t\tpawn.mindState.mentalStateHandler.TryStartMentalState(MentalStateDefOf.Manhunter, taggedString);\n\t\t\t}\n\t\t\telse if (DefDatabase.AllDefsListForReading.Where((MentalBreakDef x) => x.Worker.BreakCanOccur(pawn) && (curStage.allowedMentalBreakIntensities == null || curStage.allowedMentalBreakIntensities.Contains(x.intensity))).TryRandomElementByWeight((MentalBreakDef x) => x.Worker.CommonalityFor(pawn), out result))\n\t\t\t{\n\t\t\t\tresult.Worker.TryStart(pawn, taggedString.Resolve(), causedByMood: false);\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic virtual void PostMake()\n\t{\n\t\tSeverity = Mathf.Max(Severity, def.initialSeverity);\n\t\tcausesNoPain = Rand.Value < def.chanceToCauseNoPain;\n\t\tif (def.onlyLifeThreateningTo == null)\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\tbool flag = false;\n\t\tfor (int i = 0; i < def.onlyLifeThreateningTo.Count; i++)\n\t\t{\n\t\t\tif (Part.def == def.onlyLifeThreateningTo[i])\n\t\t\t{\n\t\t\t\tflag = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tif (!flag)\n\t\t{\n\t\t\tcanBeThreateningToPart = false;\n\t\t}\n\t}\n\n\tpublic virtual void PostAdd(DamageInfo? dinfo)\n\t{\n\t\ttickAdded = Find.TickManager.TicksGame;\n\t\tif (!def.abilities.NullOrEmpty())\n\t\t{\n\t\t\tpawn.abilities?.Notify_TemporaryAbilitiesChanged();\n\t\t}\n\t\tif (!def.removeWithTags.NullOrEmpty())\n\t\t{\n\t\t\tfor (int num = pawn.health.hediffSet.hediffs.Count - 1; num >= 0; num--)\n\t\t\t{\n\t\t\t\tHediff hediff = pawn.health.hediffSet.hediffs[num];\n\t\t\t\tif (hediff != this && !hediff.def.tags.NullOrEmpty())\n\t\t\t\t{\n\t\t\t\t\tfor (int i = 0; i < def.removeWithTags.Count; i++)\n\t\t\t\t\t{\n\t\t\t\t\t\tif (hediff.def.tags.Contains(def.removeWithTags[i]))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpawn.health.RemoveHediff(hediff);\n\t\t\t\t\t\t\tbreak;\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}\n\t\tif (!def.aptitudes.NullOrEmpty())\n\t\t{\n\t\t\tpawn.skills.DirtyAptitudes();\n\t\t}\n\t\tif (def.clearsEgo)\n\t\t{\n\t\t\tpawn.everLostEgo = true;\n\t\t}\n\t}\n\n\tpublic virtual void PreRemoved()\n\t{\n\t}\n\n\tpublic virtual void PostRemoved()\n\t{\n\t\tHediffStage curStage = CurStage;\n\t\tif (!pawn.Dead && def.chemicalNeed != null)\n\t\t{\n\t\t\tpawn.needs?.AddOrRemoveNeedsAsAppropriate();\n\t\t}\n\t\telse if (curStage != null && !pawn.Dead && (!curStage.disablesNeeds.NullOrEmpty() || !curStage.enablesNeeds.NullOrEmpty()))\n\t\t{\n\t\t\tpawn.needs?.AddOrRemoveNeedsAsAppropriate();\n\t\t}\n\t\tif (!def.abilities.NullOrEmpty())\n\t\t{\n\t\t\tpawn.abilities?.Notify_TemporaryAbilitiesChanged();\n\t\t}\n\t\tif (!def.aptitudes.NullOrEmpty())\n\t\t{\n\t\t\tpawn.skills.DirtyAptitudes();\n\t\t}\n\t}\n\n\tpublic virtual void PostTick()\n\t{\n\t}\n\n\tpublic virtual void PostTickInterval(int delta)\n\t{\n\t}\n\n\tpublic virtual void Tended(float quality, float maxQuality, int batchPosition = 0)\n\t{\n\t}\n\n\tpublic virtual void Heal(float amount)\n\t{\n\t\tif (!(amount <= 0f))\n\t\t{\n\t\t\tSeverity -= amount;\n\t\t\tpawn.health.Notify_HediffChanged(this);\n\t\t}\n\t}\n\n\tpublic virtual void ModifyChemicalEffect(ChemicalDef chem, ref float effect)\n\t{\n\t}\n\n\tpublic virtual bool TryMergeWith(Hediff other)\n\t{\n\t\tif (other == null || other.def != def || other.Part != Part)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tSeverity += other.Severity;\n\t\tageTicks = 0;\n\t\treturn true;\n\t}\n\n\tpublic virtual bool CauseDeathNow()\n\t{\n\t\tif (IsLethal)\n\t\t{\n\t\t\tbool num = Severity >= def.lethalSeverity;\n\t\t\tif (num && DebugViewSettings.logCauseOfDeath)\n\t\t\t{\n\t\t\t\tLog.Message(\"CauseOfDeath: lethal severity exceeded \" + Severity + \" >= \" + def.lethalSeverity);\n\t\t\t}\n\t\t\treturn num;\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic virtual void Notify_Downed()\n\t{\n\t}\n\n\tpublic virtual void Notify_PawnDied(DamageInfo? dinfo, Hediff culprit = null)\n\t{\n\t}\n\n\tpublic virtual void Notify_PawnKilled()\n\t{\n\t}\n\n\tpublic virtual void Notify_PawnPostApplyDamage(DamageInfo dinfo, float totalDamageDealt)\n\t{\n\t}\n\n\tpublic virtual void Notify_PawnDamagedThing(Thing thing, DamageInfo dinfo, DamageWorker.DamageResult result)\n\t{\n\t}\n\n\tpublic virtual void Notify_PawnUsedVerb(Verb verb, LocalTargetInfo targets)\n\t{\n\t}\n\n\tpublic virtual void Notify_EntropyGained(float baseAmount, float finalAmount, Thing source = null)\n\t{\n\t}\n\n\tpublic virtual void Notify_RelationAdded(Pawn otherPawn, PawnRelationDef relationDef)\n\t{\n\t}\n\n\tpublic virtual void Notify_ImplantUsed(string violationSourceName, float detectionChance, int violationSourceLevel = -1)\n\t{\n\t}\n\n\tpublic virtual void Notify_KilledPawn(Pawn victim, DamageInfo? dinfo)\n\t{\n\t}\n\n\tpublic virtual void Notify_IngestedThing(Thing thing, int amount)\n\t{\n\t}\n\n\tpublic virtual void Notify_Resurrected()\n\t{\n\t}\n\n\tpublic virtual void Notify_PawnCorpseSpawned()\n\t{\n\t}\n\n\tpublic virtual void Notify_PawnCorpseDestroyed()\n\t{\n\t}\n\n\tpublic virtual void Notify_Regenerated(float hp)\n\t{\n\t}\n\n\tpublic virtual void Notify_SurgicallyRemoved(Pawn surgeon)\n\t{\n\t\tif (def.HasDefinedGraphicProperties || def.forceRenderTreeRecache)\n\t\t{\n\t\t\tpawn.Drawer.renderer.SetAllGraphicsDirty();\n\t\t}\n\t}\n\n\tpublic virtual void Notify_SurgicallyReplaced(Pawn surgeon)\n\t{\n\t\tif (def.HasDefinedGraphicProperties || def.forceRenderTreeRecache)\n\t\t{\n\t\t\tpawn.Drawer.renderer.SetAllGraphicsDirty();\n\t\t}\n\t}\n\n\tpublic virtual void Notify_Spawned()\n\t{\n\t}\n\n\tpublic virtual IEnumerable GetGizmos()\n\t{\n\t\treturn null;\n\t}\n\n\tpublic virtual string GetInspectString()\n\t{\n\t\treturn def.inspectString ?? string.Empty;\n\t}\n\n\tpublic virtual string GetTooltip(Pawn pawn, bool showHediffsDebugInfo)\n\t{\n\t\ttipSb.Clear();\n\t\tHediffStage curStage = CurStage;\n\t\tif (!LabelCap.NullOrEmpty())\n\t\t{\n\t\t\ttipSb.AppendTagged(LabelCap.Colorize(ColoredText.TipSectionTitleColor));\n\t\t}\n\t\tstring severityLabel = SeverityLabel;\n\t\tif (!severityLabel.NullOrEmpty())\n\t\t{\n\t\t\ttipSb.Append(\": \").Append(severityLabel);\n\t\t}\n\t\ttipSb.AppendLine();\n\t\tif (!def.overrideTooltip.NullOrEmpty())\n\t\t{\n\t\t\ttipSb.AppendLine().AppendLineTagged(def.overrideTooltip.Formatted(pawn.Named(\"PAWN\")));\n\t\t}\n\t\telse if (curStage != null && !curStage.overrideTooltip.NullOrEmpty())\n\t\t{\n\t\t\ttipSb.AppendLine().AppendLineTagged(curStage.overrideTooltip.Formatted(pawn.Named(\"PAWN\")));\n\t\t}\n\t\telse\n\t\t{\n\t\t\tstring description = Description;\n\t\t\tif (!description.NullOrEmpty())\n\t\t\t{\n\t\t\t\ttipSb.AppendLine().AppendLine(description);\n\t\t\t}\n\t\t}\n\t\tif (!def.extraTooltip.NullOrEmpty())\n\t\t{\n\t\t\ttipSb.AppendLine().AppendLineTagged(def.extraTooltip.Formatted(pawn.Named(\"PAWN\")));\n\t\t}\n\t\tif (curStage != null && !curStage.extraTooltip.NullOrEmpty())\n\t\t{\n\t\t\ttipSb.AppendLine().AppendLineTagged(curStage.extraTooltip.Formatted(pawn.Named(\"PAWN\")));\n\t\t}\n\t\tstring tipStringExtra = TipStringExtra;\n\t\tif (!tipStringExtra.NullOrEmpty())\n\t\t{\n\t\t\ttipSb.AppendLine().AppendLine(tipStringExtra.TrimEndNewlines());\n\t\t}\n\t\tif (HealthCardUtility.GetCombatLogInfo(Gen.YieldSingle(this), out var taggedString, out var _) && !taggedString.NullOrEmpty())\n\t\t{\n\t\t\ttipSb.AppendLine().AppendLineTagged((\"Cause\".Translate() + \": \" + taggedString).Colorize(ColoredText.SubtleGrayColor));\n\t\t}\n\t\tif (showHediffsDebugInfo && !DebugString().NullOrEmpty() && !DebugString().NullOrEmpty())\n\t\t{\n\t\t\ttipSb.AppendLine().AppendLine(DebugString().TrimEndNewlines());\n\t\t}\n\t\treturn tipSb.ToString().TrimEnd();\n\t}\n\n\tpublic virtual void CopyFrom(Hediff other)\n\t{\n\t\tageTicks = other.ageTicks;\n\t\tsourceLabel = other.sourceLabel;\n\t\tsourceDef = other.sourceDef;\n\t\tsourceBodyPartGroup = other.sourceBodyPartGroup;\n\t\tseverityInt = other.severityInt;\n\t}\n\n\tpublic virtual void PostDebugAdd()\n\t{\n\t}\n\n\tpublic virtual string DebugString()\n\t{\n\t\tstring text = \"\";\n\t\tif (!Visible)\n\t\t{\n\t\t\ttext += \"hidden\\n\";\n\t\t}\n\t\ttext = text + \"severity: \" + Severity.ToString(\"F3\") + ((Severity >= def.maxSeverity) ? \" (reached max)\" : \"\");\n\t\tif (TendableNow())\n\t\t{\n\t\t\ttext = text + \"\\ntend priority: \" + TendPriority;\n\t\t}\n\t\treturn text.Indented();\n\t}\n\n\tpublic virtual IEnumerable SpecialDisplayStats(StatRequest req)\n\t{\n\t\tforeach (StatDrawEntry item in def.SpecialDisplayStats(req))\n\t\t{\n\t\t\tyield return item;\n\t\t}\n\t}\n\n\tpublic override string ToString()\n\t{\n\t\treturn \"(\" + (def?.defName ?? GetType().Name) + ((part != null) ? (\" \" + part.Label) : \"\") + \" ticksSinceCreation=\" + ageTicks + \")\";\n\t}\n\n\tpublic string GetUniqueLoadID()\n\t{\n\t\treturn \"Hediff_\" + loadID;\n\t}\n}\n\n", "timestamp": "2025-08-26 18:06:29,333" }, "Hediff-Notify_PawnPostApplyDamage": { "keywords": [ "Notify_PawnPostApplyDamage", "Hediff" ], "question": "Notify_PawnPostApplyDamage 伤害抵挡 Hediff 伤害减免 例子", "embedding": [ 0.026338106021285057, -0.025699695572257042, 0.04287736490368843, -0.022730348631739616, -0.01838025636970997, -0.013800038956105709, 0.007582969032227993, 0.01722221076488495, -0.014624032191932201, 0.08818959444761276, -0.003440730506554246, -0.04323368892073631, 0.019939163699746132, -0.03863120079040527, 0.05650666728615761, -0.0017333561554551125, -0.02420017495751381, -0.12002099305391312, 0.030613964423537254, -0.01156560517847538, -0.04177870973944664, -0.009071353822946548, 0.026278719305992126, -0.02679835446178913, -0.022284947335720062, 0.011721496470272541, -0.038898441940546036, 0.021379295736551285, 0.00014614753308705986, -0.02439318411052227, -0.02191377803683281, -0.0464702770113945, 0.023784467950463295, -0.0045282538048923016, -0.02890658937394619, 0.04421357437968254, -0.007219224236905575, 0.034177180379629135, 0.006031485740095377, -0.01627201959490776, -0.049231767654418945, -0.008321594446897507, 0.021067515015602112, 0.024927666410803795, -0.014163783751428127, 0.015603916719555855, 0.00876699574291706, -0.06372217833995819, -0.03696836531162262, -0.03705744817852974, 0.0324549600481987, -0.005233473610132933, 0.01631656102836132, -0.01842479594051838, -0.01756368577480316, 0.0185881108045578, -0.006510292645543814, -0.014668572694063187, 0.0036597198341041803, -0.010407560504972935, -0.007556987460702658, 0.054932914674282074, -0.04534192383289337, -0.02667958103120327, 0.012263402342796326, -0.003416604595258832, -0.0853390246629715, -0.025848163291811943, 0.04739077389240265, -0.03000524826347828, 0.013599608093500137, 0.03575093299150467, 0.02222556062042713, -0.026412339881062508, 0.009026814252138138, 0.03693867474794388, 0.005775379482656717, 0.0008903400739654899, -0.0348898246884346, -0.01854356937110424, 0.016554107889533043, 0.009553872980177402, -0.06164363771677017, -0.0347413569688797, 0.05808041989803314, 0.02308667078614235, 0.006439770571887493, -0.017118284478783607, -0.02075573429465294, 0.10131411254405975, 0.012753344140946865, 0.013102242723107338, 0.0150100477039814, -0.026931975036859512, -0.005307707469910383, 0.03779978305101395, 0.013124512508511543, 0.036463577300310135, -0.014534952118992805, 0.014831886626780033, -0.051458779722452164, -0.010682225227355957, -0.037888865917921066, 0.05897122621536255, -0.01754883863031864, 0.006458329036831856, -0.006335843354463577, 0.0321580246090889, -0.022982744500041008, 0.005482156295329332, -0.03156415373086929, -0.009902771562337875, -0.03604786843061447, 0.04848943278193474, -0.005433904472738504, 0.008039506152272224, 0.022967897355556488, -0.01557422336190939, 0.01034817285835743, -0.005983233451843262, 0.0767873078584671, 0.019404681399464607, -0.0208745077252388, -0.02676866017282009, 0.014327097684144974, 0.013117088936269283, 0.011818000115454197, 0.0034852707758545876, -0.011810576543211937, 0.011424561031162739, 0.009702340699732304, 0.004476290196180344, 0.037651315331459045, 0.029292605817317963, -0.0012740353122353554, -0.007920732721686363, -0.010221975855529308, 0.014089549891650677, -0.03824518620967865, -0.021587150171399117, -0.048044029623270035, -0.030762432143092155, 0.032959748059511185, 0.0033256683964282274, 0.06360340863466263, -0.019033512100577354, -0.029188677668571472, 0.00933859497308731, -0.07257083058357239, -0.0012072250247001648, 0.010763881728053093, 0.025180060416460037, -0.020443951711058617, 0.06164363771677017, -0.020072784274816513, -0.00018512021051719785, 0.02537306770682335, -0.02420017495751381, -0.014720536768436432, 0.0003331235784571618, 0.01506943441927433, -0.010585720650851727, -0.008306747302412987, -0.012931505218148232, 0.016925277188420296, -0.041125450283288956, -0.01753399148583412, -0.025788776576519012, -0.0007989398436620831, -0.04044250398874283, -0.01506201084703207, -0.0025499265175312757, -0.041214533150196075, -0.03396932780742645, 0.029886474832892418, 0.0303170308470726, -0.043619703501462936, 0.04287736490368843, 0.04412449151277542, 0.0012192879803478718, -0.0013269268674775958, 0.0019337870180606842, -0.022359181195497513, 0.003648584708571434, 0.016761962324380875, -0.05178540572524071, -0.011758613400161266, 0.05092429742217064, -0.011276094242930412, 0.042283497750759125, 0.02795640006661415, 0.08094438910484314, 0.009457369334995747, 0.014549799263477325, 0.04044250398874283, 0.0015542673645541072, -0.016940122470259666, 0.03272220119833946, -0.05101337656378746, -0.023606305941939354, 0.008046929724514484, -0.019137440249323845, 0.0009116822620853782, 0.009702340699732304, 0.07399611920118332, -0.008024659939110279, 0.017756693065166473, -0.016494721174240112, 0.006855479441583157, 0.00038926280103623867, 0.012278248555958271, -4.6483033656841144e-05, 0.0348898246884346, -0.03153446316719055, -0.00489571038633585, 0.007519870530813932, -0.0749463140964508, 0.01968676783144474, 0.023992322385311127, 0.02433379553258419, -0.03809671849012375, 0.060812219977378845, -0.038571812212467194, 0.014312251470983028, 0.018959278240799904, 0.008737302385270596, 0.010140319354832172, -0.019078053534030914, 0.08029113709926605, 0.01329525001347065, -0.007308304775506258, 0.030613964423537254, -0.057456858456134796, 0.020488493144512177, -0.021483223885297775, -0.01855841651558876, -0.008618528954684734, -0.10523364692926407, -0.016940122470259666, 0.01743006519973278, 0.016524413600564003, 0.046945370733737946, -0.012441562488675117, -0.005678875371813774, 0.002711384790018201, -0.002659421181306243, -0.019122593104839325, 0.0024070267099887133, -0.02099328115582466, -0.025239447131752968, 0.008373557589948177, -0.004179355688393116, -0.005040465854108334, -0.016791654750704765, 0.0326034277677536, 0.002505386248230934, 0.007148702163249254, -0.0008894121274352074, -0.003539090044796467, -0.030940592288970947, -0.029693467542529106, 0.020191557705402374, -0.02080027386546135, 0.06021835282444954, -0.04540131241083145, 0.026397492736577988, 0.02675381302833557, -0.011528488248586655, -0.01443844847381115, 0.007965272292494774, -0.012983468361198902, 0.030762432143092155, 0.02679835446178913, -0.04608426243066788, -0.0367308184504509, -0.02681320160627365, 0.03349423035979271, -0.018187249079346657, -0.015559377148747444, 0.0016136543126776814, -0.03848273307085037, -0.015633611008524895, 0.003596621099859476, -0.015782076865434647, -0.015247595496475697, 0.03135630115866661, -0.003260713769122958, -0.07043290138244629, 0.019464068114757538, 0.04486683011054993, -0.03569154813885689, -0.04142238572239876, 0.028624502941966057, 0.025254294276237488, -0.0040531582199037075, -0.012397022917866707, 0.03958139196038246, -0.015440602786839008, -0.014920967631042004, 0.008380981162190437, -0.03581032156944275, -0.0443323478102684, -0.012679110281169415, 0.039997100830078125, 0.04070974513888359, -0.005868171341717243, -0.0348898246884346, -0.11004398763179779, 0.02792670577764511, -0.10814360529184341, 0.011602722108364105, -0.016925277188420296, -0.06627582013607025, -0.026917127892374992, -0.0003804475418291986, -0.014334521256387234, -0.04085820913314819, -0.009041660465300083, -0.020533032715320587, 0.07744055986404419, -0.02449711039662361, -0.04430265352129936, -0.09187158942222595, -0.0007247061585076153, 0.009375711902976036, -0.0010021545458585024, 0.030406109988689423, 0.020206404849886894, 0.02317575179040432, -0.02100812830030918, 0.015752384439110756, 0.017979394644498825, -0.012924081645905972, 0.09365319460630417, 0.03572124242782593, 0.027600077912211418, 0.04168962687253952, 0.02192862518131733, -0.020265791565179825, -0.03197986260056496, 0.0007655346998944879, -0.04026434198021889, 0.01977584883570671, -0.016940122470259666, 0.008818959817290306, 0.02085966058075428, 0.04198656231164932, 0.04964747652411461, 0.0035873421002179384, 0.015722690150141716, 0.015217902138829231, 0.020191557705402374, -0.03373177722096443, 0.00986565463244915, 0.009049084037542343, 0.010214552283287048, -0.016747115179896355, 0.02670927345752716, -0.016509568318724632, 0.020310331135988235, -0.00870018545538187, -0.011973890475928783, -0.0513400062918663, 0.007787111680954695, -0.006758975330740213, -0.015306982211768627, 0.02063695900142193, 0.03236588090658188, -0.09608805924654007, 0.024823738262057304, -0.01748945191502571, -0.029322298243641853, 0.001760265906341374, 0.01854356937110424, 0.005177798215299845, 0.02431895025074482, 0.0371762216091156, 0.014601762406527996, 0.010058661922812462, -0.008685339242219925, 0.039908021688461304, 0.009449945762753487, -0.010867808945477009, -0.04311491549015045, -0.014156360179185867, -0.006758975330740213, 0.04762832075357437, -0.003492694115266204, 0.011313211172819138, -0.02213647961616516, 0.031920477747917175, 0.012552913278341293, 0.014364214614033699, -0.01961253583431244, 0.034385036677122116, 0.0014800337376073003, -0.00821766722947359, 0.00407914025709033, 0.0601886585354805, -0.030613964423537254, -0.02895113080739975, -0.008098892867565155, -0.060812219977378845, -0.0603371262550354, 0.02567000314593315, 0.020414259284734726, -0.003654152387753129, -0.0017045906279236078, -0.03349423035979271, 0.008373557589948177, -0.015455449931323528, -0.03934384509921074, 0.09786966443061829, 0.03676051273941994, -0.04044250398874283, -0.01271622721105814, 0.002520232927054167, 0.010734188370406628, 0.016672881320118904, -0.020488493144512177, -0.051607247442007065, 0.02314605750143528, -0.05552678182721138, -0.005805072840303183, -0.02999040111899376, 0.07845014333724976, 0.008922887034714222, -0.02890658937394619, -0.027332836762070656, -0.001516222720965743, -0.004034599754959345, -0.025803623721003532, -0.0197313092648983, 0.03791855648159981, 0.03364269807934761, -0.016539260745048523, 0.019464068114757538, 0.016925277188420296, -0.044748056679964066, -0.01965707540512085, -0.03836395964026451, 0.011402291245758533, 0.06158424913883209, -0.004275859333574772, -0.10535242408514023, -0.0163017138838768, 0.009628106839954853, -0.001290737884119153, 0.016643188893795013, 0.022255253046751022, -0.07340224832296371, -5.132562364451587e-05, 0.02650141902267933, 0.029337145388126373, -0.014690842479467392, 0.05217142030596733, -0.000717282819095999, 0.01270880363881588, -0.026397492736577988, -0.014475565403699875, -0.00495509710162878, -0.008677915669977665, -0.034206874668598175, 0.022923355922102928, 0.024571344256401062, -0.01952345483005047, 0.01731129176914692, 0.0025517824105918407, 0.008373557589948177, -0.047865867614746094, -0.044748056679964066, 0.018944432958960533, 0.015024893917143345, 0.004112545400857925, 0.018855351954698563, -0.04840034991502762, -0.015121398493647575, 0.033167604357004166, 0.0145126823335886, 0.009650376625359058, 0.015811771154403687, 0.0344444215297699, -0.041125450283288956, 0.0010541180381551385, -0.09941373020410538, -0.06692907214164734, -0.0015319973463192582, 0.009546449407935143, 0.020087631419301033, -0.0604855939745903, -0.01633140631020069, -0.006276456639170647, 0.02077057957649231, 0.059713561087846756, -0.0008462638361379504, 0.03720591589808464, -0.04079882428050041, -0.052705902606248856, 0.002819023560732603, -0.07714362442493439, -0.045817021280527115, 0.02448226325213909, -0.0018660487839952111, 0.02421502210199833, -0.016598647460341454, 0.0005581444129347801, 0.026931975036859512, 0.025105826556682587, -0.01277561392635107, -0.011610145680606365, 0.010756458155810833, -0.0421944186091423, 0.028535421937704086, -0.01950860768556595, -0.016568955034017563, 0.0463218092918396, 0.0460248738527298, -0.028090020641684532, -0.002238145098090172, 0.006974252872169018, -0.010296209715306759, -0.0005664956988766789, 0.0531810000538826, -0.05953540280461311, -0.049142688512802124, -0.016004778444767, 0.0039009791798889637, -0.017637919634580612, 0.016806501895189285, -0.011662108823657036, -0.010533757507801056, -0.04050188884139061, 0.04706414416432381, 0.025803623721003532, 0.06413789093494415, 0.01852872408926487, 0.030524883419275284, 0.0011877387296408415, 0.06930455565452576, 0.0658007264137268, 0.027496149763464928, 0.008811536245048046, -0.00993246491998434, 0.03025764226913452, 0.04658905044198036, 0.03325668349862099, 0.03132660686969757, -0.034385036677122116, 0.010674801655113697, 0.0031753452494740486, 0.02335391193628311, 0.05906030535697937, -0.012738496996462345, -0.03869058936834335, 0.0267389677464962, 0.018068475648760796, 0.04424326494336128, 0.06366279721260071, -0.019983703270554543, -0.01754883863031864, -0.02418532967567444, -0.008187973871827126, -0.013146782293915749, -0.03569154813885689, 0.005864459555596113, 0.0054673096165061, -0.04848943278193474, 0.0014753941213712096, -0.02420017495751381, 0.0023587748873978853, -0.055170461535453796, 0.002705817110836506, -0.030331876128911972, 0.023532072082161903, -0.02783762477338314, 0.006603084970265627, 0.02451195754110813, 0.0046247574500739574, 0.11865509301424026, -0.03168293088674545, -0.01857326366007328, -0.007052198518067598, 0.03390993922948837, -0.01264941692352295, 0.04180840030312538, 0.02304213121533394, 0.004023464862257242, -0.01613839901983738, 0.01845449022948742, 0.012374752201139927, 0.06259382516145706, 0.02439318411052227, -0.038839053362607956, -0.01163241546601057, -0.013013161718845367, 0.06271260231733322, -0.029767701402306557, 0.054962608963251114, 0.017652766779065132, 0.049142688512802124, 0.0012638282496482134, -0.049112994223833084, -0.00725262938067317, -0.024571344256401062, 0.0122262854129076, -0.012025854550302029, -0.026115404441952705, -0.008908039890229702, 0.037681009620428085, -0.005652893800288439, 0.003598476992920041, 0.040056485682725906, 0.015559377148747444, 0.015113974921405315, 0.0417490154504776, 0.020592419430613518, 0.004019753076136112, 0.025877855718135834, -0.034117795526981354, -0.005151816643774509, -0.04712353274226189, -0.0020247232168912888, 0.012931505218148232, -0.022477954626083374, -0.01036302000284195, -0.011350328102707863, -0.010882656089961529, 0.007349133025854826, 0.008366134017705917, -0.003080697264522314, 0.0007868768880143762, 0.029218371957540512, -0.014750230126082897, 0.0048660170286893845, 0.028550269082188606, -0.008187973871827126, -0.020072784274816513, 0.0010522622615098953, -0.05540800839662552, 0.004487425088882446, 0.007772265002131462, 0.025180060416460037, -0.04261012375354767, 0.04397602379322052, 0.02204739861190319, -0.055200155824422836, -0.07156125456094742, -0.010006698779761791, -0.02800093963742256, -0.00496252067387104, -3.0389408493647352e-05, 0.04065035656094551, -0.008462638594210148, 0.017073743045330048, -0.011446831747889519, 0.018870199099183083, -0.004851170349866152, -0.016954969614744186, -0.004131103400141001, -0.04837065935134888, -0.02109720930457115, -0.020043089985847473, 0.013748074881732464, -0.0011701082112267613, 0.03396932780742645, -0.03331606835126877, 0.0024163059424608946, -0.01506201084703207, 0.017088590189814568, -0.002522088820114732, -0.010823268443346024, 0.006510292645543814, -0.015871157869696617, -0.00928663183003664, 0.05095398798584938, -0.014171207323670387, -0.03108906000852585, 0.00579022616147995, 0.03114844672381878, -0.008878346532583237, -0.0421944186091423, 0.002058128360658884, -0.013258133083581924, 0.022670961916446686, 0.0045839291997253895, 0.012634570710361004, 0.008336440660059452, 0.029292605817317963, -0.0513400062918663, 0.021587150171399117, 0.03168293088674545, -0.0624750554561615, 0.050360120832920074, -0.007597815711051226, -0.007735148072242737, -0.007345421239733696, -0.09252484142780304, -0.009323748759925365, 0.014111820608377457, 0.045965489000082016, 0.10570874065160751, -0.03233618661761284, -0.08058807253837585, 0.01740037091076374, 0.03506798297166824, -0.03515706583857536, 0.021275369450449944, -0.019107745960354805, -0.014705689623951912, -0.029203524813055992, -0.00439463322982192, -0.0014521961566060781, -0.0022307217586785555, 0.0327518954873085, -0.010273939929902554, 0.02320544421672821, 0.04136300086975098, -0.016836196184158325, -0.017088590189814568, 0.007980119436979294, 0.03679020702838898, 0.013577338308095932, 0.00033080377033911645, -0.044510506093502045, 0.008870922960340977, 0.04510437697172165, -0.0396110862493515, -0.007260052487254143, -0.003501973347738385, 0.06122792884707451, -0.04323368892073631, -0.020102476701140404, -0.01385200209915638, 0.017875466495752335, 0.004877151921391487, 0.03601817414164543, 0.02541760727763176, -0.008269630372524261, 0.010311056859791279, -0.041006676852703094, -0.013621877878904343, -0.008863500319421291, 0.017920007929205894, -0.008418098092079163, 0.12209953367710114, 0.008982273750007153, -0.0038453040178865194, 0.03352392464876175, 0.022967897355556488, 0.010578298009932041, 0.017623072490096092, -0.04409479722380638, 0.05911969393491745, -0.03699805960059166, 0.013948505744338036, 0.007913309149444103, 0.028372107073664665, 0.017652766779065132, -0.0017546983435750008, 0.03711683303117752, -0.016821349039673805, -0.056180041283369064, 0.03735437989234924, 0.011751189827919006, -0.02789701148867607, 0.05344824120402336, -0.04293675348162651, -0.020057937130331993, -0.010036392137408257, -0.04638119414448738, -0.05442812666296959, 0.012567760422825813, -0.0323064923286438, 0.019939163699746132, 0.051636938005685806, 0.026011476293206215, -0.005738262552767992, -0.03575093299150467, 0.0018326436402276158, 0.007972695864737034, -0.013013161718845367, -0.030910899862647057, -0.014193477109074593, -0.015039741061627865, 0.01343629416078329, 0.0348898246884346, 0.03319729492068291, -0.00750873563811183, 0.001985750626772642, -0.026145098730921745, 0.007430789992213249, 0.025907550007104874, 0.013102242723107338, 0.06538501381874084, 0.01857326366007328, -0.005166663322597742, -0.006068602204322815, 0.06776048988103867, -0.005678875371813774, 0.025684848427772522, -0.008536871522665024, 0.0, -0.022953050211071968, -0.04991471767425537, -0.03352392464876175, 0.006803515832871199, -0.022270100191235542, -0.05335916206240654, -0.012619723565876484, -0.014238017611205578, -0.012857271358370781, 0.002499818801879883, -0.0034258838277310133, 0.0028320143464952707, 0.028565116226673126, -0.021676231175661087, 0.0019486338132992387, -0.003488982329145074, 0.020265791565179825, -0.023843854665756226, 0.001762121682986617, 0.021156596019864082, -0.004951385781168938, -0.010036392137408257, -0.005823631305247545, -0.011662108823657036, -0.015752384439110756, -0.004416903015226126, -0.04148177430033684, -0.004561658948659897, -0.04076912999153137, -0.026204485446214676, -0.007594104390591383, 0.014787347055971622, 0.015247595496475697, -0.006885172799229622, -0.010311056859791279, 0.007935578934848309, 0.0013955929316580296, -0.060990381985902786, 0.01041498314589262, -0.00463960412889719, 0.009531603194773197, 0.018068475648760796, 0.015811771154403687, -0.020176710560917854, -0.010763881728053093, 0.0011385588441044092, -0.014059856534004211, 0.02537306770682335, -0.07827197760343552, 0.027466457337141037, -0.02071119286119938, -0.0022808294743299484, 0.05537831783294678, 0.025788776576519012, -0.002635295270010829, 0.014601762406527996, -0.0064286356791853905, 0.023725079372525215, -0.01835056208074093, -0.009977005422115326, 0.03670112416148186, -0.01392623595893383, -0.022181019186973572, -0.0033089658245444298, 0.03548369184136391, -0.017801232635974884, -0.005775379482656717, -0.05199326202273369, 0.07310531288385391, 0.01970161497592926, 0.021290216594934464, 0.05324038490653038, 0.025699695572257042, -0.02565515600144863, -0.00927920825779438, -0.009093624539673328, 0.0035316667053848505, -0.028505727648735046, 0.008492331951856613, 0.0017556262901052833, 0.0040049063973128796, 0.018320869654417038, -0.006265321746468544, -0.018840504810214043, -0.021423837170004845, -0.0018066618358716369, -0.013503104448318481, 0.024808891117572784, 0.008314170874655247, -0.010570874437689781, 0.03132660686969757, 0.008752149529755116, 0.02664988674223423, 0.02189893275499344, -0.0255957692861557, 0.007404808420687914, -0.019122593104839325, 0.0027503573801368475, -0.00034611448063515127, -0.013569914735853672, 0.01869203709065914, 0.013414023444056511, -0.07381796091794968, -0.04952870309352875, 0.0003765038854908198, -0.02650141902267933, 0.007159837055951357, -0.005730838980525732, -0.024571344256401062, -0.0461733415722847, 0.0027781950775533915, 0.015722690150141716, 0.011595298536121845, -0.05131031200289726, 0.0394626185297966, 0.007853922434151173, 0.030643658712506294, 0.029604386538267136, 0.018202096223831177, -0.03141568973660469, 0.0221661739051342, 0.0014020884409546852, 0.005289149004966021, 0.00979884434491396, -0.017177671194076538, 0.0368792861700058, -0.0195828415453434, -0.014846733771264553, 0.005070159677416086, 0.019360139966011047, 0.06669152528047562, 0.02565515600144863, 0.024571344256401062, 0.06158424913883209, 0.03358330950140953, -0.02439318411052227, -0.02319059707224369, -0.021527763456106186, 0.00375251192599535, -0.06574133783578873, 0.01754883863031864, 0.003527955152094364, 0.016940122470259666, -0.007493888959288597, 0.017830926924943924, -0.02798609249293804, 0.017816079780459404, -0.017118284478783607, -0.023962628096342087, 0.010118048638105392, 0.017162824049592018, 0.014297404326498508, 0.010867808945477009, -0.006588237825781107, 0.018009087070822716, 0.008440367877483368, 0.012515796348452568, -0.0350382924079895, 0.04946931451559067, 0.005545254796743393, 0.016717422753572464, -0.028579961508512497, 0.03554308041930199, -0.015960238873958588, 0.015871157869696617, -0.010533757507801056, 0.025966936722397804, 0.003882420714944601, -0.06140609085559845, 0.0012629003031179309, 0.027392223477363586, -0.058703985065221786, 0.009650376625359058, 0.033048827201128006, -0.04498560354113579, -0.020443951711058617, -0.03224710375070572, 0.00044053042074665427, 0.02681320160627365, 0.01971646212041378, -0.016984663903713226, -0.015425756573677063, -0.021661384031176567, -0.010303633287549019, 0.022567035630345345, -0.021512916311621666, -0.001564474543556571, 0.01328040286898613, 0.0021434971131384373, -0.04495590925216675, -0.010830692015588284, 0.016732268035411835, 0.04747985303401947, -0.010704495012760162, -0.005404211115092039, -0.04076912999153137, 0.025937244296073914, 0.037829477339982986, -0.012241131626069546, -0.01745975948870182, 0.025877855718135834, 0.005259455181658268, 0.01722221076488495, 0.04088790342211723, -0.12732559442520142, 0.06586010754108429, -0.024823738262057304, 0.010979159735143185, 0.0676417201757431, -0.00866306945681572, 0.060990381985902786, -0.03340515121817589, 0.020132170990109444, -0.016836196184158325, -0.022641269490122795, 0.011342904530465603, -0.00813600979745388, 0.0009385919547639787, -0.027347683906555176, 0.035275839269161224, -0.0013018728932365775, -0.00028139198548160493 ], "result": "--- 结果 1 (相似度: 1.000) ---\n文件路径: C:\\Steam\\steamapps\\common\\RimWorld\\Data\\dll1.6\\Verse\\Hediff.txt\n\npublic class Hediff : IExposable, ILoadReferenceable\n{\n\tpublic HediffDef def;\n\n\tpublic int ageTicks;\n\n\tpublic int tickAdded = -1;\n\n\tprivate BodyPartRecord part;\n\n\tpublic string sourceLabel;\n\n\tpublic ThingDef sourceDef;\n\n\tpublic BodyPartGroupDef sourceBodyPartGroup;\n\n\tpublic string sourceToolLabel;\n\n\tpublic HediffDef sourceHediffDef;\n\n\tpublic int loadID = -1;\n\n\tprotected float severityInt;\n\n\tprivate bool recordedTale;\n\n\tprotected bool causesNoPain;\n\n\tprivate bool visible;\n\n\tpublic WeakReference combatLogEntry;\n\n\tpublic string combatLogText;\n\n\tpublic int temp_partIndexToSetLater = -1;\n\n\tpublic bool canBeThreateningToPart = true;\n\n\tprivate List abilities;\n\n\t[Unsaved(false)]\n\tpublic Pawn pawn;\n\n\tprivate static StringBuilder tipSb = new StringBuilder();\n\n\tpublic virtual string LabelBase => CurStage?.overrideLabel ?? def.label;\n\n\tpublic string LabelBaseCap => LabelBase.CapitalizeFirst(def);\n\n\tpublic virtual string Label\n\t{\n\t\tget\n\t\t{\n\t\t\tstring labelInBrackets = LabelInBrackets;\n\t\t\treturn LabelBase + (labelInBrackets.NullOrEmpty() ? \"\" : (\" (\" + labelInBrackets + \")\"));\n\t\t}\n\t}\n\n\tpublic string LabelCap => Label.CapitalizeFirst(def);\n\n\tpublic virtual Color LabelColor => def.defaultLabelColor;\n\n\tpublic virtual string LabelInBrackets\n\t{\n\t\tget\n\t\t{\n\t\t\tif (CurStage != null && !CurStage.label.NullOrEmpty())\n\t\t\t{\n\t\t\t\treturn CurStage.label;\n\t\t\t}\n\t\t\treturn null;\n\t\t}\n\t}\n\n\tpublic virtual string SeverityLabel\n\t{\n\t\tget\n\t\t{\n\t\t\tif (!IsLethal && !def.alwaysShowSeverity)\n\t\t\t{\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\treturn (Severity / Mathf.Abs(def.lethalSeverity)).ToStringPercent();\n\t\t}\n\t}\n\n\tpublic virtual int UIGroupKey => Label.GetHashCode();\n\n\tpublic virtual string TipStringExtra\n\t{\n\t\tget\n\t\t{\n\t\t\tStringBuilder stringBuilder = new StringBuilder();\n\t\t\tforeach (StatDrawEntry item in HediffStatsUtility.SpecialDisplayStats(CurStage, this))\n\t\t\t{\n\t\t\t\tif (item.ShouldDisplay())\n\t\t\t\t{\n\t\t\t\t\tstringBuilder.Append(\" - \" + item.LabelCap + \": \" + item.ValueString);\n\t\t\t\t\tif (CurStage?.statOffsetEffectMultiplier != null)\n\t\t\t\t\t{\n\t\t\t\t\t\tstringBuilder.Append($\" x {CurStage.statOffsetEffectMultiplier.LabelCap}\");\n\t\t\t\t\t}\n\t\t\t\t\telse if (CurStage?.statFactorEffectMultiplier != null)\n\t\t\t\t\t{\n\t\t\t\t\t\tstringBuilder.Append($\" x {CurStage.statFactorEffectMultiplier.LabelCap}\");\n\t\t\t\t\t}\n\t\t\t\t\tstringBuilder.AppendLine();\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (ModsConfig.AnomalyActive && !def.aptitudes.NullOrEmpty())\n\t\t\t{\n\t\t\t\tstringBuilder.AppendLine(def.aptitudes.Select((Aptitude x) => x.skill.LabelCap.ToString() + \" \" + x.level.ToStringWithSign()).ToLineList(\" - \", capitalizeItems: true));\n\t\t\t}\n\t\t\tHediffStage stage = CurStage;\n\t\t\tif (stage != null)\n\t\t\t{\n\t\t\t\tif (!stage.enablesNeeds.NullOrEmpty())\n\t\t\t\t{\n\t\t\t\t\tif (stringBuilder.Length > 0)\n\t\t\t\t\t{\n\t\t\t\t\t\tstringBuilder.AppendLine();\n\t\t\t\t\t}\n\t\t\t\t\tstringBuilder.AppendLine((\"AddsNeeds\".Translate().CapitalizeFirst() + \":\").Colorize(ColoredText.TipSectionTitleColor));\n\t\t\t\t\tstringBuilder.AppendLine(stage.enablesNeeds.Select((NeedDef x) => x.LabelCap.ToString()).ToLineList(\" - \"));\n\t\t\t\t}\n\t\t\t\tif (!stage.disablesNeeds.NullOrEmpty())\n\t\t\t\t{\n\t\t\t\t\tif (stringBuilder.Length > 0)\n\t\t\t\t\t{\n\t\t\t\t\t\tstringBuilder.AppendLine();\n\t\t\t\t\t}\n\t\t\t\t\tstringBuilder.AppendLine((\"DisabledNeedsLabel\".Translate().CapitalizeFirst() + \":\").Colorize(ColoredText.TipSectionTitleColor));\n\t\t\t\t\tstringBuilder.AppendLine(stage.disablesNeeds.Select((NeedDef x) => x.LabelCap.ToString()).ToLineList(\" - \"));\n\t\t\t\t}\n\t\t\t\tif (stage.disabledWorkTags != 0)\n\t\t\t\t{\n\t\t\t\t\tif (stringBuilder.Length > 0)\n\t\t\t\t\t{\n\t\t\t\t\t\tstringBuilder.AppendLine();\n\t\t\t\t\t}\n\t\t\t\t\tstringBuilder.AppendLine((\"DisabledWorkLabel\".Translate().CapitalizeFirst() + \":\").Colorize(ColoredText.TipSectionTitleColor));\n\t\t\t\t\tIEnumerable items = from x in DefDatabase.AllDefsListForReading\n\t\t\t\t\t\twhere (stage.disabledWorkTags & x.workTags) != 0\n\t\t\t\t\t\tselect x.labelShort;\n\t\t\t\t\tstringBuilder.Append(\" - \" + items.ToCommaList().CapitalizeFirst());\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (def.CompProps() != null)\n\t\t\t{\n\t\t\t\tstringBuilder.AppendLine(\" - \" + \"IncreasesChanceOfLovin\".Translate());\n\t\t\t}\n\t\t\treturn stringBuilder.ToString();\n\t\t}\n\t}\n\n\tpublic virtual HediffStage CurStage\n\t{\n\t\tget\n\t\t{\n\t\t\tif (!def.stages.NullOrEmpty())\n\t\t\t{\n\t\t\t\treturn def.stages[CurStageIndex];\n\t\t\t}\n\t\t\treturn null;\n\t\t}\n\t}\n\n\tpublic virtual bool ShouldRemove => Severity <= 0f;\n\n\tpublic virtual bool Visible\n\t{\n\t\tget\n\t\t{\n\t\t\tif (!visible && CurStage != null)\n\t\t\t{\n\t\t\t\treturn CurStage.becomeVisible;\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t}\n\n\tpublic virtual float BleedRate => 0f;\n\n\tpublic virtual float BleedRateScaled => BleedRate / pawn.HealthScale;\n\n\tpublic bool Bleeding => BleedRate > 1E-05f;\n\n\tpublic virtual float PainOffset\n\t{\n\t\tget\n\t\t{\n\t\t\tif (CurStage != null && !causesNoPain)\n\t\t\t{\n\t\t\t\treturn CurStage.painOffset;\n\t\t\t}\n\t\t\treturn 0f;\n\t\t}\n\t}\n\n\tpublic virtual float PainFactor => CurStage?.painFactor ?? 1f;\n\n\tpublic List CapMods => CurStage?.capMods;\n\n\tpublic virtual float SummaryHealthPercentImpact => 0f;\n\n\tpublic virtual float TendPriority\n\t{\n\t\tget\n\t\t{\n\t\t\tfloat a = 0f;\n\t\t\tHediffStage curStage = CurStage;\n\t\t\tif (curStage != null && curStage.lifeThreatening)\n\t\t\t{\n\t\t\t\ta = Mathf.Max(a, 1f);\n\t\t\t}\n\t\t\ta = Mathf.Max(a, BleedRate * 1.5f);\n\t\t\tHediffComp_TendDuration hediffComp_TendDuration = this.TryGetComp();\n\t\t\tif (hediffComp_TendDuration != null && hediffComp_TendDuration.TProps.severityPerDayTended < 0f)\n\t\t\t{\n\t\t\t\ta = Mathf.Max(a, 0.025f);\n\t\t\t}\n\t\t\treturn a;\n\t\t}\n\t}\n\n\tpublic virtual TextureAndColor StateIcon => TextureAndColor.None;\n\n\tpublic virtual int CurStageIndex => def.StageAtSeverity(Severity);\n\n\tpublic virtual float Severity\n\t{\n\t\tget\n\t\t{\n\t\t\treturn severityInt;\n\t\t}\n\t\tset\n\t\t{\n\t\t\tbool flag = false;\n\t\t\tif (IsLethal && value >= def.lethalSeverity)\n\t\t\t{\n\t\t\t\tvalue = def.lethalSeverity;\n\t\t\t\tflag = true;\n\t\t\t}\n\t\t\tbool flag2 = this is Hediff_Injury && value > severityInt && Mathf.RoundToInt(value) != Mathf.RoundToInt(severityInt);\n\t\t\tint curStageIndex = CurStageIndex;\n\t\t\tseverityInt = Mathf.Clamp(value, def.minSeverity, def.maxSeverity);\n\t\t\tif (CurStageIndex != curStageIndex)\n\t\t\t{\n\t\t\t\tOnStageIndexChanged(CurStageIndex);\n\t\t\t}\n\t\t\tif ((CurStageIndex != curStageIndex || flag || flag2) && pawn.health.hediffSet.hediffs.Contains(this))\n\t\t\t{\n\t\t\t\tpawn.health.Notify_HediffChanged(this);\n\t\t\t\tif (!pawn.Dead && pawn.needs.mood != null)\n\t\t\t\t{\n\t\t\t\t\tpawn.needs.mood.thoughts.situational.Notify_SituationalThoughtsDirty();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic BodyPartRecord Part\n\t{\n\t\tget\n\t\t{\n\t\t\treturn part;\n\t\t}\n\t\tset\n\t\t{\n\t\t\tif (pawn == null && value != null)\n\t\t\t{\n\t\t\t\tLog.Error(\"Hediff: Cannot set Part without setting pawn first.\");\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tpart = value;\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic bool IsLethal\n\t{\n\t\tget\n\t\t{\n\t\t\tif (def.lethalSeverity > 0f)\n\t\t\t{\n\t\t\t\treturn canBeThreateningToPart;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic bool IsCurrentlyLifeThreatening => IsStageLifeThreatening(CurStage);\n\n\tpublic List AllAbilitiesForReading\n\t{\n\t\tget\n\t\t{\n\t\t\tif (abilities == null && !def.abilities.NullOrEmpty())\n\t\t\t{\n\t\t\t\tabilities = new List();\n\t\t\t\tforeach (AbilityDef ability in def.abilities)\n\t\t\t\t{\n\t\t\t\t\tabilities.Add(AbilityUtility.MakeAbility(ability, pawn));\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn abilities;\n\t\t}\n\t}\n\n\tpublic virtual string Description => def.Description;\n\n\tpublic virtual bool TendableNow(bool ignoreTimer = false)\n\t{\n\t\tif (!def.tendable || Severity <= 0f || this.FullyImmune() || !Visible || this.IsPermanent() || !pawn.RaceProps.IsFlesh || (this is Hediff_Injury && !pawn.health.CanBleed))\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tif (!ignoreTimer)\n\t\t{\n\t\t\tHediffComp_TendDuration hediffComp_TendDuration = this.TryGetComp();\n\t\t\tif (hediffComp_TendDuration != null && !hediffComp_TendDuration.AllowTend)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t}\n\n\tpublic bool IsStageLifeThreatening(HediffStage stage)\n\t{\n\t\tif (stage == null)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tif (stage.lifeThreatening)\n\t\t{\n\t\t\treturn canBeThreateningToPart;\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic bool IsAnyStageLifeThreatening()\n\t{\n\t\tif (def.stages == null || !canBeThreateningToPart)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tfor (int i = 0; i < def.stages.Count; i++)\n\t\t{\n\t\t\tif (def.stages[i].lifeThreatening)\n\t\t\t{\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic bool CanEverKill()\n\t{\n\t\tif (!IsLethal)\n\t\t{\n\t\t\treturn IsAnyStageLifeThreatening();\n\t\t}\n\t\treturn true;\n\t}\n\n\tpublic void SetVisible()\n\t{\n\t\tvisible = true;\n\t}\n\n\tprotected virtual void OnStageIndexChanged(int stageIndex)\n\t{\n\t\tif (CurStage.pctConditionalThoughtsNullified > 0f || CurStage.pctAllThoughtNullification > 0f)\n\t\t{\n\t\t\tpawn.health.hediffSet.CacheThoughtsNullified();\n\t\t}\n\t}\n\n\tpublic virtual void ExposeData()\n\t{\n\t\tif (Scribe.mode == LoadSaveMode.Saving && combatLogEntry != null)\n\t\t{\n\t\t\tLogEntry target = combatLogEntry.Target;\n\t\t\tif (target == null || !Current.Game.battleLog.IsEntryActive(target))\n\t\t\t{\n\t\t\t\tcombatLogEntry = null;\n\t\t\t}\n\t\t}\n\t\tScribe_Values.Look(ref loadID, \"loadID\", 0);\n\t\tScribe_Values.Look(ref ageTicks, \"ageTicks\", 0);\n\t\tScribe_Values.Look(ref tickAdded, \"tickAdded\", 0);\n\t\tScribe_Values.Look(ref visible, \"visible\", defaultValue: false);\n\t\tScribe_Values.Look(ref severityInt, \"severity\", 0f);\n\t\tScribe_Values.Look(ref recordedTale, \"recordedTale\", defaultValue: false);\n\t\tScribe_Values.Look(ref causesNoPain, \"causesNoPain\", defaultValue: false);\n\t\tScribe_Values.Look(ref combatLogText, \"combatLogText\");\n\t\tScribe_Values.Look(ref canBeThreateningToPart, \"canBeThreateningToPart\", defaultValue: false);\n\t\tScribe_Defs.Look(ref def, \"def\");\n\t\tScribe_Defs.Look(ref sourceDef, \"source\");\n\t\tScribe_Defs.Look(ref sourceHediffDef, \"sourceHediffDef\");\n\t\tScribe_Defs.Look(ref sourceBodyPartGroup, \"sourceBodyPartGroup\");\n\t\tScribe_Values.Look(ref sourceLabel, \"sourceLabel\");\n\t\tScribe_Values.Look(ref sourceToolLabel, \"sourceToolLabel\");\n\t\tScribe_BodyParts.Look(ref part, \"part\");\n\t\tScribe_References.Look(ref combatLogEntry, \"combatLogEntry\");\n\t\tScribe_Collections.Look(ref abilities, \"abilities\", LookMode.Deep);\n\t\tif (Scribe.mode == LoadSaveMode.PostLoadInit && abilities != null)\n\t\t{\n\t\t\tforeach (Ability ability in abilities)\n\t\t\t{\n\t\t\t\tability.pawn = pawn;\n\t\t\t\tability.verb.caster = pawn;\n\t\t\t}\n\t\t}\n\t\tBackCompatibility.PostExposeData(this);\n\t}\n\n\tpublic virtual void Tick()\n\t{\n\t}\n\n\tpublic virtual void TickInterval(int delta)\n\t{\n\t\tageTicks += delta;\n\t\tif (def.hediffGivers != null && pawn.IsHashIntervalTick(60, delta))\n\t\t{\n\t\t\tfor (int i = 0; i < def.hediffGivers.Count; i++)\n\t\t\t{\n\t\t\t\tdef.hediffGivers[i].OnIntervalPassed(pawn, this);\n\t\t\t}\n\t\t}\n\t\tif (Visible && !visible)\n\t\t{\n\t\t\tvisible = true;\n\t\t\tif (def.taleOnVisible != null)\n\t\t\t{\n\t\t\t\tTaleRecorder.RecordTale(def.taleOnVisible, pawn, def);\n\t\t\t}\n\t\t}\n\t\tHediffStage curStage = CurStage;\n\t\tif (curStage == null)\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\tif (curStage.hediffGivers != null && pawn.IsHashIntervalTick(60, delta))\n\t\t{\n\t\t\tfor (int j = 0; j < curStage.hediffGivers.Count; j++)\n\t\t\t{\n\t\t\t\tcurStage.hediffGivers[j].OnIntervalPassed(pawn, this);\n\t\t\t}\n\t\t}\n\t\tif (curStage.mentalStateGivers != null && pawn.IsHashIntervalTick(60, delta) && !pawn.InMentalState)\n\t\t{\n\t\t\tfor (int k = 0; k < curStage.mentalStateGivers.Count; k++)\n\t\t\t{\n\t\t\t\tMentalStateGiver mentalStateGiver = curStage.mentalStateGivers[k];\n\t\t\t\tif (Rand.MTBEventOccurs(mentalStateGiver.mtbDays, 60000f, 60f))\n\t\t\t\t{\n\t\t\t\t\tpawn.mindState.mentalStateHandler.TryStartMentalState(mentalStateGiver.mentalState, \"MentalStateReason_Hediff\".Translate(Label));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (curStage.mentalBreakMtbDays > 0f && pawn.IsHashIntervalTick(60, delta) && !pawn.InMentalState && !pawn.Downed && Rand.MTBEventOccurs(curStage.mentalBreakMtbDays, 60000f, 60f))\n\t\t{\n\t\t\tTryDoRandomMentalBreak();\n\t\t}\n\t\tif (curStage.vomitMtbDays > 0f && pawn.IsHashIntervalTick(600, delta) && Rand.MTBEventOccurs(curStage.vomitMtbDays, 60000f, 600f) && pawn.Spawned && pawn.Awake() && pawn.RaceProps.IsFlesh)\n\t\t{\n\t\t\tpawn.jobs.StartJob(JobMaker.MakeJob(JobDefOf.Vomit), JobCondition.InterruptForced, null, resumeCurJobAfterwards: true);\n\t\t}\n\t\tif (curStage.forgetMemoryThoughtMtbDays > 0f && pawn.needs?.mood != null && pawn.IsHashIntervalTick(400, delta) && Rand.MTBEventOccurs(curStage.forgetMemoryThoughtMtbDays, 60000f, 400f) && pawn.needs.mood.thoughts.memories.Memories.TryRandomElement(out var result))\n\t\t{\n\t\t\tpawn.needs.mood.thoughts.memories.RemoveMemory(result);\n\t\t}\n\t\tif (!recordedTale && curStage.tale != null)\n\t\t{\n\t\t\tTaleRecorder.RecordTale(curStage.tale, pawn);\n\t\t\trecordedTale = true;\n\t\t}\n\t\tif (curStage.destroyPart && Part != null && Part != pawn.RaceProps.body.corePart)\n\t\t{\n\t\t\tpawn.health.AddHediff(HediffDefOf.MissingBodyPart, Part);\n\t\t}\n\t\tif (curStage.deathMtbDays > 0f && pawn.IsHashIntervalTick(200, delta) && Rand.MTBEventOccurs(curStage.deathMtbDays, 60000f, 200f))\n\t\t{\n\t\t\tDoMTBDeath();\n\t\t}\n\t}\n\n\tprivate void DoMTBDeath()\n\t{\n\t\tHediffStage curStage = CurStage;\n\t\tif (!curStage.mtbDeathDestroysBrain && ModsConfig.BiotechActive)\n\t\t{\n\t\t\tPawn_GeneTracker genes = pawn.genes;\n\t\t\tif (genes != null && genes.HasActiveGene(GeneDefOf.Deathless))\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\tpawn.Kill(null, this);\n\t\tif (curStage.mtbDeathDestroysBrain)\n\t\t{\n\t\t\tBodyPartRecord brain = pawn.health.hediffSet.GetBrain();\n\t\t\tif (brain != null)\n\t\t\t{\n\t\t\t\tHediff hediff = HediffMaker.MakeHediff(HediffDefOf.MissingBodyPart, pawn, brain);\n\t\t\t\tpawn.health.AddHediff(hediff, brain);\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate void TryDoRandomMentalBreak()\n\t{\n\t\tHediffStage curStage = CurStage;\n\t\tif (curStage != null)\n\t\t{\n\t\t\tTaggedString taggedString = \"MentalStateReason_Hediff\".Translate(Label);\n\t\t\tif (!curStage.mentalBreakExplanation.NullOrEmpty())\n\t\t\t{\n\t\t\t\ttaggedString += \"\\n\\n\" + curStage.mentalBreakExplanation.Formatted(pawn.Named(\"PAWN\"));\n\t\t\t}\n\t\t\tMentalBreakDef result;\n\t\t\tif (pawn.NonHumanlikeOrWildMan())\n\t\t\t{\n\t\t\t\tpawn.mindState.mentalStateHandler.TryStartMentalState(MentalStateDefOf.Manhunter, taggedString);\n\t\t\t}\n\t\t\telse if (DefDatabase.AllDefsListForReading.Where((MentalBreakDef x) => x.Worker.BreakCanOccur(pawn) && (curStage.allowedMentalBreakIntensities == null || curStage.allowedMentalBreakIntensities.Contains(x.intensity))).TryRandomElementByWeight((MentalBreakDef x) => x.Worker.CommonalityFor(pawn), out result))\n\t\t\t{\n\t\t\t\tresult.Worker.TryStart(pawn, taggedString.Resolve(), causedByMood: false);\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic virtual void PostMake()\n\t{\n\t\tSeverity = Mathf.Max(Severity, def.initialSeverity);\n\t\tcausesNoPain = Rand.Value < def.chanceToCauseNoPain;\n\t\tif (def.onlyLifeThreateningTo == null)\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\tbool flag = false;\n\t\tfor (int i = 0; i < def.onlyLifeThreateningTo.Count; i++)\n\t\t{\n\t\t\tif (Part.def == def.onlyLifeThreateningTo[i])\n\t\t\t{\n\t\t\t\tflag = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tif (!flag)\n\t\t{\n\t\t\tcanBeThreateningToPart = false;\n\t\t}\n\t}\n\n\tpublic virtual void PostAdd(DamageInfo? dinfo)\n\t{\n\t\ttickAdded = Find.TickManager.TicksGame;\n\t\tif (!def.abilities.NullOrEmpty())\n\t\t{\n\t\t\tpawn.abilities?.Notify_TemporaryAbilitiesChanged();\n\t\t}\n\t\tif (!def.removeWithTags.NullOrEmpty())\n\t\t{\n\t\t\tfor (int num = pawn.health.hediffSet.hediffs.Count - 1; num >= 0; num--)\n\t\t\t{\n\t\t\t\tHediff hediff = pawn.health.hediffSet.hediffs[num];\n\t\t\t\tif (hediff != this && !hediff.def.tags.NullOrEmpty())\n\t\t\t\t{\n\t\t\t\t\tfor (int i = 0; i < def.removeWithTags.Count; i++)\n\t\t\t\t\t{\n\t\t\t\t\t\tif (hediff.def.tags.Contains(def.removeWithTags[i]))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpawn.health.RemoveHediff(hediff);\n\t\t\t\t\t\t\tbreak;\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}\n\t\tif (!def.aptitudes.NullOrEmpty())\n\t\t{\n\t\t\tpawn.skills.DirtyAptitudes();\n\t\t}\n\t\tif (def.clearsEgo)\n\t\t{\n\t\t\tpawn.everLostEgo = true;\n\t\t}\n\t}\n\n\tpublic virtual void PreRemoved()\n\t{\n\t}\n\n\tpublic virtual void PostRemoved()\n\t{\n\t\tHediffStage curStage = CurStage;\n\t\tif (!pawn.Dead && def.chemicalNeed != null)\n\t\t{\n\t\t\tpawn.needs?.AddOrRemoveNeedsAsAppropriate();\n\t\t}\n\t\telse if (curStage != null && !pawn.Dead && (!curStage.disablesNeeds.NullOrEmpty() || !curStage.enablesNeeds.NullOrEmpty()))\n\t\t{\n\t\t\tpawn.needs?.AddOrRemoveNeedsAsAppropriate();\n\t\t}\n\t\tif (!def.abilities.NullOrEmpty())\n\t\t{\n\t\t\tpawn.abilities?.Notify_TemporaryAbilitiesChanged();\n\t\t}\n\t\tif (!def.aptitudes.NullOrEmpty())\n\t\t{\n\t\t\tpawn.skills.DirtyAptitudes();\n\t\t}\n\t}\n\n\tpublic virtual void PostTick()\n\t{\n\t}\n\n\tpublic virtual void PostTickInterval(int delta)\n\t{\n\t}\n\n\tpublic virtual void Tended(float quality, float maxQuality, int batchPosition = 0)\n\t{\n\t}\n\n\tpublic virtual void Heal(float amount)\n\t{\n\t\tif (!(amount <= 0f))\n\t\t{\n\t\t\tSeverity -= amount;\n\t\t\tpawn.health.Notify_HediffChanged(this);\n\t\t}\n\t}\n\n\tpublic virtual void ModifyChemicalEffect(ChemicalDef chem, ref float effect)\n\t{\n\t}\n\n\tpublic virtual bool TryMergeWith(Hediff other)\n\t{\n\t\tif (other == null || other.def != def || other.Part != Part)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tSeverity += other.Severity;\n\t\tageTicks = 0;\n\t\treturn true;\n\t}\n\n\tpublic virtual bool CauseDeathNow()\n\t{\n\t\tif (IsLethal)\n\t\t{\n\t\t\tbool num = Severity >= def.lethalSeverity;\n\t\t\tif (num && DebugViewSettings.logCauseOfDeath)\n\t\t\t{\n\t\t\t\tLog.Message(\"CauseOfDeath: lethal severity exceeded \" + Severity + \" >= \" + def.lethalSeverity);\n\t\t\t}\n\t\t\treturn num;\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic virtual void Notify_Downed()\n\t{\n\t}\n\n\tpublic virtual void Notify_PawnDied(DamageInfo? dinfo, Hediff culprit = null)\n\t{\n\t}\n\n\tpublic virtual void Notify_PawnKilled()\n\t{\n\t}\n\n\tpublic virtual void Notify_PawnPostApplyDamage(DamageInfo dinfo, float totalDamageDealt)\n\t{\n\t}\n\n\tpublic virtual void Notify_PawnDamagedThing(Thing thing, DamageInfo dinfo, DamageWorker.DamageResult result)\n\t{\n\t}\n\n\tpublic virtual void Notify_PawnUsedVerb(Verb verb, LocalTargetInfo targets)\n\t{\n\t}\n\n\tpublic virtual void Notify_EntropyGained(float baseAmount, float finalAmount, Thing source = null)\n\t{\n\t}\n\n\tpublic virtual void Notify_RelationAdded(Pawn otherPawn, PawnRelationDef relationDef)\n\t{\n\t}\n\n\tpublic virtual void Notify_ImplantUsed(string violationSourceName, float detectionChance, int violationSourceLevel = -1)\n\t{\n\t}\n\n\tpublic virtual void Notify_KilledPawn(Pawn victim, DamageInfo? dinfo)\n\t{\n\t}\n\n\tpublic virtual void Notify_IngestedThing(Thing thing, int amount)\n\t{\n\t}\n\n\tpublic virtual void Notify_Resurrected()\n\t{\n\t}\n\n\tpublic virtual void Notify_PawnCorpseSpawned()\n\t{\n\t}\n\n\tpublic virtual void Notify_PawnCorpseDestroyed()\n\t{\n\t}\n\n\tpublic virtual void Notify_Regenerated(float hp)\n\t{\n\t}\n\n\tpublic virtual void Notify_SurgicallyRemoved(Pawn surgeon)\n\t{\n\t\tif (def.HasDefinedGraphicProperties || def.forceRenderTreeRecache)\n\t\t{\n\t\t\tpawn.Drawer.renderer.SetAllGraphicsDirty();\n\t\t}\n\t}\n\n\tpublic virtual void Notify_SurgicallyReplaced(Pawn surgeon)\n\t{\n\t\tif (def.HasDefinedGraphicProperties || def.forceRenderTreeRecache)\n\t\t{\n\t\t\tpawn.Drawer.renderer.SetAllGraphicsDirty();\n\t\t}\n\t}\n\n\tpublic virtual void Notify_Spawned()\n\t{\n\t}\n\n\tpublic virtual IEnumerable GetGizmos()\n\t{\n\t\treturn null;\n\t}\n\n\tpublic virtual string GetInspectString()\n\t{\n\t\treturn def.inspectString ?? string.Empty;\n\t}\n\n\tpublic virtual string GetTooltip(Pawn pawn, bool showHediffsDebugInfo)\n\t{\n\t\ttipSb.Clear();\n\t\tHediffStage curStage = CurStage;\n\t\tif (!LabelCap.NullOrEmpty())\n\t\t{\n\t\t\ttipSb.AppendTagged(LabelCap.Colorize(ColoredText.TipSectionTitleColor));\n\t\t}\n\t\tstring severityLabel = SeverityLabel;\n\t\tif (!severityLabel.NullOrEmpty())\n\t\t{\n\t\t\ttipSb.Append(\": \").Append(severityLabel);\n\t\t}\n\t\ttipSb.AppendLine();\n\t\tif (!def.overrideTooltip.NullOrEmpty())\n\t\t{\n\t\t\ttipSb.AppendLine().AppendLineTagged(def.overrideTooltip.Formatted(pawn.Named(\"PAWN\")));\n\t\t}\n\t\telse if (curStage != null && !curStage.overrideTooltip.NullOrEmpty())\n\t\t{\n\t\t\ttipSb.AppendLine().AppendLineTagged(curStage.overrideTooltip.Formatted(pawn.Named(\"PAWN\")));\n\t\t}\n\t\telse\n\t\t{\n\t\t\tstring description = Description;\n\t\t\tif (!description.NullOrEmpty())\n\t\t\t{\n\t\t\t\ttipSb.AppendLine().AppendLine(description);\n\t\t\t}\n\t\t}\n\t\tif (!def.extraTooltip.NullOrEmpty())\n\t\t{\n\t\t\ttipSb.AppendLine().AppendLineTagged(def.extraTooltip.Formatted(pawn.Named(\"PAWN\")));\n\t\t}\n\t\tif (curStage != null && !curStage.extraTooltip.NullOrEmpty())\n\t\t{\n\t\t\ttipSb.AppendLine().AppendLineTagged(curStage.extraTooltip.Formatted(pawn.Named(\"PAWN\")));\n\t\t}\n\t\tstring tipStringExtra = TipStringExtra;\n\t\tif (!tipStringExtra.NullOrEmpty())\n\t\t{\n\t\t\ttipSb.AppendLine().AppendLine(tipStringExtra.TrimEndNewlines());\n\t\t}\n\t\tif (HealthCardUtility.GetCombatLogInfo(Gen.YieldSingle(this), out var taggedString, out var _) && !taggedString.NullOrEmpty())\n\t\t{\n\t\t\ttipSb.AppendLine().AppendLineTagged((\"Cause\".Translate() + \": \" + taggedString).Colorize(ColoredText.SubtleGrayColor));\n\t\t}\n\t\tif (showHediffsDebugInfo && !DebugString().NullOrEmpty() && !DebugString().NullOrEmpty())\n\t\t{\n\t\t\ttipSb.AppendLine().AppendLine(DebugString().TrimEndNewlines());\n\t\t}\n\t\treturn tipSb.ToString().TrimEnd();\n\t}\n\n\tpublic virtual void CopyFrom(Hediff other)\n\t{\n\t\tageTicks = other.ageTicks;\n\t\tsourceLabel = other.sourceLabel;\n\t\tsourceDef = other.sourceDef;\n\t\tsourceBodyPartGroup = other.sourceBodyPartGroup;\n\t\tseverityInt = other.severityInt;\n\t}\n\n\tpublic virtual void PostDebugAdd()\n\t{\n\t}\n\n\tpublic virtual string DebugString()\n\t{\n\t\tstring text = \"\";\n\t\tif (!Visible)\n\t\t{\n\t\t\ttext += \"hidden\\n\";\n\t\t}\n\t\ttext = text + \"severity: \" + Severity.ToString(\"F3\") + ((Severity >= def.maxSeverity) ? \" (reached max)\" : \"\");\n\t\tif (TendableNow())\n\t\t{\n\t\t\ttext = text + \"\\ntend priority: \" + TendPriority;\n\t\t}\n\t\treturn text.Indented();\n\t}\n\n\tpublic virtual IEnumerable SpecialDisplayStats(StatRequest req)\n\t{\n\t\tforeach (StatDrawEntry item in def.SpecialDisplayStats(req))\n\t\t{\n\t\t\tyield return item;\n\t\t}\n\t}\n\n\tpublic override string ToString()\n\t{\n\t\treturn \"(\" + (def?.defName ?? GetType().Name) + ((part != null) ? (\" \" + part.Label) : \"\") + \" ticksSinceCreation=\" + ageTicks + \")\";\n\t}\n\n\tpublic string GetUniqueLoadID()\n\t{\n\t\treturn \"Hediff_\" + loadID;\n\t}\n}\n\n", "timestamp": "2025-08-26 18:06:38,879" }, "C#-Pawn": { "keywords": [ "Pawn", "C#" ], "question": "RimWorld Pawn C# 代码", "embedding": [ 0.022088462486863136, 0.006633533630520105, 0.001554430928081274, -0.027902035042643547, -0.04681945964694023, 0.018171297386288643, 0.009870636276900768, 0.02815074287354946, 0.03886077180504799, 0.14474859833717346, -0.023705070838332176, -0.07442615181207657, -0.04088153317570686, -0.04377277195453644, 0.035223402082920074, 0.06404255330562592, 0.019663549959659576, -0.08051951974630356, -0.042871203273534775, -0.030249224975705147, 0.027140364050865173, 0.059192728251218796, 0.021404514089226723, 0.05005267634987831, 0.01494585257023573, -0.060280829668045044, -0.02440456487238407, 0.018186841160058975, -0.01197689026594162, -0.013173801824450493, -0.02748233824968338, 0.00398322893306613, 0.022725779563188553, -0.01367121934890747, 0.007033799774944782, 0.05714087933301926, -0.01652359962463379, 0.0016865575453266501, -0.06827060133218765, -0.01238104235380888, -0.04271576181054115, -0.015109067782759666, 0.030824365094304085, 0.009536433033645153, -0.008106357418000698, -0.009777369908988476, 0.03628041595220566, -0.06534827500581741, -0.028539350256323814, 0.01154164969921112, 0.0011425067204982042, 0.015691980719566345, 0.02101590484380722, 0.034352920949459076, 0.02137342467904091, 0.07169035077095032, -0.0022247792221605778, 0.06239485740661621, -0.02521286904811859, 0.023549627512693405, 0.007476812694221735, 0.04386603832244873, 0.008300661109387875, 0.013321472331881523, -0.02651859074831009, -0.015311144292354584, -0.0021276273764669895, 0.006244926247745752, -0.01216342207044363, -0.038891859352588654, -0.056332577019929886, 0.0072630783542990685, 0.017005473375320435, 0.013064991682767868, 0.0003108861856162548, 0.014168637804687023, 0.013251523487269878, 0.025990083813667297, -0.0557108037173748, 0.035596467554569244, 0.02968963049352169, 0.015567624941468239, -0.011121952906250954, -0.029005680233240128, 0.04828062281012535, 0.04311991110444069, 0.046104419976472855, -0.00852605327963829, 0.02886578068137169, 0.06541045010089874, 0.0011803959496319294, 0.009800686500966549, 0.05350350961089134, -0.03646694868803024, 0.0018633740255609155, -0.024435654282569885, -0.03012487106025219, 0.0163837019354105, -0.015979548916220665, -0.00534724211320281, -0.021622134372591972, -0.04538938030600548, -0.009279952384531498, 0.028819149360060692, -0.029130034148693085, 0.04871586337685585, -0.014829270541667938, -0.025896819308400154, 0.011712636798620224, 0.04585571214556694, -0.02491752803325653, -0.036404769867658615, -0.007406863383948803, 0.06578351557254791, -0.02159104496240616, -0.02689165435731411, -0.01969463936984539, -0.004193077329546213, -0.040384113788604736, 0.036995455622673035, 0.06702706217765808, -0.010064939968287945, -0.022974489256739616, -0.029580820351839066, 0.018202384933829308, 0.0005809685681015253, 0.005871862638741732, 0.005537659861147404, -0.01212456077337265, 0.009093420580029488, -0.012777421623468399, -0.020331956446170807, -0.01197689026594162, 0.0036062796134501696, 0.001697244239039719, -0.001969269709661603, -0.005370558705180883, 0.01711428351700306, -0.07958686351776123, 0.02923884429037571, -0.007884850725531578, 0.016585778445005417, 0.012870687991380692, -0.027684414759278297, 0.05686108022928238, -0.038612063974142075, -0.0395447202026844, 0.01683448627591133, -0.004127013962715864, 0.00881362333893776, -0.009287724271416664, -0.0030583427287638187, -0.014090916141867638, 0.04560700058937073, 0.027793224900960922, -0.016197169199585915, 0.0020887665450572968, -0.015482131391763687, -0.018093574792146683, -0.006769546307623386, -0.020907094702124596, -0.04927545785903931, 0.0043601784855127335, 0.02836836315691471, 0.02462218515574932, -0.012909548357129097, -0.06665399670600891, 0.037523962557315826, -0.021435601636767387, -0.00959083903580904, -0.023021120578050613, 0.027435705065727234, 0.01194580178707838, 0.01135511789470911, 0.048684775829315186, -0.0009185714880004525, 0.0031768681947141886, 0.05754503235220909, 0.022368259727954865, 0.0020440765656530857, -0.01814020797610283, 0.021046994253993034, 0.009544205851852894, 0.023269830271601677, 0.03680892288684845, -0.008937977254390717, -0.00933435745537281, 0.04013540595769882, -0.006178862880915403, 0.05707870051264763, 0.013103852048516273, 0.060871511697769165, -0.012248915620148182, 0.016119448468089104, -0.0417209267616272, -0.03503687307238579, -0.014020966365933418, 0.01845109462738037, -0.10806403309106827, -0.01138620637357235, -0.017751600593328476, -0.023642893880605698, -0.004344634246081114, -0.009761826135218143, 0.03048238903284073, -0.014129776507616043, -0.021186893805861473, 0.019523652270436287, 0.05937926098704338, 2.3923663320601918e-05, 0.056177131831645966, 0.004605001304298639, -0.03767940402030945, -0.001167766167782247, -0.03587626665830612, 0.0015320859383791685, -0.053596775978803635, 0.043834950774908066, 0.007597281131893396, 0.04113024100661278, -0.03836335614323616, -0.003182697342708707, -0.04638421908020973, 0.014199726283550262, 0.003942425362765789, 0.008704813197255135, 0.03422856703400612, 0.04871586337685585, 0.046259861439466476, 0.0035285581834614277, 0.002597842598333955, 0.0050363559275865555, -0.060280829668045044, 0.00598844513297081, 0.037368517369031906, -0.05785591900348663, -0.008316204883158207, -0.07498574256896973, 0.004663292784243822, -0.01112972479313612, 0.02659631334245205, 0.03938927873969078, 0.022166185081005096, -0.008013091050088406, -0.021326791495084763, -0.025243958458304405, -0.04209398850798607, 0.024202488362789154, 0.005024697631597519, -0.016492512077093124, 0.014805953949689865, -0.015186789445579052, -0.002457943744957447, -0.011596054770052433, 0.02373616024851799, 0.0009754053899087012, -0.004838166292756796, -0.017611701041460037, -0.006489749066531658, -0.01593291573226452, -0.03360679745674133, 0.011479471810162067, 0.013383650220930576, 0.03373115137219429, -0.02036304399371147, 0.0357208214700222, 0.010243699885904789, 0.010624535381793976, 0.012637523002922535, -0.013422510586678982, -0.010220383293926716, 0.037275251001119614, 0.010585674084722996, -0.06366948783397675, -0.0278554018586874, 0.025150692090392113, 0.015894055366516113, 0.001944981631822884, -0.03035803511738777, -0.0111685860902071, -0.02344081737101078, -0.02219727262854576, 0.02527504600584507, -0.00026061004609800875, 0.004752672277390957, 0.05878857523202896, 0.007791584823280573, -0.01705210655927658, 0.010515725240111351, 0.013212662190198898, -0.020767197012901306, 0.002796032465994358, -0.002597842598333955, 0.01624380238354206, -0.05002158507704735, 0.04386603832244873, 0.016445878893136978, 0.027000464498996735, -0.021404514089226723, 0.006299331318587065, -0.032580871134996414, -0.029223300516605377, -0.005638698115944862, -0.0043096598237752914, 0.02446674183011055, 0.017316360026597977, -0.03323373198509216, -0.056114956736564636, 0.06895455718040466, -0.0383322648704052, -0.005856318399310112, -0.03115079551935196, -0.03348243981599808, -0.003806412685662508, -0.01859099417924881, -0.018901878967881203, -0.0633586049079895, 0.002986450446769595, 0.018995145335793495, 0.04408365860581398, -0.020145423710346222, 0.0007198958192020655, -0.04961743205785751, 0.003375058062374592, 0.03621824085712433, -0.01969463936984539, 0.026067806407809258, 0.02101590484380722, -0.003946311306208372, 0.020907094702124596, -0.018932968378067017, 0.016787853091955185, -0.012824054807424545, 0.0906544104218483, -0.011642687022686005, 0.011292940005660057, 0.02850826270878315, -0.009225547313690186, -0.0003927366924472153, 0.02292785607278347, -0.0008491078624501824, 0.012520940974354744, -0.023767247796058655, -0.03429074585437775, 0.030902085825800896, 0.04374168440699577, 0.03161712363362312, 0.04053955897688866, 0.010305876843631268, -0.01039137039333582, 0.03079327568411827, 0.012839599512517452, -0.02858598344027996, -0.007581736426800489, -0.0012911491794511676, -0.015746384859085083, -0.03202127665281296, 0.020549576729536057, -0.06105804443359375, 0.020238690078258514, -0.0391094796359539, 0.0019440101459622383, -0.040228672325611115, -0.029067857190966606, 0.05306826904416084, -0.006897787097841501, -0.01902623474597931, 0.03631150722503662, -0.054498348385095596, 0.011914712376892567, -0.05798027291893959, -0.0677110105752945, -0.02159104496240616, 0.018420005217194557, 0.02350299432873726, 0.052353233098983765, 0.035596467554569244, 0.0023899374064058065, -0.02409367822110653, 0.00289318454451859, -0.016399245709180832, 0.019601373001933098, 0.004756558686494827, -0.03144613653421402, -0.012186737731099129, -0.006952192168682814, -0.026440870016813278, -0.01241213083267212, 0.022539248690009117, -0.04116132855415344, 0.04196963459253311, 0.04218725487589836, 0.009847319684922695, -0.015536536462605, 0.03460163250565529, 0.021870842203497887, 0.0370265431702137, 0.036995455622673035, 0.019383752718567848, 0.009155597537755966, -0.02044076658785343, -0.005852432455867529, -0.05754503235220909, -0.03836335614323616, 0.01632152497768402, 0.040601734071969986, -0.009233319200575352, 0.02145114541053772, -0.05673672631382942, 0.020518487319350243, -0.042871203273534775, -0.014448435045778751, 0.0854315236210823, 0.013010586611926556, -0.0008452218025922775, -0.013686764054000378, 0.045886799693107605, -0.010818839073181152, 0.010119345039129257, 0.067275770008564, -0.014813726767897606, 0.015381094068288803, -0.027451248839497566, -0.0057785967364907265, 0.009466484189033508, 0.11732844263315201, -0.03161712363362312, -0.004364064894616604, 0.01961691863834858, -0.019072866067290306, -0.004255254752933979, -0.021124714985489845, -0.08536934107542038, 0.04650857299566269, 0.03534775972366333, -0.023238740861415863, 0.00439126743003726, 0.04688163474202156, -0.03223889693617821, -0.0031749249901622534, -0.1017841324210167, -0.006788976956158876, 0.05798027291893959, -0.01315048523247242, -0.04880912974476814, -0.02622324973344803, -0.012450991198420525, -0.02564810961484909, -0.0053938752971589565, 0.03777267038822174, -0.014440663158893585, -0.031197428703308105, 0.029518643394112587, 0.02123352512717247, -0.012660839594900608, 0.038021378219127655, -0.028788059949874878, -0.03513013944029808, -0.04759667441248894, -0.0065208375453948975, 0.011930257081985474, -0.0202076006680727, -0.03851879760622978, 0.04057064652442932, -0.010717800818383694, -0.02903676964342594, -0.030529022216796875, 0.03223889693617821, 0.0037772669456899166, -0.09245754778385162, -0.019057322293519974, 0.009567522443830967, 0.012015750631690025, -0.04277793690562248, -0.01939929835498333, -0.07175253331661224, -0.018544360995292664, 0.033637885004282, 0.02093818411231041, 0.004655520431697369, -0.01800031028687954, 0.005906837526708841, -0.022368259727954865, 0.0480630025267601, -0.09345238655805588, -0.043088823556900024, 0.010181521996855736, -0.017969220876693726, -0.0075351037085056305, -0.03144613653421402, -0.03152385726571083, -0.012684156186878681, 0.0178604107350111, 0.06851931661367416, -0.008067496120929718, 0.004554482642561197, -0.0002269711985718459, 0.008020862936973572, 0.012101244181394577, -0.0744883269071579, -0.02703155390918255, 0.013500232249498367, 0.040011052042245865, -0.006664622575044632, 0.006439229939132929, -0.0026192159857600927, -0.04983505606651306, 0.04859150946140289, -0.03584517538547516, -0.006586900912225246, -0.007084318902343512, -0.02821291983127594, 0.011479471810162067, -0.008331749588251114, -0.023332007229328156, 0.021109171211719513, 0.01326706726104021, -0.000505675794556737, 0.022088462486863136, 0.038767505437135696, 0.03323373198509216, 0.027808768674731255, 0.06314098089933395, -0.017751600593328476, -0.015707524493336678, -0.014386258088052273, 0.009575294330716133, -0.015964005142450333, 0.033109378069639206, -0.023565173149108887, -0.010842155665159225, -0.003445007372647524, -0.0031010895036160946, 0.03665348142385483, 0.034415099769830704, 0.06214614585042, 0.030155958607792854, 0.02196410857141018, 0.07461268454790115, 0.0808304026722908, 0.005082989111542702, 0.02734243869781494, -0.0002545380557421595, 0.005724191665649414, 0.03004714846611023, 0.006046736147254705, 0.013453599065542221, -0.02667403407394886, 0.037803757935762405, -0.03444618731737137, 0.039202746003866196, 0.015901828184723854, 0.012676384299993515, -0.0659700483083725, 0.015365549363195896, -0.005619267467409372, 0.01859099417924881, 0.08599111437797546, 0.022570336237549782, -0.040290847420692444, 0.0021703741513192654, -0.015202334150671959, 0.02446674183011055, -0.02299003303050995, -0.014254131354391575, -0.0057125333696603775, -0.02850826270878315, -0.009163370355963707, 0.029642997309565544, -0.007026027422398329, -0.03270522505044937, 0.00756619218736887, -0.03851879760622978, 0.012583117932081223, 0.049120016396045685, 0.04156548157334328, 0.02858598344027996, 0.0552755631506443, 0.06609439849853516, 0.03071555495262146, 0.00995612982660532, -0.01762724667787552, -0.014386258088052273, -0.03270522505044937, 0.006975508760660887, 0.022150639444589615, 0.025896819308400154, -0.02145114541053772, 0.059192728251218796, -0.01608835905790329, 0.042062900960445404, 0.0005226773791946471, -0.03864315152168274, -0.018855245783925056, -0.023098843172192574, 0.04218725487589836, 0.028383908793330193, 0.0151012958958745, 0.02857043966650963, 0.035969529300928116, 0.000662090431433171, -0.04548264667391777, 0.011666003614664078, -0.002897070487961173, 0.005044128280133009, -0.020394133403897285, -0.0005076188244856894, 0.005514343734830618, 0.03578300029039383, -0.0012960067251697183, -0.028990136459469795, 0.015513219870626926, 0.034570541232824326, 0.0010434117866680026, 0.05002158507704735, -0.0007903309306129813, 0.010204838588833809, -0.005269520916044712, -0.03540993481874466, -0.0019061209168285131, -0.02895904704928398, -0.00962192751467228, 0.007430179510265589, -0.0557108037173748, -0.021699855104088783, -0.012629751116037369, -0.006804521195590496, -0.028244009241461754, -0.0077371797524392605, 0.014992485754191875, 0.0002955847594421357, -0.00992504134774208, -0.043990395963191986, -0.010018306784331799, 0.03382441774010658, -0.025306135416030884, -0.007127065677195787, -0.004639976192265749, -0.03631150722503662, -0.011805902235209942, 0.020409677177667618, 0.01740962639451027, -0.03223889693617821, -0.01695884019136429, -0.014153093099594116, -0.03351353108882904, -0.03323373198509216, -0.07150381803512573, -0.004702153615653515, -0.004084267187863588, -0.02188638597726822, 0.013632358983159065, -0.001962468959391117, -0.0023122159764170647, -0.04535829275846481, 0.02344081737101078, -0.0041581024415791035, -0.020145423710346222, -0.017456259578466415, -0.007811015006154776, 0.014378485269844532, -0.05428072810173035, 0.0066568502224981785, 0.010002763010561466, 0.024000413715839386, 0.011728181503713131, -0.03012487106025219, -0.035596467554569244, 0.006998824886977673, -0.020689474418759346, -0.016057271510362625, -0.004437900148332119, 0.021808665245771408, 0.031492769718170166, 0.008829167112708092, 0.020238690078258514, -0.0013270953204482794, -0.03245651721954346, -0.0030758301727473736, 0.002471545012667775, 0.004200849682092667, -0.008300661109387875, -0.029642997309565544, 0.00460888771340251, -0.0002504090953152627, 0.009295497089624405, 0.0024423995055258274, 0.0278554018586874, 0.010158205404877663, -0.011868080124258995, 0.01517124567180872, -0.08282008022069931, 0.012140105478465557, 0.013430282473564148, -0.12553584575653076, -0.037741582840681076, -0.05225996673107147, -0.040974799543619156, 0.008020862936973572, 0.005930153653025627, 0.057420678436756134, 0.009878408163785934, 0.040011052042245865, -0.0006533467094413936, 0.02218172885477543, -0.047285787761211395, -0.047068167477846146, -0.03739960864186287, 0.0038783049676567316, -0.008533825166523457, 0.005677558947354555, 0.042280521243810654, 0.017176460474729538, -0.020689474418759346, -0.01859099417924881, 0.029627453535795212, 0.025041881948709488, -0.0464153066277504, -0.066405288875103, 0.009046787396073341, 0.011090864427387714, 0.010453547351062298, -0.03122851625084877, 0.019368208944797516, -0.006112799514085054, 0.013919929042458534, -0.01150278840214014, -0.003384773153811693, -0.029332110658288002, 0.0107333455234766, -0.054498348385095596, -0.013609042391180992, -0.007628369610756636, -0.017300816252827644, 0.01608835905790329, 0.04880912974476814, 0.03326481953263283, -0.012489852495491505, 0.014565017074346542, -0.026052260771393776, 0.004138672258704901, -0.02482426166534424, -0.0078032431192696095, -0.03220780938863754, 0.03671565651893616, 0.011650459840893745, -0.0008520224364474416, 0.0314616821706295, 0.062923364341259, -0.012132332660257816, 0.009567522443830967, -0.029130034148693085, 0.07778371870517731, -0.0071503822691738605, 0.02152886800467968, 0.025617020204663277, 0.012544257566332817, 0.03792811185121536, 0.018932968378067017, -0.004663292784243822, 0.03357570618391037, -0.039793431758880615, -0.003991001285612583, -0.02026977948844433, 0.01793813332915306, 0.05530665069818497, -0.041410040110349655, -0.016508055850863457, 0.02109362743794918, 0.010018306784331799, -0.043679509311914444, -0.043679509311914444, -0.038985125720500946, 0.046322040259838104, 0.009318812750279903, -0.007453496102243662, -0.016663499176502228, 0.03680892288684845, -0.040757179260253906, 0.011440611444413662, 0.015497676096856594, -0.064664326608181, 0.011020914651453495, -0.0214666910469532, 0.006369280628859997, 0.03531666845083237, 0.003258475800976157, -0.013787802308797836, -0.043524064123630524, 0.04315100237727165, -0.013352561742067337, 0.0015281998785212636, 0.042000722140073776, -0.014184181578457355, -0.0068122935481369495, 0.0034391782246530056, 0.015381094068288803, 0.03556538000702858, 0.032518692314624786, 0.027311351150274277, -0.027513425797224045, -0.0692654401063919, 0.0005362786469049752, -0.0399799607694149, 0.020021069794893265, -0.03167930245399475, -0.026658490300178528, -0.04091262072324753, -0.03230107203125954, 0.01610390469431877, -0.010251471772789955, -0.03326481953263283, 0.01800031028687954, 0.0019187505822628736, 0.037213075906038284, -0.028819149360060692, 0.0012969783274456859, -0.009614154696464539, 0.03733742982149124, -0.02505742572247982, 0.009427622891962528, 0.04035302624106407, 0.004674951080232859, 0.013235978782176971, -0.0041114697232842445, -0.040757179260253906, -0.052353233098983765, -0.02042522095143795, -0.026409780606627464, 0.03070000931620598, 7.189242751337588e-05, -0.021109171211719513, -0.0031982415821403265, 0.0383322648704052, 0.04722360894083977, -0.002749399747699499, -0.032767403870821, -0.0035052415914833546, -0.0015903770690783858, 0.02322319708764553, 0.016119448468089104, 0.013026130385696888, 0.0016642125556245446, -0.00040658083162270486, 0.0015903770690783858, -0.0070610023103654385, -0.014487295411527157, -0.0011415352346375585, -0.02269469015300274, -0.0471925213932991, -0.02286567911505699, 0.04700598865747452, -0.019648006185889244, -0.03739960864186287, 0.013632358983159065, 0.018917424604296684, -0.02138896845281124, 0.01566089130938053, -0.019290488213300705, 0.07218777388334274, -0.005957356188446283, -0.026332059875130653, -0.02247706986963749, 0.01697438582777977, -0.012334409169852734, -0.016212714836001396, 0.0077371797524392605, -0.001457278965972364, -0.006932761985808611, -0.006808407139033079, 0.08219830691814423, 0.06839495897293091, -0.0014524213038384914, 0.02953418716788292, 0.05679890513420105, -0.03854988515377045, -0.042591407895088196, -0.004655520431697369, 0.009085648693144321, -0.0008350208518095315, -0.011549421586096287, 0.01296395342797041, 0.02168431133031845, -0.008036407642066479, -0.008836939930915833, -0.011378434486687183, 0.013033903203904629, -0.029425377026200294, -0.04812518134713173, 0.01859099417924881, 0.048684775829315186, -0.00896129384636879, -0.0035887924022972584, 0.04638421908020973, 0.03693327680230141, -0.002879583276808262, -0.05468487739562988, 0.0037306342273950577, 0.019072866067290306, 0.006081711035221815, -0.003283735364675522, -0.029052313417196274, 0.02249261550605297, 0.01691220887005329, -0.03609388694167137, 0.021264614537358284, -0.0014019024092704058, -0.006687938701361418, -0.03348243981599808, -0.00597290089353919, 0.00031185770058073103, 0.011028687469661236, 0.02710927464067936, 0.006602445151656866, -0.025088515132665634, -0.010057168081402779, 0.02961190789937973, 0.057420678436756134, 0.049182191491127014, -0.020316410809755325, -4.87581237393897e-05, -0.013989877887070179, 0.015217877924442291, -0.012450991198420525, 0.022601425647735596, 0.005152938421815634, 0.013414738699793816, 0.054560523480176926, -0.003617937909439206, 0.0332026444375515, -0.024435654282569885, -0.031197428703308105, 0.04439454525709152, 0.04053955897688866, 0.028896870091557503, 0.00556874880567193, 0.006940533872693777, -0.017658334225416183, -0.006345964036881924, -0.030249224975705147, 0.017005473375320435, -0.03298502415418625, 0.04113024100661278, 0.006528609897941351, 0.044270191341638565, -0.009653015993535519, 0.026409780606627464, -0.011689320206642151, -0.00020559776748996228, -0.007045458070933819, -0.03298502415418625, 0.02211955189704895, 0.00714649586006999, -0.019135044887661934, -0.011774813756346703, 0.0028951275162398815, 0.019197221845388412, -0.016818942502141, -0.02278795652091503, -0.01660132221877575, 0.007344685960561037, -0.0037520076148211956, 0.02247706986963749, -0.018901878967881203, 0.044270191341638565, 0.008689268492162228, 0.03786593675613403, 0.004896457307040691, 0.05530665069818497, -0.012730789370834827, -0.04212507605552673, 0.03966907784342766, 0.01330592855811119, -0.02387605793774128, 0.03116633929312229, 0.0659700483083725, -0.0063887108117341995, -0.06907890737056732, -0.11683102697134018, 0.013430282473564148, 0.04100588709115982, 0.0151012958958745, -0.031135249882936478, 0.0034916403237730265, 0.02373616024851799, 0.012707472778856754, 0.041907455772161484, -0.013609042391180992, -0.004519507754594088, -0.011269624345004559, -0.04156548157334328, -0.040508467704057693, -0.010375826619565487, -0.005094647407531738, -0.016554689034819603, -0.029440920799970627, 0.0010045509552583098, -0.03945145756006241, 0.03786593675613403, 0.021793121472001076, -0.0059146094135940075, 0.028756970539689064, -0.012295547872781754, -0.033762238919734955, 0.003684001276269555, 0.022088462486863136, -0.07840549200773239, 0.02050294354557991, -0.030187048017978668, -0.024233577772974968, 0.10719355195760727, -0.029409833252429962, 0.03799029067158699, -0.013834434561431408, 0.010500180535018444, -0.051109686493873596, 0.013204890303313732, 0.022072918713092804, 0.03509904816746712, -0.033544618636369705, -0.019570285454392433, 0.017518436536192894, 0.0570165254175663, -0.0178604107350111 ], "result": "--- 结果 1 (相似度: 1.000) ---\n文件路径: C:\\Steam\\steamapps\\common\\RimWorld\\Data\\dll1.6\\Verse\\Pawn.txt\n\npublic class Pawn : ThingWithComps, IStrippable, IBillGiver, IVerbOwner, ITrader, IAttackTarget, ILoadReferenceable, IAttackTargetSearcher, IThingHolder, IObservedThoughtGiver, ISearchableContents, IEquatable\n{\n\tpublic PawnKindDef kindDef;\n\n\tprivate Name nameInt;\n\n\tpublic Gender gender;\n\n\tpublic Pawn_AgeTracker ageTracker;\n\n\tpublic Pawn_HealthTracker health;\n\n\tpublic Pawn_RecordsTracker records;\n\n\tpublic Pawn_InventoryTracker inventory;\n\n\tpublic Pawn_MeleeVerbs meleeVerbs;\n\n\tpublic VerbTracker verbTracker;\n\n\tpublic Pawn_Ownership ownership;\n\n\tpublic Pawn_CarryTracker carryTracker;\n\n\tpublic Pawn_NeedsTracker needs;\n\n\tpublic Pawn_MindState mindState;\n\n\tpublic Pawn_SurroundingsTracker surroundings;\n\n\tpublic Pawn_Thinker thinker;\n\n\tpublic Pawn_JobTracker jobs;\n\n\tpublic Pawn_StanceTracker stances;\n\n\tpublic Pawn_InfectionVectorTracker infectionVectors;\n\n\tpublic Pawn_DuplicateTracker duplicate;\n\n\tpublic Pawn_RotationTracker rotationTracker;\n\n\tpublic Pawn_PathFollower pather;\n\n\tpublic Pawn_NativeVerbs natives;\n\n\tpublic Pawn_FilthTracker filth;\n\n\tpublic Pawn_RopeTracker roping;\n\n\tpublic Pawn_FlightTracker flight;\n\n\tpublic Pawn_EquipmentTracker equipment;\n\n\tpublic Pawn_ApparelTracker apparel;\n\n\tpublic Pawn_SkillTracker skills;\n\n\tpublic Pawn_StoryTracker story;\n\n\tpublic Pawn_GuestTracker guest;\n\n\tpublic Pawn_GuiltTracker guilt;\n\n\tpublic Pawn_RoyaltyTracker royalty;\n\n\tpublic Pawn_AbilityTracker abilities;\n\n\tpublic Pawn_IdeoTracker ideo;\n\n\tpublic Pawn_GeneTracker genes;\n\n\tpublic Pawn_CreepJoinerTracker creepjoiner;\n\n\tpublic Pawn_WorkSettings workSettings;\n\n\tpublic Pawn_TraderTracker trader;\n\n\tpublic Pawn_StyleTracker style;\n\n\tpublic Pawn_StyleObserverTracker styleObserver;\n\n\tpublic Pawn_ConnectionsTracker connections;\n\n\tpublic Pawn_TrainingTracker training;\n\n\tpublic Pawn_CallTracker caller;\n\n\tpublic Pawn_PsychicEntropyTracker psychicEntropy;\n\n\tpublic Pawn_MutantTracker mutant;\n\n\tpublic Pawn_RelationsTracker relations;\n\n\tpublic Pawn_InteractionsTracker interactions;\n\n\tpublic Pawn_PlayerSettings playerSettings;\n\n\tpublic Pawn_OutfitTracker outfits;\n\n\tpublic Pawn_DrugPolicyTracker drugs;\n\n\tpublic Pawn_FoodRestrictionTracker foodRestriction;\n\n\tpublic Pawn_TimetableTracker timetable;\n\n\tpublic Pawn_InventoryStockTracker inventoryStock;\n\n\tpublic Pawn_MechanitorTracker mechanitor;\n\n\tpublic Pawn_LearningTracker learning;\n\n\tpublic Pawn_ReadingTracker reading;\n\n\tpublic Pawn_DraftController drafter;\n\n\tpublic Lord lord;\n\n\tpublic bool markedForDiscard;\n\n\tprivate Pawn_DrawTracker drawer;\n\n\tpublic int becameWorldPawnTickAbs = -1;\n\n\tpublic bool teleporting;\n\n\tpublic bool forceNoDeathNotification;\n\n\tpublic int showNamePromptOnTick = -1;\n\n\tpublic int babyNamingDeadline = -1;\n\n\tprivate Sustainer sustainerAmbient;\n\n\tprivate Sustainer sustainerMoving;\n\n\tpublic bool addCorpseToLord;\n\n\tpublic int timesRaisedAsShambler;\n\n\tprivate int lastSleepDisturbedTick;\n\n\tpublic int lastVacuumBurntTick;\n\n\tpublic Map prevMap;\n\n\tprivate Faction deadlifeDustFaction;\n\n\tprivate int deadlifeDustFactionTick;\n\n\tpublic bool wasLeftBehindStartingPawn;\n\n\tpublic bool debugMaxMoveSpeed;\n\n\tpublic bool wasDraftedBeforeSkip;\n\n\tpublic bool dontGivePreArrivalPathway;\n\n\tpublic bool everLostEgo;\n\n\tprivate const float HumanSizedHeatOutput = 0.3f;\n\n\tprivate const float AnimalHeatOutputFactor = 0.6f;\n\n\tpublic const int DefaultBabyNamingPeriod = 60000;\n\n\tpublic const int DefaultGrowthMomentChoicePeriod = 120000;\n\n\tprivate const int SleepDisturbanceMinInterval = 300;\n\n\tprivate const int DeadlifeFactionExpiryTicks = 12500;\n\n\tprivate const float HeatPushMaxTemperature = 40f;\n\n\tpublic const int MaxMoveTicks = 450;\n\n\tprivate static string NotSurgeryReadyTrans;\n\n\tprivate static string CannotReachTrans;\n\n\tprivate CompOverseerSubject overseerSubject;\n\n\tprivate static List tmpExtraFactions = new List();\n\n\tprivate static List states = new List();\n\n\tprivate List cachedDisabledWorkTypes;\n\n\tprivate List cachedDisabledWorkTypesPermanent;\n\n\tprivate Dictionary> cachedReasonsForDisabledWorkTypes;\n\n\tpublic Name Name\n\t{\n\t\tget\n\t\t{\n\t\t\treturn nameInt;\n\t\t}\n\t\tset\n\t\t{\n\t\t\tnameInt = value;\n\t\t}\n\t}\n\n\tpublic RaceProperties RaceProps => def.race;\n\n\tpublic Job CurJob => jobs?.curJob;\n\n\tpublic JobDef CurJobDef => CurJob?.def;\n\n\tpublic bool Downed => health.Downed;\n\n\tpublic bool Crawling\n\t{\n\t\tget\n\t\t{\n\t\t\tif (Downed && health.CanCrawl && CurJobDef != null && CurJobDef.isCrawlingIfDowned)\n\t\t\t{\n\t\t\t\treturn !this.InBed();\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic bool CanAttackWhileCrawling\n\t{\n\t\tget\n\t\t{\n\t\t\tif (IsMutant)\n\t\t\t{\n\t\t\t\treturn mutant.Def.canAttackWhileCrawling;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic bool Flying => flight?.Flying ?? false;\n\n\tpublic bool Swimming => CurJob?.swimming ?? false;\n\n\tpublic bool Dead => health.Dead;\n\n\tpublic bool DeadOrDowned\n\t{\n\t\tget\n\t\t{\n\t\t\tif (!Dead)\n\t\t\t{\n\t\t\t\treturn Downed;\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t}\n\n\tpublic string KindLabel => GenLabel.BestKindLabel(this);\n\n\tpublic bool InMentalState\n\t{\n\t\tget\n\t\t{\n\t\t\tif (!Dead)\n\t\t\t{\n\t\t\t\treturn mindState.mentalStateHandler.InMentalState;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic MentalState MentalState\n\t{\n\t\tget\n\t\t{\n\t\t\tif (!Dead)\n\t\t\t{\n\t\t\t\treturn mindState.mentalStateHandler.CurState;\n\t\t\t}\n\t\t\treturn null;\n\t\t}\n\t}\n\n\tpublic MentalStateDef MentalStateDef\n\t{\n\t\tget\n\t\t{\n\t\t\tif (!Dead)\n\t\t\t{\n\t\t\t\treturn mindState.mentalStateHandler.CurStateDef;\n\t\t\t}\n\t\t\treturn null;\n\t\t}\n\t}\n\n\tpublic bool InAggroMentalState\n\t{\n\t\tget\n\t\t{\n\t\t\tif (!Dead && mindState.mentalStateHandler.InMentalState)\n\t\t\t{\n\t\t\t\treturn mindState.mentalStateHandler.CurStateDef.IsAggro;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic bool Inspired\n\t{\n\t\tget\n\t\t{\n\t\t\tif (!Dead && mindState?.inspirationHandler != null)\n\t\t\t{\n\t\t\t\treturn mindState.inspirationHandler.Inspired;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic Inspiration Inspiration\n\t{\n\t\tget\n\t\t{\n\t\t\tif (!Dead)\n\t\t\t{\n\t\t\t\treturn mindState.inspirationHandler.CurState;\n\t\t\t}\n\t\t\treturn null;\n\t\t}\n\t}\n\n\tpublic InspirationDef InspirationDef\n\t{\n\t\tget\n\t\t{\n\t\t\tif (!Dead)\n\t\t\t{\n\t\t\t\treturn mindState.inspirationHandler.CurStateDef;\n\t\t\t}\n\t\t\treturn null;\n\t\t}\n\t}\n\n\tpublic override Vector3 DrawPos => Drawer.DrawPos;\n\n\tpublic VerbTracker VerbTracker => verbTracker;\n\n\tpublic List VerbProperties => def.Verbs;\n\n\tpublic List Tools => def.tools;\n\n\tpublic bool ShouldAvoidFences\n\t{\n\t\tget\n\t\t{\n\t\t\tif (!def.race.FenceBlocked)\n\t\t\t{\n\t\t\t\tif (roping != null)\n\t\t\t\t{\n\t\t\t\t\treturn roping.AnyRopeesFenceBlocked;\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t}\n\n\tpublic bool DrawNonHumanlikeSwimmingGraphic\n\t{\n\t\tget\n\t\t{\n\t\t\tif (!base.Spawned || !WaterCellCost.HasValue || RaceProps.Humanlike)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tif (ageTracker.CurKindLifeStage.swimmingGraphicData != null)\n\t\t\t{\n\t\t\t\treturn base.Position.GetTerrain(base.Map).IsWater;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic bool CanOpenDoors\n\t{\n\t\tget\n\t\t{\n\t\t\tif (IsMutant && !mutant.Def.canOpenDoors)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tif (!kindDef.canOpenDoors)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t}\n\n\tpublic bool CanOpenAnyDoor\n\t{\n\t\tget\n\t\t{\n\t\t\tif (WildManUtility.WildManShouldReachOutsideNow(this))\n\t\t\t{\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tif (lord?.LordJob != null && lord.LordJob.CanOpenAnyDoor(this))\n\t\t\t{\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tif (IsMutant && mutant.Def.canOpenAnyDoor)\n\t\t\t{\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tif (kindDef.canOpenAnyDoor)\n\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 int? WaterCellCost\n\t{\n\t\tget\n\t\t{\n\t\t\tif (Flying)\n\t\t\t{\n\t\t\t\treturn 1;\n\t\t\t}\n\t\t\tif (ModsConfig.BiotechActive && genes != null && genes.HasActiveGene(GeneDefOf.WebbedPhalanges))\n\t\t\t{\n\t\t\t\treturn 1;\n\t\t\t}\n\t\t\tif (def.race.waterCellCost.HasValue)\n\t\t\t{\n\t\t\t\treturn def.race.waterCellCost;\n\t\t\t}\n\t\t\tif (!Swimming)\n\t\t\t{\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\treturn 1;\n\t\t}\n\t}\n\n\tpublic bool IsColonist\n\t{\n\t\tget\n\t\t{\n\t\t\tif (base.Faction != null && base.Faction.IsPlayer && RaceProps.Humanlike && (!IsSlave || guest.SlaveIsSecure))\n\t\t\t{\n\t\t\t\treturn !IsSubhuman;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic bool IsFreeColonist\n\t{\n\t\tget\n\t\t{\n\t\t\tif (IsColonist)\n\t\t\t{\n\t\t\t\treturn HostFaction == null;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic bool IsFreeNonSlaveColonist\n\t{\n\t\tget\n\t\t{\n\t\t\tif (IsFreeColonist)\n\t\t\t{\n\t\t\t\treturn !IsSlave;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic bool CanTakeOrder\n\t{\n\t\tget\n\t\t{\n\t\t\tif (!IsColonistPlayerControlled && !IsColonyMech)\n\t\t\t{\n\t\t\t\treturn IsColonySubhumanPlayerControlled;\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t}\n\n\tpublic bool IsCreepJoiner\n\t{\n\t\tget\n\t\t{\n\t\t\tif (ModsConfig.AnomalyActive)\n\t\t\t{\n\t\t\t\treturn creepjoiner != null;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic Faction HostFaction => guest?.HostFaction;\n\n\tpublic Faction SlaveFaction => guest?.SlaveFaction;\n\n\tpublic Ideo Ideo => ideo?.Ideo;\n\n\tpublic bool ShouldHaveIdeo\n\t{\n\t\tget\n\t\t{\n\t\t\tif (!DevelopmentalStage.Baby() && !kindDef.preventIdeo)\n\t\t\t{\n\t\t\t\tif (IsMutant)\n\t\t\t\t{\n\t\t\t\t\treturn !mutant.Def.disablesIdeo;\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 Drafted\n\t{\n\t\tget\n\t\t{\n\t\t\tif (drafter != null)\n\t\t\t{\n\t\t\t\treturn drafter.Drafted;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic bool IsPrisoner\n\t{\n\t\tget\n\t\t{\n\t\t\tif (guest != null)\n\t\t\t{\n\t\t\t\treturn guest.IsPrisoner;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic bool IsPrisonerOfColony\n\t{\n\t\tget\n\t\t{\n\t\t\tif (guest != null && guest.IsPrisoner)\n\t\t\t{\n\t\t\t\treturn guest.HostFaction.IsPlayer;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic bool IsSlave\n\t{\n\t\tget\n\t\t{\n\t\t\tif (guest != null)\n\t\t\t{\n\t\t\t\treturn guest.IsSlave;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic bool IsSlaveOfColony\n\t{\n\t\tget\n\t\t{\n\t\t\tif (IsSlave)\n\t\t\t{\n\t\t\t\treturn base.Faction.IsPlayer;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic bool IsFreeman => HostFaction == null;\n\n\tpublic bool IsMutant => mutant != null;\n\n\tpublic bool IsSubhuman\n\t{\n\t\tget\n\t\t{\n\t\t\tif (IsMutant)\n\t\t\t{\n\t\t\t\treturn mutant.Def.consideredSubhuman;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic bool IsDuplicate\n\t{\n\t\tget\n\t\t{\n\t\t\tif (ModsConfig.AnomalyActive && duplicate != null && duplicate.duplicateOf != int.MinValue)\n\t\t\t{\n\t\t\t\treturn duplicate.duplicateOf != thingIDNumber;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic bool IsEntity\n\t{\n\t\tget\n\t\t{\n\t\t\tif (ModsConfig.AnomalyActive && (!RaceProps.Humanlike || IsSubhuman || IsShambler))\n\t\t\t{\n\t\t\t\treturn base.Faction == Faction.OfEntities;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic bool IsShambler\n\t{\n\t\tget\n\t\t{\n\t\t\tif (ModsConfig.AnomalyActive)\n\t\t\t{\n\t\t\t\tif (!IsMutant || mutant.Def != MutantDefOf.Shambler)\n\t\t\t\t{\n\t\t\t\t\treturn health.hediffSet.HasHediff(HediffDefOf.ShamblerCorpse);\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 IsGhoul\n\t{\n\t\tget\n\t\t{\n\t\t\tif (ModsConfig.AnomalyActive && IsMutant)\n\t\t\t{\n\t\t\t\treturn mutant.Def == MutantDefOf.Ghoul;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic bool IsAwokenCorpse\n\t{\n\t\tget\n\t\t{\n\t\t\tif (ModsConfig.AnomalyActive && IsMutant)\n\t\t\t{\n\t\t\t\treturn mutant.Def == MutantDefOf.AwokenCorpse;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic bool IsAnimal\n\t{\n\t\tget\n\t\t{\n\t\t\tif (RaceProps.Animal)\n\t\t\t{\n\t\t\t\treturn !IsSubhuman;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic bool HasShowGizmosOnCorpseHediff\n\t{\n\t\tget\n\t\t{\n\t\t\tif (health?.hediffSet != null)\n\t\t\t{\n\t\t\t\treturn health.hediffSet.HasHediffShowGizmosOnCorpse();\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic DevelopmentalStage DevelopmentalStage => ageTracker?.CurLifeStage?.developmentalStage ?? DevelopmentalStage.Adult;\n\n\tpublic GuestStatus? GuestStatus\n\t{\n\t\tget\n\t\t{\n\t\t\tif (guest != null && (HostFaction != null || guest.GuestStatus != 0))\n\t\t\t{\n\t\t\t\treturn guest.GuestStatus;\n\t\t\t}\n\t\t\treturn null;\n\t\t}\n\t}\n\n\tpublic bool IsColonistPlayerControlled\n\t{\n\t\tget\n\t\t{\n\t\t\tif (base.Spawned && IsColonist && MentalStateDef == null)\n\t\t\t{\n\t\t\t\tif (HostFaction != null)\n\t\t\t\t{\n\t\t\t\t\treturn IsSlave;\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 IsColonyMech\n\t{\n\t\tget\n\t\t{\n\t\t\tif (ModsConfig.BiotechActive && RaceProps.IsMechanoid && base.Faction == Faction.OfPlayer && MentalStateDef == null)\n\t\t\t{\n\t\t\t\tif (HostFaction != null)\n\t\t\t\t{\n\t\t\t\t\treturn IsSlave;\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 IsColonyMechPlayerControlled\n\t{\n\t\tget\n\t\t{\n\t\t\tif (base.Spawned && IsColonyMech && OverseerSubject != null)\n\t\t\t{\n\t\t\t\treturn OverseerSubject.State == OverseerSubjectState.Overseen;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic bool IsColonySubhuman\n\t{\n\t\tget\n\t\t{\n\t\t\tif (IsSubhuman)\n\t\t\t{\n\t\t\t\treturn base.Faction == Faction.OfPlayer;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic bool IsColonySubhumanPlayerControlled\n\t{\n\t\tget\n\t\t{\n\t\t\tif (base.Spawned && IsColonySubhuman)\n\t\t\t{\n\t\t\t\treturn mutant.Def.canBeDrafted;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic bool IsPlayerControlled\n\t{\n\t\tget\n\t\t{\n\t\t\tif (!IsColonistPlayerControlled && !IsColonyMechPlayerControlled)\n\t\t\t{\n\t\t\t\treturn IsColonySubhumanPlayerControlled;\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t}\n\n\tpublic IEnumerable IngredientStackCells\n\t{\n\t\tget\n\t\t{\n\t\t\tyield return InteractionCell;\n\t\t}\n\t}\n\n\tpublic bool InContainerEnclosed => base.ParentHolder.IsEnclosingContainer();\n\n\tpublic Corpse Corpse => base.ParentHolder as Corpse;\n\n\tpublic Pawn CarriedBy\n\t{\n\t\tget\n\t\t{\n\t\t\tif (!(base.ParentHolder is Pawn_CarryTracker pawn_CarryTracker))\n\t\t\t{\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\treturn pawn_CarryTracker.pawn;\n\t\t}\n\t}\n\n\tpublic virtual bool CanAttackWhenPathingBlocked => !IsAwokenCorpse;\n\n\tpublic bool HarmedByVacuum\n\t{\n\t\tget\n\t\t{\n\t\t\tif (!ModsConfig.OdysseyActive)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tif (RaceProps.IsMechanoid || (IsMutant && !mutant.Def.breathesAir))\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn this.GetStatValue(StatDefOf.VacuumResistance, applyPostProcess: true, 60) < 1f;\n\t\t}\n\t}\n\n\tpublic bool ConcernedByVacuum\n\t{\n\t\tget\n\t\t{\n\t\t\tif (!ModsConfig.OdysseyActive)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tif (RaceProps.IsMechanoid || (IsMutant && !mutant.Def.breathesAir))\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn this.GetStatValue(StatDefOf.VacuumResistance, applyPostProcess: true, 60) < 0.75f;\n\t\t}\n\t}\n\n\tprivate string LabelPrefix\n\t{\n\t\tget\n\t\t{\n\t\t\tif (IsMutant && mutant.HasTurned)\n\t\t\t{\n\t\t\t\treturn mutant.Def.namePrefix;\n\t\t\t}\n\t\t\treturn string.Empty;\n\t\t}\n\t}\n\n\tpublic override string LabelNoCount\n\t{\n\t\tget\n\t\t{\n\t\t\tif (Name != null)\n\t\t\t{\n\t\t\t\tif (story == null || story.TitleShortCap.NullOrEmpty() || IsSubhuman)\n\t\t\t\t{\n\t\t\t\t\treturn LabelPrefix + Name.ToStringShort;\n\t\t\t\t}\n\t\t\t\treturn LabelPrefix + Name.ToStringShort + (\", \" + story.TitleShortCap).Colorize(ColoredText.SubtleGrayColor);\n\t\t\t}\n\t\t\treturn LabelPrefix + KindLabel;\n\t\t}\n\t}\n\n\tpublic override string LabelShort\n\t{\n\t\tget\n\t\t{\n\t\t\tif (Name != null)\n\t\t\t{\n\t\t\t\treturn LabelPrefix + Name.ToStringShort;\n\t\t\t}\n\t\t\treturn LabelNoCount;\n\t\t}\n\t}\n\n\tpublic TaggedString LabelNoCountColored\n\t{\n\t\tget\n\t\t{\n\t\t\tif (Name != null)\n\t\t\t{\n\t\t\t\tif (story == null || story.TitleShortCap.NullOrEmpty() || IsSubhuman)\n\t\t\t\t{\n\t\t\t\t\treturn LabelPrefix + Name.ToStringShort.Colorize(ColoredText.NameColor);\n\t\t\t\t}\n\t\t\t\treturn LabelPrefix + Name.ToStringShort.Colorize(ColoredText.NameColor) + (\", \" + story.TitleShortCap).Colorize(ColoredText.SubtleGrayColor);\n\t\t\t}\n\t\t\treturn LabelPrefix + KindLabel;\n\t\t}\n\t}\n\n\tpublic TaggedString NameShortColored\n\t{\n\t\tget\n\t\t{\n\t\t\tif (Name != null)\n\t\t\t{\n\t\t\t\treturn LabelPrefix + Name.ToStringShort.Colorize(ColoredText.NameColor);\n\t\t\t}\n\t\t\treturn LabelPrefix + KindLabel;\n\t\t}\n\t}\n\n\tpublic TaggedString NameFullColored\n\t{\n\t\tget\n\t\t{\n\t\t\tif (Name != null)\n\t\t\t{\n\t\t\t\treturn LabelPrefix + Name.ToStringFull.Colorize(ColoredText.NameColor);\n\t\t\t}\n\t\t\treturn LabelPrefix + KindLabel;\n\t\t}\n\t}\n\n\tpublic TaggedString LegalStatus\n\t{\n\t\tget\n\t\t{\n\t\t\tif (IsSlave)\n\t\t\t{\n\t\t\t\treturn \"Slave\".Translate().CapitalizeFirst();\n\t\t\t}\n\t\t\tif (base.Faction != null)\n\t\t\t{\n\t\t\t\treturn new TaggedString(base.Faction.def.pawnSingular);\n\t\t\t}\n\t\t\treturn \"Colonist\".Translate();\n\t\t}\n\t}\n\n\tpublic float TicksPerMoveCardinal => TicksPerMove(diagonal: false);\n\n\tpublic float TicksPerMoveDiagonal => TicksPerMove(diagonal: true);\n\n\tpublic override string DescriptionDetailed => DescriptionFlavor;\n\n\tpublic override string DescriptionFlavor\n\t{\n\t\tget\n\t\t{\n\t\t\tif (ModsConfig.AnomalyActive && IsSubhuman && !mutant.Def.description.NullOrEmpty())\n\t\t\t{\n\t\t\t\treturn mutant.Def.description;\n\t\t\t}\n\t\t\tif (this.IsBaseliner())\n\t\t\t{\n\t\t\t\treturn def.description;\n\t\t\t}\n\t\t\tstring text = ((genes.Xenotype != XenotypeDefOf.Baseliner) ? genes.Xenotype.description : ((genes.CustomXenotype == null) ? genes.Xenotype.description : ((string)\"UniqueXenotypeDesc\".Translate())));\n\t\t\treturn \"StatsReport_NonBaselinerDescription\".Translate(genes.XenotypeLabel) + \"\\n\\n\" + text;\n\t\t}\n\t}\n\n\tpublic override IEnumerable DescriptionHyperlinks\n\t{\n\t\tget\n\t\t{\n\t\t\tforeach (DefHyperlink descriptionHyperlink in base.DescriptionHyperlinks)\n\t\t\t{\n\t\t\t\tyield return descriptionHyperlink;\n\t\t\t}\n\t\t\tif (!this.IsBaseliner() && genes.CustomXenotype == null)\n\t\t\t{\n\t\t\t\tyield return new DefHyperlink(genes.Xenotype);\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic Pawn_DrawTracker Drawer => drawer ?? (drawer = new Pawn_DrawTracker(this));\n\n\tpublic Faction HomeFaction\n\t{\n\t\tget\n\t\t{\n\t\t\tif (base.Faction != null && base.Faction.IsPlayer)\n\t\t\t{\n\t\t\t\tif (IsSlave && SlaveFaction != null)\n\t\t\t\t{\n\t\t\t\t\treturn SlaveFaction;\n\t\t\t\t}\n\t\t\t\tif (this.HasExtraMiniFaction())\n\t\t\t\t{\n\t\t\t\t\treturn this.GetExtraMiniFaction();\n\t\t\t\t}\n\t\t\t\treturn this.GetExtraHomeFaction() ?? base.Faction;\n\t\t\t}\n\t\t\treturn base.Faction;\n\t\t}\n\t}\n\n\tpublic bool Deathresting\n\t{\n\t\tget\n\t\t{\n\t\t\tif (ModsConfig.BiotechActive)\n\t\t\t{\n\t\t\t\treturn health.hediffSet.HasHediff(HediffDefOf.Deathrest);\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic bool HasDeathRefusalOrResurrecting\n\t{\n\t\tget\n\t\t{\n\t\t\tif (ModsConfig.AnomalyActive)\n\t\t\t{\n\t\t\t\tif (!health.hediffSet.HasHediff())\n\t\t\t\t{\n\t\t\t\t\treturn health.hediffSet.HasHediff(HediffDefOf.Rising);\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 override bool Suspended\n\t{\n\t\tget\n\t\t{\n\t\t\tif (base.Suspended)\n\t\t\t{\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tif (Find.WorldPawns.GetSituation(this) == WorldPawnSituation.ReservedByQuest)\n\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 Faction DeadlifeDustFaction\n\t{\n\t\tget\n\t\t{\n\t\t\tif (GenTicks.TicksGame - deadlifeDustFactionTick < 12500 && deadlifeDustFaction != null)\n\t\t\t{\n\t\t\t\treturn deadlifeDustFaction;\n\t\t\t}\n\t\t\treturn Faction.OfPlayer;\n\t\t}\n\t}\n\n\tpublic bool HasPsylink => psychicEntropy?.Psylink != null;\n\n\tpublic CompOverseerSubject OverseerSubject\n\t{\n\t\tget\n\t\t{\n\t\t\tif (ModsConfig.BiotechActive && overseerSubject == null && RaceProps.IsMechanoid)\n\t\t\t{\n\t\t\t\toverseerSubject = GetComp();\n\t\t\t}\n\t\t\treturn overseerSubject;\n\t\t}\n\t}\n\n\tpublic override int UpdateRateTicks\n\t{\n\t\tget\n\t\t{\n\t\t\tif (!RaceProps.Animal)\n\t\t\t{\n\t\t\t\treturn base.UpdateRateTicks;\n\t\t\t}\n\t\t\treturn 15;\n\t\t}\n\t}\n\n\tpublic WorkTags CombinedDisabledWorkTags\n\t{\n\t\tget\n\t\t{\n\t\t\tWorkTags workTags = story?.DisabledWorkTagsBackstoryTraitsAndGenes ?? WorkTags.None;\n\t\t\tworkTags |= kindDef.disabledWorkTags;\n\t\t\tif (royalty != null)\n\t\t\t{\n\t\t\t\tforeach (RoyalTitle item in royalty.AllTitlesForReading)\n\t\t\t\t{\n\t\t\t\t\tif (item.conceited)\n\t\t\t\t\t{\n\t\t\t\t\t\tworkTags |= item.def.disabledWorkTags;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (ModsConfig.IdeologyActive && Ideo != null)\n\t\t\t{\n\t\t\t\tPrecept_Role role = Ideo.GetRole(this);\n\t\t\t\tif (role != null)\n\t\t\t\t{\n\t\t\t\t\tworkTags |= role.def.roleDisabledWorkTags;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (health?.hediffSet != null)\n\t\t\t{\n\t\t\t\tforeach (Hediff hediff in health.hediffSet.hediffs)\n\t\t\t\t{\n\t\t\t\t\tHediffStage curStage = hediff.CurStage;\n\t\t\t\t\tif (curStage != null)\n\t\t\t\t\t{\n\t\t\t\t\t\tworkTags |= curStage.disabledWorkTags;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tforeach (QuestPart_WorkDisabled item2 in QuestUtility.GetWorkDisabledQuestPart(this))\n\t\t\t{\n\t\t\t\tworkTags |= item2.disabledWorkTags;\n\t\t\t}\n\t\t\tif (IsMutant)\n\t\t\t{\n\t\t\t\tworkTags |= mutant.Def.workDisables;\n\t\t\t\tif (!mutant.IsPassive)\n\t\t\t\t{\n\t\t\t\t\tworkTags &= ~WorkTags.Violent;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn workTags;\n\t\t}\n\t}\n\n\tpublic TraderKindDef TraderKind => trader?.traderKind;\n\n\tpublic TradeCurrency TradeCurrency => TraderKind.tradeCurrency;\n\n\tpublic IEnumerable Goods => trader.Goods;\n\n\tpublic int RandomPriceFactorSeed => trader.RandomPriceFactorSeed;\n\n\tpublic string TraderName => trader.TraderName;\n\n\tpublic bool CanTradeNow\n\t{\n\t\tget\n\t\t{\n\t\t\tif (trader != null)\n\t\t\t{\n\t\t\t\treturn trader.CanTradeNow;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic float TradePriceImprovementOffsetForPlayer => 0f;\n\n\tpublic float BodySize => ageTracker.CurLifeStage.bodySizeFactor * RaceProps.baseBodySize;\n\n\tpublic float HealthScale => ageTracker.CurLifeStage.healthScaleFactor * RaceProps.baseHealthScale;\n\n\tpublic IEnumerable EquippedWornOrInventoryThings => inventory.innerContainer.ConcatIfNotNull(apparel?.WornApparel).ConcatIfNotNull(equipment?.AllEquipmentListForReading);\n\n\tThing IAttackTarget.Thing => this;\n\n\tpublic float TargetPriorityFactor => 1f;\n\n\tpublic LocalTargetInfo TargetCurrentlyAimingAt\n\t{\n\t\tget\n\t\t{\n\t\t\tif (!base.Spawned)\n\t\t\t{\n\t\t\t\treturn LocalTargetInfo.Invalid;\n\t\t\t}\n\t\t\tStance curStance = stances.curStance;\n\t\t\tif (curStance is Stance_Warmup || curStance is Stance_Cooldown)\n\t\t\t{\n\t\t\t\treturn ((Stance_Busy)curStance).focusTarg;\n\t\t\t}\n\t\t\treturn LocalTargetInfo.Invalid;\n\t\t}\n\t}\n\n\tThing IAttackTargetSearcher.Thing => this;\n\n\tpublic LocalTargetInfo LastAttackedTarget => mindState.lastAttackedTarget;\n\n\tpublic int LastAttackTargetTick => mindState.lastAttackTargetTick;\n\n\tpublic Verb CurrentEffectiveVerb\n\t{\n\t\tget\n\t\t{\n\t\t\tif (this.MannedThing() is Building_Turret building_Turret)\n\t\t\t{\n\t\t\t\treturn building_Turret.AttackVerb;\n\t\t\t}\n\t\t\treturn TryGetAttackVerb(null, !IsColonist);\n\t\t}\n\t}\n\n\tprivate bool ForceNoDeathNotification\n\t{\n\t\tget\n\t\t{\n\t\t\tif (!forceNoDeathNotification)\n\t\t\t{\n\t\t\t\treturn kindDef.forceNoDeathNotification;\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t}\n\n\tThing IVerbOwner.ConstantCaster => this;\n\n\tImplementOwnerTypeDef IVerbOwner.ImplementOwnerTypeDef => ImplementOwnerTypeDefOf.Bodypart;\n\n\tpublic BillStack BillStack => health.surgeryBills;\n\n\tpublic override IntVec3 InteractionCell => this.CurrentBed()?.FindPreferredInteractionCell(base.Position) ?? base.InteractionCell;\n\n\tpublic ThingOwner SearchableContents => carryTracker?.innerContainer;\n\n\tpublic virtual bool ShouldShowQuestionMark()\n\t{\n\t\tif (ModsConfig.AnomalyActive && creepjoiner != null)\n\t\t{\n\t\t\treturn creepjoiner.IsOnEntryLord;\n\t\t}\n\t\treturn CanTradeNow;\n\t}\n\n\tpublic string GetKindLabelSingular()\n\t{\n\t\treturn GenLabel.BestKindLabel(this);\n\t}\n\n\tpublic string GetKindLabelPlural(int count = -1)\n\t{\n\t\treturn GenLabel.BestKindLabel(this, mustNoteGender: false, mustNoteLifeStage: false, plural: true, count);\n\t}\n\n\tpublic static void ResetStaticData()\n\t{\n\t\tNotSurgeryReadyTrans = \"NotSurgeryReady\".Translate();\n\t\tCannotReachTrans = \"CannotReach\".Translate();\n\t}\n\n\tpublic override void Notify_DefsHotReloaded()\n\t{\n\t\tbase.Notify_DefsHotReloaded();\n\t\tDrawer.renderer.SetAllGraphicsDirty();\n\t}\n\n\tpublic void MarkDeadlifeDustForFaction(Faction faction)\n\t{\n\t\tdeadlifeDustFaction = faction;\n\t\tdeadlifeDustFactionTick = GenTicks.TicksGame;\n\t}\n\n\tpublic override void SpawnSetup(Map map, bool respawningAfterLoad)\n\t{\n\t\tif (Dead)\n\t\t{\n\t\t\tLog.Warning(\"Tried to spawn Dead Pawn \" + this.ToStringSafe() + \". Replacing with corpse.\");\n\t\t\tCorpse obj = (Corpse)ThingMaker.MakeThing(RaceProps.corpseDef);\n\t\t\tobj.InnerPawn = this;\n\t\t\tGenSpawn.Spawn(obj, base.Position, map);\n\t\t\treturn;\n\t\t}\n\t\tif (def == null || kindDef == null)\n\t\t{\n\t\t\tLog.Warning(\"Tried to spawn pawn without def \" + this.ToStringSafe() + \".\");\n\t\t\treturn;\n\t\t}\n\t\tbase.SpawnSetup(map, respawningAfterLoad);\n\t\tif (Find.WorldPawns.Contains(this))\n\t\t{\n\t\t\tFind.WorldPawns.RemovePawn(this);\n\t\t}\n\t\tPawnComponentsUtility.AddComponentsForSpawn(this);\n\t\tif (!PawnUtility.InValidState(this))\n\t\t{\n\t\t\tLog.Error(\"Pawn \" + this.ToStringSafe() + \" spawned in invalid state. Destroying...\");\n\t\t\ttry\n\t\t\t{\n\t\t\t\tDeSpawn();\n\t\t\t}\n\t\t\tcatch (Exception ex)\n\t\t\t{\n\t\t\t\tLog.Error(\"Tried to despawn \" + this.ToStringSafe() + \" because of the previous error but couldn't: \" + ex);\n\t\t\t}\n\t\t\tFind.WorldPawns.PassToWorld(this, PawnDiscardDecideMode.Discard);\n\t\t\treturn;\n\t\t}\n\t\tDrawer.Notify_Spawned();\n\t\trotationTracker.Notify_Spawned();\n\t\tif (!respawningAfterLoad)\n\t\t{\n\t\t\tpather.ResetToCurrentPosition();\n\t\t}\n\t\tbase.Map.mapPawns.RegisterPawn(this);\n\t\tbase.Map.autoSlaughterManager.Notify_PawnSpawned();\n\t\tif (relations != null)\n\t\t{\n\t\t\trelations.everSeenByPlayer = true;\n\t\t}\n\t\tAddictionUtility.CheckDrugAddictionTeachOpportunity(this);\n\t\tneeds?.mood?.recentMemory?.Notify_Spawned(respawningAfterLoad);\n\t\tequipment?.Notify_PawnSpawned();\n\t\thealth?.Notify_Spawned();\n\t\tmechanitor?.Notify_PawnSpawned(respawningAfterLoad);\n\t\tmutant?.Notify_Spawned(respawningAfterLoad);\n\t\tinfectionVectors?.NotifySpawned(respawningAfterLoad);\n\t\tif (base.Faction == Faction.OfPlayer)\n\t\t{\n\t\t\tIdeo?.RecacheColonistBelieverCount();\n\t\t}\n\t\tif (!respawningAfterLoad)\n\t\t{\n\t\t\tif ((base.Faction == Faction.OfPlayer || IsPlayerControlled) && base.Position.Fogged(map))\n\t\t\t{\n\t\t\t\tFloodFillerFog.FloodUnfog(base.Position, map);\n\t\t\t}\n\t\t\tFind.GameEnder.CheckOrUpdateGameOver();\n\t\t\tif (base.Faction == Faction.OfPlayer)\n\t\t\t{\n\t\t\t\tFind.StoryWatcher.statsRecord.UpdateGreatestPopulation();\n\t\t\t\tFind.World.StoryState.RecordPopulationIncrease();\n\t\t\t}\n\t\t\tif (!IsSubhuman)\n\t\t\t{\n\t\t\t\tPawnDiedOrDownedThoughtsUtility.RemoveDiedThoughts(this);\n\t\t\t}\n\t\t\tif (this.IsQuestLodger())\n\t\t\t{\n\t\t\t\tfor (int num = health.hediffSet.hediffs.Count - 1; num >= 0; num--)\n\t\t\t\t{\n\t\t\t\t\tif (health.hediffSet.hediffs[num].def.removeOnQuestLodgers)\n\t\t\t\t\t{\n\t\t\t\t\t\thealth.RemoveHediff(health.hediffSet.hediffs[num]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tLongEventHandler.ExecuteWhenFinished(delegate\n\t\t{\n\t\t\tif (IsPlayerControlled && base.PositionHeld.Fogged(base.Map))\n\t\t\t{\n\t\t\t\tFloodFillerFog.FloodUnfog(base.PositionHeld, base.Map);\n\t\t\t}\n\t\t});\n\t\tif (RaceProps.soundAmbience != null)\n\t\t{\n\t\t\tLongEventHandler.ExecuteWhenFinished(delegate\n\t\t\t{\n\t\t\t\tsustainerAmbient = RaceProps.soundAmbience.TrySpawnSustainer(SoundInfo.InMap(this, MaintenanceType.PerTick));\n\t\t\t});\n\t\t}\n\t\tif (RaceProps.soundMoving != null)\n\t\t{\n\t\t\tLongEventHandler.ExecuteWhenFinished(delegate\n\t\t\t{\n\t\t\t\tsustainerMoving = RaceProps.soundMoving.TrySpawnSustainer(SoundInfo.InMap(this, MaintenanceType.PerTick));\n\t\t\t});\n\t\t}\n\t\tif (Ideo != null && Ideo.hidden)\n\t\t{\n\t\t\tIdeo.hidden = false;\n\t\t}\n\t}\n\n\tpublic override void PostMapInit()\n\t{\n\t\tbase.PostMapInit();\n\t\tpather.TryResumePathingAfterLoading();\n\t}\n\n\tpublic void DrawShadowAt(Vector3 drawLoc)\n\t{\n\t\tDrawer.DrawShadowAt(drawLoc);\n\t}\n\n\tpublic override void DynamicDrawPhaseAt(DrawPhase phase, Vector3 drawLoc, bool flip = false)\n\t{\n\t\tbase.DynamicDrawPhaseAt(phase, drawLoc, flip);\n\t\tDrawer.renderer.DynamicDrawPhaseAt(phase, drawLoc);\n\t}\n\n\tprotected override void DrawAt(Vector3 drawLoc, bool flip = false)\n\t{\n\t\tComps_PostDraw();\n\t\tmechanitor?.DrawCommandRadius();\n\t}\n\n\tpublic override void DrawGUIOverlay()\n\t{\n\t\tDrawer.ui.DrawPawnGUIOverlay();\n\t\tfor (int i = 0; i < base.AllComps.Count; i++)\n\t\t{\n\t\t\tbase.AllComps[i].DrawGUIOverlay();\n\t\t}\n\t\tSilhouetteUtility.DrawGUISilhouette(this);\n\t\tif (DebugViewSettings.drawPatherState)\n\t\t{\n\t\t\tpather.DrawDebugGUI();\n\t\t}\n\t}\n\n\tpublic override void DrawExtraSelectionOverlays()\n\t{\n\t\tbase.DrawExtraSelectionOverlays();\n\t\tif (IsPlayerControlled)\n\t\t{\n\t\t\tpather.curPath?.DrawPath(this);\n\t\t\tjobs.DrawLinesBetweenTargets();\n\t\t}\n\t}\n\n\tpublic override void TickRare()\n\t{\n\t\tbase.TickRare();\n\t\tif (!Suspended)\n\t\t{\n\t\t\tapparel?.ApparelTrackerTickRare();\n\t\t}\n\t\ttraining?.TrainingTrackerTickRare();\n\t\tif (base.Spawned && RaceProps.IsFlesh && base.AmbientTemperature < 40f)\n\t\t{\n\t\t\tGenTemperature.PushHeat(this, 0.3f * BodySize * 4.1666665f * (def.race.Humanlike ? 1f : 0.6f));\n\t\t}\n\t}\n\n\tprotected override void Tick()\n\t{\n\t\tif (DebugSettings.noAnimals && base.Spawned && IsAnimal)\n\t\t{\n\t\t\tDestroy();\n\t\t\treturn;\n\t\t}\n\t\tbase.Tick();\n\t\tif (this.IsHashIntervalTick(250))\n\t\t{\n\t\t\tTickRare();\n\t\t}\n\t\tbool suspended = Suspended;\n\t\tif (!suspended)\n\t\t{\n\t\t\tif (base.Spawned)\n\t\t\t{\n\t\t\t\tpather.PatherTick();\n\t\t\t}\n\t\t\tif (base.Spawned)\n\t\t\t{\n\t\t\t\tverbTracker.VerbsTick();\n\t\t\t}\n\t\t\tif (base.Spawned)\n\t\t\t{\n\t\t\t\troping?.RopingTick();\n\t\t\t\tflight?.FlightTick();\n\t\t\t\tnatives.NativeVerbsTick();\n\t\t\t}\n\t\t\tif (base.Spawned)\n\t\t\t{\n\t\t\t\tstances.StanceTrackerTick();\n\t\t\t}\n\t\t\tif (!this.IsWorldPawn())\n\t\t\t{\n\t\t\t\tjobs?.JobTrackerTick();\n\t\t\t}\n\t\t\thealth.HealthTick();\n\t\t\tif (base.Spawned && this.IsHiddenFromPlayer() && Find.Selector.IsSelected(this))\n\t\t\t{\n\t\t\t\tFind.Selector.Deselect(this);\n\t\t\t}\n\t\t}\n\t\tif (!suspended)\n\t\t{\n\t\t\tif (equipment != null)\n\t\t\t{\n\t\t\t\tusing (ProfilerBlock.Scope(\"equipment\"))\n\t\t\t\t{\n\t\t\t\t\tequipment.EquipmentTrackerTick();\n\t\t\t\t}\n\t\t\t}\n\t\t\tabilities?.AbilitiesTick();\n\t\t\tinventory?.InventoryTrackerTick();\n\t\t\tgenes?.GeneTrackerTick();\n\t\t\tif (ModsConfig.AnomalyActive && base.Spawned)\n\t\t\t{\n\t\t\t\tmutant?.MutantTrackerTick();\n\t\t\t}\n\t\t}\n\t\tif (base.Spawned && !base.Position.Fogged(base.Map))\n\t\t{\n\t\t\tif (RaceProps.soundAmbience != null && (sustainerAmbient == null || sustainerAmbient.Ended))\n\t\t\t{\n\t\t\t\tsustainerAmbient = RaceProps.soundAmbience.TrySpawnSustainer(SoundInfo.InMap(this, MaintenanceType.PerTick));\n\t\t\t}\n\t\t\tsustainerAmbient?.Maintain();\n\t\t\tif (pather != null && pather.Moving && RaceProps.soundMoving != null)\n\t\t\t{\n\t\t\t\tif (sustainerMoving == null || sustainerMoving.Ended)\n\t\t\t\t{\n\t\t\t\t\tsustainerMoving = RaceProps.soundMoving.TrySpawnSustainer(SoundInfo.InMap(this, MaintenanceType.PerTick));\n\t\t\t\t}\n\t\t\t\tsustainerMoving?.Maintain();\n\t\t\t}\n\t\t}\n\t\tdrawer?.renderer.EffectersTick(suspended || this.IsWorldPawn());\n\t}\n\n\tprotected override void TickInterval(int delta)\n\t{\n\t\tif (DebugSettings.noAnimals && base.Spawned && IsAnimal)\n\t\t{\n\t\t\tDestroy();\n\t\t\treturn;\n\t\t}\n\t\tbase.TickInterval(delta);\n\t\tbool suspended = Suspended;\n\t\tif (!suspended)\n\t\t{\n\t\t\tif (!this.IsWorldPawn())\n\t\t\t{\n\t\t\t\tusing (ProfilerBlock.Scope(\"jobs interval\"))\n\t\t\t\t{\n\t\t\t\t\tjobs?.JobTrackerTickInterval(delta);\n\t\t\t\t}\n\t\t\t}\n\t\t\tusing (ProfilerBlock.Scope(\"health interval\"))\n\t\t\t{\n\t\t\t\thealth.HealthTickInterval(delta);\n\t\t\t}\n\t\t\tif (!Dead)\n\t\t\t{\n\t\t\t\tusing (ProfilerBlock.Scope(\"mind state interval\"))\n\t\t\t\t{\n\t\t\t\t\tmindState.MindStateTickInterval(delta);\n\t\t\t\t}\n\t\t\t\tcarryTracker.CarryHandsTickInterval(delta);\n\t\t\t\tif (!base.InCryptosleep && RaceProps.Humanlike)\n\t\t\t\t{\n\t\t\t\t\tinfectionVectors?.InfectionTickInterval(delta);\n\t\t\t\t}\n\t\t\t\tif (showNamePromptOnTick != -1 && showNamePromptOnTick == Find.TickManager.TicksGame)\n\t\t\t\t{\n\t\t\t\t\tFind.WindowStack.Add(this.NamePawnDialog());\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (!base.Spawned)\n\t\t{\n\t\t\tThing firstParentThing = ThingOwnerUtility.GetFirstParentThing(this);\n\t\t\tif (firstParentThing != null)\n\t\t\t{\n\t\t\t\tPawnUtility.GainComfortFromThingIfPossible(this, firstParentThing, delta);\n\t\t\t}\n\t\t}\n\t\tif (!Dead)\n\t\t{\n\t\t\tneeds.NeedsTrackerTickInterval(delta);\n\t\t}\n\t\tif (!suspended)\n\t\t{\n\t\t\tapparel?.ApparelTrackerTickInterval(delta);\n\t\t\tif (interactions != null && base.Spawned)\n\t\t\t{\n\t\t\t\tusing (ProfilerBlock.Scope(\"interactions\"))\n\t\t\t\t{\n\t\t\t\t\tinteractions.InteractionsTrackerTickInterval(delta);\n\t\t\t\t}\n\t\t\t}\n\t\t\tcaller?.CallTrackerTickInterval(delta);\n\t\t\tskills?.SkillsTickInterval(delta);\n\t\t\tdrafter?.DraftControllerTickInterval(delta);\n\t\t\trelations?.RelationsTrackerTickInterval(delta);\n\t\t\tif (ModsConfig.RoyaltyActive && psychicEntropy != null)\n\t\t\t{\n\t\t\t\tpsychicEntropy.PsychicEntropyTrackerTickInterval(delta);\n\t\t\t}\n\t\t\tif (RaceProps.Humanlike)\n\t\t\t{\n\t\t\t\tguest.GuestTrackerTickInterval(delta);\n\t\t\t}\n\t\t\tideo?.IdeoTrackerTickInterval(delta);\n\t\t\tgenes?.GeneTrackerTickInterval(delta);\n\t\t\tif (royalty != null && ModsConfig.RoyaltyActive)\n\t\t\t{\n\t\t\t\troyalty.RoyaltyTrackerTickInterval(delta);\n\t\t\t}\n\t\t\tif (style != null && ModsConfig.IdeologyActive)\n\t\t\t{\n\t\t\t\tstyle.StyleTrackerTickInterval(delta);\n\t\t\t}\n\t\t\tif (styleObserver != null && ModsConfig.IdeologyActive)\n\t\t\t{\n\t\t\t\tstyleObserver.StyleObserverTickInterval(delta);\n\t\t\t}\n\t\t\tif (surroundings != null && ModsConfig.IdeologyActive)\n\t\t\t{\n\t\t\t\tsurroundings.SurroundingsTrackerTickInterval(delta);\n\t\t\t}\n\t\t\tif (ModsConfig.BiotechActive)\n\t\t\t{\n\t\t\t\tlearning?.LearningTickInterval(delta);\n\t\t\t\tPollutionUtility.PawnPollutionTickInterval(this, delta);\n\t\t\t}\n\t\t\tif (ModsConfig.BiotechActive || ModsConfig.AnomalyActive)\n\t\t\t{\n\t\t\t\tGasUtility.PawnGasEffectsTickInterval(this, delta);\n\t\t\t}\n\t\t\tToxicUtility.PawnToxicTickInterval(this, delta);\n\t\t\tVacuumUtility.PawnVacuumTickInterval(this, delta);\n\t\t\tif (ModsConfig.AnomalyActive && base.Spawned)\n\t\t\t{\n\t\t\t\tmutant?.MutantTrackerTickInterval(delta);\n\t\t\t\tcreepjoiner?.TickInterval(delta);\n\t\t\t}\n\t\t\tif (!IsMutant || !mutant.Def.disableAging)\n\t\t\t{\n\t\t\t\tageTracker.AgeTickInterval(delta);\n\t\t\t}\n\t\t\trecords.RecordsTickInterval(delta);\n\t\t}\n\t\tguilt?.GuiltTrackerTickInterval(delta);\n\t}\n\n\tpublic void ProcessPostTickVisuals(int ticksPassed, CellRect viewRect)\n\t{\n\t\tif (!Suspended && base.Spawned)\n\t\t{\n\t\t\tif (Current.ProgramState != ProgramState.Playing || viewRect.Contains(base.Position))\n\t\t\t{\n\t\t\t\tDrawer.ProcessPostTickVisuals(ticksPassed);\n\t\t\t}\n\t\t\trotationTracker.ProcessPostTickVisuals(ticksPassed);\n\t\t}\n\t}\n\n\tpublic void TickMothballed(int interval)\n\t{\n\t\tif (!Suspended)\n\t\t{\n\t\t\tageTracker.AgeTickMothballed(interval);\n\t\t\trecords.RecordsTickMothballed(interval);\n\t\t}\n\t}\n\n\tpublic void Notify_Teleported(bool endCurrentJob = true, bool resetTweenedPos = true)\n\t{\n\t\tif (resetTweenedPos)\n\t\t{\n\t\t\tDrawer.tweener.Notify_Teleported();\n\t\t}\n\t\tpather.Notify_Teleported_Int();\n\t\tif (endCurrentJob && jobs?.curJob != null)\n\t\t{\n\t\t\tjobs.EndCurrentJob(JobCondition.InterruptForced, jobs.curJob.startTick != GenTicks.TicksGame);\n\t\t}\n\t}\n\n\tpublic virtual SurgicalInspectionOutcome DoSurgicalInspection(Pawn surgeon, out string desc)\n\t{\n\t\tif (!ModsConfig.AnomalyActive)\n\t\t{\n\t\t\tdesc = \"\";\n\t\t\treturn SurgicalInspectionOutcome.Nothing;\n\t\t}\n\t\tbool flag = false;\n\t\tbool flag2 = false;\n\t\tStringBuilder stringBuilder = new StringBuilder();\n\t\tfor (int num = health.hediffSet.hediffs.Count - 1; num >= 0; num--)\n\t\t{\n\t\t\tHediff hediff = health.hediffSet.hediffs[num];\n\t\t\tif (hediff.TryGetComp(out var comp))\n\t\t\t{\n\t\t\t\tif (hediff.Visible)\n\t\t\t\t{\n\t\t\t\t\tcomp.DoSurgicalInspectionVisible(surgeon);\n\t\t\t\t\tif (comp.Props.preventLetterIfPreviouslyDetected)\n\t\t\t\t\t{\n\t\t\t\t\t\tflag2 = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tswitch (comp.DoSurgicalInspection(surgeon))\n\t\t\t\t\t{\n\t\t\t\t\tcase SurgicalInspectionOutcome.DetectedNoLetter:\n\t\t\t\t\t\tflag2 = true;\n\t\t\t\t\t\thediff.SetVisible();\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase SurgicalInspectionOutcome.Detected:\n\t\t\t\t\t\tflag = true;\n\t\t\t\t\t\tif (!string.IsNullOrEmpty(comp.Props.surgicalDetectionDesc))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tstringBuilder.Append(\"\\n\\n\" + comp.Props.surgicalDetectionDesc.Formatted(this.Named(\"PAWN\"), surgeon.Named(\"SURGEON\")));\n\t\t\t\t\t\t}\n\t\t\t\t\t\thediff.SetVisible();\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (IsCreepJoiner && creepjoiner.DoSurgicalInspection(surgeon, stringBuilder))\n\t\t{\n\t\t\tflag = true;\n\t\t}\n\t\tdesc = stringBuilder.ToString();\n\t\tif (flag2)\n\t\t{\n\t\t\treturn SurgicalInspectionOutcome.DetectedNoLetter;\n\t\t}\n\t\tif (!flag)\n\t\t{\n\t\t\treturn SurgicalInspectionOutcome.Nothing;\n\t\t}\n\t\treturn SurgicalInspectionOutcome.Detected;\n\t}\n\n\tpublic void Notify_BecameVisible()\n\t{\n\t\tList allComps = base.AllComps;\n\t\tfor (int i = 0; i < allComps.Count; i++)\n\t\t{\n\t\t\tallComps[i].Notify_BecameVisible();\n\t\t}\n\t}\n\n\tpublic void Notify_BecameInvisible()\n\t{\n\t\tList allComps = base.AllComps;\n\t\tfor (int i = 0; i < allComps.Count; i++)\n\t\t{\n\t\t\tallComps[i].Notify_BecameInvisible();\n\t\t}\n\t}\n\n\tpublic void Notify_ForcedVisible()\n\t{\n\t\tList allComps = base.AllComps;\n\t\tfor (int i = 0; i < allComps.Count; i++)\n\t\t{\n\t\t\tallComps[i].Notify_ForcedVisible();\n\t\t}\n\t}\n\n\tpublic void Notify_PassedToWorld()\n\t{\n\t\tif (((base.Faction == null && RaceProps.Humanlike) || (base.Faction != null && base.Faction.IsPlayer) || base.Faction == Faction.OfAncients || base.Faction == Faction.OfAncientsHostile) && !Dead && Find.WorldPawns.GetSituation(this) == WorldPawnSituation.Free)\n\t\t{\n\t\t\tbool tryMedievalOrBetter = base.Faction != null && (int)base.Faction.def.techLevel >= 3;\n\t\t\tFaction faction;\n\t\t\tif (this.HasExtraHomeFaction() && !this.GetExtraHomeFaction().IsPlayer)\n\t\t\t{\n\t\t\t\tif (base.Faction != this.GetExtraHomeFaction())\n\t\t\t\t{\n\t\t\t\t\tSetFaction(this.GetExtraHomeFaction());\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (Find.FactionManager.TryGetRandomNonColonyHumanlikeFaction(out faction, tryMedievalOrBetter))\n\t\t\t{\n\t\t\t\tif (base.Faction != faction)\n\t\t\t\t{\n\t\t\t\t\tSetFaction(faction);\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (Find.FactionManager.TryGetRandomNonColonyHumanlikeFaction(out faction, tryMedievalOrBetter, allowDefeated: true))\n\t\t\t{\n\t\t\t\tif (base.Faction != faction)\n\t\t\t\t{\n\t\t\t\t\tSetFaction(faction);\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (base.Faction != null)\n\t\t\t{\n\t\t\t\tSetFaction(null);\n\t\t\t}\n\t\t}\n\t\tbecameWorldPawnTickAbs = GenTicks.TicksAbs;\n\t\tif (!this.IsCaravanMember() && !PawnUtility.IsTravelingInTransportPodWorldObject(this))\n\t\t{\n\t\t\tClearMind();\n\t\t}\n\t\trelations?.Notify_PassedToWorld();\n\t\tforeach (ThingComp allComp in base.AllComps)\n\t\t{\n\t\t\tallComp.Notify_PassedToWorld();\n\t\t}\n\t\tdrawer?.renderer?.renderTree?.SetDirty();\n\t}\n\n\tpublic void Notify_AddBedThoughts()\n\t{\n\t\tforeach (ThingComp allComp in base.AllComps)\n\t\t{\n\t\t\tallComp.Notify_AddBedThoughts(this);\n\t\t}\n\t\tIdeo?.Notify_AddBedThoughts(this);\n\t}\n\n\tpublic override void PreApplyDamage(ref DamageInfo dinfo, out bool absorbed)\n\t{\n\t\tfloat num = 1f;\n\t\tif (ModsConfig.BiotechActive && genes != null)\n\t\t{\n\t\t\tnum *= genes.FactorForDamage(dinfo);\n\t\t}\n\t\tnum *= health.FactorForDamage(dinfo);\n\t\tdinfo.SetAmount(dinfo.Amount * num);\n\t\tbase.PreApplyDamage(ref dinfo, out absorbed);\n\t\tif (!absorbed)\n\t\t{\n\t\t\thealth.PreApplyDamage(dinfo, out absorbed);\n\t\t}\n\t}\n\n\tpublic override void PostApplyDamage(DamageInfo dinfo, float totalDamageDealt)\n\t{\n\t\tbase.PostApplyDamage(dinfo, totalDamageDealt);\n\t\tif (dinfo.Def.ExternalViolenceFor(this))\n\t\t{\n\t\t\trecords.AddTo(RecordDefOf.DamageTaken, totalDamageDealt);\n\t\t}\n\t\tif (dinfo.Def.makesBlood && health.CanBleed && !dinfo.InstantPermanentInjury && totalDamageDealt > 0f && Rand.Chance(0.5f))\n\t\t{\n\t\t\thealth.DropBloodFilth();\n\t\t}\n\t\thealth.PostApplyDamage(dinfo, totalDamageDealt);\n\t\tif (Dead)\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\tmindState.Notify_DamageTaken(dinfo);\n\t\tif (ModsConfig.AnomalyActive && dinfo.Instigator is Pawn pawn)\n\t\t{\n\t\t\tList list = (dinfo.Def.isRanged ? pawn.kindDef.rangedAttackInfectionPathways : pawn.kindDef.meleeAttackInfectionPathways);\n\t\t\tif (list != null)\n\t\t\t{\n\t\t\t\tInfectionPathwayUtility.AddInfectionPathways(list, this, pawn);\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic override Thing SplitOff(int count)\n\t{\n\t\tif (count <= 0 || count >= stackCount)\n\t\t{\n\t\t\treturn base.SplitOff(count);\n\t\t}\n\t\tthrow new NotImplementedException(\"Split off on Pawns is not supported (unless we're taking a full stack).\");\n\t}\n\n\tprivate float TicksPerMove(bool diagonal)\n\t{\n\t\tfloat num = this.GetStatValue(StatDefOf.MoveSpeed);\n\t\tif (Downed && health.CanCrawl)\n\t\t{\n\t\t\tnum = this.GetStatValue(StatDefOf.CrawlSpeed);\n\t\t}\n\t\tif (RestraintsUtility.InRestraints(this))\n\t\t{\n\t\t\tnum *= 0.35f;\n\t\t}\n\t\tif (carryTracker?.CarriedThing != null && carryTracker.CarriedThing.def.category == ThingCategory.Pawn)\n\t\t{\n\t\t\tnum *= 0.6f;\n\t\t}\n\t\tfloat num2 = num / 60f;\n\t\tfloat num3;\n\t\tif (num2 == 0f)\n\t\t{\n\t\t\tnum3 = 450f;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tnum3 = 1f / num2;\n\t\t\tif (base.Spawned && !base.Map.roofGrid.Roofed(base.Position))\n\t\t\t{\n\t\t\t\tnum3 /= base.Map.weatherManager.CurMoveSpeedMultiplier;\n\t\t\t}\n\t\t\tif (diagonal)\n\t\t\t{\n\t\t\t\tnum3 *= 1.41421f;\n\t\t\t}\n\t\t}\n\t\tnum3 = Mathf.Clamp(num3, 1f, 450f);\n\t\tif (debugMaxMoveSpeed)\n\t\t{\n\t\t\treturn 1f;\n\t\t}\n\t\treturn num3;\n\t}\n\n\tprivate void DoKillSideEffects(DamageInfo? dinfo, Hediff exactCulprit, bool spawned)\n\t{\n\t\tif (Current.ProgramState == ProgramState.Playing)\n\t\t{\n\t\t\tFind.Storyteller.Notify_PawnEvent(this, AdaptationEvent.Died);\n\t\t}\n\t\tif (IsColonist && !wasLeftBehindStartingPawn)\n\t\t{\n\t\t\tFind.StoryWatcher.statsRecord.Notify_ColonistKilled();\n\t\t}\n\t\tif (spawned && ((dinfo.HasValue && dinfo.Value.Def.ExternalViolenceFor(this)) || (exactCulprit?.sourceDef != null && exactCulprit.sourceDef.IsWeapon)))\n\t\t{\n\t\t\tLifeStageUtility.PlayNearestLifestageSound(this, (LifeStageAge lifeStage) => lifeStage.soundDeath, (GeneDef gene) => gene.soundDeath, (MutantDef mutantDef) => mutantDef.soundDeath);\n\t\t}\n\t\tif (dinfo?.Instigator != null && dinfo.Value.Instigator is Pawn pawn)\n\t\t{\n\t\t\tRecordsUtility.Notify_PawnKilled(this, pawn);\n\t\t\tpawn.equipment?.Notify_KilledPawn();\n\t\t\tif (RaceProps.Humanlike && pawn.needs != null && pawn.needs.TryGetNeed(out Need_KillThirst need))\n\t\t\t{\n\t\t\t\tneed.Notify_KilledPawn(dinfo);\n\t\t\t}\n\t\t\tif (pawn.health.hediffSet != null)\n\t\t\t{\n\t\t\t\tfor (int i = 0; i < pawn.health.hediffSet.hediffs.Count; i++)\n\t\t\t\t{\n\t\t\t\t\tpawn.health.hediffSet.hediffs[i].Notify_KilledPawn(this, dinfo);\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (HistoryEventUtility.IsKillingInnocentAnimal(pawn, this))\n\t\t\t{\n\t\t\t\tFind.HistoryEventsManager.RecordEvent(new HistoryEvent(HistoryEventDefOf.KilledInnocentAnimal, pawn.Named(HistoryEventArgsNames.Doer), this.Named(HistoryEventArgsNames.Victim)));\n\t\t\t}\n\t\t}\n\t\tTaleUtility.Notify_PawnDied(this, dinfo);\n\t\tif (spawned)\n\t\t{\n\t\t\tFind.BattleLog.Add(new BattleLogEntry_StateTransition(this, RaceProps.DeathActionWorker.DeathRules, dinfo?.Instigator as Pawn, exactCulprit, dinfo?.HitPart));\n\t\t}\n\t}\n\n\tprivate void PreDeathPawnModifications(DamageInfo? dinfo, Map map)\n\t{\n\t\thealth.surgeryBills.Clear();\n\t\tfor (int i = 0; i < health.hediffSet.hediffs.Count; i++)\n\t\t{\n\t\t\thealth.hediffSet.hediffs[i].Notify_PawnKilled();\n\t\t}\n\t\tapparel?.Notify_PawnKilled(dinfo);\n\t\trelations?.Notify_PawnKilled(dinfo, map);\n\t\tconnections?.Notify_PawnKilled();\n\t\tmeleeVerbs.Notify_PawnKilled();\n\t}\n\n\tprivate void DropBeforeDying(DamageInfo? dinfo, ref Map map, ref bool spawned)\n\t{\n\t\tif (base.ParentHolder is Pawn_CarryTracker pawn_CarryTracker && holdingOwner.TryDrop(this, pawn_CarryTracker.pawn.Position, pawn_CarryTracker.pawn.Map, ThingPlaceMode.Near, out var _))\n\t\t{\n\t\t\tmap = pawn_CarryTracker.pawn.Map;\n\t\t\tspawned = true;\n\t\t}\n\t\tPawnDiedOrDownedThoughtsUtility.RemoveLostThoughts(this);\n\t\tPawnDiedOrDownedThoughtsUtility.RemoveResuedRelativeThought(this);\n\t\tPawnDiedOrDownedThoughtsUtility.TryGiveThoughts(this, dinfo, PawnDiedOrDownedThoughtsKind.Died);\n\t\tif (IsAnimal)\n\t\t{\n\t\t\tPawnDiedOrDownedThoughtsUtility.GiveVeneratedAnimalDiedThoughts(this, map);\n\t\t}\n\t}\n\n\tprivate void RemoveFromHoldingContainer(ref Map map, ref bool spawned, DamageInfo? dinfo)\n\t{\n\t\tif (ModsConfig.AnomalyActive && base.ParentHolder is Building_HoldingPlatform { Spawned: not false } building_HoldingPlatform)\n\t\t{\n\t\t\tbuilding_HoldingPlatform.Notify_PawnDied(this, dinfo);\n\t\t\tspawned = true;\n\t\t\tmap = building_HoldingPlatform.Map;\n\t\t}\n\t\tif (base.ParentHolder is CompTransporter compTransporter)\n\t\t{\n\t\t\tcompTransporter.innerContainer.TryDrop(this, ThingPlaceMode.Near, out var _);\n\t\t}\n\t}\n\n\tpublic override void Kill(DamageInfo? dinfo, Hediff exactCulprit = null)\n\t{\n\t\tint num = 0;\n\t\thealth.isBeingKilled = true;\n\t\ttry\n\t\t{\n\t\t\tnum = 1;\n\t\t\tIntVec3 positionHeld = base.PositionHeld;\n\t\t\tMap map = base.Map;\n\t\t\tMap map2 = (prevMap = base.MapHeld);\n\t\t\tLord prevLord = this.GetLord();\n\t\t\tbool spawned = base.Spawned;\n\t\t\tbool spawnedOrAnyParentSpawned = base.SpawnedOrAnyParentSpawned;\n\t\t\tbool wasWorldPawn = this.IsWorldPawn();\n\t\t\tbool? flag = guilt?.IsGuilty;\n\t\t\tCaravan caravan = this.GetCaravan();\n\t\t\tbool isShambler = IsShambler;\n\t\t\tBuilding_Grave assignedGrave = null;\n\t\t\tif (ownership != null)\n\t\t\t{\n\t\t\t\tassignedGrave = ownership.AssignedGrave;\n\t\t\t}\n\t\t\tBuilding_Bed currentBed = this.CurrentBed();\n\t\t\tRemoveFromHoldingContainer(ref map, ref spawned, dinfo);\n\t\t\tThingOwner thingOwner = null;\n\t\t\tbool inContainerEnclosed = InContainerEnclosed;\n\t\t\tif (inContainerEnclosed)\n\t\t\t{\n\t\t\t\tthingOwner = holdingOwner;\n\t\t\t\tthingOwner.Remove(this);\n\t\t\t}\n\t\t\tbool flag2 = false;\n\t\t\tbool flag3 = false;\n\t\t\tbool flag4 = false;\n\t\t\tif (Current.ProgramState == ProgramState.Playing && map != null)\n\t\t\t{\n\t\t\t\tflag2 = map.designationManager.DesignationOn(this, DesignationDefOf.Hunt) != null;\n\t\t\t\tflag3 = this.ShouldBeSlaughtered();\n\t\t\t\tforeach (Lord lord2 in map.lordManager.lords)\n\t\t\t\t{\n\t\t\t\t\tif (lord2.LordJob is LordJob_Ritual lordJob_Ritual && lordJob_Ritual.pawnsDeathIgnored.Contains(this))\n\t\t\t\t\t{\n\t\t\t\t\t\tflag4 = true;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tbool flag5 = PawnUtility.ShouldSendNotificationAbout(this) && (!(flag3 || flag4) || !dinfo.HasValue || dinfo.Value.Def != DamageDefOf.ExecutionCut) && !ForceNoDeathNotification;\n\t\t\tnum = 2;\n\t\t\tDoKillSideEffects(dinfo, exactCulprit, spawned);\n\t\t\tnum = 3;\n\t\t\tPreDeathPawnModifications(dinfo, map);\n\t\t\tnum = 4;\n\t\t\tDropBeforeDying(dinfo, ref map, ref spawned);\n\t\t\tnum = 5;\n\t\t\thealth.SetDead();\n\t\t\tif (health.deflectionEffecter != null)\n\t\t\t{\n\t\t\t\thealth.deflectionEffecter.Cleanup();\n\t\t\t\thealth.deflectionEffecter = null;\n\t\t\t}\n\t\t\tif (health.woundedEffecter != null)\n\t\t\t{\n\t\t\t\thealth.woundedEffecter.Cleanup();\n\t\t\t\thealth.woundedEffecter = null;\n\t\t\t}\n\t\t\tcaravan?.Notify_MemberDied(this);\n\t\t\tLord lord = this.GetLord();\n\t\t\tlord?.Notify_PawnLost(this, PawnLostCondition.Killed, dinfo);\n\t\t\tif (ModsConfig.AnomalyActive)\n\t\t\t{\n\t\t\t\tFind.Anomaly.Notify_PawnDied(this);\n\t\t\t}\n\t\t\tMeditationFocusTypeAvailabilityCache.Notify_PawnDiedOrDestroyed(this);\n\t\t\tbool num2 = DeSpawnOrDeselect();\n\t\t\tif (royalty != null)\n\t\t\t{\n\t\t\t\troyalty.Notify_PawnKilled();\n\t\t\t}\n\t\t\tCorpse corpse = null;\n\t\t\tif (!PawnGenerator.IsPawnBeingGeneratedAndNotAllowsDead(this) && RaceProps.corpseDef != null)\n\t\t\t{\n\t\t\t\tif (inContainerEnclosed)\n\t\t\t\t{\n\t\t\t\t\tcorpse = MakeCorpse(assignedGrave, currentBed);\n\t\t\t\t\tif (!thingOwner.TryAdd(corpse))\n\t\t\t\t\t{\n\t\t\t\t\t\tcorpse.Destroy();\n\t\t\t\t\t\tcorpse = null;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse if (spawnedOrAnyParentSpawned)\n\t\t\t\t{\n\t\t\t\t\tif (holdingOwner != null)\n\t\t\t\t\t{\n\t\t\t\t\t\tholdingOwner.Remove(this);\n\t\t\t\t\t}\n\t\t\t\t\tcorpse = MakeCorpse(assignedGrave, currentBed);\n\t\t\t\t\tif (GenPlace.TryPlaceThing(corpse, positionHeld, map2, ThingPlaceMode.Direct) || GenPlace.TryPlaceThing(corpse, positionHeld, map2, ThingPlaceMode.Near))\n\t\t\t\t\t{\n\t\t\t\t\t\tcorpse.Rotation = base.Rotation;\n\t\t\t\t\t\tif (HuntJobUtility.WasKilledByHunter(this, dinfo))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t((Pawn)dinfo.Value.Instigator).Reserve(corpse, ((Pawn)dinfo.Value.Instigator).CurJob);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse if (!flag2 && !flag3)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcorpse.SetForbiddenIfOutsideHomeArea();\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (this.GetAttachment(ThingDefOf.Fire) is Fire fire)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tFireUtility.TryStartFireIn(corpse.Position, corpse.Map, fire.CurrentSize(), fire.instigator);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tcorpse.Destroy();\n\t\t\t\t\t\tcorpse = null;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse if (caravan != null && caravan.Spawned)\n\t\t\t\t{\n\t\t\t\t\tcorpse = MakeCorpse(assignedGrave, currentBed);\n\t\t\t\t\tcaravan.AddPawnOrItem(corpse, addCarriedPawnToWorldPawnsIfAny: true);\n\t\t\t\t}\n\t\t\t\telse if (holdingOwner != null || this.IsWorldPawn())\n\t\t\t\t{\n\t\t\t\t\tCorpse.PostCorpseDestroy(this);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tcorpse = MakeCorpse(assignedGrave, currentBed);\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (spawned)\n\t\t\t{\n\t\t\t\tDropAndForbidEverything();\n\t\t\t}\n\t\t\tif (spawned)\n\t\t\t{\n\t\t\t\tGenLeaving.DoLeavingsFor(this, map, DestroyMode.KillFinalize);\n\t\t\t}\n\t\t\tif (corpse != null)\n\t\t\t{\n\t\t\t\tHediff firstHediffOfDef = health.hediffSet.GetFirstHediffOfDef(HediffDefOf.ToxicBuildup);\n\t\t\t\tHediff firstHediffOfDef2 = health.hediffSet.GetFirstHediffOfDef(HediffDefOf.Scaria);\n\t\t\t\tCompRottable comp = corpse.GetComp();\n\t\t\t\tif (comp != null && ((firstHediffOfDef != null && Rand.Value < firstHediffOfDef.Severity) || (firstHediffOfDef2 != null && Rand.Chance(Find.Storyteller.difficulty.scariaRotChance))))\n\t\t\t\t{\n\t\t\t\t\tcomp.RotImmediately();\n\t\t\t\t}\n\t\t\t\tif (addCorpseToLord)\n\t\t\t\t{\n\t\t\t\t\tlord?.AddCorpse(corpse);\n\t\t\t\t}\n\t\t\t}\n\t\t\tDrawer.renderer.SetAllGraphicsDirty();\n\t\t\tif (ModsConfig.AnomalyActive && kindDef == PawnKindDefOf.Revenant)\n\t\t\t{\n\t\t\t\tRevenantUtility.OnRevenantDeath(this, map);\n\t\t\t}\n\t\t\tduplicate?.Notify_PawnKilled();\n\t\t\tDrawer.renderer.SetAnimation(null);\n\t\t\tif (!base.Destroyed)\n\t\t\t{\n\t\t\t\tbase.Kill(dinfo, exactCulprit);\n\t\t\t}\n\t\t\tPawnComponentsUtility.RemoveComponentsOnKilled(this);\n\t\t\thealth.hediffSet.DirtyCache();\n\t\t\tPortraitsCache.SetDirty(this);\n\t\t\tGlobalTextureAtlasManager.TryMarkPawnFrameSetDirty(this);\n\t\t\tif (num2 && corpse != null && !corpse.Destroyed)\n\t\t\t{\n\t\t\t\tFind.Selector.Select(corpse, playSound: false, forceDesignatorDeselect: false);\n\t\t\t}\n\t\t\tnum = 6;\n\t\t\thealth.hediffSet.Notify_PawnDied(dinfo, exactCulprit);\n\t\t\tif (IsMutant)\n\t\t\t{\n\t\t\t\tmutant.Notify_Died(corpse, dinfo, exactCulprit);\n\t\t\t}\n\t\t\tgenes?.Notify_PawnDied(dinfo, exactCulprit);\n\t\t\tHomeFaction?.Notify_MemberDied(this, dinfo, wasWorldPawn, flag == true, map2);\n\t\t\tif (corpse != null)\n\t\t\t{\n\t\t\t\tif (RaceProps.DeathActionWorker != null && spawned && !isShambler)\n\t\t\t\t{\n\t\t\t\t\tRaceProps.DeathActionWorker.PawnDied(corpse, prevLord);\n\t\t\t\t}\n\t\t\t\tif (Find.Scenario != null)\n\t\t\t\t{\n\t\t\t\t\tFind.Scenario.Notify_PawnDied(corpse);\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (base.Faction != null && base.Faction.IsPlayer)\n\t\t\t{\n\t\t\t\tBillUtility.Notify_ColonistUnavailable(this);\n\t\t\t}\n\t\t\tif (spawnedOrAnyParentSpawned)\n\t\t\t{\n\t\t\t\tGenHostility.Notify_PawnLostForTutor(this, map2);\n\t\t\t}\n\t\t\tif (base.Faction != null && base.Faction.IsPlayer && Current.ProgramState == ProgramState.Playing)\n\t\t\t{\n\t\t\t\tFind.ColonistBar.MarkColonistsDirty();\n\t\t\t}\n\t\t\tpsychicEntropy?.Notify_PawnDied();\n\t\t\ttry\n\t\t\t{\n\t\t\t\tIdeo?.Notify_MemberDied(this);\n\t\t\t\tIdeo?.Notify_MemberLost(this, map);\n\t\t\t}\n\t\t\tcatch (Exception ex)\n\t\t\t{\n\t\t\t\tLog.Error(\"Error while notifying ideo of pawn death: \" + ex);\n\t\t\t}\n\t\t\tif (IsMutant && mutant.Def.clearMutantStatusOnDeath)\n\t\t\t{\n\t\t\t\tif (mutant.HasTurned)\n\t\t\t\t{\n\t\t\t\t\tmutant.Revert(beingKilled: true);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tmutant = null;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (flag5)\n\t\t\t{\n\t\t\t\thealth.NotifyPlayerOfKilled(dinfo, exactCulprit, caravan);\n\t\t\t}\n\t\t\tFind.QuestManager.Notify_PawnKilled(this, dinfo);\n\t\t\tFind.FactionManager.Notify_PawnKilled(this);\n\t\t\tFind.IdeoManager.Notify_PawnKilled(this);\n\t\t\tif (ModsConfig.BiotechActive && MechanitorUtility.IsMechanitor(this))\n\t\t\t{\n\t\t\t\tFind.History.Notify_MechanitorDied();\n\t\t\t}\n\t\t\tNotify_DisabledWorkTypesChanged();\n\t\t\tFind.BossgroupManager.Notify_PawnKilled(this);\n\t\t\tif (IsCreepJoiner)\n\t\t\t{\n\t\t\t\tcreepjoiner.Notify_CreepJoinerKilled();\n\t\t\t}\n\t\t\tprevMap = null;\n\t\t\thealth.isBeingKilled = false;\n\t\t}\n\t\tcatch (Exception arg)\n\t\t{\n\t\t\tLog.Error($\"Error while killing {this.ToStringSafe()} during phase {num}: {arg}\");\n\t\t}\n\t}\n\n\tpublic override void Destroy(DestroyMode mode = DestroyMode.Vanish)\n\t{\n\t\tif (mode != 0 && mode != DestroyMode.KillFinalize)\n\t\t{\n\t\t\tLog.Error(\"Destroyed pawn \" + this?.ToString() + \" with unsupported mode \" + mode.ToString() + \".\");\n\t\t}\n\t\t_ = base.MapHeld;\n\t\tbase.Destroy(mode);\n\t\tFind.WorldPawns.Notify_PawnDestroyed(this);\n\t\tif (ownership != null)\n\t\t{\n\t\t\tBuilding_Grave assignedGrave = ownership.AssignedGrave;\n\t\t\townership.UnclaimAll();\n\t\t\tif (mode == DestroyMode.KillFinalize)\n\t\t\t{\n\t\t\t\tassignedGrave?.CompAssignableToPawn.TryAssignPawn(this);\n\t\t\t}\n\t\t}\n\t\tClearMind(ifLayingKeepLaying: false, clearInspiration: true);\n\t\tLord lord = this.GetLord();\n\t\tif (lord != null)\n\t\t{\n\t\t\tPawnLostCondition cond = ((mode != DestroyMode.KillFinalize) ? PawnLostCondition.Vanished : PawnLostCondition.Killed);\n\t\t\tlord.Notify_PawnLost(this, cond);\n\t\t}\n\t\tif (Current.ProgramState == ProgramState.Playing)\n\t\t{\n\t\t\tFind.GameEnder.CheckOrUpdateGameOver();\n\t\t\tFind.TaleManager.Notify_PawnDestroyed(this);\n\t\t}\n\t\tforeach (Pawn item in PawnsFinder.AllMapsWorldAndTemporary_Alive.Where((Pawn p) => p.playerSettings != null && p.playerSettings.Master == this))\n\t\t{\n\t\t\titem.playerSettings.Master = null;\n\t\t}\n\t\tequipment?.Notify_PawnDied();\n\t\tif (ModsConfig.AnomalyActive && Find.Anomaly != null)\n\t\t{\n\t\t\tFind.Anomaly.Notify_PawnDied(this);\n\t\t}\n\t\tif (mode != DestroyMode.KillFinalize)\n\t\t{\n\t\t\tequipment?.DestroyAllEquipment();\n\t\t\tinventory?.DestroyAll();\n\t\t\tapparel?.DestroyAll();\n\t\t}\n\t\tWorldPawns worldPawns = Find.WorldPawns;\n\t\tif (!worldPawns.IsBeingDiscarded(this) && !worldPawns.Contains(this))\n\t\t{\n\t\t\tworldPawns.PassToWorld(this);\n\t\t}\n\t\tif (base.Faction.IsPlayerSafe())\n\t\t{\n\t\t\tIdeo?.RecacheColonistBelieverCount();\n\t\t}\n\t\trelations?.Notify_PawnDestroyed(mode);\n\t\tMeditationFocusTypeAvailabilityCache.Notify_PawnDiedOrDestroyed(this);\n\t\tDrawer?.renderer?.renderTree?.SetDirty();\n\t}\n\n\tpublic override void DeSpawn(DestroyMode mode = DestroyMode.Vanish)\n\t{\n\t\tMap map = base.Map;\n\t\tif (jobs?.curJob != null)\n\t\t{\n\t\t\tjobs.StopAll();\n\t\t}\n\t\tbase.DeSpawn(mode);\n\t\tpather?.StopDead();\n\t\troping?.Notify_DeSpawned();\n\t\tmindState.droppedWeapon = null;\n\t\tneeds?.mood?.thoughts.situational.Notify_SituationalThoughtsDirty();\n\t\tmeleeVerbs?.Notify_PawnDespawned();\n\t\tmechanitor?.Notify_DeSpawned(mode);\n\t\tMeditationFocusTypeAvailabilityCache.Notify_PawnDiedOrDestroyed(this);\n\t\tClearAllReservations(releaseDestinationsOnlyIfObsolete: false);\n\t\tif (map != null)\n\t\t{\n\t\t\tmap.mapPawns.DeRegisterPawn(this);\n\t\t\tmap.autoSlaughterManager.Notify_PawnDespawned();\n\t\t}\n\t\tPawnComponentsUtility.RemoveComponentsOnDespawned(this);\n\t\tif (sustainerAmbient != null)\n\t\t{\n\t\t\tsustainerAmbient.End();\n\t\t\tsustainerAmbient = null;\n\t\t}\n\t\tif (sustainerMoving != null)\n\t\t{\n\t\t\tsustainerMoving.End();\n\t\t\tsustainerMoving = null;\n\t\t}\n\t}\n\n\tpublic override void Discard(bool silentlyRemoveReferences = false)\n\t{\n\t\tif (Find.WorldPawns.Contains(this))\n\t\t{\n\t\t\tLog.Warning(\"Tried to discard a world pawn \" + this?.ToString() + \".\");\n\t\t\treturn;\n\t\t}\n\t\tbase.Discard(silentlyRemoveReferences);\n\t\tif (relations != null)\n\t\t{\n\t\t\tif (RaceProps.Humanlike && relations.Children.Count((Pawn x) => !x.markedForDiscard) > 1)\n\t\t\t{\n\t\t\t\tforeach (Pawn child in relations.Children)\n\t\t\t\t{\n\t\t\t\t\tif (!child.markedForDiscard)\n\t\t\t\t\t{\n\t\t\t\t\t\tDirectPawnRelation directRelation = child.relations.GetDirectRelation(PawnRelationDefOf.Parent, this);\n\t\t\t\t\t\tchild.relations.ElevateToVirtualRelation(directRelation);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\trelations.ClearAllRelations();\n\t\t}\n\t\tif (pather != null)\n\t\t{\n\t\t\tpather.DisposeAndClearCurPathRequest();\n\t\t\tpather.DisposeAndClearCurPath();\n\t\t}\n\t\tif (Current.ProgramState == ProgramState.Playing)\n\t\t{\n\t\t\tFind.PlayLog.Notify_PawnDiscarded(this, silentlyRemoveReferences);\n\t\t\tFind.BattleLog.Notify_PawnDiscarded(this, silentlyRemoveReferences);\n\t\t\tFind.TaleManager.Notify_PawnDiscarded(this, silentlyRemoveReferences);\n\t\t\tFind.QuestManager.Notify_PawnDiscarded(this);\n\t\t}\n\t\tforeach (Pawn item in PawnsFinder.AllMapsWorldAndTemporary_Alive)\n\t\t{\n\t\t\titem.needs?.mood?.thoughts.memories.Notify_PawnDiscarded(this);\n\t\t}\n\t\tCorpse.PostCorpseDestroy(this, discarded: true);\n\t}\n\n\tpublic Corpse MakeCorpse(Building_Grave assignedGrave, Building_Bed currentBed)\n\t{\n\t\treturn MakeCorpse(assignedGrave, currentBed != null, currentBed?.Rotation.AsAngle ?? 0f);\n\t}\n\n\tpublic Corpse MakeCorpse(Building_Grave assignedGrave, bool inBed, float bedRotation)\n\t{\n\t\tif (holdingOwner != null)\n\t\t{\n\t\t\tLog.Warning(\"We can't make corpse because the pawn is in a ThingOwner. Remove him from the container first. This should have been already handled before calling this method. holder=\" + base.ParentHolder);\n\t\t\treturn null;\n\t\t}\n\t\tif (RaceProps.corpseDef == null)\n\t\t{\n\t\t\treturn null;\n\t\t}\n\t\tCorpse corpse = (Corpse)ThingMaker.MakeThing(RaceProps.corpseDef);\n\t\tcorpse.InnerPawn = this;\n\t\tif (assignedGrave != null)\n\t\t{\n\t\t\tcorpse.InnerPawn.ownership.ClaimGrave(assignedGrave);\n\t\t}\n\t\tif (inBed)\n\t\t{\n\t\t\tcorpse.InnerPawn.Drawer.renderer.wiggler.SetToCustomRotation(bedRotation + 180f);\n\t\t}\n\t\treturn corpse;\n\t}\n\n\tpublic void ExitMap(bool allowedToJoinOrCreateCaravan, Rot4 exitDir)\n\t{\n\t\tif (this.IsWorldPawn())\n\t\t{\n\t\t\tLog.Warning(\"Called ExitMap() on world pawn \" + this);\n\t\t\treturn;\n\t\t}\n\t\tIdeo?.Notify_MemberLost(this, base.Map);\n\t\tif (allowedToJoinOrCreateCaravan && CaravanExitMapUtility.CanExitMapAndJoinOrCreateCaravanNow(this))\n\t\t{\n\t\t\tCaravanExitMapUtility.ExitMapAndJoinOrCreateCaravan(this, exitDir);\n\t\t\treturn;\n\t\t}\n\t\tthis.GetLord()?.Notify_PawnLost(this, PawnLostCondition.ExitedMap);\n\t\tif (carryTracker?.CarriedThing != null)\n\t\t{\n\t\t\tPawn pawn = carryTracker.CarriedThing as Pawn;\n\t\t\tif (pawn != null)\n\t\t\t{\n\t\t\t\tif (base.Faction != null && base.Faction != pawn.Faction)\n\t\t\t\t{\n\t\t\t\t\tbase.Faction.kidnapped.Kidnap(pawn, this);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tif (!teleporting)\n\t\t\t\t\t{\n\t\t\t\t\t\tcarryTracker.innerContainer.Remove(pawn);\n\t\t\t\t\t}\n\t\t\t\t\tpawn.teleporting = teleporting;\n\t\t\t\t\tpawn.ExitMap(allowedToJoinOrCreateCaravan: false, exitDir);\n\t\t\t\t\tpawn.teleporting = false;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tcarryTracker.CarriedThing.Destroy();\n\t\t\t}\n\t\t\tif (!teleporting || pawn == null)\n\t\t\t{\n\t\t\t\tcarryTracker.innerContainer.Clear();\n\t\t\t}\n\t\t}\n\t\tbool flag = ThingOwnerUtility.AnyParentIs(this) || ThingOwnerUtility.AnyParentIs(this);\n\t\tbool flag2 = this.IsCaravanMember() || teleporting || flag;\n\t\tbool flag3 = !flag2 || (!IsPrisoner && !IsSlave && !flag) || (guest != null && guest.Released);\n\t\tbool flag4 = flag3 && (IsPrisoner || IsSlave) && guest != null && guest.Released;\n\t\tbool flag5 = flag4 || (guest != null && guest.HostFaction == Faction.OfPlayer);\n\t\tif (flag3 && !flag2)\n\t\t{\n\t\t\tforeach (Thing equippedWornOrInventoryThing in EquippedWornOrInventoryThings)\n\t\t\t{\n\t\t\t\tequippedWornOrInventoryThing.GetStyleSourcePrecept()?.Notify_ThingLost(equippedWornOrInventoryThing);\n\t\t\t}\n\t\t}\n\t\tbase.Faction?.Notify_MemberExitedMap(this, flag4);\n\t\tif (base.Faction == Faction.OfPlayer && IsSlave && SlaveFaction != null && SlaveFaction != Faction.OfPlayer && guest.Released)\n\t\t{\n\t\t\tSlaveFaction.Notify_MemberExitedMap(this, flag4);\n\t\t}\n\t\tif (ownership != null && flag5)\n\t\t{\n\t\t\townership.UnclaimAll();\n\t\t}\n\t\tif (guest != null)\n\t\t{\n\t\t\tbool isPrisonerOfColony = IsPrisonerOfColony;\n\t\t\tif (flag4)\n\t\t\t{\n\t\t\t\tguest.SetGuestStatus(null);\n\t\t\t}\n\t\t\tif (isPrisonerOfColony)\n\t\t\t{\n\t\t\t\tguest.SetNoInteraction();\n\t\t\t\tif (!guest.Released && flag3)\n\t\t\t\t{\n\t\t\t\t\tGuestUtility.Notify_PrisonerEscaped(this);\n\t\t\t\t}\n\t\t\t}\n\t\t\tguest.Released = false;\n\t\t}\n\t\tDeSpawnOrDeselect();\n\t\tinventory.UnloadEverything = false;\n\t\tif (flag3)\n\t\t{\n\t\t\tClearMind();\n\t\t}\n\t\trelations?.Notify_ExitedMap();\n\t\tFind.WorldPawns.PassToWorld(this);\n\t\tQuestUtility.SendQuestTargetSignals(questTags, \"LeftMap\", this.Named(\"SUBJECT\"));\n\t\tFind.FactionManager.Notify_PawnLeftMap(this);\n\t\tFind.IdeoManager.Notify_PawnLeftMap(this);\n\t}\n\n\tpublic override void PreTraded(TradeAction action, Pawn playerNegotiator, ITrader trader)\n\t{\n\t\tbase.PreTraded(action, playerNegotiator, trader);\n\t\tif (base.SpawnedOrAnyParentSpawned)\n\t\t{\n\t\t\tDropAndForbidEverything();\n\t\t}\n\t\townership?.UnclaimAll();\n\t\tif (action == TradeAction.PlayerSells)\n\t\t{\n\t\t\tFaction faction = this.GetExtraHomeFaction() ?? this.GetExtraHostFaction();\n\t\t\tif (faction != null && faction != Faction.OfPlayer)\n\t\t\t{\n\t\t\t\tFaction.OfPlayer.TryAffectGoodwillWith(faction, Faction.OfPlayer.GoodwillToMakeHostile(faction), canSendMessage: true, canSendHostilityLetter: true, HistoryEventDefOf.MemberSold, this);\n\t\t\t}\n\t\t}\n\t\tguest?.SetGuestStatus(null);\n\t\tswitch (action)\n\t\t{\n\t\tcase TradeAction.PlayerBuys:\n\t\t\tif (guest != null && guest.joinStatus == JoinStatus.JoinAsSlave)\n\t\t\t{\n\t\t\t\tguest.SetGuestStatus(Faction.OfPlayer, RimWorld.GuestStatus.Slave);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tneeds.mood?.thoughts.memories.TryGainMemory(ThoughtDefOf.FreedFromSlavery);\n\t\t\tSetFaction(Faction.OfPlayer);\n\t\t\tbreak;\n\t\tcase TradeAction.PlayerSells:\n\t\t\tif (RaceProps.Humanlike)\n\t\t\t{\n\t\t\t\tTaleRecorder.RecordTale(TaleDefOf.SoldPrisoner, playerNegotiator, this, trader);\n\t\t\t}\n\t\t\tif (base.Faction != null)\n\t\t\t{\n\t\t\t\tSetFaction(null);\n\t\t\t}\n\t\t\tif (RaceProps.IsFlesh)\n\t\t\t{\n\t\t\t\trelations.Notify_PawnSold(playerNegotiator);\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t\tClearMind();\n\t}\n\n\tpublic void PreKidnapped(Pawn kidnapper)\n\t{\n\t\tFind.Storyteller.Notify_PawnEvent(this, AdaptationEvent.Kidnapped);\n\t\tif (IsColonist && kidnapper != null)\n\t\t{\n\t\t\tTaleRecorder.RecordTale(TaleDefOf.KidnappedColonist, kidnapper, this);\n\t\t}\n\t\townership?.UnclaimAll();\n\t\tif (guest != null && !guest.IsSlave)\n\t\t{\n\t\t\tguest.SetGuestStatus(null);\n\t\t}\n\t\tif (RaceProps.IsFlesh)\n\t\t{\n\t\t\trelations.Notify_PawnKidnapped();\n\t\t}\n\t\tClearMind();\n\t}\n\n\tpublic override AcceptanceReport ClaimableBy(Faction by)\n\t{\n\t\treturn false;\n\t}\n\n\tpublic override bool AdoptableBy(Faction by, StringBuilder reason = null)\n\t{\n\t\tif (base.Faction == by)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tPawn_AgeTracker pawn_AgeTracker = ageTracker;\n\t\tif (pawn_AgeTracker != null && pawn_AgeTracker.CurLifeStage?.claimable == false)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tif (FactionPreventsClaimingOrAdopting(base.Faction, forClaim: false, out var reason2))\n\t\t{\n\t\t\treason?.Append(reason2);\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t}\n\n\tpublic override void SetFaction(Faction newFaction, Pawn recruiter = null)\n\t{\n\t\tif (newFaction == base.Faction)\n\t\t{\n\t\t\tLog.Warning(\"Used SetFaction to change \" + this.ToStringSafe() + \" to same faction \" + newFaction.ToStringSafe());\n\t\t\treturn;\n\t\t}\n\t\tFaction faction = base.Faction;\n\t\tguest?.SetGuestStatus(null);\n\t\tif (base.Spawned)\n\t\t{\n\t\t\tbase.Map.mapPawns.DeRegisterPawn(this);\n\t\t\tbase.Map.pawnDestinationReservationManager.ReleaseAllClaimedBy(this);\n\t\t\tbase.Map.designationManager.RemoveAllDesignationsOn(this);\n\t\t\tbase.Map.autoSlaughterManager.Notify_PawnChangedFaction();\n\t\t}\n\t\tif ((newFaction == Faction.OfPlayer || base.Faction == Faction.OfPlayer) && Current.ProgramState == ProgramState.Playing)\n\t\t{\n\t\t\tFind.ColonistBar.MarkColonistsDirty();\n\t\t}\n\t\tthis.GetLord()?.Notify_PawnLost(this, PawnLostCondition.ChangedFaction);\n\t\tif (PawnUtility.IsFactionLeader(this))\n\t\t{\n\t\t\tFaction factionLeaderFaction = PawnUtility.GetFactionLeaderFaction(this);\n\t\t\tif (newFaction != factionLeaderFaction && !this.HasExtraHomeFaction(factionLeaderFaction) && !this.HasExtraMiniFaction(factionLeaderFaction))\n\t\t\t{\n\t\t\t\tfactionLeaderFaction.Notify_LeaderLost();\n\t\t\t}\n\t\t}\n\t\tif (newFaction == Faction.OfPlayer && RaceProps.Humanlike && !this.IsQuestLodger())\n\t\t{\n\t\t\tChangeKind(newFaction.def.basicMemberKind);\n\t\t}\n\t\tbase.SetFaction(newFaction);\n\t\tPawnComponentsUtility.AddAndRemoveDynamicComponents(this);\n\t\tif (base.Faction != null && base.Faction.IsPlayer)\n\t\t{\n\t\t\tworkSettings?.EnableAndInitialize();\n\t\t\tFind.StoryWatcher.watcherPopAdaptation.Notify_PawnEvent(this, PopAdaptationEvent.GainedColonist);\n\t\t}\n\t\tif (Drafted)\n\t\t{\n\t\t\tdrafter.Drafted = false;\n\t\t}\n\t\tReachabilityUtility.ClearCacheFor(this);\n\t\thealth.surgeryBills.Clear();\n\t\tif (base.Spawned)\n\t\t{\n\t\t\tbase.Map.mapPawns.RegisterPawn(this);\n\t\t}\n\t\tGenerateNecessaryName();\n\t\tplayerSettings?.ResetMedicalCare();\n\t\tClearMind(ifLayingKeepLaying: true);\n\t\tif (!Dead && needs.mood != null)\n\t\t{\n\t\t\tneeds.mood.thoughts.situational.Notify_SituationalThoughtsDirty();\n\t\t}\n\t\tif (base.Spawned)\n\t\t{\n\t\t\tbase.Map.attackTargetsCache.UpdateTarget(this);\n\t\t}\n\t\tFind.GameEnder.CheckOrUpdateGameOver();\n\t\tAddictionUtility.CheckDrugAddictionTeachOpportunity(this);\n\t\tneeds?.AddOrRemoveNeedsAsAppropriate();\n\t\tplayerSettings?.Notify_FactionChanged();\n\t\trelations?.Notify_ChangedFaction();\n\t\tif (IsAnimal && newFaction == Faction.OfPlayer)\n\t\t{\n\t\t\ttraining.SetWantedRecursive(TrainableDefOf.Tameness, checkOn: true);\n\t\t\ttraining.Train(TrainableDefOf.Tameness, recruiter, complete: true);\n\t\t\tif (RaceProps.Roamer && mindState != null)\n\t\t\t{\n\t\t\t\tmindState.lastStartRoamCooldownTick = Find.TickManager.TicksGame;\n\t\t\t}\n\t\t}\n\t\tif (faction == Faction.OfPlayer)\n\t\t{\n\t\t\tBillUtility.Notify_ColonistUnavailable(this);\n\t\t}\n\t\tif (newFaction == Faction.OfPlayer)\n\t\t{\n\t\t\tFind.StoryWatcher.statsRecord.UpdateGreatestPopulation();\n\t\t\tFind.World.StoryState.RecordPopulationIncrease();\n\t\t}\n\t\tnewFaction?.Notify_PawnJoined(this);\n\t\tIdeo?.Notify_MemberChangedFaction(this, faction, newFaction);\n\t\tageTracker?.ResetAgeReversalDemand(Pawn_AgeTracker.AgeReversalReason.Recruited);\n\t\troping?.BreakAllRopes();\n\t\tif (ModsConfig.BiotechActive)\n\t\t{\n\t\t\tmechanitor?.Notify_ChangedFaction();\n\t\t}\n\t\tcreepjoiner?.Notify_ChangedFaction();\n\t\tif (faction != null)\n\t\t{\n\t\t\tFind.FactionManager.Notify_PawnLeftFaction(faction);\n\t\t}\n\t}\n\n\tpublic void ClearMind(bool ifLayingKeepLaying = false, bool clearInspiration = false, bool clearMentalState = true)\n\t{\n\t\tpather?.StopDead();\n\t\tmindState?.Reset(clearInspiration, clearMentalState);\n\t\tjobs?.StopAll(ifLayingKeepLaying);\n\t\tVerifyReservations();\n\t}\n\n\tpublic void ClearAllReservations(bool releaseDestinationsOnlyIfObsolete = true)\n\t{\n\t\tList maps = Find.Maps;\n\t\tfor (int i = 0; i < maps.Count; i++)\n\t\t{\n\t\t\tif (releaseDestinationsOnlyIfObsolete)\n\t\t\t{\n\t\t\t\tmaps[i].pawnDestinationReservationManager.ReleaseAllObsoleteClaimedBy(this);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tmaps[i].pawnDestinationReservationManager.ReleaseAllClaimedBy(this);\n\t\t\t}\n\t\t\tmaps[i].reservationManager.ReleaseAllClaimedBy(this);\n\t\t\tmaps[i].enrouteManager.ReleaseAllClaimedBy(this);\n\t\t\tmaps[i].physicalInteractionReservationManager.ReleaseAllClaimedBy(this);\n\t\t\tmaps[i].attackTargetReservationManager.ReleaseAllClaimedBy(this);\n\t\t}\n\t}\n\n\tpublic void ClearReservationsForJob(Job job)\n\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].pawnDestinationReservationManager.ReleaseClaimedBy(this, job);\n\t\t\tmaps[i].reservationManager.ReleaseClaimedBy(this, job);\n\t\t\tmaps[i].enrouteManager.ReleaseAllClaimedBy(this);\n\t\t\tmaps[i].physicalInteractionReservationManager.ReleaseClaimedBy(this, job);\n\t\t\tmaps[i].attackTargetReservationManager.ReleaseClaimedBy(this, job);\n\t\t}\n\t}\n\n\tpublic void VerifyReservations(Job prevJob = null)\n\t{\n\t\tif (jobs == null || CurJob != null || jobs.jobQueue.Count > 0 || jobs.startingNewJob)\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\tbool flag = false;\n\t\tList maps = Find.Maps;\n\t\tfor (int i = 0; i < maps.Count; i++)\n\t\t{\n\t\t\tLocalTargetInfo obj = maps[i].reservationManager.FirstReservationFor(this);\n\t\t\tif (obj.IsValid)\n\t\t\t{\n\t\t\t\tLog.ErrorOnce($\"Reservation manager failed to clean up properly; {this.ToStringSafe()} still reserving {obj.ToStringSafe()}, prev job: {prevJob}\", 0x5D3DFA5 ^ thingIDNumber);\n\t\t\t\tflag = true;\n\t\t\t}\n\t\t\tLocalTargetInfo obj2 = maps[i].physicalInteractionReservationManager.FirstReservationFor(this);\n\t\t\tif (obj2.IsValid)\n\t\t\t{\n\t\t\t\tLog.ErrorOnce(\"Physical interaction reservation manager failed to clean up properly; \" + this.ToStringSafe() + \" still reserving \" + obj2.ToStringSafe() + \", prev job: {prevJob}\", 0x12ADECD ^ thingIDNumber);\n\t\t\t\tflag = true;\n\t\t\t}\n\t\t\tIAttackTarget attackTarget = maps[i].attackTargetReservationManager.FirstReservationFor(this);\n\t\t\tif (attackTarget != null)\n\t\t\t{\n\t\t\t\tLog.ErrorOnce(\"Attack target reservation manager failed to clean up properly; \" + this.ToStringSafe() + \" still reserving \" + attackTarget.ToStringSafe() + \", prev job: {prevJob}\", 0x5FD7206 ^ thingIDNumber);\n\t\t\t\tflag = true;\n\t\t\t}\n\t\t\tIntVec3 obj3 = maps[i].pawnDestinationReservationManager.FirstObsoleteReservationFor(this);\n\t\t\tif (obj3.IsValid)\n\t\t\t{\n\t\t\t\tJob job = maps[i].pawnDestinationReservationManager.FirstObsoleteReservationJobFor(this);\n\t\t\t\tLog.ErrorOnce(\"Pawn destination reservation manager failed to clean up properly; \" + this.ToStringSafe() + \"/\" + job.ToStringSafe() + \"/\" + job.def.ToStringSafe() + \" still reserving \" + obj3.ToStringSafe() + \", prev job: {prevJob}\", 0x1DE312 ^ thingIDNumber);\n\t\t\t\tflag = true;\n\t\t\t}\n\t\t}\n\t\tif (flag)\n\t\t{\n\t\t\tClearAllReservations();\n\t\t}\n\t}\n\n\tpublic void DropAndForbidEverything(bool keepInventoryAndEquipmentIfInBed = false, bool rememberPrimary = false)\n\t{\n\t\tif (kindDef.destroyGearOnDrop)\n\t\t{\n\t\t\tequipment.DestroyAllEquipment();\n\t\t\tapparel.DestroyAll();\n\t\t}\n\t\tif (InContainerEnclosed)\n\t\t{\n\t\t\tif (carryTracker?.CarriedThing != null)\n\t\t\t{\n\t\t\t\tcarryTracker.innerContainer.TryTransferToContainer(carryTracker.CarriedThing, holdingOwner);\n\t\t\t}\n\t\t\tif (equipment?.Primary != null)\n\t\t\t{\n\t\t\t\tequipment.TryTransferEquipmentToContainer(equipment.Primary, holdingOwner);\n\t\t\t}\n\t\t\tinventory?.innerContainer.TryTransferAllToContainer(holdingOwner);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tif (!base.SpawnedOrAnyParentSpawned)\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (carryTracker?.CarriedThing != null)\n\t\t\t{\n\t\t\t\tcarryTracker.TryDropCarriedThing(base.PositionHeld, ThingPlaceMode.Near, out var _);\n\t\t\t}\n\t\t\tif (!keepInventoryAndEquipmentIfInBed || !this.InBed())\n\t\t\t{\n\t\t\t\tequipment?.DropAllEquipment(base.PositionHeld, forbid: true, rememberPrimary);\n\t\t\t\tif (inventory != null && inventory.innerContainer.TotalStackCount > 0)\n\t\t\t\t{\n\t\t\t\t\tinventory.DropAllNearPawn(base.PositionHeld, forbid: true);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic void GenerateNecessaryName()\n\t{\n\t\tif (Name == null && base.Faction == Faction.OfPlayer && (RaceProps.Animal || (ModsConfig.BiotechActive && RaceProps.IsMechanoid)))\n\t\t{\n\t\t\tName = PawnBioAndNameGenerator.GeneratePawnName(this, NameStyle.Numeric);\n\t\t}\n\t}\n\n\tpublic Verb TryGetAttackVerb(Thing target, bool allowManualCastWeapons = false, bool allowTurrets = false)\n\t{\n\t\tif (equipment?.Primary != null && equipment.PrimaryEq.PrimaryVerb.Available() && (!equipment.PrimaryEq.PrimaryVerb.verbProps.onlyManualCast || (CurJob != null && CurJob.def != JobDefOf.Wait_Combat) || allowManualCastWeapons))\n\t\t{\n\t\t\treturn equipment.PrimaryEq.PrimaryVerb;\n\t\t}\n\t\tif (allowManualCastWeapons && apparel != null)\n\t\t{\n\t\t\tVerb firstApparelVerb = apparel.FirstApparelVerb;\n\t\t\tif (firstApparelVerb != null && firstApparelVerb.Available())\n\t\t\t{\n\t\t\t\treturn firstApparelVerb;\n\t\t\t}\n\t\t}\n\t\tif (allowTurrets)\n\t\t{\n\t\t\tList allComps = base.AllComps;\n\t\t\tfor (int i = 0; i < allComps.Count; i++)\n\t\t\t{\n\t\t\t\tif (allComps[i] is CompTurretGun { TurretDestroyed: false } compTurretGun && compTurretGun.GunCompEq.PrimaryVerb.Available())\n\t\t\t\t{\n\t\t\t\t\treturn compTurretGun.GunCompEq.PrimaryVerb;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (kindDef.canMeleeAttack)\n\t\t{\n\t\t\treturn meleeVerbs.TryGetMeleeVerb(target);\n\t\t}\n\t\treturn null;\n\t}\n\n\tpublic bool TryStartAttack(LocalTargetInfo targ)\n\t{\n\t\tif (stances.FullBodyBusy)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tif (WorkTagIsDisabled(WorkTags.Violent))\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tbool allowManualCastWeapons = !IsColonist;\n\t\tVerb verb = TryGetAttackVerb(targ.Thing, allowManualCastWeapons);\n\t\treturn verb?.TryStartCastOn(verb.verbProps.ai_RangedAlawaysShootGroundBelowTarget ? ((LocalTargetInfo)targ.Cell) : targ) ?? false;\n\t}\n\n\tpublic override IEnumerable ButcherProducts(Pawn butcher, float efficiency)\n\t{\n\t\tif (RaceProps.meatDef != null)\n\t\t{\n\t\t\tint num = GenMath.RoundRandom(this.GetStatValue(StatDefOf.MeatAmount) * efficiency);\n\t\t\tif (num > 0)\n\t\t\t{\n\t\t\t\tThing thing = ThingMaker.MakeThing(RaceProps.meatDef);\n\t\t\t\tthing.stackCount = num;\n\t\t\t\tyield return thing;\n\t\t\t}\n\t\t}\n\t\tforeach (Thing item in base.ButcherProducts(butcher, efficiency))\n\t\t{\n\t\t\tyield return item;\n\t\t}\n\t\tif (RaceProps.leatherDef != null)\n\t\t{\n\t\t\tint num2 = GenMath.RoundRandom(this.GetStatValue(StatDefOf.LeatherAmount) * efficiency);\n\t\t\tif (num2 > 0)\n\t\t\t{\n\t\t\t\tThing thing2 = ThingMaker.MakeThing(RaceProps.leatherDef);\n\t\t\t\tthing2.stackCount = num2;\n\t\t\t\tyield return thing2;\n\t\t\t}\n\t\t}\n\t\tif (RaceProps.Humanlike)\n\t\t{\n\t\t\tyield break;\n\t\t}\n\t\tPawnKindLifeStage lifeStage = ageTracker.CurKindLifeStage;\n\t\tif (lifeStage.butcherBodyPart == null || (gender != 0 && (gender != Gender.Male || !lifeStage.butcherBodyPart.allowMale) && (gender != Gender.Female || !lifeStage.butcherBodyPart.allowFemale)))\n\t\t{\n\t\t\tyield break;\n\t\t}\n\t\twhile (true)\n\t\t{\n\t\t\tBodyPartRecord bodyPartRecord = health.hediffSet.GetNotMissingParts().FirstOrDefault((BodyPartRecord x) => x.IsInGroup(lifeStage.butcherBodyPart.bodyPartGroup));\n\t\t\tif (bodyPartRecord != null)\n\t\t\t{\n\t\t\t\thealth.AddHediff(HediffMaker.MakeHediff(HediffDefOf.MissingBodyPart, this, bodyPartRecord));\n\t\t\t\tyield return ThingMaker.MakeThing(lifeStage.butcherBodyPart.thing ?? bodyPartRecord.def.spawnThingOnRemoved);\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t}\n\n\tpublic TaggedString FactionDesc(TaggedString name, bool extraFactionsInfo, string nameLabel, string genderLabel)\n\t{\n\t\ttmpExtraFactions.Clear();\n\t\tQuestUtility.GetExtraFactionsFromQuestParts(this, tmpExtraFactions);\n\t\tGuestUtility.GetExtraFactionsFromGuestStatus(this, tmpExtraFactions);\n\t\tTaggedString result = ((base.Faction == null || base.Faction.Hidden) ? name : ((tmpExtraFactions.Count != 0 || SlaveFaction != null) ? \"PawnMainDescUnderFactionedWrap\".Translate(name, base.Faction.NameColored) : \"PawnMainDescFactionedWrap\".Translate(name, base.Faction.NameColored, nameLabel.Named(\"NAME\"), genderLabel.Named(\"GENDER\"))));\n\t\tif (extraFactionsInfo)\n\t\t{\n\t\t\tfor (int i = 0; i < tmpExtraFactions.Count; i++)\n\t\t\t{\n\t\t\t\tif (base.Faction != tmpExtraFactions[i].faction && !tmpExtraFactions[i].faction.Hidden)\n\t\t\t\t{\n\t\t\t\t\tresult += \"\\n\" + tmpExtraFactions[i].factionType.GetLabel().CapitalizeFirst() + \": \" + tmpExtraFactions[i].faction.NameColored.Resolve();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\ttmpExtraFactions.Clear();\n\t\treturn result;\n\t}\n\n\tpublic string MainDesc(bool writeFaction, bool writeGender = true)\n\t{\n\t\tbool flag = base.Faction == null || !base.Faction.IsPlayer;\n\t\tstring text = ((!writeGender) ? string.Empty : ((gender == Gender.None) ? string.Empty : gender.GetLabel(this.AnimalOrWildMan())));\n\t\tstring text2 = string.Empty;\n\t\tif (RaceProps.Animal || RaceProps.IsMechanoid)\n\t\t{\n\t\t\ttext2 = GenLabel.BestKindLabel(this, mustNoteGender: false, mustNoteLifeStage: true);\n\t\t\tif (Name != null)\n\t\t\t{\n\t\t\t\tif (!text.NullOrEmpty())\n\t\t\t\t{\n\t\t\t\t\ttext += \" \";\n\t\t\t\t}\n\t\t\t\ttext += text2;\n\t\t\t}\n\t\t}\n\t\tif (ageTracker != null)\n\t\t{\n\t\t\tif (text.Length > 0)\n\t\t\t{\n\t\t\t\ttext += \", \";\n\t\t\t}\n\t\t\ttext += \"AgeIndicator\".Translate(ageTracker.AgeNumberString);\n\t\t}\n\t\tif (IsMutant && mutant.HasTurned && mutant.Def.overrideLabel)\n\t\t{\n\t\t\tif (text.Length > 0)\n\t\t\t{\n\t\t\t\ttext += \", \";\n\t\t\t}\n\t\t\ttext += mutant.Def.label;\n\t\t}\n\t\telse if (!RaceProps.Animal && !RaceProps.IsMechanoid && flag && !IsCreepJoiner)\n\t\t{\n\t\t\tif (text.Length > 0)\n\t\t\t{\n\t\t\t\ttext += \", \";\n\t\t\t}\n\t\t\ttext2 = GenLabel.BestKindLabel(this, mustNoteGender: false, mustNoteLifeStage: true);\n\t\t\ttext += text2;\n\t\t}\n\t\tif (writeFaction)\n\t\t{\n\t\t\ttext = FactionDesc(text, extraFactionsInfo: true, text2, gender.GetLabel(RaceProps.Animal)).Resolve();\n\t\t}\n\t\treturn text.CapitalizeFirst();\n\t}\n\n\tpublic string GetJobReport()\n\t{\n\t\ttry\n\t\t{\n\t\t\treturn (this.GetLord()?.LordJob?.GetJobReport(this) ?? jobs?.curDriver?.GetReport())?.CapitalizeFirst();\n\t\t}\n\t\tcatch (Exception ex)\n\t\t{\n\t\t\tLog.Error(\"JobDriver.GetReport() exception: \" + ex);\n\t\t\treturn null;\n\t\t}\n\t}\n\n\tpublic override string GetInspectString()\n\t{\n\t\tStringBuilder stringBuilder = new StringBuilder();\n\t\tif (!def.hideMainDesc)\n\t\t{\n\t\t\tstringBuilder.AppendLine(MainDesc(PawnUtility.ShouldDisplayFactionInInspectString(this)));\n\t\t}\n\t\tRoyalTitle royalTitle = royalty?.MostSeniorTitle;\n\t\tif (royalTitle != null)\n\t\t{\n\t\t\tstringBuilder.AppendLine(\"PawnTitleDescWrap\".Translate(royalTitle.def.GetLabelCapFor(this), royalTitle.faction.NameColored).Resolve());\n\t\t}\n\t\tstring inspectString = base.GetInspectString();\n\t\tif (!inspectString.NullOrEmpty())\n\t\t{\n\t\t\tstringBuilder.AppendLine(inspectString);\n\t\t}\n\t\tif (TraderKind != null)\n\t\t{\n\t\t\tstringBuilder.AppendLine(TraderKind.LabelCap);\n\t\t}\n\t\tif (InMentalState)\n\t\t{\n\t\t\tstring inspectLine = MentalState.InspectLine;\n\t\t\tif (!string.IsNullOrEmpty(inspectLine))\n\t\t\t{\n\t\t\t\tstringBuilder.AppendLine(inspectLine);\n\t\t\t}\n\t\t}\n\t\tstates.Clear();\n\t\tif (health?.hediffSet != null)\n\t\t{\n\t\t\tList hediffs = health.hediffSet.hediffs;\n\t\t\tfor (int i = 0; i < hediffs.Count; i++)\n\t\t\t{\n\t\t\t\tHediff hediff = hediffs[i];\n\t\t\t\tif (!hediff.def.battleStateLabel.NullOrEmpty())\n\t\t\t\t{\n\t\t\t\t\tstates.AddUnique(hediff.def.battleStateLabel);\n\t\t\t\t}\n\t\t\t\tstring inspectString2 = hediff.GetInspectString();\n\t\t\t\tif (!inspectString2.NullOrEmpty())\n\t\t\t\t{\n\t\t\t\t\tstringBuilder.AppendLine(inspectString2);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (states.Count > 0)\n\t\t{\n\t\t\tstates.Sort();\n\t\t\tstringBuilder.AppendLine(string.Format(\"{0}: {1}\", \"State\".Translate(), states.ToCommaList().CapitalizeFirst()));\n\t\t\tstates.Clear();\n\t\t}\n\t\tstring text = flight?.GetStatusString();\n\t\tif (!text.NullOrEmpty())\n\t\t{\n\t\t\tstringBuilder.AppendLine(text);\n\t\t}\n\t\tif (stances?.stunner != null && stances.stunner.Stunned)\n\t\t{\n\t\t\tif (stances.stunner.Hypnotized)\n\t\t\t{\n\t\t\t\tstringBuilder.AppendLine(\"InTrance\".Translate());\n\t\t\t}\n\t\t\telse if (stances.stunner.StunFromEMP)\n\t\t\t{\n\t\t\t\tstringBuilder.AppendLine(\"StunnedByEMP\".Translate() + \": \" + stances.stunner.StunTicksLeft.ToStringSecondsFromTicks());\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tstringBuilder.AppendLine(\"StunLower\".Translate().CapitalizeFirst() + \": \" + stances.stunner.StunTicksLeft.ToStringSecondsFromTicks());\n\t\t\t}\n\t\t}\n\t\tif (stances?.stagger != null && stances.stagger.Staggered)\n\t\t{\n\t\t\tstringBuilder.AppendLine(\"SlowedByDamage\".Translate() + \": \" + stances.stagger.StaggerTicksLeft.ToStringSecondsFromTicks());\n\t\t}\n\t\tif (Inspired)\n\t\t{\n\t\t\tstringBuilder.AppendLine(Inspiration.InspectLine);\n\t\t}\n\t\tif (equipment?.Primary != null)\n\t\t{\n\t\t\tstringBuilder.AppendLine(\"Equipped\".TranslateSimple() + \": \" + ((equipment.Primary != null) ? equipment.Primary.Label : \"EquippedNothing\".TranslateSimple()).CapitalizeFirst());\n\t\t}\n\t\tif (abilities != null)\n\t\t{\n\t\t\tfor (int j = 0; j < abilities.AllAbilitiesForReading.Count; j++)\n\t\t\t{\n\t\t\t\tstring inspectString3 = abilities.AllAbilitiesForReading[j].GetInspectString();\n\t\t\t\tif (!inspectString3.NullOrEmpty())\n\t\t\t\t{\n\t\t\t\t\tstringBuilder.AppendLine(inspectString3);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (carryTracker?.CarriedThing != null && (CurJob == null || CurJob.showCarryingInspectLine))\n\t\t{\n\t\t\tstringBuilder.Append(\"Carrying\".Translate() + \": \");\n\t\t\tstringBuilder.AppendLine(carryTracker.CarriedThing.LabelCap);\n\t\t}\n\t\tPawn_RopeTracker pawn_RopeTracker = roping;\n\t\tif (pawn_RopeTracker != null && pawn_RopeTracker.IsRoped)\n\t\t{\n\t\t\tstringBuilder.AppendLine(roping.InspectLine);\n\t\t}\n\t\tif (ModsConfig.BiotechActive && IsColonyMech && needs.energy != null)\n\t\t{\n\t\t\tTaggedString taggedString = \"MechEnergy\".Translate() + \": \" + needs.energy.CurLevelPercentage.ToStringPercent();\n\t\t\tfloat maxLevel = needs.energy.MaxLevel;\n\t\t\tif (this.IsCharging())\n\t\t\t{\n\t\t\t\ttaggedString += \" (+\" + \"PerDay\".Translate((50f / maxLevel).ToStringPercent()) + \")\";\n\t\t\t}\n\t\t\telse if (this.IsSelfShutdown())\n\t\t\t{\n\t\t\t\ttaggedString += \" (+\" + \"PerDay\".Translate((1f / maxLevel).ToStringPercent()) + \")\";\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\ttaggedString += \" (-\" + \"PerDay\".Translate((needs.energy.FallPerDay / maxLevel).ToStringPercent()) + \")\";\n\t\t\t}\n\t\t\tstringBuilder.AppendLine(taggedString);\n\t\t}\n\t\tstring text2 = null;\n\t\tif (PawnUtility.ShouldDisplayLordReport(this))\n\t\t{\n\t\t\tLord lord = this.GetLord();\n\t\t\tif (lord?.LordJob != null)\n\t\t\t{\n\t\t\t\ttext2 = lord.LordJob.GetReport(this);\n\t\t\t}\n\t\t}\n\t\tif (PawnUtility.ShouldDisplayJobReport(this))\n\t\t{\n\t\t\tstring jobReport = GetJobReport();\n\t\t\tif (text2.NullOrEmpty())\n\t\t\t{\n\t\t\t\ttext2 = jobReport;\n\t\t\t}\n\t\t\telse if (!jobReport.NullOrEmpty())\n\t\t\t{\n\t\t\t\ttext2 = text2 + \": \" + jobReport;\n\t\t\t}\n\t\t}\n\t\tif (!text2.NullOrEmpty())\n\t\t{\n\t\t\tstringBuilder.AppendLine(text2.CapitalizeFirst().EndWithPeriod());\n\t\t}\n\t\tif (jobs?.curJob != null)\n\t\t{\n\t\t\tPawn_JobTracker pawn_JobTracker = jobs;\n\t\t\tif (pawn_JobTracker != null && pawn_JobTracker.jobQueue.Count > 0)\n\t\t\t{\n\t\t\t\ttry\n\t\t\t\t{\n\t\t\t\t\tstring text3 = jobs.jobQueue[0].job.GetReport(this).CapitalizeFirst();\n\t\t\t\t\tif (jobs.jobQueue.Count > 1)\n\t\t\t\t\t{\n\t\t\t\t\t\ttext3 = text3 + \" (+\" + (jobs.jobQueue.Count - 1) + \")\";\n\t\t\t\t\t}\n\t\t\t\t\tstringBuilder.AppendLine(\"Queued\".Translate() + \": \" + text3);\n\t\t\t\t}\n\t\t\t\tcatch (Exception ex)\n\t\t\t\t{\n\t\t\t\t\tLog.Error(\"JobDriver.GetReport() exception: \" + ex);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (IsMutant && mutant.Def.overrideInspectString)\n\t\t{\n\t\t\tstring inspectString4 = mutant.GetInspectString();\n\t\t\tif (!inspectString4.NullOrEmpty())\n\t\t\t{\n\t\t\t\tstringBuilder.AppendLine(inspectString4);\n\t\t\t}\n\t\t}\n\t\tif (ModsConfig.AnomalyActive)\n\t\t{\n\t\t\tif (health?.hediffSet != null)\n\t\t\t{\n\t\t\t\tHediff_MetalhorrorImplant firstHediff = health.hediffSet.GetFirstHediff();\n\t\t\t\tif (firstHediff != null && firstHediff.Emerging)\n\t\t\t\t{\n\t\t\t\t\tstringBuilder.AppendLine(\"Emerging\".Translate());\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (IsCreepJoiner)\n\t\t\t{\n\t\t\t\tstring inspectString5 = creepjoiner.GetInspectString();\n\t\t\t\tif (!inspectString5.NullOrEmpty())\n\t\t\t\t{\n\t\t\t\t\tstringBuilder.AppendLine(inspectString5);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (ModsConfig.BiotechActive && needs?.energy != null && needs.energy.IsLowEnergySelfShutdown)\n\t\t{\n\t\t\tstringBuilder.AppendLine(\"MustBeCarriedToRecharger\".Translate());\n\t\t}\n\t\tif (RestraintsUtility.ShouldShowRestraintsInfo(this))\n\t\t{\n\t\t\tstringBuilder.AppendLine(\"InRestraints\".Translate());\n\t\t}\n\t\tif (guest != null && !guest.Recruitable && !IsSubhuman && !IsCreepJoiner)\n\t\t{\n\t\t\tif (base.Faction == null)\n\t\t\t{\n\t\t\t\tstringBuilder.AppendLine(\"UnrecruitableNoFaction\".Translate().CapitalizeFirst());\n\t\t\t}\n\t\t\telse if (base.Faction != Faction.OfPlayer || IsSlaveOfColony || IsPrisonerOfColony)\n\t\t\t{\n\t\t\t\tstringBuilder.AppendLine(\"Unrecruitable\".Translate().CapitalizeFirst());\n\t\t\t}\n\t\t}\n\t\tif (Prefs.DevMode && DebugSettings.showLocomotionUrgency && CurJob != null)\n\t\t{\n\t\t\tstringBuilder.AppendLine(\"Locomotion Urgency: \" + CurJob.locomotionUrgency);\n\t\t}\n\t\treturn stringBuilder.ToString().TrimEndNewlines();\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\tif (IsColonistPlayerControlled || IsColonyMech || IsColonySubhumanPlayerControlled)\n\t\t{\n\t\t\tAcceptanceReport allowsDrafting = this.GetLord()?.AllowsDrafting(this) ?? ((AcceptanceReport)true);\n\t\t\tif (drafter != null)\n\t\t\t{\n\t\t\t\tforeach (Gizmo gizmo2 in drafter.GetGizmos())\n\t\t\t\t{\n\t\t\t\t\tif (!allowsDrafting && !gizmo2.Disabled)\n\t\t\t\t\t{\n\t\t\t\t\t\tgizmo2.Disabled = true;\n\t\t\t\t\t\tgizmo2.disabledReason = allowsDrafting.Reason;\n\t\t\t\t\t}\n\t\t\t\t\tyield return gizmo2;\n\t\t\t\t}\n\t\t\t}\n\t\t\tforeach (Gizmo attackGizmo in PawnAttackGizmoUtility.GetAttackGizmos(this))\n\t\t\t{\n\t\t\t\tif (!allowsDrafting && !attackGizmo.Disabled)\n\t\t\t\t{\n\t\t\t\t\tattackGizmo.Disabled = true;\n\t\t\t\t\tattackGizmo.disabledReason = allowsDrafting.Reason;\n\t\t\t\t}\n\t\t\t\tyield return attackGizmo;\n\t\t\t}\n\t\t}\n\t\tif (equipment != null)\n\t\t{\n\t\t\tforeach (Gizmo gizmo3 in equipment.GetGizmos())\n\t\t\t{\n\t\t\t\tyield return gizmo3;\n\t\t\t}\n\t\t}\n\t\tif (carryTracker != null)\n\t\t{\n\t\t\tforeach (Gizmo gizmo4 in carryTracker.GetGizmos())\n\t\t\t{\n\t\t\t\tyield return gizmo4;\n\t\t\t}\n\t\t}\n\t\tif (needs != null)\n\t\t{\n\t\t\tforeach (Gizmo gizmo5 in needs.GetGizmos())\n\t\t\t{\n\t\t\t\tyield return gizmo5;\n\t\t\t}\n\t\t}\n\t\tif (Find.Selector.SingleSelectedThing == this && psychicEntropy != null && psychicEntropy.NeedToShowGizmo())\n\t\t{\n\t\t\tyield return psychicEntropy.GetGizmo();\n\t\t\tif (DebugSettings.ShowDevGizmos)\n\t\t\t{\n\t\t\t\tyield return new Command_Action\n\t\t\t\t{\n\t\t\t\t\tdefaultLabel = \"DEV: Psyfocus -20%\",\n\t\t\t\t\taction = delegate\n\t\t\t\t\t{\n\t\t\t\t\t\tpsychicEntropy.OffsetPsyfocusDirectly(-0.2f);\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t\tyield return new Command_Action\n\t\t\t\t{\n\t\t\t\t\tdefaultLabel = \"DEV: Psyfocus +20%\",\n\t\t\t\t\taction = delegate\n\t\t\t\t\t{\n\t\t\t\t\t\tpsychicEntropy.OffsetPsyfocusDirectly(0.2f);\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t\tyield return new Command_Action\n\t\t\t\t{\n\t\t\t\t\tdefaultLabel = \"DEV: Neural heat -20\",\n\t\t\t\t\taction = delegate\n\t\t\t\t\t{\n\t\t\t\t\t\tpsychicEntropy.TryAddEntropy(-20f);\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t\tyield return new Command_Action\n\t\t\t\t{\n\t\t\t\t\tdefaultLabel = \"DEV: Neural heat +20\",\n\t\t\t\t\taction = delegate\n\t\t\t\t\t{\n\t\t\t\t\t\tpsychicEntropy.TryAddEntropy(20f);\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\t\tif (ModsConfig.BiotechActive)\n\t\t{\n\t\t\tif (MechanitorUtility.IsMechanitor(this))\n\t\t\t{\n\t\t\t\tforeach (Gizmo gizmo6 in mechanitor.GetGizmos())\n\t\t\t\t{\n\t\t\t\t\tyield return gizmo6;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (RaceProps.IsMechanoid)\n\t\t\t{\n\t\t\t\tforeach (Gizmo mechGizmo in MechanitorUtility.GetMechGizmos(this))\n\t\t\t\t{\n\t\t\t\t\tyield return mechGizmo;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (RaceProps.Humanlike && ageTracker.AgeBiologicalYears < 13 && !Drafted && Find.Selector.SelectedPawns.Count < 2 && DevelopmentalStage.Child())\n\t\t\t{\n\t\t\t\tyield return new Gizmo_GrowthTier(this);\n\t\t\t\tif (DebugSettings.ShowDevGizmos)\n\t\t\t\t{\n\t\t\t\t\tyield return new Command_Action\n\t\t\t\t\t{\n\t\t\t\t\t\tdefaultLabel = \"DEV: Set growth tier\",\n\t\t\t\t\t\taction = delegate\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tList list = new List();\n\t\t\t\t\t\t\tfor (int i = 0; i < GrowthUtility.GrowthTiers.Length; i++)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tint tier = i;\n\t\t\t\t\t\t\t\tlist.Add(new FloatMenuOption(tier.ToString(), delegate\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tageTracker.growthPoints = GrowthUtility.GrowthTiers[tier].pointsRequirement;\n\t\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tFind.WindowStack.Add(new FloatMenu(list));\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}\n\t\tif (IsMutant)\n\t\t{\n\t\t\tforeach (Gizmo gizmo7 in mutant.GetGizmos())\n\t\t\t{\n\t\t\t\tyield return gizmo7;\n\t\t\t}\n\t\t}\n\t\tif (ModsConfig.AnomalyActive && IsCreepJoiner)\n\t\t{\n\t\t\tforeach (Gizmo gizmo8 in creepjoiner.GetGizmos())\n\t\t\t{\n\t\t\t\tyield return gizmo8;\n\t\t\t}\n\t\t}\n\t\tif (abilities != null)\n\t\t{\n\t\t\tforeach (Gizmo gizmo9 in abilities.GetGizmos())\n\t\t\t{\n\t\t\t\tyield return gizmo9;\n\t\t\t}\n\t\t}\n\t\tif (IsColonistPlayerControlled || IsColonyMech || IsPrisonerOfColony)\n\t\t{\n\t\t\tif (playerSettings != null)\n\t\t\t{\n\t\t\t\tforeach (Gizmo gizmo10 in playerSettings.GetGizmos())\n\t\t\t\t{\n\t\t\t\t\tyield return gizmo10;\n\t\t\t\t}\n\t\t\t}\n\t\t\tforeach (Gizmo gizmo11 in health.GetGizmos())\n\t\t\t{\n\t\t\t\tyield return gizmo11;\n\t\t\t}\n\t\t}\n\t\tif (Dead && HasShowGizmosOnCorpseHediff)\n\t\t{\n\t\t\tforeach (Gizmo gizmo12 in health.GetGizmos())\n\t\t\t{\n\t\t\t\tyield return gizmo12;\n\t\t\t}\n\t\t}\n\t\tif (apparel != null)\n\t\t{\n\t\t\tforeach (Gizmo gizmo13 in apparel.GetGizmos())\n\t\t\t{\n\t\t\t\tyield return gizmo13;\n\t\t\t}\n\t\t}\n\t\tif (inventory != null)\n\t\t{\n\t\t\tforeach (Gizmo gizmo14 in inventory.GetGizmos())\n\t\t\t{\n\t\t\t\tyield return gizmo14;\n\t\t\t}\n\t\t}\n\t\tif (mindState != null)\n\t\t{\n\t\t\tforeach (Gizmo gizmo15 in mindState.GetGizmos())\n\t\t\t{\n\t\t\t\tyield return gizmo15;\n\t\t\t}\n\t\t}\n\t\tif (royalty != null && IsColonistPlayerControlled)\n\t\t{\n\t\t\tbool anyPermitOnCooldown = false;\n\t\t\tforeach (FactionPermit allFactionPermit in royalty.AllFactionPermits)\n\t\t\t{\n\t\t\t\tif (allFactionPermit.OnCooldown)\n\t\t\t\t{\n\t\t\t\t\tanyPermitOnCooldown = true;\n\t\t\t\t}\n\t\t\t\tIEnumerable pawnGizmos = allFactionPermit.Permit.Worker.GetPawnGizmos(this, allFactionPermit.Faction);\n\t\t\t\tif (pawnGizmos == null)\n\t\t\t\t{\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tforeach (Gizmo item in pawnGizmos)\n\t\t\t\t{\n\t\t\t\t\tyield return item;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (royalty.HasAidPermit)\n\t\t\t{\n\t\t\t\tyield return royalty.RoyalAidGizmo();\n\t\t\t}\n\t\t\tif (DebugSettings.ShowDevGizmos && anyPermitOnCooldown)\n\t\t\t{\n\t\t\t\tCommand_Action command_Action = new Command_Action();\n\t\t\t\tcommand_Action.defaultLabel = \"Reset permit cooldowns\";\n\t\t\t\tcommand_Action.action = delegate\n\t\t\t\t{\n\t\t\t\t\tforeach (FactionPermit allFactionPermit2 in royalty.AllFactionPermits)\n\t\t\t\t\t{\n\t\t\t\t\t\tallFactionPermit2.ResetCooldown();\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t\tyield return command_Action;\n\t\t\t}\n\t\t\tforeach (RoyalTitle item2 in royalty.AllTitlesForReading)\n\t\t\t{\n\t\t\t\tif (item2.def.permits == null)\n\t\t\t\t{\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tFaction faction = item2.faction;\n\t\t\t\tforeach (RoyalTitlePermitDef permit in item2.def.permits)\n\t\t\t\t{\n\t\t\t\t\tIEnumerable pawnGizmos2 = permit.Worker.GetPawnGizmos(this, faction);\n\t\t\t\t\tif (pawnGizmos2 == null)\n\t\t\t\t\t{\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t\tforeach (Gizmo item3 in pawnGizmos2)\n\t\t\t\t\t{\n\t\t\t\t\t\tyield return item3;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tforeach (Gizmo questRelatedGizmo in QuestUtility.GetQuestRelatedGizmos(this))\n\t\t{\n\t\t\tyield return questRelatedGizmo;\n\t\t}\n\t\tif (royalty != null && ModsConfig.RoyaltyActive)\n\t\t{\n\t\t\tforeach (Gizmo gizmo16 in royalty.GetGizmos())\n\t\t\t{\n\t\t\t\tyield return gizmo16;\n\t\t\t}\n\t\t}\n\t\tif (connections != null && ModsConfig.IdeologyActive)\n\t\t{\n\t\t\tforeach (Gizmo gizmo17 in connections.GetGizmos())\n\t\t\t{\n\t\t\t\tyield return gizmo17;\n\t\t\t}\n\t\t}\n\t\tif (genes != null)\n\t\t{\n\t\t\tforeach (Gizmo gizmo18 in genes.GetGizmos())\n\t\t\t{\n\t\t\t\tyield return gizmo18;\n\t\t\t}\n\t\t}\n\t\tif (training != null)\n\t\t{\n\t\t\tforeach (Gizmo gizmo19 in training.GetGizmos())\n\t\t\t{\n\t\t\t\tyield return gizmo19;\n\t\t\t}\n\t\t}\n\t\tLord lord = this.GetLord();\n\t\tif (lord?.LordJob != null)\n\t\t{\n\t\t\tforeach (Gizmo pawnGizmo in lord.LordJob.GetPawnGizmos(this))\n\t\t\t{\n\t\t\t\tyield return pawnGizmo;\n\t\t\t}\n\t\t\tif (lord.CurLordToil != null)\n\t\t\t{\n\t\t\t\tforeach (Gizmo pawnGizmo2 in lord.CurLordToil.GetPawnGizmos(this))\n\t\t\t\t{\n\t\t\t\t\tyield return pawnGizmo2;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (DebugSettings.ShowDevGizmos && ModsConfig.BiotechActive && (relations?.IsTryRomanceOnCooldown ?? false))\n\t\t{\n\t\t\tCommand_Action command_Action2 = new Command_Action();\n\t\t\tcommand_Action2.defaultLabel = \"DEV: Reset try romance cooldown\";\n\t\t\tcommand_Action2.action = delegate\n\t\t\t{\n\t\t\t\trelations.romanceEnableTick = -1;\n\t\t\t};\n\t\t\tyield return command_Action2;\n\t\t}\n\t}\n\n\tpublic virtual IEnumerable GetExtraFloatMenuOptionsFor(IntVec3 sq)\n\t{\n\t\treturn Enumerable.Empty();\n\t}\n\n\tpublic override IEnumerable GetFloatMenuOptions(Pawn selPawn)\n\t{\n\t\tforeach (FloatMenuOption floatMenuOption in base.GetFloatMenuOptions(selPawn))\n\t\t{\n\t\t\tyield return floatMenuOption;\n\t\t}\n\t\tif (!ModsConfig.AnomalyActive || creepjoiner == null)\n\t\t{\n\t\t\tyield break;\n\t\t}\n\t\tforeach (FloatMenuOption floatMenuOption2 in creepjoiner.GetFloatMenuOptions(selPawn))\n\t\t{\n\t\t\tyield return floatMenuOption2;\n\t\t}\n\t}\n\n\tpublic override TipSignal GetTooltip()\n\t{\n\t\tstring text = \"\";\n\t\tstring text2 = \"\";\n\t\tif (gender != 0)\n\t\t{\n\t\t\ttext = (LabelCap.EqualsIgnoreCase(KindLabel) ? this.GetGenderLabel() : ((string)\"PawnTooltipGenderAndKindLabel\".Translate(this.GetGenderLabel(), KindLabel)));\n\t\t}\n\t\telse if (!LabelCap.EqualsIgnoreCase(KindLabel))\n\t\t{\n\t\t\ttext = KindLabel;\n\t\t}\n\t\tstring generalConditionLabel = HealthUtility.GetGeneralConditionLabel(this);\n\t\tbool flag = !string.IsNullOrEmpty(text);\n\t\ttext2 = ((equipment?.Primary != null) ? ((!flag) ? ((string)\"PawnTooltipWithPrimaryEquipNoDesc\".Translate(LabelCap, text, generalConditionLabel)) : ((string)\"PawnTooltipWithDescAndPrimaryEquip\".Translate(LabelCap, text, equipment.Primary.LabelCap, generalConditionLabel))) : ((!flag) ? ((string)\"PawnTooltipNoDescNoPrimaryEquip\".Translate(LabelCap, generalConditionLabel)) : ((string)\"PawnTooltipWithDescNoPrimaryEquip\".Translate(LabelCap, text, generalConditionLabel))));\n\t\treturn new TipSignal(text2, thingIDNumber * 152317, TooltipPriority.Pawn);\n\t}\n\n\tpublic override IEnumerable SpecialDisplayStats()\n\t{\n\t\tforeach (StatDrawEntry item in base.SpecialDisplayStats())\n\t\t{\n\t\t\tyield return item;\n\t\t}\n\t\tif (ModsConfig.BiotechActive && genes != null && genes.Xenotype != XenotypeDefOf.Baseliner)\n\t\t{\n\t\t\tstring reportText = (genes.UniqueXenotype ? \"UniqueXenotypeDesc\".Translate().ToString() : DescriptionFlavor);\n\t\t\tyield return new StatDrawEntry(StatCategoryDefOf.BasicsPawn, \"Race\".Translate(), def.LabelCap + \" (\" + genes.XenotypeLabel + \")\", reportText, 4205, null, genes.UniqueXenotype ? null : Gen.YieldSingle(new Dialog_InfoCard.Hyperlink(genes.Xenotype)));\n\t\t}\n\t\tif (ModsConfig.BiotechActive && RaceProps.Humanlike && !Mathf.Approximately(ageTracker.BiologicalTicksPerTick, 1f))\n\t\t{\n\t\t\tyield return new StatDrawEntry(StatCategoryDefOf.PawnHealth, \"StatsReport_AgeRateMultiplier\".Translate(), ageTracker.BiologicalTicksPerTick.ToStringPercent(), \"StatsReport_AgeRateMultiplier_Desc\".Translate(), 4195);\n\t\t}\n\t\tyield return new StatDrawEntry(StatCategoryDefOf.BasicsPawn, \"BodySize\".Translate(), BodySize.ToString(\"F2\"), \"Stat_Race_BodySize_Desc\".Translate(), 4195);\n\t\tif (RaceProps.lifeStageAges.Count > 1 && RaceProps.Animal)\n\t\t{\n\t\t\tyield return new StatDrawEntry(StatCategoryDefOf.BasicsPawn, \"Growth\".Translate(), ageTracker.Growth.ToStringPercent(), \"Stat_Race_Growth_Desc\".Translate(), 4203);\n\t\t}\n\t\tif (ModsConfig.RoyaltyActive && RaceProps.intelligence == Intelligence.Humanlike)\n\t\t{\n\t\t\tyield return new StatDrawEntry(StatCategoryDefOf.PawnPsyfocus, \"MeditationFocuses\".Translate(), MeditationUtility.FocusTypesAvailableForPawnString(this).CapitalizeFirst(), (\"MeditationFocusesPawnDesc\".Translate() + \"\\n\\n\" + MeditationUtility.FocusTypeAvailableExplanation(this)).Resolve(), 4011, null, MeditationUtility.FocusObjectsForPawnHyperlinks(this));\n\t\t}\n\t\tif (apparel != null && !apparel.AllRequirements.EnumerableNullOrEmpty())\n\t\t{\n\t\t\tStringBuilder stringBuilder = new StringBuilder();\n\t\t\tforeach (ApparelRequirementWithSource allRequirement in apparel.AllRequirements)\n\t\t\t{\n\t\t\t\tstring text = null;\n\t\t\t\tif (!ApparelUtility.IsRequirementActive(allRequirement.requirement, allRequirement.Source, this, out var disabledByLabel))\n\t\t\t\t{\n\t\t\t\t\ttext = \" [\" + \"ApparelRequirementDisabledLabel\".Translate() + \": \" + disabledByLabel + \"]\";\n\t\t\t\t}\n\t\t\t\tstringBuilder.Append(\"- \");\n\t\t\t\tbool flag = true;\n\t\t\t\tforeach (ThingDef item2 in allRequirement.requirement.AllRequiredApparelForPawn(this, ignoreGender: false, includeWorn: true))\n\t\t\t\t{\n\t\t\t\t\tif (!flag)\n\t\t\t\t\t{\n\t\t\t\t\t\tstringBuilder.Append(\", \");\n\t\t\t\t\t}\n\t\t\t\t\tstringBuilder.Append(item2.LabelCap);\n\t\t\t\t\tflag = false;\n\t\t\t\t}\n\t\t\t\tif (allRequirement.Source == ApparelRequirementSource.Title)\n\t\t\t\t{\n\t\t\t\t\tstringBuilder.Append(\" \");\n\t\t\t\t\tif (ModsConfig.BiotechActive)\n\t\t\t\t\t{\n\t\t\t\t\t\tstringBuilder.Append(\"ApparelRequirementOrAnyPsycasterOrPrestigeApparelOrMechlord\".Translate());\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tstringBuilder.Append(\"ApparelRequirementOrAnyPsycasterOrPrestigeApparel\".Translate());\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tstringBuilder.Append(\" (\");\n\t\t\t\tstringBuilder.Append(\"Source\".Translate());\n\t\t\t\tstringBuilder.Append(\": \");\n\t\t\t\tstringBuilder.Append(allRequirement.SourceLabelCap);\n\t\t\t\tstringBuilder.Append(\")\");\n\t\t\t\tif (text != null)\n\t\t\t\t{\n\t\t\t\t\tstringBuilder.Append(text);\n\t\t\t\t}\n\t\t\t\tstringBuilder.AppendLine();\n\t\t\t}\n\t\t\tyield return new StatDrawEntry(StatCategoryDefOf.BasicsPawn, \"Stat_Pawn_RequiredApparel_Name\".Translate(), \"\", \"Stat_Pawn_RequiredApparel_Name\".Translate() + \":\\n\\n\" + stringBuilder.ToString(), 100);\n\t\t}\n\t\tif (ModsConfig.IdeologyActive && Ideo != null)\n\t\t{\n\t\t\tforeach (StatDrawEntry item3 in DarknessCombatUtility.GetStatEntriesForPawn(this))\n\t\t\t{\n\t\t\t\tyield return item3;\n\t\t\t}\n\t\t}\n\t\tif (genes != null)\n\t\t{\n\t\t\tforeach (StatDrawEntry item4 in genes.SpecialDisplayStats())\n\t\t\t{\n\t\t\t\tyield return item4;\n\t\t\t}\n\t\t}\n\t\tif (ModsConfig.BiotechActive && RaceProps.Humanlike)\n\t\t{\n\t\t\tTaggedString taggedString = \"DevelopmentStage_Adult\".Translate();\n\t\t\tTaggedString taggedString2 = \"StatsReport_DevelopmentStageDesc_Adult\".Translate();\n\t\t\tif (ageTracker.CurLifeStage.developmentalStage == DevelopmentalStage.Child)\n\t\t\t{\n\t\t\t\ttaggedString = \"DevelopmentStage_Child\".Translate();\n\t\t\t\ttaggedString2 = \"StatsReport_DevelopmentStageDesc_ChildPart1\".Translate() + \":\\n\\n\" + (from w in RaceProps.lifeStageWorkSettings\n\t\t\t\t\twhere w.minAge > 0 && w.workType.visible\n\t\t\t\t\tselect w into d\n\t\t\t\t\tselect (d.workType.labelShort + \" (\" + \"AgeIndicator\".Translate(d.minAge) + \")\").RawText).ToLineList(\" - \", capitalizeItems: true) + \"\\n\\n\" + \"StatsReport_DevelopmentStageDesc_ChildPart2\".Translate();\n\t\t\t}\n\t\t\telse if (ageTracker.CurLifeStage.developmentalStage == DevelopmentalStage.Baby)\n\t\t\t{\n\t\t\t\ttaggedString = \"DevelopmentStage_Baby\".Translate();\n\t\t\t\ttaggedString2 = \"StatsReport_DevelopmentStageDesc_Baby\".Translate();\n\t\t\t}\n\t\t\tyield return new StatDrawEntry(StatCategoryDefOf.BasicsPawn, \"StatsReport_DevelopmentStage\".Translate(), taggedString, taggedString2, 4200);\n\t\t}\n\t\tif (!IsMutant)\n\t\t{\n\t\t\tyield break;\n\t\t}\n\t\tforeach (StatDrawEntry item5 in mutant.SpecialDisplayStats())\n\t\t{\n\t\t\tyield return item5;\n\t\t}\n\t}\n\n\tpublic PathingContext GetPathContext(Pathing pathing)\n\t{\n\t\tif (Flying)\n\t\t{\n\t\t\treturn pathing.Flying;\n\t\t}\n\t\tif (ShouldAvoidFences && (CurJob == null || !CurJob.canBashFences))\n\t\t{\n\t\t\treturn pathing.FenceBlocked;\n\t\t}\n\t\treturn pathing.Normal;\n\t}\n\n\tpublic bool Sterile()\n\t{\n\t\tif (!ageTracker.CurLifeStage.reproductive)\n\t\t{\n\t\t\treturn true;\n\t\t}\n\t\tif (RaceProps.Humanlike)\n\t\t{\n\t\t\tif (!ModsConfig.BiotechActive)\n\t\t\t{\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tif (this.GetStatValue(StatDefOf.Fertility) <= 0f)\n\t\t\t{\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\tif (health.hediffSet.HasHediffPreventsPregnancy())\n\t\t{\n\t\t\treturn true;\n\t\t}\n\t\tif (this.SterileGenes())\n\t\t{\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic bool AnythingToStrip()\n\t{\n\t\tif (!kindDef.canStrip)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tif (equipment != null && equipment.HasAnything())\n\t\t{\n\t\t\treturn true;\n\t\t}\n\t\tif (inventory != null && inventory.innerContainer.Count > 0)\n\t\t{\n\t\t\treturn true;\n\t\t}\n\t\tif (apparel != null)\n\t\t{\n\t\t\tif (base.Destroyed)\n\t\t\t{\n\t\t\t\tif (apparel.AnyApparel)\n\t\t\t\t{\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (apparel.AnyApparelUnlocked)\n\t\t\t{\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic void Strip(bool notifyFaction = true)\n\t{\n\t\tCaravan caravan = this.GetCaravan();\n\t\tif (caravan != null)\n\t\t{\n\t\t\tCaravanInventoryUtility.MoveAllInventoryToSomeoneElse(this, caravan.PawnsListForReading);\n\t\t\tif (apparel != null)\n\t\t\t{\n\t\t\t\tCaravanInventoryUtility.MoveAllApparelToSomeonesInventory(this, caravan.PawnsListForReading, base.Destroyed);\n\t\t\t}\n\t\t\tif (equipment != null)\n\t\t\t{\n\t\t\t\tCaravanInventoryUtility.MoveAllEquipmentToSomeonesInventory(this, caravan.PawnsListForReading);\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tIntVec3 pos = Corpse?.PositionHeld ?? base.PositionHeld;\n\t\t\tequipment?.DropAllEquipment(pos, forbid: false);\n\t\t\tapparel?.DropAll(pos, forbid: false, base.Destroyed);\n\t\t\tinventory?.DropAllNearPawn(pos);\n\t\t}\n\t\tif (notifyFaction && base.Faction != null)\n\t\t{\n\t\t\tbase.Faction.Notify_MemberStripped(this, Faction.OfPlayer);\n\t\t}\n\t}\n\n\tpublic Thought_Memory GiveObservedThought(Pawn observer)\n\t{\n\t\tif (ModsConfig.AnomalyActive && base.Spawned && !Downed && mindState?.duty?.def == DutyDefOf.ChimeraAttack && this.TryGetComp(out var comp))\n\t\t{\n\t\t\treturn comp.GiveObservedThought(observer);\n\t\t}\n\t\treturn null;\n\t}\n\n\tpublic HistoryEventDef GiveObservedHistoryEvent(Pawn observer)\n\t{\n\t\treturn null;\n\t}\n\n\tpublic void HearClamor(Thing source, ClamorDef type)\n\t{\n\t\tif (Dead || Downed || Deathresting || this.IsSelfShutdown())\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\tif (type == ClamorDefOf.Movement || type == ClamorDefOf.BabyCry)\n\t\t{\n\t\t\tif (source is Pawn source2)\n\t\t\t{\n\t\t\t\tCheckForDisturbedSleep(source2);\n\t\t\t}\n\t\t\tNotifyLordOfClamor(source, type);\n\t\t}\n\t\telse if (type == ClamorDefOf.Harm)\n\t\t{\n\t\t\tif (base.Faction != Faction.OfPlayer && !this.Awake() && base.Faction == source.Faction && HostFaction == null)\n\t\t\t{\n\t\t\t\tmindState.canSleepTick = Find.TickManager.TicksGame + 1000;\n\t\t\t\tif (CurJob != null)\n\t\t\t\t{\n\t\t\t\t\tjobs.EndCurrentJob(JobCondition.InterruptForced);\n\t\t\t\t}\n\t\t\t\tNotifyLordOfClamor(source, type);\n\t\t\t}\n\t\t}\n\t\telse if (type == ClamorDefOf.Construction)\n\t\t{\n\t\t\tif (base.Faction != Faction.OfPlayer && !this.Awake() && base.Faction != source.Faction && HostFaction == null)\n\t\t\t{\n\t\t\t\tmindState.canSleepTick = Find.TickManager.TicksGame + 1000;\n\t\t\t\tif (CurJob != null)\n\t\t\t\t{\n\t\t\t\t\tjobs.EndCurrentJob(JobCondition.InterruptForced);\n\t\t\t\t}\n\t\t\t\tNotifyLordOfClamor(source, type);\n\t\t\t}\n\t\t}\n\t\telse if (type == ClamorDefOf.Ability)\n\t\t{\n\t\t\tif (base.Faction == Faction.OfPlayer || base.Faction == source.Faction || HostFaction != null)\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (!this.Awake())\n\t\t\t{\n\t\t\t\tmindState.canSleepTick = Find.TickManager.TicksGame + 1000;\n\t\t\t\tif (CurJob != null)\n\t\t\t\t{\n\t\t\t\t\tjobs.EndCurrentJob(JobCondition.InterruptForced);\n\t\t\t\t}\n\t\t\t}\n\t\t\tNotifyLordOfClamor(source, type);\n\t\t}\n\t\telse if (type == ClamorDefOf.Impact)\n\t\t{\n\t\t\tmindState.Notify_ClamorImpact(source);\n\t\t\tif (CurJob != null && !this.Awake())\n\t\t\t{\n\t\t\t\tjobs.EndCurrentJob(JobCondition.InterruptForced);\n\t\t\t}\n\t\t\tNotifyLordOfClamor(source, type);\n\t\t}\n\t}\n\n\tprivate void NotifyLordOfClamor(Thing source, ClamorDef type)\n\t{\n\t\tthis.GetLord()?.Notify_Clamor(source, type);\n\t}\n\n\tpublic override void Notify_UsedVerb(Pawn pawn, Verb verb)\n\t{\n\t\tbase.Notify_UsedVerb(pawn, verb);\n\t\tif (Rand.Chance((IsMutant && mutant.Def.soundAttackChance > 0f) ? mutant.Def.soundAttackChance : ageTracker.CurLifeStage.soundAttackChance))\n\t\t{\n\t\t\tLifeStageUtility.PlayNearestLifestageSound(pawn, (LifeStageAge lifeStage) => lifeStage.soundAttack, null, (MutantDef mutantDef) => mutantDef.soundAttack);\n\t\t}\n\t\tUpdatePyroVerbThought(verb);\n\t}\n\n\tpublic override void Notify_Explosion(Explosion explosion)\n\t{\n\t\tbase.Notify_Explosion(explosion);\n\t\tmindState.Notify_Explosion(explosion);\n\t}\n\n\tpublic override void Notify_BulletImpactNearby(BulletImpactData impactData)\n\t{\n\t\tapparel?.Notify_BulletImpactNearby(impactData);\n\t}\n\n\tpublic virtual void Notify_Downed()\n\t{\n\t\tList allComps = base.AllComps;\n\t\tfor (int i = 0; i < allComps.Count; i++)\n\t\t{\n\t\t\tallComps[i].Notify_Downed();\n\t\t}\n\t}\n\n\tpublic virtual void Notify_Released()\n\t{\n\t\tList allComps = base.AllComps;\n\t\tfor (int i = 0; i < allComps.Count; i++)\n\t\t{\n\t\t\tallComps[i].Notify_Released();\n\t\t}\n\t\tif (ModsConfig.AnomalyActive)\n\t\t{\n\t\t\tcreepjoiner?.Notify_Released();\n\t\t}\n\t}\n\n\tpublic virtual void Notify_PrisonBreakout()\n\t{\n\t\tList allComps = base.AllComps;\n\t\tfor (int i = 0; i < allComps.Count; i++)\n\t\t{\n\t\t\tallComps[i].Notify_PrisonBreakout();\n\t\t}\n\t\tif (ModsConfig.AnomalyActive)\n\t\t{\n\t\t\tcreepjoiner?.Notify_PrisonBreakout();\n\t\t}\n\t}\n\n\tpublic virtual void Notify_DuplicatedFrom(Pawn source)\n\t{\n\t\tList allComps = base.AllComps;\n\t\tfor (int i = 0; i < allComps.Count; i++)\n\t\t{\n\t\t\tallComps[i].Notify_DuplicatedFrom(source);\n\t\t}\n\t\tif (ModsConfig.AnomalyActive)\n\t\t{\n\t\t\tcreepjoiner?.Notify_DuplicatedFrom(source);\n\t\t}\n\t}\n\n\tprivate void CheckForDisturbedSleep(Pawn source)\n\t{\n\t\tif (needs.mood != null && !this.Awake() && base.Faction == Faction.OfPlayer && Find.TickManager.TicksGame >= lastSleepDisturbedTick + 300 && !Deathresting && (source == null || (!LovePartnerRelationUtility.LovePartnerRelationExists(this, source) && !(source.RaceProps.petness > 0f) && (source.relations == null || !source.relations.DirectRelations.Any((DirectPawnRelation dr) => dr.def == PawnRelationDefOf.Bond)))))\n\t\t{\n\t\t\tlastSleepDisturbedTick = Find.TickManager.TicksGame;\n\t\t\tneeds.mood.thoughts.memories.TryGainMemory(ThoughtDefOf.SleepDisturbed);\n\t\t}\n\t}\n\n\tpublic float GetAcceptArrestChance(Pawn arrester)\n\t{\n\t\tif (Downed || WorkTagIsDisabled(WorkTags.Violent) || (guilt != null && guilt.IsGuilty && IsColonist && !this.IsQuestLodger()))\n\t\t{\n\t\t\treturn 1f;\n\t\t}\n\t\tif (ModsConfig.AnomalyActive && health.hediffSet.HasHediff(HediffDefOf.RevenantHypnosis))\n\t\t{\n\t\t\treturn 1f;\n\t\t}\n\t\tif (ModsConfig.BiotechActive && genes != null && genes.AggroMentalBreakSelectionChanceFactor <= 0f)\n\t\t{\n\t\t\treturn 1f;\n\t\t}\n\t\treturn (StatDefOf.ArrestSuccessChance.Worker.IsDisabledFor(arrester) ? StatDefOf.ArrestSuccessChance.valueIfMissing : arrester.GetStatValue(StatDefOf.ArrestSuccessChance)) * kindDef.acceptArrestChanceFactor;\n\t}\n\n\tpublic bool CheckAcceptArrest(Pawn arrester)\n\t{\n\t\tfloat acceptArrestChance = GetAcceptArrestChance(arrester);\n\t\tFaction homeFaction = HomeFaction;\n\t\tif (homeFaction != null && homeFaction != arrester.factionInt)\n\t\t{\n\t\t\thomeFaction.Notify_MemberCaptured(this, arrester.Faction);\n\t\t}\n\t\tList allComps = base.AllComps;\n\t\tif (Downed || WorkTagIsDisabled(WorkTags.Violent) || Rand.Value < acceptArrestChance)\n\t\t{\n\t\t\tfor (int i = 0; i < allComps.Count; i++)\n\t\t\t{\n\t\t\t\tallComps[i].Notify_Arrested(succeeded: true);\n\t\t\t\tif (ModsConfig.AnomalyActive)\n\t\t\t\t{\n\t\t\t\t\tcreepjoiner?.Notify_Arrested(succeeded: true);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t\tMessages.Message(\"MessageRefusedArrest\".Translate(LabelShort, this), this, MessageTypeDefOf.ThreatSmall);\n\t\tfor (int j = 0; j < allComps.Count; j++)\n\t\t{\n\t\t\tallComps[j].Notify_Arrested(succeeded: false);\n\t\t}\n\t\tif (ModsConfig.AnomalyActive)\n\t\t{\n\t\t\tcreepjoiner?.Notify_Arrested(succeeded: false);\n\t\t}\n\t\tif (base.Faction == null || !arrester.HostileTo(this))\n\t\t{\n\t\t\tmindState.mentalStateHandler.TryStartMentalState(MentalStateDefOf.Berserk);\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic bool ThreatDisabled(IAttackTargetSearcher disabledFor)\n\t{\n\t\tif (!base.Spawned)\n\t\t{\n\t\t\treturn true;\n\t\t}\n\t\tif (!InMentalState && this.GetTraderCaravanRole() == TraderCaravanRole.Carrier && !(jobs.curDriver is JobDriver_AttackMelee))\n\t\t{\n\t\t\treturn true;\n\t\t}\n\t\tif (mindState.duty != null && mindState.duty.def.threatDisabled)\n\t\t{\n\t\t\treturn true;\n\t\t}\n\t\tif (!mindState.Active)\n\t\t{\n\t\t\treturn true;\n\t\t}\n\t\tif (this.IsColonyMechRequiringMechanitor())\n\t\t{\n\t\t\treturn true;\n\t\t}\n\t\tPawn pawn = disabledFor?.Thing as Pawn;\n\t\tif (Downed && (!CanAttackWhileCrawling || !Crawling))\n\t\t{\n\t\t\tif (disabledFor == null)\n\t\t\t{\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tif (pawn?.mindState?.duty == null || !pawn.mindState.duty.attackDownedIfStarving || !pawn.Starving())\n\t\t\t{\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\tif (ModsConfig.AnomalyActive && this.TryGetComp(out var comp) && comp.IsDormant)\n\t\t{\n\t\t\treturn true;\n\t\t}\n\t\tif (this.IsPsychologicallyInvisible())\n\t\t{\n\t\t\treturn true;\n\t\t}\n\t\tif (ThreatDisabledBecauseNonAggressiveRoamer(pawn) || (pawn != null && pawn.ThreatDisabledBecauseNonAggressiveRoamer(this)))\n\t\t{\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic bool ThreatDisabledBecauseNonAggressiveRoamer(Pawn otherPawn)\n\t{\n\t\tif (!RaceProps.Roamer || base.Faction != Faction.OfPlayer)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tLord lord = otherPawn?.GetLord();\n\t\tif (lord != null && lord.CurLordToil.AllowAggressiveTargetingOfRoamers)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tif (InAggroMentalState || this.IsFighting() || Find.TickManager.TicksGame < mindState.lastEngageTargetTick + 360)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t}\n\n\tprivate void UpdatePyroVerbThought(Verb verb)\n\t{\n\t\tif (story == null || !story.traits.HasTrait(TraitDefOf.Pyromaniac) || (!verb.IsIncendiary_Melee() && !verb.IsIncendiary_Ranged()))\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\tif (verb.CurrentTarget.Pawn != null && verb.CurrentTarget.Pawn.Spawned && IsValidPyroThoughtTarget(verb.CurrentTarget.Pawn))\n\t\t{\n\t\t\tneeds?.mood?.thoughts?.memories?.TryGainMemory(ThoughtDefOf.PyroUsed);\n\t\t\treturn;\n\t\t}\n\t\tforeach (IntVec3 item in GenRadial.RadialCellsAround(verb.CurrentTarget.Cell, verb.EffectiveRange, useCenter: true))\n\t\t{\n\t\t\tif (!item.InBounds(base.MapHeld))\n\t\t\t{\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tforeach (Thing thing in item.GetThingList(base.MapHeld))\n\t\t\t{\n\t\t\t\tif (IsValidPyroThoughtTarget(thing))\n\t\t\t\t{\n\t\t\t\t\tneeds?.mood?.thoughts?.memories?.TryGainMemory(ThoughtDefOf.PyroUsed);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate bool IsValidPyroThoughtTarget(Thing thing)\n\t{\n\t\tif (thing is Pawn { Downed: false } pawn && !pawn.IsPsychologicallyInvisible() && !pawn.Fogged())\n\t\t{\n\t\t\treturn pawn.HostileTo(Faction.OfPlayer);\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic List GetDisabledWorkTypes(bool permanentOnly = false)\n\t{\n\t\tif (Scribe.mode != 0)\n\t\t{\n\t\t\tcachedDisabledWorkTypesPermanent = null;\n\t\t\tcachedDisabledWorkTypes = null;\n\t\t}\n\t\tif (permanentOnly)\n\t\t{\n\t\t\tif (cachedDisabledWorkTypesPermanent == null)\n\t\t\t{\n\t\t\t\tcachedDisabledWorkTypesPermanent = new List();\n\t\t\t\tFillList(cachedDisabledWorkTypesPermanent);\n\t\t\t}\n\t\t\treturn cachedDisabledWorkTypesPermanent;\n\t\t}\n\t\tif (cachedDisabledWorkTypes == null)\n\t\t{\n\t\t\tcachedDisabledWorkTypes = new List();\n\t\t\tFillList(cachedDisabledWorkTypes);\n\t\t}\n\t\treturn cachedDisabledWorkTypes;\n\t\tvoid FillList(List list)\n\t\t{\n\t\t\tif (IsMutant && mutant.HasTurned)\n\t\t\t{\n\t\t\t\tList allDefsListForReading = DefDatabase.AllDefsListForReading;\n\t\t\t\tfor (int i = 0; i < allDefsListForReading.Count; i++)\n\t\t\t\t{\n\t\t\t\t\tforeach (WorkTypeDef disabledWorkType in mutant.Def.DisabledWorkTypes)\n\t\t\t\t\t{\n\t\t\t\t\t\tif (!list.Contains(disabledWorkType))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlist.Add(disabledWorkType);\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\telse\n\t\t\t{\n\t\t\t\tif (story != null && !IsSlave)\n\t\t\t\t{\n\t\t\t\t\tforeach (BackstoryDef allBackstory in story.AllBackstories)\n\t\t\t\t\t{\n\t\t\t\t\t\tforeach (WorkTypeDef disabledWorkType2 in allBackstory.DisabledWorkTypes)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif (!list.Contains(disabledWorkType2))\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlist.Add(disabledWorkType2);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tfor (int j = 0; j < story.traits.allTraits.Count; j++)\n\t\t\t\t\t{\n\t\t\t\t\t\tif (!story.traits.allTraits[j].Suppressed)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tforeach (WorkTypeDef disabledWorkType3 in story.traits.allTraits[j].GetDisabledWorkTypes())\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tif (!list.Contains(disabledWorkType3))\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tlist.Add(disabledWorkType3);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (ModsConfig.BiotechActive && IsColonyMech)\n\t\t\t\t{\n\t\t\t\t\tList allDefsListForReading2 = DefDatabase.AllDefsListForReading;\n\t\t\t\t\tfor (int k = 0; k < allDefsListForReading2.Count; k++)\n\t\t\t\t\t{\n\t\t\t\t\t\tif (!RaceProps.mechEnabledWorkTypes.Contains(allDefsListForReading2[k]) && !list.Contains(allDefsListForReading2[k]))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlist.Add(allDefsListForReading2[k]);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (!permanentOnly)\n\t\t\t\t{\n\t\t\t\t\tif (health != null)\n\t\t\t\t\t{\n\t\t\t\t\t\tforeach (WorkTypeDef disabledWorkType4 in health.DisabledWorkTypes)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif (!list.Contains(disabledWorkType4))\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlist.Add(disabledWorkType4);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (royalty != null && !IsSlave)\n\t\t\t\t\t{\n\t\t\t\t\t\tforeach (RoyalTitle item in royalty.AllTitlesForReading)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif (item.conceited)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tforeach (WorkTypeDef disabledWorkType5 in item.def.DisabledWorkTypes)\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tif (!list.Contains(disabledWorkType5))\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tlist.Add(disabledWorkType5);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (ModsConfig.IdeologyActive && Ideo != null)\n\t\t\t\t\t{\n\t\t\t\t\t\tPrecept_Role role = Ideo.GetRole(this);\n\t\t\t\t\t\tif (role != null)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tforeach (WorkTypeDef disabledWorkType6 in role.DisabledWorkTypes)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tif (!list.Contains(disabledWorkType6))\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tlist.Add(disabledWorkType6);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (ModsConfig.BiotechActive && genes != null)\n\t\t\t\t\t{\n\t\t\t\t\t\tforeach (Gene item2 in genes.GenesListForReading)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tforeach (WorkTypeDef disabledWorkType7 in item2.DisabledWorkTypes)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tif (!list.Contains(disabledWorkType7))\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tlist.Add(disabledWorkType7);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tforeach (QuestPart_WorkDisabled item3 in QuestUtility.GetWorkDisabledQuestPart(this))\n\t\t\t\t\t{\n\t\t\t\t\t\tforeach (WorkTypeDef disabledWorkType8 in item3.DisabledWorkTypes)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif (!list.Contains(disabledWorkType8))\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlist.Add(disabledWorkType8);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (guest != null)\n\t\t\t\t\t{\n\t\t\t\t\t\tforeach (WorkTypeDef disabledWorkType9 in guest.GetDisabledWorkTypes())\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif (!list.Contains(disabledWorkType9))\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlist.Add(disabledWorkType9);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tfor (int l = 0; l < RaceProps.lifeStageWorkSettings.Count; l++)\n\t\t\t\t\t{\n\t\t\t\t\t\tLifeStageWorkSettings lifeStageWorkSettings = RaceProps.lifeStageWorkSettings[l];\n\t\t\t\t\t\tif (lifeStageWorkSettings.IsDisabled(this) && !list.Contains(lifeStageWorkSettings.workType))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlist.Add(lifeStageWorkSettings.workType);\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}\n\t}\n\n\tpublic List GetReasonsForDisabledWorkType(WorkTypeDef workType)\n\t{\n\t\tif (cachedReasonsForDisabledWorkTypes != null && cachedReasonsForDisabledWorkTypes.TryGetValue(workType, out var value))\n\t\t{\n\t\t\treturn value;\n\t\t}\n\t\tList list = new List();\n\t\tforeach (BackstoryDef allBackstory in story.AllBackstories)\n\t\t{\n\t\t\tforeach (WorkTypeDef disabledWorkType in allBackstory.DisabledWorkTypes)\n\t\t\t{\n\t\t\t\tif (workType == disabledWorkType)\n\t\t\t\t{\n\t\t\t\t\tlist.Add(\"WorkDisabledByBackstory\".Translate(allBackstory.TitleCapFor(gender)));\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tfor (int i = 0; i < story.traits.allTraits.Count; i++)\n\t\t{\n\t\t\tTrait trait = story.traits.allTraits[i];\n\t\t\tforeach (WorkTypeDef disabledWorkType2 in trait.GetDisabledWorkTypes())\n\t\t\t{\n\t\t\t\tif (disabledWorkType2 == workType && !trait.Suppressed)\n\t\t\t\t{\n\t\t\t\t\tlist.Add(\"WorkDisabledByTrait\".Translate(trait.LabelCap));\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (royalty != null)\n\t\t{\n\t\t\tforeach (RoyalTitle item in royalty.AllTitlesForReading)\n\t\t\t{\n\t\t\t\tif (!item.conceited)\n\t\t\t\t{\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tforeach (WorkTypeDef disabledWorkType3 in item.def.DisabledWorkTypes)\n\t\t\t\t{\n\t\t\t\t\tif (workType == disabledWorkType3)\n\t\t\t\t\t{\n\t\t\t\t\t\tlist.Add(\"WorkDisabledByRoyalTitle\".Translate(item.Label));\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (ModsConfig.IdeologyActive && Ideo != null)\n\t\t{\n\t\t\tPrecept_Role role = Ideo.GetRole(this);\n\t\t\tif (role != null)\n\t\t\t{\n\t\t\t\tforeach (WorkTypeDef disabledWorkType4 in role.DisabledWorkTypes)\n\t\t\t\t{\n\t\t\t\t\tif (workType == disabledWorkType4)\n\t\t\t\t\t{\n\t\t\t\t\t\tlist.Add(\"WorkDisabledRole\".Translate(role.LabelForPawn(this)));\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (IsMutant)\n\t\t{\n\t\t\tforeach (WorkTypeDef disabledWorkType5 in mutant.Def.DisabledWorkTypes)\n\t\t\t{\n\t\t\t\tif (workType == disabledWorkType5)\n\t\t\t\t{\n\t\t\t\t\tlist.Add(mutant.Def.LabelCap);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tforeach (QuestPart_WorkDisabled item2 in QuestUtility.GetWorkDisabledQuestPart(this))\n\t\t{\n\t\t\tforeach (WorkTypeDef disabledWorkType6 in item2.DisabledWorkTypes)\n\t\t\t{\n\t\t\t\tif (workType == disabledWorkType6)\n\t\t\t\t{\n\t\t\t\t\tlist.Add(\"WorkDisabledByQuest\".Translate(item2.quest.name));\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (guest != null && guest.IsSlave)\n\t\t{\n\t\t\tforeach (WorkTypeDef disabledWorkType7 in guest.GetDisabledWorkTypes())\n\t\t\t{\n\t\t\t\tif (workType == disabledWorkType7)\n\t\t\t\t{\n\t\t\t\t\tlist.Add(\"WorkDisabledSlave\".Translate());\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (health != null)\n\t\t{\n\t\t\tforeach (WorkTypeDef disabledWorkType8 in health.DisabledWorkTypes)\n\t\t\t{\n\t\t\t\tif (workType == disabledWorkType8)\n\t\t\t\t{\n\t\t\t\t\tlist.Add(\"WorkDisabledHealth\".Translate());\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (this.IsWorkTypeDisabledByAge(workType, out var minAgeRequired))\n\t\t{\n\t\t\tlist.Add(\"WorkDisabledAge\".Translate(this, ageTracker.AgeBiologicalYears, workType.labelShort, minAgeRequired));\n\t\t}\n\t\tif (cachedReasonsForDisabledWorkTypes == null)\n\t\t{\n\t\t\tcachedReasonsForDisabledWorkTypes = new Dictionary>();\n\t\t}\n\t\tcachedReasonsForDisabledWorkTypes[workType] = list;\n\t\treturn list;\n\t}\n\n\tpublic bool WorkTypeIsDisabled(WorkTypeDef w)\n\t{\n\t\treturn GetDisabledWorkTypes().Contains(w);\n\t}\n\n\tpublic bool OneOfWorkTypesIsDisabled(List wts)\n\t{\n\t\tfor (int i = 0; i < wts.Count; i++)\n\t\t{\n\t\t\tif (WorkTypeIsDisabled(wts[i]))\n\t\t\t{\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic void Notify_DisabledWorkTypesChanged()\n\t{\n\t\tcachedDisabledWorkTypes = null;\n\t\tcachedDisabledWorkTypesPermanent = null;\n\t\tcachedReasonsForDisabledWorkTypes = null;\n\t\tworkSettings?.Notify_DisabledWorkTypesChanged();\n\t\tskills?.Notify_SkillDisablesChanged();\n\t}\n\n\tpublic bool WorkTagIsDisabled(WorkTags w)\n\t{\n\t\treturn (CombinedDisabledWorkTags & w) != 0;\n\t}\n\n\tpublic override bool PreventPlayerSellingThingsNearby(out string reason)\n\t{\n\t\tif (base.Faction.HostileTo(Faction.OfPlayer) && HostFaction == null && !Downed && !InMentalState)\n\t\t{\n\t\t\treason = \"Enemies\".Translate();\n\t\t\treturn true;\n\t\t}\n\t\treason = null;\n\t\treturn false;\n\t}\n\n\tpublic void ChangeKind(PawnKindDef newKindDef)\n\t{\n\t\tif (kindDef != newKindDef)\n\t\t{\n\t\t\tkindDef = newKindDef;\n\t\t\tif (this.IsWildMan())\n\t\t\t{\n\t\t\t\tmindState.WildManEverReachedOutside = false;\n\t\t\t\tReachabilityUtility.ClearCacheFor(this);\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic override void ExposeData()\n\t{\n\t\tbase.ExposeData();\n\t\tScribe_Defs.Look(ref kindDef, \"kindDef\");\n\t\tScribe_Values.Look(ref gender, \"gender\", Gender.Male);\n\t\tScribe_Values.Look(ref becameWorldPawnTickAbs, \"becameWorldPawnTickAbs\", -1);\n\t\tScribe_Values.Look(ref teleporting, \"teleporting\", defaultValue: false);\n\t\tScribe_Values.Look(ref showNamePromptOnTick, \"showNamePromptOnTick\", -1);\n\t\tScribe_Values.Look(ref babyNamingDeadline, \"babyNamingDeadline\", -1);\n\t\tScribe_Values.Look(ref addCorpseToLord, \"addCorpseToLord\", defaultValue: false);\n\t\tScribe_Values.Look(ref timesRaisedAsShambler, \"timesRaisedAsShambler\", 0);\n\t\tScribe_Values.Look(ref lastSleepDisturbedTick, \"lastSleepDisturbedTick\", 0);\n\t\tScribe_Values.Look(ref dontGivePreArrivalPathway, \"dontGivePreArrivalPathway\", defaultValue: false);\n\t\tScribe_Values.Look(ref lastVacuumBurntTick, \"lastVacuumBurntTick\", 0);\n\t\tScribe_Deep.Look(ref nameInt, \"name\");\n\t\tif (Scribe.mode == LoadSaveMode.Saving && GenTicks.TicksGame - deadlifeDustFactionTick > 12500)\n\t\t{\n\t\t\tdeadlifeDustFactionTick = 0;\n\t\t\tdeadlifeDustFaction = null;\n\t\t}\n\t\tScribe_Values.Look(ref deadlifeDustFactionTick, \"deadlifeDustFactionTick\", 0);\n\t\tScribe_References.Look(ref deadlifeDustFaction, \"deadlifeDustFaction\");\n\t\tScribe_Deep.Look(ref mindState, \"mindState\", this);\n\t\tScribe_Deep.Look(ref jobs, \"jobs\", this);\n\t\tScribe_Deep.Look(ref stances, \"stances\", this);\n\t\tScribe_Deep.Look(ref infectionVectors, \"infectionVectors\", this);\n\t\tScribe_Deep.Look(ref verbTracker, \"verbTracker\", this);\n\t\tScribe_Deep.Look(ref natives, \"natives\", this);\n\t\tScribe_Deep.Look(ref meleeVerbs, \"meleeVerbs\", this);\n\t\tScribe_Deep.Look(ref rotationTracker, \"rotationTracker\", this);\n\t\tScribe_Deep.Look(ref pather, \"pather\", this);\n\t\tScribe_Deep.Look(ref carryTracker, \"carryTracker\", this);\n\t\tScribe_Deep.Look(ref apparel, \"apparel\", this);\n\t\tScribe_Deep.Look(ref story, \"story\", this);\n\t\tScribe_Deep.Look(ref equipment, \"equipment\", this);\n\t\tScribe_Deep.Look(ref drafter, \"drafter\", this);\n\t\tScribe_Deep.Look(ref ageTracker, \"ageTracker\", this);\n\t\tScribe_Deep.Look(ref health, \"healthTracker\", this);\n\t\tScribe_Deep.Look(ref records, \"records\", this);\n\t\tScribe_Deep.Look(ref inventory, \"inventory\", this);\n\t\tScribe_Deep.Look(ref filth, \"filth\", this);\n\t\tScribe_Deep.Look(ref roping, \"roping\", this);\n\t\tScribe_Deep.Look(ref needs, \"needs\", this);\n\t\tScribe_Deep.Look(ref guest, \"guest\", this);\n\t\tScribe_Deep.Look(ref guilt, \"guilt\", this);\n\t\tScribe_Deep.Look(ref royalty, \"royalty\", this);\n\t\tScribe_Deep.Look(ref relations, \"social\", this);\n\t\tScribe_Deep.Look(ref psychicEntropy, \"psychicEntropy\", this);\n\t\tScribe_Deep.Look(ref mutant, \"shambler\", this);\n\t\tScribe_Deep.Look(ref ownership, \"ownership\", this);\n\t\tScribe_Deep.Look(ref interactions, \"interactions\", this);\n\t\tScribe_Deep.Look(ref skills, \"skills\", this);\n\t\tScribe_Deep.Look(ref abilities, \"abilities\", this);\n\t\tScribe_Deep.Look(ref ideo, \"ideo\", this);\n\t\tScribe_Deep.Look(ref workSettings, \"workSettings\", this);\n\t\tScribe_Deep.Look(ref trader, \"trader\", this);\n\t\tScribe_Deep.Look(ref outfits, \"outfits\", this);\n\t\tScribe_Deep.Look(ref drugs, \"drugs\", this);\n\t\tScribe_Deep.Look(ref foodRestriction, \"foodRestriction\", this);\n\t\tScribe_Deep.Look(ref timetable, \"timetable\", this);\n\t\tScribe_Deep.Look(ref playerSettings, \"playerSettings\", this);\n\t\tScribe_Deep.Look(ref training, \"training\", this);\n\t\tScribe_Deep.Look(ref style, \"style\", this);\n\t\tScribe_Deep.Look(ref styleObserver, \"styleObserver\", this);\n\t\tScribe_Deep.Look(ref connections, \"connections\", this);\n\t\tScribe_Deep.Look(ref inventoryStock, \"inventoryStock\", this);\n\t\tScribe_Deep.Look(ref surroundings, \"treeSightings\", this);\n\t\tScribe_Deep.Look(ref thinker, \"thinker\", this);\n\t\tScribe_Deep.Look(ref mechanitor, \"mechanitor\", this);\n\t\tScribe_Deep.Look(ref genes, \"genes\", this);\n\t\tScribe_Deep.Look(ref learning, \"learning\", this);\n\t\tScribe_Deep.Look(ref reading, \"reading\", this);\n\t\tScribe_Deep.Look(ref creepjoiner, \"creepjoiner\", this);\n\t\tScribe_Deep.Look(ref duplicate, \"duplicate\", this);\n\t\tScribe_Deep.Look(ref flight, \"flight\", this);\n\t\tScribe_Values.Look(ref wasLeftBehindStartingPawn, \"wasLeftBehindStartingPawn\", defaultValue: false);\n\t\tScribe_Values.Look(ref everLostEgo, \"everBrainWiped\", defaultValue: false);\n\t\tScribe_Values.Look(ref wasDraftedBeforeSkip, \"wasDraftedBeforeSkip\", defaultValue: false);\n\t\tBackCompatibility.PostExposeData(this);\n\t}\n\n\tpublic override string ToString()\n\t{\n\t\tif (story != null)\n\t\t{\n\t\t\treturn LabelShort;\n\t\t}\n\t\tif (thingIDNumber > 0)\n\t\t{\n\t\t\treturn base.ThingID;\n\t\t}\n\t\tif (kindDef != null)\n\t\t{\n\t\t\treturn KindLabel + \"_\" + base.ThingID;\n\t\t}\n\t\tif (def != null)\n\t\t{\n\t\t\treturn base.ThingID;\n\t\t}\n\t\treturn GetType().ToString();\n\t}\n\n\tpublic IEnumerable ColonyThingsWillingToBuy(Pawn playerNegotiator)\n\t{\n\t\treturn trader.ColonyThingsWillingToBuy(playerNegotiator);\n\t}\n\n\tpublic void GiveSoldThingToTrader(Thing toGive, int countToGive, Pawn playerNegotiator)\n\t{\n\t\ttrader.GiveSoldThingToTrader(toGive, countToGive, playerNegotiator);\n\t}\n\n\tpublic void GiveSoldThingToPlayer(Thing toGive, int countToGive, Pawn playerNegotiator)\n\t{\n\t\ttrader.GiveSoldThingToPlayer(toGive, countToGive, playerNegotiator);\n\t}\n\n\tstring IVerbOwner.UniqueVerbOwnerID()\n\t{\n\t\treturn GetUniqueLoadID();\n\t}\n\n\tbool IVerbOwner.VerbsStillUsableBy(Pawn p)\n\t{\n\t\treturn p == this;\n\t}\n\n\tpublic PlanetTile GetRootTile()\n\t{\n\t\treturn base.Tile;\n\t}\n\n\tpublic ThingOwner GetDirectlyHeldThings()\n\t{\n\t\treturn null;\n\t}\n\n\tpublic void GetChildHolders(List outChildren)\n\t{\n\t\tThingOwnerUtility.AppendThingHoldersFromThings(outChildren, GetDirectlyHeldThings());\n\t\tif (inventory != null)\n\t\t{\n\t\t\toutChildren.Add(inventory);\n\t\t}\n\t\tif (carryTracker != null)\n\t\t{\n\t\t\toutChildren.Add(carryTracker);\n\t\t}\n\t\tif (equipment != null)\n\t\t{\n\t\t\toutChildren.Add(equipment);\n\t\t}\n\t\tif (apparel != null)\n\t\t{\n\t\t\toutChildren.Add(apparel);\n\t\t}\n\t}\n\n\tpublic bool CurrentlyUsableForBills()\n\t{\n\t\tif (!this.InBed())\n\t\t{\n\t\t\tJobFailReason.Is(NotSurgeryReadyTrans);\n\t\t\treturn false;\n\t\t}\n\t\tif (!InteractionCell.IsValid)\n\t\t{\n\t\t\tJobFailReason.Is(CannotReachTrans);\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t}\n\n\tpublic bool UsableForBillsAfterFueling()\n\t{\n\t\treturn CurrentlyUsableForBills();\n\t}\n\n\tpublic void Notify_BillDeleted(Bill bill)\n\t{\n\t\tbill.xenogerm?.Notify_BillRemoved();\n\t}\n\n\tpublic bool Equals(Pawn other)\n\t{\n\t\tif (def.defName == other.def.defName)\n\t\t{\n\t\t\treturn thingIDNumber == other.thingIDNumber;\n\t\t}\n\t\treturn false;\n\t}\n}\n\n", "timestamp": "2025-08-26 18:06:57,982" }, "C#-Hediff": { "keywords": [ "Hediff", "C#" ], "question": "RimWorld Hediff C# 代码", "embedding": [ 0.01653706468641758, 0.029060428962111473, 0.03951471671462059, 0.017812736332416534, -0.014942474663257599, -0.021919777616858482, 0.03705671429634094, -0.031798455864191055, 0.035936612635850906, 0.11225913465023041, -0.02092413231730461, -0.02688245289027691, -0.030833924189209938, -0.017968306317925453, 0.04271945357322693, 0.014242410659790039, -0.008167412132024765, -0.11008115857839584, 0.019321763888001442, -0.015191386453807354, -0.03447425737977028, 0.009972020983695984, -0.0008604952017776668, 0.017408255487680435, 0.016257038339972496, -0.0033583620097488165, 0.004768212791532278, 0.02322656475007534, 0.018497243523597717, 0.006860625930130482, -0.06045440584421158, -0.013799036853015423, 0.011869972571730614, -0.010034249164164066, -0.033603064715862274, 0.055880654603242874, -0.009808672592043877, 0.014895804226398468, -0.006351135205477476, -0.01056318636983633, -0.010609856806695461, -0.015696987509727478, 0.021810879930853844, 0.016910431906580925, -0.024440007284283638, 0.02058187872171402, 0.03767899423837662, -0.07865606993436813, -0.016023684293031693, 0.05314262583851814, 0.029511582106351852, -0.029636038467288017, -0.02896708808839321, 0.011784409172832966, 0.013036745600402355, 0.019057294353842735, 0.0049354503862559795, 0.03122285008430481, -0.03242073580622673, -0.0013028966495767236, 0.010384281165897846, 0.006024438887834549, -0.0007078423514030874, -0.017454925924539566, 0.024813376367092133, -0.03528321906924248, -0.04471074789762497, 0.011823301203548908, 0.024393336847424507, -0.022339817136526108, -0.02867150492966175, 0.01633482426404953, 0.04645312950015068, -0.003749231109395623, -0.020753005519509315, 0.05883647873997688, -0.022744297981262207, 0.03643443435430527, -0.044586289674043655, 0.037087827920913696, -0.01778162270784378, 0.018170546740293503, -0.02378661558032036, -0.0028080339543521404, 0.046235330402851105, 0.019555117934942245, 0.0208307895809412, 0.02498450316488743, 0.0034867071080952883, 0.13154977560043335, 0.022402044385671616, 0.02232426032423973, 0.019601788371801376, -0.010555407963693142, 0.018543913960456848, -0.00027832400519400835, -0.012881175614893436, 0.02573123760521412, -0.012422244995832443, 0.0034886517096310854, -0.030911710113286972, 0.04032367840409279, -0.021593080833554268, 0.04082150384783745, -0.02962048165500164, 0.04480408877134323, -0.02112637273967266, 0.002494949847459793, -0.015245835296809673, -0.033789750188589096, -0.012227782979607582, 0.008704127743840218, 0.013301214203238487, 0.06029883772134781, -0.009660881944000721, 0.00916305836290121, 0.0056977421045303345, 0.007634585723280907, -0.038892436772584915, 0.04626644402742386, 0.0424705408513546, 0.010609856806695461, -0.07958948612213135, -0.04642201587557793, 0.033043015748262405, 0.003084170399233699, 0.03677668794989586, 0.055880654603242874, 0.008781912736594677, 0.037243399769067764, -0.009917572140693665, -0.028189240023493767, 0.0247355904430151, 0.0029441574588418007, -0.0016529286513105035, -0.02103303000330925, 0.010788762010633945, -0.0018211384303867817, -0.10995670408010483, -0.03137841820716858, -0.04707540571689606, -0.017812736332416534, 0.013324549421668053, -0.01787496544420719, 0.0540449321269989, -0.042034946382045746, -0.02498450316488743, 0.03808347508311272, -0.03879909589886665, -0.0025921810884028673, -0.006502815522253513, -0.007206768728792667, -0.02688245289027691, 0.07193545252084732, 0.02878040447831154, -0.002006849739700556, 0.023599931970238686, 0.007510129828006029, -0.02828258089721203, -0.0013028966495767236, -0.006740059703588486, -0.0272247064858675, -0.033198583871126175, 0.017470482736825943, 0.04405735433101654, -0.08444326370954514, -0.08438103646039963, 0.002275207545608282, 0.0033622512128204107, -0.019959598779678345, -0.016910431906580925, -0.02198200672864914, -0.024331109598279, -0.04679538309574127, 0.00026689935475587845, -0.006479480303823948, 0.006222790107131004, 0.059427645057439804, 0.011574389412999153, 0.04122598469257355, 0.012951182201504707, 0.0027866431046277285, 0.031005050987005234, 0.03201625496149063, 0.04604864493012428, -0.04492854326963425, -0.010500958189368248, 0.07554467022418976, 0.005184362176805735, 0.024206653237342834, -0.0255756676197052, 0.042097173631191254, -0.030958380550146103, -0.051680270582437515, 0.0061372267082333565, -0.032856330275535583, -0.02582457847893238, 0.012554478831589222, -0.06832623481750488, -0.024657806381583214, 0.0033019680995494127, -0.044244036078453064, -0.03892355039715767, -0.010703198611736298, 0.045581936836242676, 0.005709409713745117, -0.059365417808294296, 0.034692056477069855, 0.025155628100037575, -0.0071484302170574665, 0.026586871594190598, -0.005262146703898907, 0.004608754068613052, -0.04007476940751076, 0.015051373280584812, 0.007416788022965193, -0.018046090379357338, 0.03736785426735878, 0.026244617998600006, 0.021997563540935516, -0.07006862014532089, 0.0478532575070858, -0.03606106713414192, 0.015191386453807354, 0.01883949711918831, -0.0027244153898209333, 0.037990134209394455, 0.021499739959836006, 0.05124467611312866, 0.023257678374648094, 0.010423173196613789, 0.01929064840078354, -0.0726199597120285, 0.012686713598668575, 0.013659024611115456, -0.012523365207016468, -0.031253963708877563, -0.07884275168180466, 0.018543913960456848, 0.0006217928603291512, 0.004904336296021938, 0.03982585668563843, -0.01787496544420719, 0.026462415233254433, 0.015868114307522774, -0.028935974463820457, -0.052520349621772766, 0.01823277585208416, 0.03242073580622673, -0.03416311740875244, -0.015813665464520454, -0.013417891226708889, 0.01563476026058197, -0.028764847666025162, 0.020099611952900887, -0.004581529181450605, 0.02772253006696701, -0.02731804922223091, -0.011916643008589745, 0.010710977017879486, -0.04452406242489815, -0.016459280624985695, -0.012173333205282688, 0.04629755765199661, -0.007152319420129061, 0.006615603808313608, 0.008813026361167431, -0.03434980288147926, -0.00038333359407261014, -0.028033670037984848, -0.025746794417500496, 0.04296836629509926, 0.03512765094637871, -0.037087827920913696, -0.005297149997204542, 0.014888024888932705, 0.001818221528083086, -0.013705695047974586, -0.029138214886188507, -0.025295641273260117, 0.00721843633800745, -0.03223405405879021, 0.013550125062465668, -0.04097707197070122, -0.04486631602048874, 0.05476055294275284, 0.0015907007036730647, -0.012624485418200493, 0.007766820024698973, 0.016023684293031693, -0.028515934944152832, 0.005157137289643288, -0.01683264784514904, 0.020893018692731857, -0.0018610031111165881, 0.010026470758020878, 0.008976374752819538, 0.012204446829855442, -0.0051376912742853165, 0.040385909378528595, -0.025746794417500496, -0.03077169694006443, -0.04315504804253578, 0.022199803963303566, 0.020006271079182625, 0.001995182130485773, -0.04057259112596512, -0.0642814189195633, 0.028344808146357536, -0.09446195513010025, -0.005864979699254036, -0.001344706048257649, -0.024968944489955902, -0.011924421414732933, -0.00472154188901186, 0.010742091573774815, -0.04225274547934532, -0.030133860185742378, 0.01933732070028782, 0.03301190212368965, -0.044337380677461624, 0.02103303000330925, -0.05830754339694977, -0.00047230004565790296, -0.0007807657239027321, -0.009077494964003563, 0.025497881695628166, 0.008027398958802223, -0.001912535633891821, -0.021748650819063187, 0.008711906149983406, 0.02283763885498047, 0.006191676016896963, 0.03907912224531174, -0.009909792803227901, -0.011916643008589745, 0.040634818375110626, -0.009621988981962204, 0.009474198333919048, 0.014024613425135612, -0.0027205259539186954, -0.0015683375531807542, -0.0379590205848217, -0.006063330918550491, 0.037585653364658356, 0.032451849430799484, 0.05320485681295395, 0.0127878338098526, 0.040883731096982956, -0.0003925705386791378, 0.005822197999805212, 0.01883949711918831, -0.014452430419623852, 0.001073431340046227, 0.008486329577863216, -0.008237418718636036, -0.014818019233644009, 0.01714378595352173, -0.03322969749569893, 0.020099611952900887, -0.04271945357322693, -0.01832611672580242, -0.024548906832933426, -0.018575027585029602, 0.03777233511209488, -0.014242410659790039, 0.012748940847814083, 0.038892436772584915, -0.026555756106972694, 0.0383635014295578, 0.010703198611736298, -0.04782214015722275, 0.03438091650605202, 0.013355663046240807, 0.002887763548642397, 0.0767270028591156, 0.036838918924331665, -0.003344749566167593, 0.0025960702914744616, 0.009466418996453285, -0.0016733472002670169, 0.02327323518693447, 0.001664596376940608, -0.07454902678728104, -0.01633482426404953, 0.020021827891469002, -0.0025027284864336252, -0.02657131291925907, 0.037741221487522125, -0.04271945357322693, 0.052582576870918274, 0.018699483945965767, -0.005767748691141605, -0.015961457043886185, 0.04281279444694519, 0.024657806381583214, -0.0034672608599066734, 0.02062854915857315, 0.10790318250656128, 0.011022116988897324, 0.005927207414060831, -0.03144064545631409, -0.0589609369635582, -0.04312393441796303, 0.005441051907837391, -0.006343356799334288, 0.022402044385671616, -0.0005396325723268092, -0.044835202395915985, 0.009077494964003563, 0.006187786813825369, -0.023444361984729767, 0.10840100049972534, 0.019072851166129112, 0.0003702073881868273, -0.017517155036330223, 0.024548906832933426, -0.001969902077689767, 0.05451164022088051, -0.035034310072660446, -0.03307412937283516, -0.00721843633800745, -0.03646555170416832, -0.018823940306901932, -0.03168955817818642, 0.11873083561658859, 0.0024618913885205984, 0.008587450720369816, -0.009800894185900688, 0.03172067180275917, -0.046235330402851105, -0.042439427226781845, -0.06151228025555611, 0.04729320481419563, 0.003218349302187562, -0.015572532080113888, 0.016365937888622284, 0.05920984968543053, -0.011457712389528751, -0.02842259407043457, -0.04138155281543732, -0.004838219378143549, 0.020815232768654823, -0.008112962357699871, -0.07548244297504425, -0.05780972167849541, 0.005612178705632687, 0.0030491671059280634, 0.01787496544420719, 0.03063168376684189, -0.03970140218734741, -0.020939689129590988, 0.023304348811507225, 0.05756080895662308, -0.012282231822609901, 0.03111395053565502, -0.04719986394047737, -0.051338016986846924, -0.020597435534000397, 0.008813026361167431, 0.0272247064858675, -0.01153549738228321, -0.035003192722797394, 0.03568769991397858, 0.002183810342103243, 0.019772915169596672, -0.013122308999300003, 0.03490985184907913, 0.008307424373924732, -0.06070331856608391, -0.015043594874441624, 0.04869333282113075, -0.02767585963010788, -0.043186161667108536, -0.02828258089721203, -0.014016835018992424, -0.0025027284864336252, 0.05270703136920929, 0.027566960081458092, 0.02778475731611252, 0.013744588010013103, 0.04362175986170769, -0.0276291873306036, -0.008431880734860897, -0.08394543826580048, -0.02937156893312931, 0.005234922282397747, 0.017610495910048485, 0.00791850034147501, -0.012033320032060146, -0.017252685502171516, 0.009326406754553318, 0.025995705276727676, 0.09527091681957245, 0.0022246474400162697, 0.025544553995132446, -0.004752655979245901, -0.01236001681536436, -0.00419649388641119, -0.0354699045419693, -0.0009100830648094416, 0.011729959398508072, 0.014024613425135612, -0.0379590205848217, 0.0325763076543808, 0.0004978232318535447, -0.014265745878219604, 0.024440007284283638, -0.04691983759403229, 0.006463923025876284, -0.020908575505018234, -0.03161177411675453, 0.018808383494615555, -0.02092413231730461, -0.035189878195524216, 0.02602681890130043, 0.004394845571368933, -0.025746794417500496, 0.013417891226708889, 0.008844139985740185, -0.006670053116977215, 0.013550125062465668, 0.0589609369635582, -0.026851339265704155, -0.015572532080113888, -0.01091321837157011, 0.025995705276727676, 0.003700615605339408, -0.006860625930130482, -0.02582457847893238, -0.020893018692731857, -0.007836826145648956, -0.02313322201371193, 0.016708191484212875, 0.07479793578386307, 0.010586521588265896, 0.01764160953462124, 0.0071912119165062904, 0.05087130889296532, 0.03736785426735878, 0.03528321906924248, 0.026166832074522972, -0.0006256821216084063, 0.030662797391414642, 0.030662797391414642, 0.013277878053486347, 0.06219678744673729, -0.02117304317653179, 0.0024618913885205984, -0.014024613425135612, 0.016272597014904022, 0.04116375744342804, -0.03198514133691788, -0.05771637707948685, 0.011092123575508595, -0.04141266644001007, 0.01827944628894329, 0.06465478986501694, 0.009653103537857533, -0.028391480445861816, -0.002382161794230342, -0.03288744390010834, -0.005479944404214621, -0.044959656894207, -0.007980728521943092, 0.031705114990472794, -0.06421919167041779, 0.0067361705005168915, -0.02902931533753872, 0.007292332127690315, -0.03935914859175682, 0.019944041967391968, -0.04296836629509926, 0.029947176575660706, -0.0023996634408831596, -0.03434980288147926, 0.02293098159134388, -0.019772915169596672, 0.07865606993436813, 0.015300285071134567, -0.015043594874441624, 0.007611250039190054, 0.022059790790081024, 0.01694154553115368, 0.01388460025191307, 0.027893656864762306, 0.00964532420039177, -0.0007311778608709574, 0.024595577269792557, 0.023397691547870636, 0.027940327301621437, 0.022650955244898796, -0.062414586544036865, -0.0144368726760149, -0.042283859103918076, 0.03214070945978165, 0.007436234038323164, -0.010399837978184223, -0.0049082254990935326, 0.05049794167280197, -0.003216404700651765, -0.08301202207803726, 0.0006470729131251574, -0.018217217177152634, 0.045333024114370346, -0.02277541160583496, -0.041132643818855286, -0.028904860839247704, 0.030009405687451363, -0.0016597347566857934, -0.027442503720521927, 0.033291928470134735, 0.0404481366276741, 0.0019436496077105403, 0.020908575505018234, 0.009956464171409607, -0.00012445580796338618, -0.02422221004962921, -0.01271782722324133, -0.029900506138801575, 0.0029441574588418007, -0.008533000946044922, 0.026757996529340744, -0.041692692786455154, -0.0191817507147789, -0.03092726692557335, -0.05500946566462517, -0.0028780403081327677, -0.0007156208739615977, -0.013153422623872757, -0.02778475731611252, 0.019212864339351654, -0.026446858420968056, 0.017906079068779945, 0.004752655979245901, -0.031347304582595825, -0.036185525357723236, -0.025248970836400986, -0.02602681890130043, 0.02157752402126789, 0.03531433269381523, 0.011768851429224014, -0.04023033753037453, -0.032545194029808044, -0.0065494864247739315, -0.04396401345729828, -0.03792790696024895, -0.05136913061141968, -0.03920357674360275, 0.014273525215685368, -0.0019796250853687525, 0.013659024611115456, -0.003869797568768263, 0.006117780692875385, -0.00911638792604208, 0.02058187872171402, -0.022495387122035027, -0.02892041765153408, -0.009310849942266941, 0.003366140415892005, -0.004534858278930187, -0.0016188977751880884, 0.0031911246478557587, 0.013666803017258644, 0.004923782777041197, 0.0002875609789043665, -0.007198990322649479, -0.005514947697520256, 0.020597435534000397, -0.0179371926933527, -0.04570639505982399, -0.0058299764059484005, -0.00794572476297617, -0.0035975505597889423, 0.02177976444363594, 0.0052582575008273125, -0.0015041650040075183, 0.011138794012367725, 0.019648460671305656, 0.01938399113714695, -0.02482893317937851, -0.017221571877598763, -0.008750798180699348, -0.018419459462165833, 0.007572357542812824, -0.00010604266572045162, 0.011488826014101505, -0.012484472244977951, -0.036341093480587006, 0.010306496173143387, 0.035843271762132645, -0.09533314406871796, -0.014724677428603172, 0.02297765202820301, -0.05628513544797897, -0.015463633462786674, -0.03147176280617714, 0.0031152842566370964, 0.008548557758331299, 0.02952713891863823, 0.06409473717212677, -0.026586871594190598, 0.010384281165897846, 0.02652464248239994, -0.009100830182433128, -0.052582576870918274, 0.0057716378942132, -0.015020259656012058, 0.007128983736038208, -0.057623036205768585, -0.013946828432381153, 0.03746119514107704, -0.006323910318315029, -0.0049082254990935326, -0.02966715209186077, 0.019399547949433327, 0.021266385912895203, -0.024595577269792557, -0.0532359704375267, 0.017268242314457893, 0.020270738750696182, -0.0050949095748364925, -0.02582457847893238, 0.024953387677669525, -0.022915424779057503, 0.012974517419934273, -0.042937252670526505, 0.005853312090039253, 0.0024832822382450104, 0.015183608047664165, -0.03168955817818642, -0.02353770285844803, 0.007183433510363102, -0.004114820156246424, 0.04710651934146881, 0.026649098843336105, 0.017408255487680435, -0.00211769319139421, -0.011729959398508072, -0.04390178248286247, 0.01354234665632248, -0.031487319618463516, 0.04925338551402092, 0.012220003642141819, 0.1088365986943245, 0.030880596488714218, 0.010298717767000198, 0.0387679822742939, 0.0956442803144455, 0.012803390622138977, -0.017314912751317024, -0.03438091650605202, 0.06919742375612259, -0.046733152121305466, -0.02223091758787632, 0.021997563540935516, 0.0033836420625448227, 0.01803053356707096, 0.01271004881709814, -0.00010938497871393338, -0.029044872149825096, -0.04651535674929619, 0.012375573627650738, 0.014872468076646328, 0.0004917462938465178, 0.04147489741444588, -0.009707552380859852, -0.020893018692731857, -0.019710687920451164, 0.013332327827811241, -0.018263889476656914, -0.045644164085388184, -0.042439427226781845, 0.04819551110267639, 0.02927822805941105, 0.031098393723368645, -0.01852835714817047, 0.0004178506205789745, -0.008307424373924732, -0.025046730414032936, 0.0030297208577394485, -0.027986997738480568, 0.04259499907493591, -0.009341963566839695, 0.008447437547147274, 0.02307099476456642, 0.034443143755197525, -0.0018133599078282714, -0.005658849608153105, 0.02238648757338524, -0.005192140582948923, 0.03153399005532265, 0.009567540138959885, 0.010010913945734501, 0.011481047607958317, 0.027909213677048683, 0.004266500473022461, 0.0441506952047348, 0.03092726692557335, 0.029356012120842934, -0.02237093076109886, -0.08780356496572495, -0.02117304317653179, -0.03665223345160484, -0.01071875635534525, -0.002825535601004958, -0.018108319491147995, -0.04551970958709717, -0.01667707785964012, -0.027442503720521927, 0.006950078532099724, -0.011325477622449398, 0.03637220710515976, 0.03730562701821327, 0.009583096951246262, -0.011395484209060669, -0.030304986983537674, 0.001203720923513174, 0.07218436151742935, -0.016303710639476776, -0.006460033822804689, 0.028002554550766945, -0.0024813376367092133, 0.012772276997566223, 0.006001103203743696, -0.03553213179111481, -0.031891800463199615, -0.02957380935549736, -0.03056945651769638, -0.00039475824451074004, -0.013736809603869915, -0.01396238524466753, -0.014678006060421467, 0.03515876457095146, 0.010353166610002518, -0.0037667325232177973, 0.010392059572041035, -0.026151275262236595, -0.006619493011385202, -0.024408893659710884, -0.025544553995132446, 0.008533000946044922, 0.010174261406064034, -0.005647181998938322, 0.007922389544546604, -0.022168690338730812, -0.02837592363357544, -0.01138770580291748, -0.044586289674043655, -0.02512451447546482, -0.0907282829284668, 0.06509038805961609, 0.000700063887052238, 0.003704504808411002, 0.043092820793390274, 0.046577583998441696, -0.0025046730879694223, 0.06770395487546921, -0.036590006202459335, 0.008385209366679192, -0.006911186035722494, -0.042937252670526505, 0.011807744391262531, -0.014592442661523819, -0.0155647536739707, 0.040292564779520035, 0.013907935470342636, 0.028935974463820457, -0.01848168671131134, -0.00423538638278842, 0.10199152678251266, 0.051773615181446075, 0.029713822528719902, 0.023211007937788963, 0.023366576060652733, -0.03621663898229599, -0.02932489849627018, -0.012134440243244171, -0.0160859115421772, 0.022510943934321404, -0.007222325541079044, -0.010073141194880009, 0.0074712373316287994, -0.0038425729144364595, -0.009754223749041557, -0.00015022204024717212, 0.001041345065459609, -0.016770418733358383, -0.05040460079908371, 0.026664655655622482, 0.06169896572828293, -0.011854414828121662, 0.0303205456584692, 0.021219713613390923, 0.0478532575070858, 0.03920357674360275, -0.037336740642786026, -0.01404017023742199, 0.020955245941877365, 0.008696349337697029, 0.017501596361398697, 0.023288791999220848, -0.0021740873344242573, -0.008252975530922413, -0.061823420226573944, 0.013223429210484028, 0.024486679583787918, -0.014071283861994743, -0.017050445079803467, 0.0145379938185215, -0.03879909589886665, -0.015035816468298435, 0.006405584514141083, -0.005592732690274715, -0.007689035031944513, -0.01868392713367939, 0.025840135291218758, 0.06994415819644928, 0.0358743853867054, -0.010742091573774815, 0.006592268124222755, 0.001060791197232902, -0.008198525756597519, -0.002380217192694545, 0.007906832732260227, 0.014911361038684845, -0.028515934944152832, 0.026664655655622482, -0.007078423630446196, 0.018092762678861618, -0.0237243864685297, -0.020566321909427643, 0.05556951463222504, 0.03150287643074989, 0.04057259112596512, 0.021841993555426598, 0.017719395458698273, -0.05080908164381981, -0.04380844160914421, -0.022137576714158058, 0.002228536643087864, -0.06138782575726509, 0.037585653364658356, 0.004266500473022461, 0.02293098159134388, -0.018248332664370537, 0.030398329719901085, -0.04234608635306358, 0.004460962489247322, 0.02148418314754963, -0.053982704877853394, -0.00903860293328762, -0.012671156786382198, -0.002211034996435046, 0.020255181938409805, -0.010283160954713821, 0.0212352704256773, 0.011628839187324047, 0.016350381076335907, -0.024906717240810394, 0.04695095121860504, 0.023242121562361717, -0.01593034341931343, -0.014125733636319637, 0.02458002045750618, -0.000495635496918112, 0.006300575099885464, 0.0012708103749901056, 0.020192954689264297, -0.029853835701942444, -0.053578224033117294, 0.009287513792514801, 0.006755616515874863, -0.03851906955242157, -0.00670505641028285, 0.02548232488334179, -0.02472003363072872, -0.06325466185808182, -0.029153771698474884, 0.032638534903526306, 0.044586289674043655, 0.024393336847424507, -0.041039299219846725, -0.011232135817408562, -0.016365937888622284, 0.024331109598279, 0.044337380677461624, -0.027535846456885338, 0.014024613425135612, 0.0024191096890717745, 0.009886457584798336, -0.01563476026058197, -0.02317989245057106, 0.013729030266404152, 0.0179371926933527, -0.011799965985119343, 0.014615777879953384, -0.004091484472155571, 0.02747361920773983, 0.03462982550263405, -0.010446509346365929, -0.0061216698959469795, 0.030585013329982758, -0.03746119514107704, -0.004149822983890772, 0.007039531134068966, -0.08307424932718277, 0.04324839264154434, -0.027146922424435616, 0.026866896077990532, 0.09589319676160812, -0.018621699884533882, 0.057280782610177994, -0.0006305436254478991, 0.01236001681536436, -0.025155628100037575, -0.01992848515510559, -0.003177512204274535, 0.04561305046081543, -0.015448076650500298, -0.03260742127895355, 0.053173743188381195, 0.018699483945965767, -0.03951471671462059 ], "result": "--- 结果 1 (相似度: 1.000) ---\n文件路径: C:\\Steam\\steamapps\\common\\RimWorld\\Data\\dll1.6\\Verse\\Hediff.txt\n\npublic class Hediff : IExposable, ILoadReferenceable\n{\n\tpublic HediffDef def;\n\n\tpublic int ageTicks;\n\n\tpublic int tickAdded = -1;\n\n\tprivate BodyPartRecord part;\n\n\tpublic string sourceLabel;\n\n\tpublic ThingDef sourceDef;\n\n\tpublic BodyPartGroupDef sourceBodyPartGroup;\n\n\tpublic string sourceToolLabel;\n\n\tpublic HediffDef sourceHediffDef;\n\n\tpublic int loadID = -1;\n\n\tprotected float severityInt;\n\n\tprivate bool recordedTale;\n\n\tprotected bool causesNoPain;\n\n\tprivate bool visible;\n\n\tpublic WeakReference combatLogEntry;\n\n\tpublic string combatLogText;\n\n\tpublic int temp_partIndexToSetLater = -1;\n\n\tpublic bool canBeThreateningToPart = true;\n\n\tprivate List abilities;\n\n\t[Unsaved(false)]\n\tpublic Pawn pawn;\n\n\tprivate static StringBuilder tipSb = new StringBuilder();\n\n\tpublic virtual string LabelBase => CurStage?.overrideLabel ?? def.label;\n\n\tpublic string LabelBaseCap => LabelBase.CapitalizeFirst(def);\n\n\tpublic virtual string Label\n\t{\n\t\tget\n\t\t{\n\t\t\tstring labelInBrackets = LabelInBrackets;\n\t\t\treturn LabelBase + (labelInBrackets.NullOrEmpty() ? \"\" : (\" (\" + labelInBrackets + \")\"));\n\t\t}\n\t}\n\n\tpublic string LabelCap => Label.CapitalizeFirst(def);\n\n\tpublic virtual Color LabelColor => def.defaultLabelColor;\n\n\tpublic virtual string LabelInBrackets\n\t{\n\t\tget\n\t\t{\n\t\t\tif (CurStage != null && !CurStage.label.NullOrEmpty())\n\t\t\t{\n\t\t\t\treturn CurStage.label;\n\t\t\t}\n\t\t\treturn null;\n\t\t}\n\t}\n\n\tpublic virtual string SeverityLabel\n\t{\n\t\tget\n\t\t{\n\t\t\tif (!IsLethal && !def.alwaysShowSeverity)\n\t\t\t{\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\treturn (Severity / Mathf.Abs(def.lethalSeverity)).ToStringPercent();\n\t\t}\n\t}\n\n\tpublic virtual int UIGroupKey => Label.GetHashCode();\n\n\tpublic virtual string TipStringExtra\n\t{\n\t\tget\n\t\t{\n\t\t\tStringBuilder stringBuilder = new StringBuilder();\n\t\t\tforeach (StatDrawEntry item in HediffStatsUtility.SpecialDisplayStats(CurStage, this))\n\t\t\t{\n\t\t\t\tif (item.ShouldDisplay())\n\t\t\t\t{\n\t\t\t\t\tstringBuilder.Append(\" - \" + item.LabelCap + \": \" + item.ValueString);\n\t\t\t\t\tif (CurStage?.statOffsetEffectMultiplier != null)\n\t\t\t\t\t{\n\t\t\t\t\t\tstringBuilder.Append($\" x {CurStage.statOffsetEffectMultiplier.LabelCap}\");\n\t\t\t\t\t}\n\t\t\t\t\telse if (CurStage?.statFactorEffectMultiplier != null)\n\t\t\t\t\t{\n\t\t\t\t\t\tstringBuilder.Append($\" x {CurStage.statFactorEffectMultiplier.LabelCap}\");\n\t\t\t\t\t}\n\t\t\t\t\tstringBuilder.AppendLine();\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (ModsConfig.AnomalyActive && !def.aptitudes.NullOrEmpty())\n\t\t\t{\n\t\t\t\tstringBuilder.AppendLine(def.aptitudes.Select((Aptitude x) => x.skill.LabelCap.ToString() + \" \" + x.level.ToStringWithSign()).ToLineList(\" - \", capitalizeItems: true));\n\t\t\t}\n\t\t\tHediffStage stage = CurStage;\n\t\t\tif (stage != null)\n\t\t\t{\n\t\t\t\tif (!stage.enablesNeeds.NullOrEmpty())\n\t\t\t\t{\n\t\t\t\t\tif (stringBuilder.Length > 0)\n\t\t\t\t\t{\n\t\t\t\t\t\tstringBuilder.AppendLine();\n\t\t\t\t\t}\n\t\t\t\t\tstringBuilder.AppendLine((\"AddsNeeds\".Translate().CapitalizeFirst() + \":\").Colorize(ColoredText.TipSectionTitleColor));\n\t\t\t\t\tstringBuilder.AppendLine(stage.enablesNeeds.Select((NeedDef x) => x.LabelCap.ToString()).ToLineList(\" - \"));\n\t\t\t\t}\n\t\t\t\tif (!stage.disablesNeeds.NullOrEmpty())\n\t\t\t\t{\n\t\t\t\t\tif (stringBuilder.Length > 0)\n\t\t\t\t\t{\n\t\t\t\t\t\tstringBuilder.AppendLine();\n\t\t\t\t\t}\n\t\t\t\t\tstringBuilder.AppendLine((\"DisabledNeedsLabel\".Translate().CapitalizeFirst() + \":\").Colorize(ColoredText.TipSectionTitleColor));\n\t\t\t\t\tstringBuilder.AppendLine(stage.disablesNeeds.Select((NeedDef x) => x.LabelCap.ToString()).ToLineList(\" - \"));\n\t\t\t\t}\n\t\t\t\tif (stage.disabledWorkTags != 0)\n\t\t\t\t{\n\t\t\t\t\tif (stringBuilder.Length > 0)\n\t\t\t\t\t{\n\t\t\t\t\t\tstringBuilder.AppendLine();\n\t\t\t\t\t}\n\t\t\t\t\tstringBuilder.AppendLine((\"DisabledWorkLabel\".Translate().CapitalizeFirst() + \":\").Colorize(ColoredText.TipSectionTitleColor));\n\t\t\t\t\tIEnumerable items = from x in DefDatabase.AllDefsListForReading\n\t\t\t\t\t\twhere (stage.disabledWorkTags & x.workTags) != 0\n\t\t\t\t\t\tselect x.labelShort;\n\t\t\t\t\tstringBuilder.Append(\" - \" + items.ToCommaList().CapitalizeFirst());\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (def.CompProps() != null)\n\t\t\t{\n\t\t\t\tstringBuilder.AppendLine(\" - \" + \"IncreasesChanceOfLovin\".Translate());\n\t\t\t}\n\t\t\treturn stringBuilder.ToString();\n\t\t}\n\t}\n\n\tpublic virtual HediffStage CurStage\n\t{\n\t\tget\n\t\t{\n\t\t\tif (!def.stages.NullOrEmpty())\n\t\t\t{\n\t\t\t\treturn def.stages[CurStageIndex];\n\t\t\t}\n\t\t\treturn null;\n\t\t}\n\t}\n\n\tpublic virtual bool ShouldRemove => Severity <= 0f;\n\n\tpublic virtual bool Visible\n\t{\n\t\tget\n\t\t{\n\t\t\tif (!visible && CurStage != null)\n\t\t\t{\n\t\t\t\treturn CurStage.becomeVisible;\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t}\n\n\tpublic virtual float BleedRate => 0f;\n\n\tpublic virtual float BleedRateScaled => BleedRate / pawn.HealthScale;\n\n\tpublic bool Bleeding => BleedRate > 1E-05f;\n\n\tpublic virtual float PainOffset\n\t{\n\t\tget\n\t\t{\n\t\t\tif (CurStage != null && !causesNoPain)\n\t\t\t{\n\t\t\t\treturn CurStage.painOffset;\n\t\t\t}\n\t\t\treturn 0f;\n\t\t}\n\t}\n\n\tpublic virtual float PainFactor => CurStage?.painFactor ?? 1f;\n\n\tpublic List CapMods => CurStage?.capMods;\n\n\tpublic virtual float SummaryHealthPercentImpact => 0f;\n\n\tpublic virtual float TendPriority\n\t{\n\t\tget\n\t\t{\n\t\t\tfloat a = 0f;\n\t\t\tHediffStage curStage = CurStage;\n\t\t\tif (curStage != null && curStage.lifeThreatening)\n\t\t\t{\n\t\t\t\ta = Mathf.Max(a, 1f);\n\t\t\t}\n\t\t\ta = Mathf.Max(a, BleedRate * 1.5f);\n\t\t\tHediffComp_TendDuration hediffComp_TendDuration = this.TryGetComp();\n\t\t\tif (hediffComp_TendDuration != null && hediffComp_TendDuration.TProps.severityPerDayTended < 0f)\n\t\t\t{\n\t\t\t\ta = Mathf.Max(a, 0.025f);\n\t\t\t}\n\t\t\treturn a;\n\t\t}\n\t}\n\n\tpublic virtual TextureAndColor StateIcon => TextureAndColor.None;\n\n\tpublic virtual int CurStageIndex => def.StageAtSeverity(Severity);\n\n\tpublic virtual float Severity\n\t{\n\t\tget\n\t\t{\n\t\t\treturn severityInt;\n\t\t}\n\t\tset\n\t\t{\n\t\t\tbool flag = false;\n\t\t\tif (IsLethal && value >= def.lethalSeverity)\n\t\t\t{\n\t\t\t\tvalue = def.lethalSeverity;\n\t\t\t\tflag = true;\n\t\t\t}\n\t\t\tbool flag2 = this is Hediff_Injury && value > severityInt && Mathf.RoundToInt(value) != Mathf.RoundToInt(severityInt);\n\t\t\tint curStageIndex = CurStageIndex;\n\t\t\tseverityInt = Mathf.Clamp(value, def.minSeverity, def.maxSeverity);\n\t\t\tif (CurStageIndex != curStageIndex)\n\t\t\t{\n\t\t\t\tOnStageIndexChanged(CurStageIndex);\n\t\t\t}\n\t\t\tif ((CurStageIndex != curStageIndex || flag || flag2) && pawn.health.hediffSet.hediffs.Contains(this))\n\t\t\t{\n\t\t\t\tpawn.health.Notify_HediffChanged(this);\n\t\t\t\tif (!pawn.Dead && pawn.needs.mood != null)\n\t\t\t\t{\n\t\t\t\t\tpawn.needs.mood.thoughts.situational.Notify_SituationalThoughtsDirty();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic BodyPartRecord Part\n\t{\n\t\tget\n\t\t{\n\t\t\treturn part;\n\t\t}\n\t\tset\n\t\t{\n\t\t\tif (pawn == null && value != null)\n\t\t\t{\n\t\t\t\tLog.Error(\"Hediff: Cannot set Part without setting pawn first.\");\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tpart = value;\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic bool IsLethal\n\t{\n\t\tget\n\t\t{\n\t\t\tif (def.lethalSeverity > 0f)\n\t\t\t{\n\t\t\t\treturn canBeThreateningToPart;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic bool IsCurrentlyLifeThreatening => IsStageLifeThreatening(CurStage);\n\n\tpublic List AllAbilitiesForReading\n\t{\n\t\tget\n\t\t{\n\t\t\tif (abilities == null && !def.abilities.NullOrEmpty())\n\t\t\t{\n\t\t\t\tabilities = new List();\n\t\t\t\tforeach (AbilityDef ability in def.abilities)\n\t\t\t\t{\n\t\t\t\t\tabilities.Add(AbilityUtility.MakeAbility(ability, pawn));\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn abilities;\n\t\t}\n\t}\n\n\tpublic virtual string Description => def.Description;\n\n\tpublic virtual bool TendableNow(bool ignoreTimer = false)\n\t{\n\t\tif (!def.tendable || Severity <= 0f || this.FullyImmune() || !Visible || this.IsPermanent() || !pawn.RaceProps.IsFlesh || (this is Hediff_Injury && !pawn.health.CanBleed))\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tif (!ignoreTimer)\n\t\t{\n\t\t\tHediffComp_TendDuration hediffComp_TendDuration = this.TryGetComp();\n\t\t\tif (hediffComp_TendDuration != null && !hediffComp_TendDuration.AllowTend)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t}\n\n\tpublic bool IsStageLifeThreatening(HediffStage stage)\n\t{\n\t\tif (stage == null)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tif (stage.lifeThreatening)\n\t\t{\n\t\t\treturn canBeThreateningToPart;\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic bool IsAnyStageLifeThreatening()\n\t{\n\t\tif (def.stages == null || !canBeThreateningToPart)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tfor (int i = 0; i < def.stages.Count; i++)\n\t\t{\n\t\t\tif (def.stages[i].lifeThreatening)\n\t\t\t{\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic bool CanEverKill()\n\t{\n\t\tif (!IsLethal)\n\t\t{\n\t\t\treturn IsAnyStageLifeThreatening();\n\t\t}\n\t\treturn true;\n\t}\n\n\tpublic void SetVisible()\n\t{\n\t\tvisible = true;\n\t}\n\n\tprotected virtual void OnStageIndexChanged(int stageIndex)\n\t{\n\t\tif (CurStage.pctConditionalThoughtsNullified > 0f || CurStage.pctAllThoughtNullification > 0f)\n\t\t{\n\t\t\tpawn.health.hediffSet.CacheThoughtsNullified();\n\t\t}\n\t}\n\n\tpublic virtual void ExposeData()\n\t{\n\t\tif (Scribe.mode == LoadSaveMode.Saving && combatLogEntry != null)\n\t\t{\n\t\t\tLogEntry target = combatLogEntry.Target;\n\t\t\tif (target == null || !Current.Game.battleLog.IsEntryActive(target))\n\t\t\t{\n\t\t\t\tcombatLogEntry = null;\n\t\t\t}\n\t\t}\n\t\tScribe_Values.Look(ref loadID, \"loadID\", 0);\n\t\tScribe_Values.Look(ref ageTicks, \"ageTicks\", 0);\n\t\tScribe_Values.Look(ref tickAdded, \"tickAdded\", 0);\n\t\tScribe_Values.Look(ref visible, \"visible\", defaultValue: false);\n\t\tScribe_Values.Look(ref severityInt, \"severity\", 0f);\n\t\tScribe_Values.Look(ref recordedTale, \"recordedTale\", defaultValue: false);\n\t\tScribe_Values.Look(ref causesNoPain, \"causesNoPain\", defaultValue: false);\n\t\tScribe_Values.Look(ref combatLogText, \"combatLogText\");\n\t\tScribe_Values.Look(ref canBeThreateningToPart, \"canBeThreateningToPart\", defaultValue: false);\n\t\tScribe_Defs.Look(ref def, \"def\");\n\t\tScribe_Defs.Look(ref sourceDef, \"source\");\n\t\tScribe_Defs.Look(ref sourceHediffDef, \"sourceHediffDef\");\n\t\tScribe_Defs.Look(ref sourceBodyPartGroup, \"sourceBodyPartGroup\");\n\t\tScribe_Values.Look(ref sourceLabel, \"sourceLabel\");\n\t\tScribe_Values.Look(ref sourceToolLabel, \"sourceToolLabel\");\n\t\tScribe_BodyParts.Look(ref part, \"part\");\n\t\tScribe_References.Look(ref combatLogEntry, \"combatLogEntry\");\n\t\tScribe_Collections.Look(ref abilities, \"abilities\", LookMode.Deep);\n\t\tif (Scribe.mode == LoadSaveMode.PostLoadInit && abilities != null)\n\t\t{\n\t\t\tforeach (Ability ability in abilities)\n\t\t\t{\n\t\t\t\tability.pawn = pawn;\n\t\t\t\tability.verb.caster = pawn;\n\t\t\t}\n\t\t}\n\t\tBackCompatibility.PostExposeData(this);\n\t}\n\n\tpublic virtual void Tick()\n\t{\n\t}\n\n\tpublic virtual void TickInterval(int delta)\n\t{\n\t\tageTicks += delta;\n\t\tif (def.hediffGivers != null && pawn.IsHashIntervalTick(60, delta))\n\t\t{\n\t\t\tfor (int i = 0; i < def.hediffGivers.Count; i++)\n\t\t\t{\n\t\t\t\tdef.hediffGivers[i].OnIntervalPassed(pawn, this);\n\t\t\t}\n\t\t}\n\t\tif (Visible && !visible)\n\t\t{\n\t\t\tvisible = true;\n\t\t\tif (def.taleOnVisible != null)\n\t\t\t{\n\t\t\t\tTaleRecorder.RecordTale(def.taleOnVisible, pawn, def);\n\t\t\t}\n\t\t}\n\t\tHediffStage curStage = CurStage;\n\t\tif (curStage == null)\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\tif (curStage.hediffGivers != null && pawn.IsHashIntervalTick(60, delta))\n\t\t{\n\t\t\tfor (int j = 0; j < curStage.hediffGivers.Count; j++)\n\t\t\t{\n\t\t\t\tcurStage.hediffGivers[j].OnIntervalPassed(pawn, this);\n\t\t\t}\n\t\t}\n\t\tif (curStage.mentalStateGivers != null && pawn.IsHashIntervalTick(60, delta) && !pawn.InMentalState)\n\t\t{\n\t\t\tfor (int k = 0; k < curStage.mentalStateGivers.Count; k++)\n\t\t\t{\n\t\t\t\tMentalStateGiver mentalStateGiver = curStage.mentalStateGivers[k];\n\t\t\t\tif (Rand.MTBEventOccurs(mentalStateGiver.mtbDays, 60000f, 60f))\n\t\t\t\t{\n\t\t\t\t\tpawn.mindState.mentalStateHandler.TryStartMentalState(mentalStateGiver.mentalState, \"MentalStateReason_Hediff\".Translate(Label));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (curStage.mentalBreakMtbDays > 0f && pawn.IsHashIntervalTick(60, delta) && !pawn.InMentalState && !pawn.Downed && Rand.MTBEventOccurs(curStage.mentalBreakMtbDays, 60000f, 60f))\n\t\t{\n\t\t\tTryDoRandomMentalBreak();\n\t\t}\n\t\tif (curStage.vomitMtbDays > 0f && pawn.IsHashIntervalTick(600, delta) && Rand.MTBEventOccurs(curStage.vomitMtbDays, 60000f, 600f) && pawn.Spawned && pawn.Awake() && pawn.RaceProps.IsFlesh)\n\t\t{\n\t\t\tpawn.jobs.StartJob(JobMaker.MakeJob(JobDefOf.Vomit), JobCondition.InterruptForced, null, resumeCurJobAfterwards: true);\n\t\t}\n\t\tif (curStage.forgetMemoryThoughtMtbDays > 0f && pawn.needs?.mood != null && pawn.IsHashIntervalTick(400, delta) && Rand.MTBEventOccurs(curStage.forgetMemoryThoughtMtbDays, 60000f, 400f) && pawn.needs.mood.thoughts.memories.Memories.TryRandomElement(out var result))\n\t\t{\n\t\t\tpawn.needs.mood.thoughts.memories.RemoveMemory(result);\n\t\t}\n\t\tif (!recordedTale && curStage.tale != null)\n\t\t{\n\t\t\tTaleRecorder.RecordTale(curStage.tale, pawn);\n\t\t\trecordedTale = true;\n\t\t}\n\t\tif (curStage.destroyPart && Part != null && Part != pawn.RaceProps.body.corePart)\n\t\t{\n\t\t\tpawn.health.AddHediff(HediffDefOf.MissingBodyPart, Part);\n\t\t}\n\t\tif (curStage.deathMtbDays > 0f && pawn.IsHashIntervalTick(200, delta) && Rand.MTBEventOccurs(curStage.deathMtbDays, 60000f, 200f))\n\t\t{\n\t\t\tDoMTBDeath();\n\t\t}\n\t}\n\n\tprivate void DoMTBDeath()\n\t{\n\t\tHediffStage curStage = CurStage;\n\t\tif (!curStage.mtbDeathDestroysBrain && ModsConfig.BiotechActive)\n\t\t{\n\t\t\tPawn_GeneTracker genes = pawn.genes;\n\t\t\tif (genes != null && genes.HasActiveGene(GeneDefOf.Deathless))\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\tpawn.Kill(null, this);\n\t\tif (curStage.mtbDeathDestroysBrain)\n\t\t{\n\t\t\tBodyPartRecord brain = pawn.health.hediffSet.GetBrain();\n\t\t\tif (brain != null)\n\t\t\t{\n\t\t\t\tHediff hediff = HediffMaker.MakeHediff(HediffDefOf.MissingBodyPart, pawn, brain);\n\t\t\t\tpawn.health.AddHediff(hediff, brain);\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate void TryDoRandomMentalBreak()\n\t{\n\t\tHediffStage curStage = CurStage;\n\t\tif (curStage != null)\n\t\t{\n\t\t\tTaggedString taggedString = \"MentalStateReason_Hediff\".Translate(Label);\n\t\t\tif (!curStage.mentalBreakExplanation.NullOrEmpty())\n\t\t\t{\n\t\t\t\ttaggedString += \"\\n\\n\" + curStage.mentalBreakExplanation.Formatted(pawn.Named(\"PAWN\"));\n\t\t\t}\n\t\t\tMentalBreakDef result;\n\t\t\tif (pawn.NonHumanlikeOrWildMan())\n\t\t\t{\n\t\t\t\tpawn.mindState.mentalStateHandler.TryStartMentalState(MentalStateDefOf.Manhunter, taggedString);\n\t\t\t}\n\t\t\telse if (DefDatabase.AllDefsListForReading.Where((MentalBreakDef x) => x.Worker.BreakCanOccur(pawn) && (curStage.allowedMentalBreakIntensities == null || curStage.allowedMentalBreakIntensities.Contains(x.intensity))).TryRandomElementByWeight((MentalBreakDef x) => x.Worker.CommonalityFor(pawn), out result))\n\t\t\t{\n\t\t\t\tresult.Worker.TryStart(pawn, taggedString.Resolve(), causedByMood: false);\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic virtual void PostMake()\n\t{\n\t\tSeverity = Mathf.Max(Severity, def.initialSeverity);\n\t\tcausesNoPain = Rand.Value < def.chanceToCauseNoPain;\n\t\tif (def.onlyLifeThreateningTo == null)\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\tbool flag = false;\n\t\tfor (int i = 0; i < def.onlyLifeThreateningTo.Count; i++)\n\t\t{\n\t\t\tif (Part.def == def.onlyLifeThreateningTo[i])\n\t\t\t{\n\t\t\t\tflag = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tif (!flag)\n\t\t{\n\t\t\tcanBeThreateningToPart = false;\n\t\t}\n\t}\n\n\tpublic virtual void PostAdd(DamageInfo? dinfo)\n\t{\n\t\ttickAdded = Find.TickManager.TicksGame;\n\t\tif (!def.abilities.NullOrEmpty())\n\t\t{\n\t\t\tpawn.abilities?.Notify_TemporaryAbilitiesChanged();\n\t\t}\n\t\tif (!def.removeWithTags.NullOrEmpty())\n\t\t{\n\t\t\tfor (int num = pawn.health.hediffSet.hediffs.Count - 1; num >= 0; num--)\n\t\t\t{\n\t\t\t\tHediff hediff = pawn.health.hediffSet.hediffs[num];\n\t\t\t\tif (hediff != this && !hediff.def.tags.NullOrEmpty())\n\t\t\t\t{\n\t\t\t\t\tfor (int i = 0; i < def.removeWithTags.Count; i++)\n\t\t\t\t\t{\n\t\t\t\t\t\tif (hediff.def.tags.Contains(def.removeWithTags[i]))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpawn.health.RemoveHediff(hediff);\n\t\t\t\t\t\t\tbreak;\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}\n\t\tif (!def.aptitudes.NullOrEmpty())\n\t\t{\n\t\t\tpawn.skills.DirtyAptitudes();\n\t\t}\n\t\tif (def.clearsEgo)\n\t\t{\n\t\t\tpawn.everLostEgo = true;\n\t\t}\n\t}\n\n\tpublic virtual void PreRemoved()\n\t{\n\t}\n\n\tpublic virtual void PostRemoved()\n\t{\n\t\tHediffStage curStage = CurStage;\n\t\tif (!pawn.Dead && def.chemicalNeed != null)\n\t\t{\n\t\t\tpawn.needs?.AddOrRemoveNeedsAsAppropriate();\n\t\t}\n\t\telse if (curStage != null && !pawn.Dead && (!curStage.disablesNeeds.NullOrEmpty() || !curStage.enablesNeeds.NullOrEmpty()))\n\t\t{\n\t\t\tpawn.needs?.AddOrRemoveNeedsAsAppropriate();\n\t\t}\n\t\tif (!def.abilities.NullOrEmpty())\n\t\t{\n\t\t\tpawn.abilities?.Notify_TemporaryAbilitiesChanged();\n\t\t}\n\t\tif (!def.aptitudes.NullOrEmpty())\n\t\t{\n\t\t\tpawn.skills.DirtyAptitudes();\n\t\t}\n\t}\n\n\tpublic virtual void PostTick()\n\t{\n\t}\n\n\tpublic virtual void PostTickInterval(int delta)\n\t{\n\t}\n\n\tpublic virtual void Tended(float quality, float maxQuality, int batchPosition = 0)\n\t{\n\t}\n\n\tpublic virtual void Heal(float amount)\n\t{\n\t\tif (!(amount <= 0f))\n\t\t{\n\t\t\tSeverity -= amount;\n\t\t\tpawn.health.Notify_HediffChanged(this);\n\t\t}\n\t}\n\n\tpublic virtual void ModifyChemicalEffect(ChemicalDef chem, ref float effect)\n\t{\n\t}\n\n\tpublic virtual bool TryMergeWith(Hediff other)\n\t{\n\t\tif (other == null || other.def != def || other.Part != Part)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tSeverity += other.Severity;\n\t\tageTicks = 0;\n\t\treturn true;\n\t}\n\n\tpublic virtual bool CauseDeathNow()\n\t{\n\t\tif (IsLethal)\n\t\t{\n\t\t\tbool num = Severity >= def.lethalSeverity;\n\t\t\tif (num && DebugViewSettings.logCauseOfDeath)\n\t\t\t{\n\t\t\t\tLog.Message(\"CauseOfDeath: lethal severity exceeded \" + Severity + \" >= \" + def.lethalSeverity);\n\t\t\t}\n\t\t\treturn num;\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic virtual void Notify_Downed()\n\t{\n\t}\n\n\tpublic virtual void Notify_PawnDied(DamageInfo? dinfo, Hediff culprit = null)\n\t{\n\t}\n\n\tpublic virtual void Notify_PawnKilled()\n\t{\n\t}\n\n\tpublic virtual void Notify_PawnPostApplyDamage(DamageInfo dinfo, float totalDamageDealt)\n\t{\n\t}\n\n\tpublic virtual void Notify_PawnDamagedThing(Thing thing, DamageInfo dinfo, DamageWorker.DamageResult result)\n\t{\n\t}\n\n\tpublic virtual void Notify_PawnUsedVerb(Verb verb, LocalTargetInfo targets)\n\t{\n\t}\n\n\tpublic virtual void Notify_EntropyGained(float baseAmount, float finalAmount, Thing source = null)\n\t{\n\t}\n\n\tpublic virtual void Notify_RelationAdded(Pawn otherPawn, PawnRelationDef relationDef)\n\t{\n\t}\n\n\tpublic virtual void Notify_ImplantUsed(string violationSourceName, float detectionChance, int violationSourceLevel = -1)\n\t{\n\t}\n\n\tpublic virtual void Notify_KilledPawn(Pawn victim, DamageInfo? dinfo)\n\t{\n\t}\n\n\tpublic virtual void Notify_IngestedThing(Thing thing, int amount)\n\t{\n\t}\n\n\tpublic virtual void Notify_Resurrected()\n\t{\n\t}\n\n\tpublic virtual void Notify_PawnCorpseSpawned()\n\t{\n\t}\n\n\tpublic virtual void Notify_PawnCorpseDestroyed()\n\t{\n\t}\n\n\tpublic virtual void Notify_Regenerated(float hp)\n\t{\n\t}\n\n\tpublic virtual void Notify_SurgicallyRemoved(Pawn surgeon)\n\t{\n\t\tif (def.HasDefinedGraphicProperties || def.forceRenderTreeRecache)\n\t\t{\n\t\t\tpawn.Drawer.renderer.SetAllGraphicsDirty();\n\t\t}\n\t}\n\n\tpublic virtual void Notify_SurgicallyReplaced(Pawn surgeon)\n\t{\n\t\tif (def.HasDefinedGraphicProperties || def.forceRenderTreeRecache)\n\t\t{\n\t\t\tpawn.Drawer.renderer.SetAllGraphicsDirty();\n\t\t}\n\t}\n\n\tpublic virtual void Notify_Spawned()\n\t{\n\t}\n\n\tpublic virtual IEnumerable GetGizmos()\n\t{\n\t\treturn null;\n\t}\n\n\tpublic virtual string GetInspectString()\n\t{\n\t\treturn def.inspectString ?? string.Empty;\n\t}\n\n\tpublic virtual string GetTooltip(Pawn pawn, bool showHediffsDebugInfo)\n\t{\n\t\ttipSb.Clear();\n\t\tHediffStage curStage = CurStage;\n\t\tif (!LabelCap.NullOrEmpty())\n\t\t{\n\t\t\ttipSb.AppendTagged(LabelCap.Colorize(ColoredText.TipSectionTitleColor));\n\t\t}\n\t\tstring severityLabel = SeverityLabel;\n\t\tif (!severityLabel.NullOrEmpty())\n\t\t{\n\t\t\ttipSb.Append(\": \").Append(severityLabel);\n\t\t}\n\t\ttipSb.AppendLine();\n\t\tif (!def.overrideTooltip.NullOrEmpty())\n\t\t{\n\t\t\ttipSb.AppendLine().AppendLineTagged(def.overrideTooltip.Formatted(pawn.Named(\"PAWN\")));\n\t\t}\n\t\telse if (curStage != null && !curStage.overrideTooltip.NullOrEmpty())\n\t\t{\n\t\t\ttipSb.AppendLine().AppendLineTagged(curStage.overrideTooltip.Formatted(pawn.Named(\"PAWN\")));\n\t\t}\n\t\telse\n\t\t{\n\t\t\tstring description = Description;\n\t\t\tif (!description.NullOrEmpty())\n\t\t\t{\n\t\t\t\ttipSb.AppendLine().AppendLine(description);\n\t\t\t}\n\t\t}\n\t\tif (!def.extraTooltip.NullOrEmpty())\n\t\t{\n\t\t\ttipSb.AppendLine().AppendLineTagged(def.extraTooltip.Formatted(pawn.Named(\"PAWN\")));\n\t\t}\n\t\tif (curStage != null && !curStage.extraTooltip.NullOrEmpty())\n\t\t{\n\t\t\ttipSb.AppendLine().AppendLineTagged(curStage.extraTooltip.Formatted(pawn.Named(\"PAWN\")));\n\t\t}\n\t\tstring tipStringExtra = TipStringExtra;\n\t\tif (!tipStringExtra.NullOrEmpty())\n\t\t{\n\t\t\ttipSb.AppendLine().AppendLine(tipStringExtra.TrimEndNewlines());\n\t\t}\n\t\tif (HealthCardUtility.GetCombatLogInfo(Gen.YieldSingle(this), out var taggedString, out var _) && !taggedString.NullOrEmpty())\n\t\t{\n\t\t\ttipSb.AppendLine().AppendLineTagged((\"Cause\".Translate() + \": \" + taggedString).Colorize(ColoredText.SubtleGrayColor));\n\t\t}\n\t\tif (showHediffsDebugInfo && !DebugString().NullOrEmpty() && !DebugString().NullOrEmpty())\n\t\t{\n\t\t\ttipSb.AppendLine().AppendLine(DebugString().TrimEndNewlines());\n\t\t}\n\t\treturn tipSb.ToString().TrimEnd();\n\t}\n\n\tpublic virtual void CopyFrom(Hediff other)\n\t{\n\t\tageTicks = other.ageTicks;\n\t\tsourceLabel = other.sourceLabel;\n\t\tsourceDef = other.sourceDef;\n\t\tsourceBodyPartGroup = other.sourceBodyPartGroup;\n\t\tseverityInt = other.severityInt;\n\t}\n\n\tpublic virtual void PostDebugAdd()\n\t{\n\t}\n\n\tpublic virtual string DebugString()\n\t{\n\t\tstring text = \"\";\n\t\tif (!Visible)\n\t\t{\n\t\t\ttext += \"hidden\\n\";\n\t\t}\n\t\ttext = text + \"severity: \" + Severity.ToString(\"F3\") + ((Severity >= def.maxSeverity) ? \" (reached max)\" : \"\");\n\t\tif (TendableNow())\n\t\t{\n\t\t\ttext = text + \"\\ntend priority: \" + TendPriority;\n\t\t}\n\t\treturn text.Indented();\n\t}\n\n\tpublic virtual IEnumerable SpecialDisplayStats(StatRequest req)\n\t{\n\t\tforeach (StatDrawEntry item in def.SpecialDisplayStats(req))\n\t\t{\n\t\t\tyield return item;\n\t\t}\n\t}\n\n\tpublic override string ToString()\n\t{\n\t\treturn \"(\" + (def?.defName ?? GetType().Name) + ((part != null) ? (\" \" + part.Label) : \"\") + \" ticksSinceCreation=\" + ageTicks + \")\";\n\t}\n\n\tpublic string GetUniqueLoadID()\n\t{\n\t\treturn \"Hediff_\" + loadID;\n\t}\n}\n\n", "timestamp": "2025-08-26 18:07:35,611" }, "Pawn_HealthTracker-PreApplyDamage": { "keywords": [ "Pawn_HealthTracker", "PreApplyDamage" ], "question": "RimWorld Pawn_HealthTracker PreApplyDamage", "embedding": [ 0.033833958208560944, 0.00013329062494449317, -0.008444068022072315, -0.044275473803281784, -0.0302861537784338, 0.0274017583578825, 0.007766235154122114, 0.011025601997971535, 0.04640992358326912, 0.11254911869764328, -0.025022132322192192, -0.04589073359966278, -0.01437150128185749, -0.006915338337421417, 0.045169632881879807, 0.011580848135054111, -0.00297273020260036, -0.06593728065490723, 0.011501527391374111, 0.006929760333150625, -0.03723754733800888, 0.040208473801612854, 0.013888364657759666, -0.02580091916024685, -0.0034144031815230846, -0.0013610741589218378, -0.09212759137153625, 0.032478295266628265, 0.013087945058941841, 0.006789145991206169, -0.006212267093360424, -0.05936086177825928, 0.006680981256067753, -0.014739261008799076, 0.013563870452344418, 0.05330362915992737, -0.011833232827484608, 0.007549905218183994, -0.04589073359966278, 0.015388250350952148, -0.04534269869327545, -0.0012826547026634216, 0.02457505092024803, 0.03406471014022827, 0.011624114587903023, 0.011357307434082031, 0.04782328009605408, -0.07868631184101105, -0.01160248089581728, 0.009987219236791134, 0.013881153427064419, -0.03354552015662193, -0.0073516033589839935, 0.020464787259697914, -0.00035964808193966746, -0.0026356163434684277, -0.005862534046173096, 0.0384489931166172, 0.012208203785121441, 0.02470484748482704, 0.010520832613110542, 0.017825564369559288, 0.003771347226575017, -0.014010951854288578, -0.006792751606553793, 0.016657384112477303, -0.07637879252433777, -0.01570553332567215, 0.034756965935230255, -0.03291095420718193, -0.027776729315519333, 0.028079591691493988, 0.026190312579274178, 0.03412239998579025, 0.04303518310189247, 0.028627626597881317, 0.04118916764855385, 0.017364060506224632, -0.033372458070516586, -0.004683537408709526, 0.003097119741141796, -0.0096122482791543, -0.014912324957549572, -0.02890164405107498, 0.0171477310359478, 0.009965586476027966, 0.012489432469010353, -0.04179489240050316, -0.0027726253028959036, 0.0762634202837944, -0.007564327213913202, 0.007297520991414785, 0.01111934520304203, -0.016037238761782646, -0.013361962512135506, -0.005044086836278439, -0.014768105000257492, 0.05982236564159393, -0.014941168949007988, 0.0035369901452213526, -0.019729265943169594, 0.0005786818801425397, -0.04240061342716217, 0.06051461771130562, -0.06403358280658722, 0.011472683399915695, -0.0056822593323886395, 0.022772302851080894, -0.007340786512941122, 0.009655513800680637, -0.02931988053023815, -0.003237734083086252, -0.03322823718190193, 0.05114033445715904, -0.021387793123722076, -0.014587830752134323, 0.017666922882199287, 0.022253111004829407, -0.02525288239121437, -0.005408241879194975, 0.05506310984492302, -5.253318158793263e-05, -0.042602524161338806, -0.03031499683856964, 0.03201679140329361, 0.01023960392922163, 0.025945138186216354, 0.0032828026451170444, -0.013744144700467587, 0.02409912459552288, -0.017032355070114136, -0.009381496347486973, 0.00014343108341563493, 0.010722740553319454, -0.017811141908168793, -0.0014494088245555758, 0.0030845005530864, 0.034814655780792236, -0.045429229736328125, 0.008891149424016476, -0.0336608961224556, -0.012251470237970352, 0.007171328645199537, 0.0010564099065959454, 0.08728180825710297, -0.03957390785217285, -0.05258253216743469, 0.0160228181630373, -0.02800748124718666, 0.020536895841360092, 0.0023579932749271393, 0.007434529718011618, -0.001443099114112556, 0.04701564833521843, -0.015272874385118484, -0.038189396262168884, 0.012359634973108768, -0.03602610155940056, -0.012200993485748768, -0.0016900754999369383, -0.024877911433577538, -0.037612516433000565, -0.005029664840549231, -0.017998628318309784, 0.015417094342410564, 0.0027347675058990717, -0.0785132497549057, -0.0073804473504424095, 0.011407784186303616, -0.037352923303842545, -0.0455157607793808, 0.01292930357158184, 0.0012520079035311937, -0.015719955787062645, 0.034208931028842926, 0.026334531605243683, 0.012071195058524609, 0.023118430748581886, 0.016368944197893143, 0.010924648493528366, -0.005054903216660023, 0.002974533010274172, -0.019339872524142265, 0.00580124044790864, 0.025844184681773186, -0.018979322165250778, 0.011710645630955696, 0.04329477623105049, -0.0007053248700685799, 0.06784098595380783, 0.03755483031272888, 0.07574422657489777, -0.017839986830949783, -0.015474782325327396, 0.008710874244570732, 0.006612476892769337, 0.013181687332689762, 0.028368029743433, -0.11289524286985397, -0.00011650253873085603, -0.011508738622069359, -0.006652137264609337, 0.011285197921097279, 0.0004403210186865181, 0.04987119883298874, -0.007448951713740826, -0.05137108638882637, 0.005981515161693096, 0.03599725663661957, 0.015114232897758484, 0.035016562789678574, -0.000190978535101749, -0.008552232757210732, -0.004012915305793285, -0.04289096221327782, -0.007384052500128746, -0.04090072959661484, 0.008566655218601227, 0.005732736084610224, 0.059533923864364624, -0.018373599275946617, 0.029651585966348648, -0.0493520088493824, 0.016167037189006805, 0.04320824518799782, 0.012467799708247185, 0.031295690685510635, 0.023435713723301888, 0.051169175654649734, 0.010023274458944798, 0.02404143661260605, 0.015965130180120468, -0.0768979862332344, 0.02326264977455139, -0.004658299032598734, -0.05428432300686836, -0.005274838302284479, -0.09760794788599014, -0.008847882971167564, 0.016066083684563637, 0.012676918879151344, 0.038189396262168884, -0.017061199992895126, 0.0006958604208193719, -0.005963488016277552, -0.011234721168875694, -0.03031499683856964, 0.0007914060261100531, 0.0019613890908658504, -0.017767876386642456, 0.039631593972444534, -0.013549447990953922, -0.02910355105996132, -0.028497828170657158, 0.03149760141968727, -0.0026392219588160515, -0.010636208578944206, -0.033285923302173615, 0.0009338230593129992, 0.002325543900951743, -0.021387793123722076, 0.013015834614634514, -0.01485463697463274, 0.043467842042446136, -0.029536210000514984, 0.044910039752721786, 0.0029330698307603598, 0.005051297601312399, 0.0066160825081169605, -0.007398474495857954, -0.00020754127763211727, 0.01762365736067295, 0.013174477033317089, -0.032449450343847275, -0.036487605422735214, -0.005292865913361311, 0.06311057507991791, 0.0161814596503973, -0.01544593833386898, 0.011660168878734112, -0.0142633356153965, -0.019498514011502266, 0.016614118590950966, -0.04214102029800415, -0.02252712845802307, 0.07170607149600983, -0.001465633511543274, -0.05137108638882637, 0.01357108075171709, 0.04012194275856018, -0.061841439455747604, -0.014364290051162243, -0.013758567161858082, 0.022570395842194557, -0.022671349346637726, 0.026392219588160515, 0.03325708210468292, -5.79132538405247e-05, -0.015950707718729973, 0.013282641768455505, -0.05627455934882164, -0.04274674132466316, 0.0036559714935719967, -0.0010203549172729254, 0.031036095693707466, -0.007045136298984289, -0.02865646965801716, -0.07960931956768036, -0.00304844556376338, -0.08687799423933029, 0.028930487111210823, -0.0256422758102417, 0.007953721098601818, -0.013239375315606594, -0.005177489947527647, 0.007070374675095081, -0.042025644332170486, -0.005383003037422895, -0.011912553571164608, 0.04652529954910278, 0.02140221558511257, -0.006662953644990921, -0.06812942028045654, -0.012467799708247185, -0.011090501211583614, 0.013361962512135506, 0.012359634973108768, 0.01615261472761631, -0.004402308724820614, 0.006122129503637552, 0.017551546916365623, -0.002902423031628132, -0.026622971519827843, 0.08970469981431961, 0.021387793123722076, 0.029651585966348648, -0.002354387892410159, -0.011847654357552528, 0.010996758006513119, 0.01827264577150345, -0.03259367123246193, -0.010189127177000046, -0.0003265225968789309, -0.014811371453106403, 0.015373828820884228, 0.011732279323041439, 0.029940025880932808, 0.039372000843286514, 0.04467928782105446, -0.00298895500600338, 0.04733293130993843, 0.0017081029945984483, -0.035016562789678574, 0.0003828584449365735, 0.010744373314082623, 0.003713659243658185, -0.028613204136490822, 0.02339244820177555, -0.0487174428999424, 0.021459903568029404, -0.009547349065542221, -0.018806258216500282, -0.0881471261382103, -0.024531783536076546, 0.004809729754924774, 0.007088402286171913, 0.030170777812600136, 0.0032719862647354603, -0.07487890869379044, -0.009864632971584797, -0.03922777995467186, -0.07124456763267517, -0.010290081612765789, 0.010794850066304207, 0.021301262080669403, -0.002967322012409568, 0.00735520850867033, -0.007120851427316666, -0.011919764801859856, -0.0025508874095976353, 0.006900916341692209, -0.008891149424016476, -0.004755647387355566, -0.022584816440939903, -0.0051594628021121025, 0.012943725101649761, 0.013167265802621841, -0.026291266083717346, 0.01038382388651371, -0.04075650870800018, 0.05422663688659668, 0.024820223450660706, 0.013160054571926594, -0.015907442197203636, 0.026363374665379524, -0.003580255899578333, 0.02313285320997238, 0.015619002282619476, 0.037641361355781555, 0.010982336476445198, -0.022137736901640892, 0.009403129108250141, -0.05491889268159866, -0.03605494275689125, 0.05370744690299034, 0.034814655780792236, -0.019282184541225433, -0.0153017183765769, -0.0538516640663147, -0.0010600154055282474, -0.011364518664777279, -0.04277558624744415, 0.0721098855137825, 0.03452621400356293, -0.01913796365261078, -0.02102724276483059, 0.03891049697995186, -0.0003168328257743269, 0.013527815230190754, 0.0019938384648412466, -0.043698593974113464, 0.014753683470189571, -0.043410152196884155, -0.013643191196024418, 0.003632535692304373, 0.05517848581075668, -0.009172378107905388, -0.029377568513154984, 0.02079649269580841, 0.032189853489398956, -0.02554132230579853, -0.0432659350335598, -0.019556201994419098, 0.05015964061021805, 0.006897310726344585, -0.007838345132768154, 0.002094792202115059, 0.010102595202624798, -0.04465044289827347, -0.018056316301226616, -0.07678260654211044, -0.006576421670615673, 0.09074308723211288, -0.009417551569640636, -0.07880168408155441, -0.03547806665301323, 0.0054947733879089355, -0.01858992874622345, 0.012265891768038273, 0.010643419809639454, -0.04502541571855545, -0.0314110666513443, 0.021935828030109406, 0.0053685810416936874, -0.013513392768800259, 0.06789866834878922, -0.003643352072685957, -0.02137337066233158, -0.029276615008711815, -0.016383366659283638, -0.028670892119407654, -0.026579705998301506, -0.0030520509462803602, 0.004784490913152695, 0.003908356186002493, -0.027791151776909828, -0.02887279912829399, -0.01357108075171709, 0.0065728165209293365, -0.08549348264932632, -0.0190658550709486, -0.0005358665948733687, -0.011883709579706192, -0.006439412944018841, 0.0014485074207186699, -0.031555287539958954, -0.031064940616488457, 0.008999314159154892, 0.016657384112477303, -0.011068868450820446, 0.011689012870192528, 0.03928546607494354, -0.04179489240050316, 0.01046314463019371, -0.09120459109544754, -0.040785353630781174, -0.010931858792901039, -0.03169950842857361, 0.03807402029633522, -0.040208473801612854, 0.013297063298523426, -0.024603893980383873, 0.023421291261911392, 0.08370515704154968, 0.003089908743277192, 0.015532470308244228, -0.03550690785050392, -0.028670892119407654, -0.023349182680249214, -0.11837559193372726, -0.046929117292165756, 0.003738897852599621, 0.02884395606815815, 0.014659940265119076, -0.01256154291331768, -0.010657841339707375, -0.007344392128288746, 0.03322823718190193, -0.014321023598313332, -0.001451211515814066, 0.005451507400721312, -0.031295690685510635, 0.012568754144012928, 0.006915338337421417, -0.02567112073302269, 0.045140791684389114, 0.03031499683856964, -0.009561771526932716, 0.007636437192559242, 0.030372684821486473, 0.009403129108250141, -0.02006097137928009, 0.06080305948853493, -0.032132167369127274, 0.004629455041140318, -0.035276155918836594, 0.013210531324148178, -0.02897375263273716, -0.027993058785796165, -0.004578977823257446, -0.01573437824845314, -0.01625356823205948, 0.030978407710790634, 0.0245173629373312, 0.07205220311880112, 0.0249932873994112, 0.011270775459706783, 0.01990232989192009, 0.036804888397455215, 0.03542037680745125, 0.003937200177460909, 0.02262808382511139, 0.004943132866173983, -0.006991053931415081, 0.040583446621894836, 0.009770889766514301, 0.01990232989192009, -0.021560857072472572, 0.02278672531247139, -0.013607135973870754, 0.021517591550946236, 0.051746055483818054, -0.009540138766169548, -0.043150559067726135, 0.040785353630781174, -0.003720870241522789, 0.04557345062494278, 0.056130338460206985, -0.03585303574800491, 0.012222626246511936, 0.006612476892769337, -0.003796585602685809, -0.015820909291505814, -0.018806258216500282, -0.005963488016277552, 0.025916293263435364, -0.023882795125246048, 0.009684357792139053, -0.018532240763306618, -0.034756965935230255, -0.016931401565670967, 0.011487104929983616, -0.06737948209047318, -0.013340329751372337, 0.009460817091166973, 0.006385330576449633, 0.013801832683384418, -0.006031992379575968, 0.1009538471698761, 0.001544954371638596, -0.0019379532895982265, -0.006363697815686464, 0.005181095562875271, -0.011205877177417278, 0.04003541171550751, 0.015921862795948982, 0.017263107001781464, -0.015647845342755318, 0.010044907219707966, -0.01528729684650898, 0.05203449726104736, 0.0326802022755146, -0.054716985672712326, -0.04072766378521919, -0.0025959559716284275, 0.053793977946043015, 0.04136223345994949, 0.0461503304541111, 0.012914881110191345, 0.03311286121606827, 0.013585503213107586, -0.0349300317466259, -0.003713659243658185, -0.009496872313320637, 0.016167037189006805, -0.04522732272744179, -0.012027929536998272, 0.026204733178019524, 0.031007252633571625, 0.002487791236490011, -0.01759481243789196, 0.027473866939544678, -0.014926747418940067, 0.012669707648456097, 0.04534269869327545, 0.029247771948575974, 0.008400802500545979, 0.004517684690654278, 0.009626669809222221, -0.028771845623850822, -0.029521789401769638, -0.008826250210404396, 0.03438199684023857, -0.06639878451824188, -0.032391760498285294, -0.004968371242284775, -0.04413125291466713, 2.570323158579413e-05, -0.023608777672052383, 0.010412667877972126, 0.015604579821228981, 0.006709825247526169, -0.029795806854963303, 0.012835560366511345, 0.05982236564159393, 0.011854865588247776, 0.0024913966190069914, -0.005812057293951511, -0.06997543573379517, 0.0006760302348993719, 0.03521846979856491, 0.030055401846766472, -0.05936086177825928, 0.03922777995467186, 0.014111905358731747, -0.05258253216743469, -0.031295690685510635, -0.04300633817911148, -0.04280443117022514, -0.027315225452184677, -0.013809043914079666, 0.02223869040608406, -0.024762535467743874, -0.02239733189344406, -0.04756368324160576, -0.009879054501652718, -0.0256422758102417, -0.02621915563941002, -0.020493630319833755, -0.020724382251501083, -0.008429646492004395, 0.02614704519510269, 0.013232165016233921, -0.029853494837880135, 0.03221869841217995, -0.021993516013026237, -0.03221869841217995, -0.015647845342755318, 0.010614575818181038, 0.009554560296237469, 0.011422206647694111, 0.02252712845802307, 0.0004497854388318956, -0.02008981443941593, 0.07557116448879242, -0.02650759555399418, -0.02375299669802189, 0.015099810436367989, -0.0031043307390064, 0.01448687631636858, -0.02727195993065834, 0.014811371453106403, 0.01515749841928482, 0.028151700273156166, 0.008732507936656475, 0.0336608961224556, 0.019628312438726425, 0.02580091916024685, 0.007283098995685577, 0.003771347226575017, -0.0027347675058990717, -0.05823594704270363, 0.044044721871614456, -0.0018568296218290925, -0.0471021793782711, 0.0016918783076107502, -0.04589073359966278, 0.009367074817419052, -0.0010906620882451534, 0.013585503213107586, 0.09431973844766617, -0.001426874427124858, -0.02355108968913555, 0.014652729034423828, 0.02089744620025158, -0.07510966062545776, -0.011032813228666782, -0.015474782325327396, -0.009273331612348557, -0.014558986760675907, -0.023147273808717728, 0.03314170613884926, 0.022671349346637726, -0.013066312298178673, -0.011869288049638271, 0.01264086365699768, 0.03167066350579262, -0.03720870241522789, -0.06391820311546326, 0.01858992874622345, 0.017811141908168793, 0.03518962487578392, -0.01657085306942463, -0.017681345343589783, 0.018085159361362457, 0.028353609144687653, -0.040525756776332855, -0.015215186402201653, 0.013816255144774914, 0.024142390117049217, -0.019109120592474937, 0.006857650354504585, -0.005191911943256855, 0.005022453609853983, 0.030488060787320137, 0.04640992358326912, 0.014429189264774323, -0.012410111725330353, 0.03585303574800491, -0.01528729684650898, -0.008451279252767563, -0.03291095420718193, 0.032189853489398956, -0.0032647752668708563, 0.05200565233826637, 0.0020100632682442665, 0.011753912083804607, 0.05936086177825928, 0.032478295266628265, -0.01801305077970028, 0.001571094268001616, -0.0005511899362318218, 0.0772441104054451, 0.0013268219772726297, 0.046294547617435455, 0.023277072235941887, 0.028771845623850822, 0.05393819883465767, -0.0004437011666595936, 0.0064177801832556725, 0.008047463372349739, -0.07591728866100311, -0.012157727032899857, -0.03322823718190193, -0.014811371453106403, 0.059533923864364624, -0.02816612273454666, -0.01625356823205948, 0.008667608723044395, -0.04410240799188614, -0.040525756776332855, -0.03282442316412926, -0.05315941199660301, 0.02897375263273716, 0.014732050709426403, 0.026608549058437347, -0.035939570516347885, 0.00916516687721014, -0.035045407712459564, 0.0027924554888159037, -0.018820680677890778, -0.057601381093263626, -0.012431744486093521, -0.03354552015662193, 0.00801140908151865, 0.006691797636449337, 0.030689969658851624, 0.006807173602283001, -0.023825107142329216, -0.014378711581230164, -0.013087945058941841, 0.015388250350952148, -0.002922253217548132, 0.037958644330501556, 0.0034144031815230846, 0.004377070348709822, -0.0026752769481390715, 0.057543691247701645, 0.017248686403036118, 0.06276445090770721, -0.029334302991628647, 0.004456391092389822, -0.01091022603213787, -0.01835917867720127, 0.006378119811415672, -0.011645747348666191, -0.00026793329743668437, -0.03634338453412056, -0.02076764777302742, -0.0021056088153272867, -0.030084244906902313, 0.005260416306555271, -0.012936513870954514, -0.019440826028585434, 0.025873027741909027, -0.014825792983174324, 0.0035405955277383327, -0.0034919213503599167, 0.04915010184049606, -0.039343155920505524, 0.002960111014544964, -0.013470127247273922, 0.015546891838312149, 0.003778558224439621, -0.0028483406640589237, -0.00594546040520072, -0.04964044690132141, -0.024863488972187042, -0.05913010984659195, 0.02627684362232685, -0.030430372804403305, -0.041073791682720184, 0.0008865009294822812, 0.02021961286664009, 0.0429486483335495, 0.009439184330403805, -0.008292636834084988, 0.0010140453232452273, -0.02102724276483059, -0.04626570641994476, 0.020724382251501083, 0.0077734459191560745, 9.42498809308745e-05, -0.02252712845802307, 0.02839687466621399, -0.021431058645248413, -0.014724839478731155, 0.004690748173743486, -0.03697795048356056, 0.010657841339707375, -0.06772560626268387, 0.046842582523822784, -0.023536667227745056, -0.04557345062494278, 0.02829592116177082, 0.06501427292823792, -0.020133081823587418, 0.04017962887883186, -0.010614575818181038, 0.04433315992355347, -0.013080733828246593, 0.03741060942411423, 0.03516078367829323, 0.018806258216500282, -0.002999771386384964, -0.012900459580123425, 0.005635387729853392, -0.012835560366511345, 0.0094536067917943, -0.025079820305109024, 0.07649417221546173, 0.024113547056913376, -0.003695631865411997, 0.017508281394839287, 0.028497828170657158, -0.05719756335020065, -0.030488060787320137, -0.011169821955263615, -0.021517591550946236, -0.005332526285201311, -0.059880051761865616, 0.008855094201862812, 0.03628569468855858, 0.0016864700010046363, -0.006100496742874384, -0.023190541192889214, 0.028411297127604485, -0.025166351348161697, -0.03542037680745125, 0.03567997366189957, 0.020118659362196922, -0.03305517137050629, -0.0002870874886866659, 0.031036095693707466, 0.05356322601437569, 0.023190541192889214, -0.0365452915430069, -0.02973811887204647, 0.005127013195306063, -0.0019451642874628305, 0.006742274854332209, -0.010729951784014702, 0.04666952043771744, -0.024459674954414368, -0.04969813674688339, -0.03922777995467186, -0.021142618730664253, -0.0038939339574426413, 0.01008096244186163, -0.007286704145371914, -0.013607135973870754, 0.004564555827528238, 0.018243802711367607, 0.03351667523384094, -0.003966043703258038, -0.04617917165160179, 0.014652729034423828, 0.06830248981714249, 0.038795121014118195, 0.0008765858365222812, -0.00894162617623806, -0.011104922741651535, 0.01929660700261593, -0.03089187666773796, 0.027344070374965668, 0.0013069917913526297, 0.00013329062494449317, 0.013066312298178673, -0.00473401416093111, -0.016426632180809975, -0.03400702401995659, -0.008465700782835484, 0.08860863000154495, 0.041419919580221176, 0.04560229554772377, 0.026622971519827843, 0.023219384253025055, 0.0017207221826538444, 0.007528272457420826, -0.03798748925328255, -0.004369859118014574, -0.052092183381319046, 0.025267304852604866, 0.006605265662074089, 0.007470584474503994, 0.009338230825960636, 0.03550690785050392, -0.053793977946043015, 0.028368029743433, -0.021647388115525246, -0.03547806665301323, 0.03423777595162392, 0.006771118380129337, 0.00723622739315033, -0.003673998871818185, -0.025945138186216354, -0.026767190545797348, -0.007088402286171913, 0.014494087547063828, -0.0063456702046096325, 0.026046091690659523, 0.04825593903660774, 0.031901415437459946, 0.004283327609300613, 0.02477695792913437, -0.005483957007527351, -0.025613432750105858, -0.017162153497338295, 0.04185257852077484, 0.015518047846853733, -0.052669063210487366, 0.054688140749931335, 0.01097512524574995, -0.07384052872657776, 0.039718128740787506, 0.054803516715765, -0.03746829926967621, -0.06628341227769852, -0.07735949009656906, -0.015546891838312149, 0.07130225747823715, 0.021142618730664253, -0.06720642000436783, -0.03438199684023857, 0.023190541192889214, -0.001629683538340032, 0.03660298138856888, -0.040266163647174835, 0.006114918738603592, -0.0161814596503973, -0.0034342333674430847, -0.025440368801355362, -0.015532470308244228, 0.0018514214316383004, 0.005282049532979727, -0.012604808434844017, -0.004301354754716158, -0.03570881858468056, 0.029651585966348648, 0.05085189267992973, -0.044044721871614456, 0.004705170169472694, -0.00812678411602974, -0.0016567247221246362, -0.040843039751052856, 0.026334531605243683, -0.09703106433153152, 0.0451984778046608, 0.013210531324148178, -0.03663182258605957, 0.09576193243265152, -0.031872570514678955, 0.05393819883465767, -0.0078022899106144905, 0.00015650098794139922, -0.017032355070114136, -0.04104495048522949, 0.009431973099708557, -0.01990232989192009, -0.03553575277328491, -0.022512707859277725, 0.02528172731399536, 0.04906356707215309, -0.028194965794682503 ], "result": "--- 结果 1 (相似度: 1.000) ---\n文件路径: C:\\Steam\\steamapps\\common\\RimWorld\\Data\\dll1.6\\Verse\\Pawn_HealthTracker.txt\n\npublic class Pawn_HealthTracker : IExposable\n{\n\tprivate const float CrawlingManipulationRequirement = 0.15f;\n\n\tprivate const int CrawlingAgeRequirement = 8;\n\n\tprivate static FloatRange BloodFilthDropDistanceRangeFromBleedRate = new FloatRange(0.7f, 0.25f);\n\n\tprivate readonly Pawn pawn;\n\n\tprivate PawnHealthState healthState = PawnHealthState.Mobile;\n\n\t[Unsaved(false)]\n\tpublic Effecter woundedEffecter;\n\n\t[Unsaved(false)]\n\tpublic Effecter deflectionEffecter;\n\n\t[LoadAlias(\"forceIncap\")]\n\tpublic bool forceDowned;\n\n\tpublic bool beCarriedByCaravanIfSick;\n\n\tpublic bool killedByRitual;\n\n\tpublic int lastReceivedNeuralSuperchargeTick = -1;\n\n\tpublic float overrideDeathOnDownedChance = -1f;\n\n\tprivate Vector3? lastSmearDropPos;\n\n\tpublic bool isBeingKilled;\n\n\tpublic bool couldCrawl;\n\n\tpublic HediffSet hediffSet;\n\n\tpublic PawnCapacitiesHandler capacities;\n\n\tpublic BillStack surgeryBills;\n\n\tpublic SummaryHealthHandler summaryHealth;\n\n\tpublic ImmunityHandler immunity;\n\n\tprivate List tmpMechInjuries = new List();\n\n\tprivate List tmpHediffInjuries = new List();\n\n\tprivate List tmpHediffMissing = new List();\n\n\tprivate static readonly List tmpHediffs = new List(100);\n\n\tprivate static readonly HashSet tmpRemovedHediffs = new HashSet();\n\n\tpublic PawnHealthState State => healthState;\n\n\tpublic bool Downed => healthState == PawnHealthState.Down;\n\n\tpublic bool Dead => healthState == PawnHealthState.Dead;\n\n\tpublic float LethalDamageThreshold => 150f * pawn.HealthScale;\n\n\tpublic bool CanBleed\n\t{\n\t\tget\n\t\t{\n\t\t\tif (pawn.IsMutant && !pawn.mutant.Def.canBleed)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tif (pawn.RaceProps.BloodDef == null)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tif (pawn.RaceProps.bleedRateFactor <= 0f)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn pawn.RaceProps.IsFlesh;\n\t\t}\n\t}\n\n\tpublic bool InPainShock\n\t{\n\t\tget\n\t\t{\n\t\t\tif (!pawn.kindDef.ignoresPainShock)\n\t\t\t{\n\t\t\t\treturn hediffSet.PainTotal >= pawn.GetStatValue(StatDefOf.PainShockThreshold);\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic bool CanCrawlOrMove\n\t{\n\t\tget\n\t\t{\n\t\t\tif (!CanCrawl)\n\t\t\t{\n\t\t\t\treturn !Downed;\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t}\n\n\tpublic bool CanCrawl\n\t{\n\t\tget\n\t\t{\n\t\t\tif (!pawn.RaceProps.Humanlike)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tif (!pawn.Awake())\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tif (capacities.GetLevel(PawnCapacityDefOf.Manipulation) < 0.15f)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tif (pawn.ageTracker.AgeBiologicalYears < 8)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tif (hediffSet.AnyHediffPreventsCrawling)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t}\n\n\tpublic IEnumerable DisabledWorkTypes\n\t{\n\t\tget\n\t\t{\n\t\t\tif (hediffSet == null)\n\t\t\t{\n\t\t\t\tyield break;\n\t\t\t}\n\t\t\tWorkTags tags = WorkTags.None;\n\t\t\tforeach (Hediff hediff in hediffSet.hediffs)\n\t\t\t{\n\t\t\t\tHediffStage curStage = hediff.CurStage;\n\t\t\t\tif (curStage != null)\n\t\t\t\t{\n\t\t\t\t\ttags |= curStage.disabledWorkTags;\n\t\t\t\t}\n\t\t\t}\n\t\t\tList list = DefDatabase.AllDefsListForReading;\n\t\t\tfor (int i = 0; i < list.Count; i++)\n\t\t\t{\n\t\t\t\tif ((tags & list[i].workTags) != 0)\n\t\t\t\t{\n\t\t\t\t\tyield return list[i];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic Pawn_HealthTracker(Pawn pawn)\n\t{\n\t\tthis.pawn = pawn;\n\t\thediffSet = new HediffSet(pawn);\n\t\tcapacities = new PawnCapacitiesHandler(pawn);\n\t\tsummaryHealth = new SummaryHealthHandler(pawn);\n\t\tsurgeryBills = new BillStack(pawn);\n\t\timmunity = new ImmunityHandler(pawn);\n\t\tbeCarriedByCaravanIfSick = pawn.RaceProps.Humanlike;\n\t}\n\n\tpublic void Reset()\n\t{\n\t\thealthState = PawnHealthState.Mobile;\n\t\thediffSet.Clear();\n\t\tcapacities.Clear();\n\t\tsummaryHealth.Notify_HealthChanged();\n\t\tsurgeryBills.Clear();\n\t\timmunity = new ImmunityHandler(pawn);\n\t}\n\n\tpublic void ExposeData()\n\t{\n\t\tScribe_Values.Look(ref healthState, \"healthState\", PawnHealthState.Mobile);\n\t\tScribe_Values.Look(ref forceDowned, \"forceDowned\", defaultValue: false);\n\t\tScribe_Values.Look(ref beCarriedByCaravanIfSick, \"beCarriedByCaravanIfSick\", defaultValue: true);\n\t\tScribe_Values.Look(ref killedByRitual, \"killedByRitual\", defaultValue: false);\n\t\tScribe_Values.Look(ref lastReceivedNeuralSuperchargeTick, \"lastReceivedNeuralSuperchargeTick\", -1);\n\t\tScribe_Deep.Look(ref hediffSet, \"hediffSet\", pawn);\n\t\tScribe_Deep.Look(ref surgeryBills, \"surgeryBills\", pawn);\n\t\tScribe_Deep.Look(ref immunity, \"immunity\", pawn);\n\t\tScribe_Values.Look(ref lastSmearDropPos, \"lastSmearDropPos\");\n\t\tScribe_Values.Look(ref overrideDeathOnDownedChance, \"overrideDeathOnDownedChance\", -1f);\n\t}\n\n\tpublic Hediff AddHediff(HediffDef def, BodyPartRecord part = null, DamageInfo? dinfo = null, DamageWorker.DamageResult result = null)\n\t{\n\t\tHediff hediff = HediffMaker.MakeHediff(def, pawn, part);\n\t\tAddHediff(hediff, part, dinfo, result);\n\t\treturn hediff;\n\t}\n\n\tpublic Hediff GetOrAddHediff(HediffDef def, BodyPartRecord part = null, DamageInfo? dinfo = null, DamageWorker.DamageResult result = null)\n\t{\n\t\tif (!hediffSet.TryGetHediff(def, out var hediff))\n\t\t{\n\t\t\treturn AddHediff(def, part, dinfo, result);\n\t\t}\n\t\treturn hediff;\n\t}\n\n\tpublic void AddHediff(Hediff hediff, BodyPartRecord part = null, DamageInfo? dinfo = null, DamageWorker.DamageResult result = null)\n\t{\n\t\tif (part == null && hediff.def.defaultInstallPart != null)\n\t\t{\n\t\t\tpart = pawn.RaceProps.body.AllParts.Where((BodyPartRecord x) => x.def == hediff.def.defaultInstallPart).RandomElement();\n\t\t}\n\t\tif (part != null)\n\t\t{\n\t\t\thediff.Part = part;\n\t\t}\n\t\thediffSet.AddDirect(hediff, dinfo, result);\n\t\tCheckForStateChange(dinfo, hediff);\n\t\tif (pawn.RaceProps.hediffGiverSets != null)\n\t\t{\n\t\t\tfor (int i = 0; i < pawn.RaceProps.hediffGiverSets.Count; i++)\n\t\t\t{\n\t\t\t\tHediffGiverSetDef hediffGiverSetDef = pawn.RaceProps.hediffGiverSets[i];\n\t\t\t\tfor (int j = 0; j < hediffGiverSetDef.hediffGivers.Count; j++)\n\t\t\t\t{\n\t\t\t\t\thediffGiverSetDef.hediffGivers[j].OnHediffAdded(pawn, hediff);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (hediff.def.hairColorOverride.HasValue)\n\t\t{\n\t\t\tpawn.story.HairColor = hediff.def.hairColorOverride.Value;\n\t\t\tpawn.Drawer.renderer.SetAllGraphicsDirty();\n\t\t}\n\t\tif (hediff.def.HasDefinedGraphicProperties)\n\t\t{\n\t\t\tpawn.Drawer.renderer.SetAllGraphicsDirty();\n\t\t}\n\t\tif (hediff.def.givesInfectionPathways == null || !pawn.RaceProps.Humanlike)\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\tforeach (InfectionPathwayDef givesInfectionPathway in hediff.def.givesInfectionPathways)\n\t\t{\n\t\t\tpawn.infectionVectors.AddInfectionVector(givesInfectionPathway);\n\t\t}\n\t}\n\n\tpublic void RemoveHediff(Hediff hediff)\n\t{\n\t\thediff.PreRemoved();\n\t\thediffSet.hediffs.Remove(hediff);\n\t\thediffSet.DirtyCache();\n\t\thediff.PostRemoved();\n\t\tCheckForStateChange(null, hediff);\n\t\tif (hediff.def.HasDefinedGraphicProperties || hediff.def.forceRenderTreeRecache)\n\t\t{\n\t\t\tpawn.Drawer.renderer.SetAllGraphicsDirty();\n\t\t}\n\t\ttmpRemovedHediffs.Add(hediff);\n\t}\n\n\tpublic void RemoveAllHediffs()\n\t{\n\t\tfor (int num = hediffSet.hediffs.Count - 1; num >= 0; num--)\n\t\t{\n\t\t\tRemoveHediff(hediffSet.hediffs[num]);\n\t\t}\n\t}\n\n\tpublic void Notify_HediffChanged(Hediff hediff)\n\t{\n\t\thediffSet.DirtyCache();\n\t\tCheckForStateChange(null, hediff);\n\t}\n\n\tpublic void Notify_UsedVerb(Verb verb, LocalTargetInfo target)\n\t{\n\t\tforeach (Hediff hediff in hediffSet.hediffs)\n\t\t{\n\t\t\thediff.Notify_PawnUsedVerb(verb, target);\n\t\t}\n\t}\n\n\tpublic void Notify_Spawned()\n\t{\n\t\tforeach (Hediff hediff in hediffSet.hediffs)\n\t\t{\n\t\t\thediff.Notify_Spawned();\n\t\t}\n\t}\n\n\tpublic void Notify_PawnCorpseDestroyed()\n\t{\n\t\tforeach (Hediff hediff in hediffSet.hediffs)\n\t\t{\n\t\t\thediff.Notify_PawnCorpseDestroyed();\n\t\t}\n\t}\n\n\tpublic void PreApplyDamage(DamageInfo dinfo, out bool absorbed)\n\t{\n\t\tFaction homeFaction = this.pawn.HomeFaction;\n\t\tif (dinfo.Instigator != null && homeFaction != null && homeFaction.IsPlayer && !this.pawn.InAggroMentalState && !dinfo.Def.consideredHelpful && !this.pawn.IsSubhuman)\n\t\t{\n\t\t\tPawn pawn = dinfo.Instigator as Pawn;\n\t\t\tif (dinfo.InstigatorGuilty && pawn != null && pawn.guilt != null && pawn.mindState != null)\n\t\t\t{\n\t\t\t\tpawn.guilt.Notify_Guilty();\n\t\t\t}\n\t\t}\n\t\tif (this.pawn.Spawned)\n\t\t{\n\t\t\tif (!this.pawn.Position.Fogged(this.pawn.Map))\n\t\t\t{\n\t\t\t\tthis.pawn.mindState.Active = true;\n\t\t\t}\n\t\t\tthis.pawn.GetLord()?.Notify_PawnDamaged(this.pawn, dinfo);\n\t\t\tif (dinfo.Def.ExternalViolenceFor(this.pawn))\n\t\t\t{\n\t\t\t\tGenClamor.DoClamor(this.pawn, 18f, ClamorDefOf.Harm);\n\t\t\t}\n\t\t}\n\t\tif (homeFaction != null)\n\t\t{\n\t\t\thomeFaction.Notify_MemberTookDamage(this.pawn, dinfo);\n\t\t\tif (Current.ProgramState == ProgramState.Playing && homeFaction == Faction.OfPlayer && dinfo.Def.ExternalViolenceFor(this.pawn) && this.pawn.SpawnedOrAnyParentSpawned)\n\t\t\t{\n\t\t\t\tthis.pawn.MapHeld.dangerWatcher.Notify_ColonistHarmedExternally();\n\t\t\t}\n\t\t}\n\t\tif (this.pawn.apparel != null && !dinfo.IgnoreArmor)\n\t\t{\n\t\t\tList wornApparel = this.pawn.apparel.WornApparel;\n\t\t\tfor (int i = 0; i < wornApparel.Count; i++)\n\t\t\t{\n\t\t\t\tif (wornApparel[i].CheckPreAbsorbDamage(dinfo))\n\t\t\t\t{\n\t\t\t\t\tabsorbed = true;\n\t\t\t\t\tif (this.pawn.Spawned && dinfo.CheckForJobOverride)\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.pawn.jobs.Notify_DamageTaken(dinfo);\n\t\t\t\t\t}\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (this.pawn.Spawned)\n\t\t{\n\t\t\tthis.pawn.stances.Notify_DamageTaken(dinfo);\n\t\t\tthis.pawn.stances.stunner.Notify_DamageApplied(dinfo);\n\t\t}\n\t\tif (this.pawn.RaceProps.IsFlesh && dinfo.Def.ExternalViolenceFor(this.pawn))\n\t\t{\n\t\t\tPawn pawn2 = dinfo.Instigator as Pawn;\n\t\t\tif (pawn2 != null)\n\t\t\t{\n\t\t\t\tif (pawn2.HostileTo(this.pawn))\n\t\t\t\t{\n\t\t\t\t\tthis.pawn.relations.canGetRescuedThought = true;\n\t\t\t\t}\n\t\t\t\tif (this.pawn.RaceProps.Humanlike && pawn2.RaceProps.Humanlike && this.pawn.needs.mood != null && (!pawn2.HostileTo(this.pawn) || (pawn2.Faction == homeFaction && pawn2.InMentalState)))\n\t\t\t\t{\n\t\t\t\t\tthis.pawn.needs.mood.thoughts.memories.TryGainMemory(ThoughtDefOf.HarmedMe, pawn2);\n\t\t\t\t}\n\t\t\t}\n\t\t\tThingDef thingDef = ((pawn2 != null && dinfo.Weapon != pawn2.def) ? dinfo.Weapon : null);\n\t\t\tTaleRecorder.RecordTale(TaleDefOf.Wounded, this.pawn, pawn2, thingDef);\n\t\t}\n\t\tabsorbed = false;\n\t}\n\n\tpublic void PostApplyDamage(DamageInfo dinfo, float totalDamageDealt)\n\t{\n\t\tif (ShouldBeDead())\n\t\t{\n\t\t\tif (!ShouldBeDeathrestingOrInComa())\n\t\t\t{\n\t\t\t\tif (!this.pawn.Destroyed)\n\t\t\t\t{\n\t\t\t\t\tthis.pawn.Kill(dinfo);\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tForceDeathrestOrComa(dinfo, null);\n\t\t}\n\t\tif (dinfo.Def.additionalHediffs != null && (dinfo.Def.applyAdditionalHediffsIfHuntingForFood || !(dinfo.Instigator is Pawn { CurJob: not null } pawn) || pawn.CurJob.def != JobDefOf.PredatorHunt))\n\t\t{\n\t\t\tList additionalHediffs = dinfo.Def.additionalHediffs;\n\t\t\tfor (int i = 0; i < additionalHediffs.Count; i++)\n\t\t\t{\n\t\t\t\tDamageDefAdditionalHediff damageDefAdditionalHediff = additionalHediffs[i];\n\t\t\t\tif (damageDefAdditionalHediff.hediff == null)\n\t\t\t\t{\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tfloat num = ((damageDefAdditionalHediff.severityFixed <= 0f) ? (totalDamageDealt * damageDefAdditionalHediff.severityPerDamageDealt) : damageDefAdditionalHediff.severityFixed);\n\t\t\t\tif (damageDefAdditionalHediff.victimSeverityScalingByInvBodySize)\n\t\t\t\t{\n\t\t\t\t\tnum *= 1f / this.pawn.BodySize;\n\t\t\t\t}\n\t\t\t\tif (damageDefAdditionalHediff.victimSeverityScaling != null)\n\t\t\t\t{\n\t\t\t\t\tnum *= (damageDefAdditionalHediff.inverseStatScaling ? Mathf.Max(1f - this.pawn.GetStatValue(damageDefAdditionalHediff.victimSeverityScaling), 0f) : this.pawn.GetStatValue(damageDefAdditionalHediff.victimSeverityScaling));\n\t\t\t\t}\n\t\t\t\tif (num >= 0f)\n\t\t\t\t{\n\t\t\t\t\tHediff hediff = HediffMaker.MakeHediff(damageDefAdditionalHediff.hediff, this.pawn);\n\t\t\t\t\thediff.Severity = num;\n\t\t\t\t\tAddHediff(hediff, null, dinfo);\n\t\t\t\t\tif (Dead)\n\t\t\t\t\t{\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tfor (int j = 0; j < hediffSet.hediffs.Count; j++)\n\t\t{\n\t\t\thediffSet.hediffs[j].Notify_PawnPostApplyDamage(dinfo, totalDamageDealt);\n\t\t}\n\t\tif (this.pawn.Spawned && dinfo.CheckForJobOverride)\n\t\t{\n\t\t\tthis.pawn.jobs.Notify_DamageTaken(dinfo);\n\t\t}\n\t}\n\n\tpublic void RestorePart(BodyPartRecord part, Hediff diffException = null, bool checkStateChange = true)\n\t{\n\t\tif (part == null)\n\t\t{\n\t\t\tLog.Error(\"Tried to restore null body part.\");\n\t\t\treturn;\n\t\t}\n\t\tRestorePartRecursiveInt(part, diffException);\n\t\thediffSet.DirtyCache();\n\t\tif (checkStateChange)\n\t\t{\n\t\t\tCheckForStateChange(null, null);\n\t\t}\n\t}\n\n\tprivate void RestorePartRecursiveInt(BodyPartRecord part, Hediff diffException = null)\n\t{\n\t\tList hediffs = hediffSet.hediffs;\n\t\tfor (int num = hediffs.Count - 1; num >= 0; num--)\n\t\t{\n\t\t\tHediff hediff = hediffs[num];\n\t\t\tif (hediff.Part == part && hediff != diffException && !hediff.def.keepOnBodyPartRestoration)\n\t\t\t{\n\t\t\t\thediffs.RemoveAt(num);\n\t\t\t\thediff.PostRemoved();\n\t\t\t}\n\t\t}\n\t\tfor (int i = 0; i < part.parts.Count; i++)\n\t\t{\n\t\t\tRestorePartRecursiveInt(part.parts[i], diffException);\n\t\t}\n\t}\n\n\tpublic float FactorForDamage(DamageInfo dinfo)\n\t{\n\t\treturn hediffSet.FactorForDamage(dinfo);\n\t}\n\n\tpublic void CheckForStateChange(DamageInfo? dinfo, Hediff hediff)\n\t{\n\t\tif (Dead || isBeingKilled)\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\tif (ModsConfig.BiotechActive && pawn.mechanitor != null)\n\t\t{\n\t\t\tpawn.mechanitor.Notify_HediffStateChange(hediff);\n\t\t}\n\t\tif (hediff != null && hediff.def.blocksSleeping && !pawn.Awake())\n\t\t{\n\t\t\tRestUtility.WakeUp(pawn);\n\t\t}\n\t\tif (hediff?.CurStage != null && hediff.CurStage.disabledWorkTags != 0)\n\t\t{\n\t\t\tpawn.Notify_DisabledWorkTypesChanged();\n\t\t}\n\t\tif (pawn.Crawling && !CanCrawl && pawn.CurJob != null)\n\t\t{\n\t\t\tpawn.jobs.EndCurrentJob(JobCondition.InterruptForced, startNewJob: false);\n\t\t}\n\t\telse if (ShouldBeDead())\n\t\t{\n\t\t\tif (ShouldBeDeathrestingOrInComa())\n\t\t\t{\n\t\t\t\tForceDeathrestOrComa(dinfo, hediff);\n\t\t\t}\n\t\t\telse if (!pawn.Destroyed)\n\t\t\t{\n\t\t\t\tpawn.Kill(dinfo, hediff);\n\t\t\t}\n\t\t}\n\t\telse if (!Downed)\n\t\t{\n\t\t\tif (ShouldBeDowned())\n\t\t\t{\n\t\t\t\tif (pawn.kindDef.forceDeathOnDowned)\n\t\t\t\t{\n\t\t\t\t\tpawn.Kill(dinfo);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (!forceDowned && ((dinfo.HasValue && dinfo.Value.Def.ExternalViolenceFor(pawn)) || (hediff != null && hediff.def.canApplyDodChanceForCapacityChanges)) && !pawn.IsWildMan() && !pawn.IsDeactivated() && (pawn.Faction == null || !pawn.Faction.IsPlayer) && (pawn.HostFaction == null || !pawn.HostFaction.IsPlayer))\n\t\t\t\t{\n\t\t\t\t\tbool flag = (ModsConfig.BiotechActive && pawn.genes != null && pawn.genes.HasActiveGene(GeneDefOf.Deathless)) || hediffSet.HasPreventsDeath;\n\t\t\t\t\tfloat num = ((overrideDeathOnDownedChance >= 0f) ? overrideDeathOnDownedChance : ((pawn.IsMutant && pawn.mutant.Def.deathOnDownedChance >= 0f) ? pawn.mutant.Def.deathOnDownedChance : ((flag && pawn.Faction == Faction.OfPlayer) ? 0f : (pawn.kindDef.overrideDeathOnDownedChance.HasValue ? pawn.kindDef.overrideDeathOnDownedChance.Value : ((ModsConfig.AnomalyActive && pawn.Faction == Faction.OfEntities && pawn.MapHeld != null) ? HealthTuning.DeathOnDownedChance_EntityFromThreatCurve.Evaluate(StorytellerUtility.DefaultThreatPointsNow(pawn.MapHeld)) : (pawn.RaceProps.Animal ? 0.5f : ((!pawn.RaceProps.IsMechanoid) ? ((Find.Storyteller.difficulty.unwaveringPrisoners ? HealthTuning.DeathOnDownedChance_NonColonyHumanlikeFromPopulationIntentCurve : HealthTuning.DeathOnDownedChance_NonColonyHumanlikeFromPopulationIntentCurve_WaveringPrisoners).Evaluate(StorytellerUtilityPopulation.PopulationIntent) * Find.Storyteller.difficulty.enemyDeathOnDownedChanceFactor) : 1f)))))));\n\t\t\t\t\tif (Rand.Chance(num))\n\t\t\t\t\t{\n\t\t\t\t\t\tif (DebugViewSettings.logCauseOfDeath)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tLog.Message(\"CauseOfDeath: chance on downed \" + num.ToStringPercent());\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (flag && !pawn.Dead)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpawn.health.AddHediff(HediffDefOf.MissingBodyPart, pawn.health.hediffSet.GetBrain(), dinfo);\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\tpawn.Kill(dinfo);\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tforceDowned = false;\n\t\t\t\tMakeDowned(dinfo, hediff);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (!capacities.CapableOf(PawnCapacityDefOf.Manipulation))\n\t\t\t{\n\t\t\t\tif (pawn.carryTracker != null && pawn.carryTracker.CarriedThing != null && pawn.jobs != null && pawn.CurJob != null)\n\t\t\t\t{\n\t\t\t\t\tpawn.jobs.EndCurrentJob(JobCondition.InterruptForced);\n\t\t\t\t}\n\t\t\t\tif (pawn.equipment != null && pawn.equipment.Primary != null)\n\t\t\t\t{\n\t\t\t\t\tif (pawn.kindDef.destroyGearOnDrop)\n\t\t\t\t\t{\n\t\t\t\t\t\tpawn.equipment.DestroyEquipment(pawn.equipment.Primary);\n\t\t\t\t\t}\n\t\t\t\t\telse if (pawn.InContainerEnclosed)\n\t\t\t\t\t{\n\t\t\t\t\t\tpawn.equipment.TryTransferEquipmentToContainer(pawn.equipment.Primary, pawn.holdingOwner);\n\t\t\t\t\t}\n\t\t\t\t\telse if (pawn.SpawnedOrAnyParentSpawned)\n\t\t\t\t\t{\n\t\t\t\t\t\tpawn.equipment.TryDropEquipment(pawn.equipment.Primary, out var _, pawn.PositionHeld);\n\t\t\t\t\t}\n\t\t\t\t\telse if (pawn.IsCaravanMember())\n\t\t\t\t\t{\n\t\t\t\t\t\tThingWithComps primary = pawn.equipment.Primary;\n\t\t\t\t\t\tpawn.equipment.Remove(primary);\n\t\t\t\t\t\tif (!pawn.inventory.innerContainer.TryAdd(primary))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tprimary.Destroy();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tpawn.equipment.DestroyEquipment(pawn.equipment.Primary);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\telse if (!ShouldBeDowned())\n\t\t{\n\t\t\tMakeUndowned(hediff);\n\t\t}\n\t\tif (Downed && couldCrawl && !CanCrawl && !pawn.InBed())\n\t\t{\n\t\t\tpawn.pather?.StopDead();\n\t\t\tpawn.jobs?.StopAll();\n\t\t\tpawn.GetLord()?.Notify_PawnDowned(pawn);\n\t\t}\n\t\tcouldCrawl = CanCrawl;\n\t}\n\n\tprivate bool ShouldBeDeathrestingOrInComa()\n\t{\n\t\tif (!ModsConfig.BiotechActive)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tif (!SanguophageUtility.ShouldBeDeathrestingOrInComaInsteadOfDead(pawn))\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t}\n\n\tpublic bool ShouldBeDowned()\n\t{\n\t\tif (!InPainShock && capacities.CanBeAwake && (capacities.CapableOf(PawnCapacityDefOf.Moving) || pawn.RaceProps.doesntMove))\n\t\t{\n\t\t\treturn pawn.ageTracker.CurLifeStage.alwaysDowned;\n\t\t}\n\t\treturn true;\n\t}\n\n\tpublic bool ShouldBeDead()\n\t{\n\t\tif (Dead)\n\t\t{\n\t\t\treturn true;\n\t\t}\n\t\tif (hediffSet.HasPreventsDeath)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tforeach (Hediff hediff in hediffSet.hediffs)\n\t\t{\n\t\t\tif (hediff.CauseDeathNow())\n\t\t\t{\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\tif (ShouldBeDeadFromRequiredCapacity() != null)\n\t\t{\n\t\t\treturn true;\n\t\t}\n\t\tif (PawnCapacityUtility.CalculatePartEfficiency(hediffSet, pawn.RaceProps.body.corePart) <= 0.0001f)\n\t\t{\n\t\t\tif (DebugViewSettings.logCauseOfDeath)\n\t\t\t{\n\t\t\t\tLog.Message(\"CauseOfDeath: zero efficiency of \" + pawn.RaceProps.body.corePart.Label);\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t\tif (ShouldBeDeadFromLethalDamageThreshold())\n\t\t{\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic PawnCapacityDef ShouldBeDeadFromRequiredCapacity()\n\t{\n\t\tList allDefsListForReading = DefDatabase.AllDefsListForReading;\n\t\tfor (int i = 0; i < allDefsListForReading.Count; i++)\n\t\t{\n\t\t\tPawnCapacityDef pawnCapacityDef = allDefsListForReading[i];\n\t\t\tif ((pawn.RaceProps.IsFlesh ? pawnCapacityDef.lethalFlesh : pawnCapacityDef.lethalMechanoids) && !capacities.CapableOf(pawnCapacityDef))\n\t\t\t{\n\t\t\t\tif (DebugViewSettings.logCauseOfDeath)\n\t\t\t\t{\n\t\t\t\t\tLog.Message(\"CauseOfDeath: no longer capable of \" + pawnCapacityDef.defName);\n\t\t\t\t}\n\t\t\t\treturn pawnCapacityDef;\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tpublic bool ShouldBeDeadFromLethalDamageThreshold()\n\t{\n\t\tfloat num = 0f;\n\t\tfor (int i = 0; i < hediffSet.hediffs.Count; i++)\n\t\t{\n\t\t\tif (hediffSet.hediffs[i] is Hediff_Injury)\n\t\t\t{\n\t\t\t\tnum += hediffSet.hediffs[i].Severity;\n\t\t\t}\n\t\t}\n\t\tbool num2 = num >= LethalDamageThreshold;\n\t\tif (num2 && DebugViewSettings.logCauseOfDeath)\n\t\t{\n\t\t\tLog.Message($\"CauseOfDeath: lethal damage {num} >= {LethalDamageThreshold}\");\n\t\t}\n\t\treturn num2;\n\t}\n\n\tpublic bool WouldLosePartAfterAddingHediff(HediffDef def, BodyPartRecord part, float severity)\n\t{\n\t\tHediff hediff = HediffMaker.MakeHediff(def, pawn, part);\n\t\thediff.Severity = severity;\n\t\treturn CheckPredicateAfterAddingHediff(hediff, () => hediffSet.PartIsMissing(part));\n\t}\n\n\tpublic bool WouldDieAfterAddingHediff(Hediff hediff)\n\t{\n\t\tif (Dead)\n\t\t{\n\t\t\treturn true;\n\t\t}\n\t\tbool num = CheckPredicateAfterAddingHediff(hediff, ShouldBeDead);\n\t\tif (num && DebugViewSettings.logCauseOfDeath)\n\t\t{\n\t\t\tLog.Message($\"CauseOfDeath: WouldDieAfterAddingHediff=true for {pawn.Name}\");\n\t\t}\n\t\treturn num;\n\t}\n\n\tpublic bool WouldDieAfterAddingHediff(HediffDef def, BodyPartRecord part, float severity)\n\t{\n\t\tHediff hediff = HediffMaker.MakeHediff(def, pawn, part);\n\t\thediff.Severity = severity;\n\t\treturn WouldDieAfterAddingHediff(hediff);\n\t}\n\n\tpublic bool WouldBeDownedAfterAddingHediff(Hediff hediff)\n\t{\n\t\tif (Dead)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\treturn CheckPredicateAfterAddingHediff(hediff, ShouldBeDowned);\n\t}\n\n\tpublic bool WouldBeDownedAfterAddingHediff(HediffDef def, BodyPartRecord part, float severity)\n\t{\n\t\tHediff hediff = HediffMaker.MakeHediff(def, pawn, part);\n\t\thediff.Severity = severity;\n\t\treturn WouldBeDownedAfterAddingHediff(hediff);\n\t}\n\n\tpublic void SetDead()\n\t{\n\t\tif (Dead)\n\t\t{\n\t\t\tLog.Error($\"{pawn} set dead while already dead.\");\n\t\t}\n\t\thealthState = PawnHealthState.Dead;\n\t}\n\n\tprivate bool CheckPredicateAfterAddingHediff(Hediff hediff, Func pred)\n\t{\n\t\tHashSet missing = CalculateMissingPartHediffsFromInjury(hediff);\n\t\thediffSet.hediffs.Add(hediff);\n\t\tif (missing != null)\n\t\t{\n\t\t\thediffSet.hediffs.AddRange(missing);\n\t\t}\n\t\thediffSet.DirtyCache();\n\t\tbool result = pred();\n\t\tif (missing != null)\n\t\t{\n\t\t\thediffSet.hediffs.RemoveAll((Hediff x) => missing.Contains(x));\n\t\t}\n\t\thediffSet.hediffs.Remove(hediff);\n\t\thediffSet.DirtyCache();\n\t\treturn result;\n\t}\n\n\tprivate HashSet CalculateMissingPartHediffsFromInjury(Hediff hediff)\n\t{\n\t\tHashSet missing = null;\n\t\tif (hediff.Part != null && hediff.Part != pawn.RaceProps.body.corePart && hediff.Severity >= hediffSet.GetPartHealth(hediff.Part))\n\t\t{\n\t\t\tmissing = new HashSet();\n\t\t\tAddAllParts(hediff.Part);\n\t\t}\n\t\treturn missing;\n\t\tvoid AddAllParts(BodyPartRecord part)\n\t\t{\n\t\t\tHediff_MissingPart hediff_MissingPart = (Hediff_MissingPart)HediffMaker.MakeHediff(HediffDefOf.MissingBodyPart, pawn);\n\t\t\thediff_MissingPart.lastInjury = hediff.def;\n\t\t\thediff_MissingPart.Part = part;\n\t\t\tmissing.Add(hediff_MissingPart);\n\t\t\tforeach (BodyPartRecord part in part.parts)\n\t\t\t{\n\t\t\t\tAddAllParts(part);\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate void ForceDeathrestOrComa(DamageInfo? dinfo, Hediff hediff)\n\t{\n\t\tif (pawn.CanDeathrest())\n\t\t{\n\t\t\tif (SanguophageUtility.TryStartDeathrest(pawn, DeathrestStartReason.LethalDamage))\n\t\t\t{\n\t\t\t\tGeneUtility.OffsetHemogen(pawn, -9999f);\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tSanguophageUtility.TryStartRegenComa(pawn, DeathrestStartReason.LethalDamage);\n\t\t}\n\t\tif (!Downed)\n\t\t{\n\t\t\tforceDowned = true;\n\t\t\tMakeDowned(dinfo, hediff);\n\t\t}\n\t}\n\n\tprivate void MakeDowned(DamageInfo? dinfo, Hediff hediff)\n\t{\n\t\tif (Downed)\n\t\t{\n\t\t\tLog.Error($\"{pawn} tried to do MakeDowned while already downed.\");\n\t\t\treturn;\n\t\t}\n\t\tif (pawn.guilt != null && pawn.GetLord()?.LordJob != null && pawn.GetLord().LordJob.GuiltyOnDowned)\n\t\t{\n\t\t\tpawn.guilt.Notify_Guilty();\n\t\t}\n\t\thealthState = PawnHealthState.Down;\n\t\tPawnDiedOrDownedThoughtsUtility.TryGiveThoughts(pawn, dinfo, PawnDiedOrDownedThoughtsKind.Downed);\n\t\tif (pawn.InMentalState && pawn.MentalStateDef.recoverFromDowned)\n\t\t{\n\t\t\tpawn.mindState.mentalStateHandler.CurState.RecoverFromState();\n\t\t}\n\t\tpawn.mindState.droppedWeapon = null;\n\t\tpawn.mindState.nextMoveOrderIsCrawlBreak = true;\n\t\tif (pawn.Spawned)\n\t\t{\n\t\t\tpawn.DropAndForbidEverything(keepInventoryAndEquipmentIfInBed: true, rememberPrimary: true);\n\t\t\tpawn.stances.CancelBusyStanceSoft();\n\t\t}\n\t\tif (!pawn.DutyActiveWhenDown(onlyInBed: true) && (!pawn.IsMutant || !pawn.health.CanCrawl || !pawn.mutant.Def.canAttackWhileCrawling))\n\t\t{\n\t\t\tpawn.ClearMind(ifLayingKeepLaying: true, clearInspiration: false, clearMentalState: false);\n\t\t}\n\t\tif (Current.ProgramState == ProgramState.Playing)\n\t\t{\n\t\t\tpawn.GetLord()?.Notify_PawnLost(pawn, PawnLostCondition.Incapped, dinfo);\n\t\t}\n\t\tif (pawn.Drafted)\n\t\t{\n\t\t\tpawn.drafter.Drafted = false;\n\t\t}\n\t\tPortraitsCache.SetDirty(pawn);\n\t\tGlobalTextureAtlasManager.TryMarkPawnFrameSetDirty(pawn);\n\t\tif (pawn.SpawnedOrAnyParentSpawned)\n\t\t{\n\t\t\tGenHostility.Notify_PawnLostForTutor(pawn, pawn.MapHeld);\n\t\t}\n\t\tif (pawn.RaceProps.Humanlike && !pawn.IsSubhuman && Current.ProgramState == ProgramState.Playing && pawn.SpawnedOrAnyParentSpawned)\n\t\t{\n\t\t\tif (pawn.HostileTo(Faction.OfPlayer))\n\t\t\t{\n\t\t\t\tLessonAutoActivator.TeachOpportunity(ConceptDefOf.Capturing, pawn, OpportunityType.Important);\n\t\t\t}\n\t\t\tif (pawn.Faction == Faction.OfPlayer)\n\t\t\t{\n\t\t\t\tLessonAutoActivator.TeachOpportunity(ConceptDefOf.Rescuing, pawn, OpportunityType.Critical);\n\t\t\t}\n\t\t}\n\t\tif (dinfo?.Instigator is Pawn instigator)\n\t\t{\n\t\t\tRecordsUtility.Notify_PawnDowned(pawn, instigator);\n\t\t}\n\t\tif (pawn.Spawned && (hediff == null || hediff.def.recordDownedTale))\n\t\t{\n\t\t\tTaleRecorder.RecordTale(TaleDefOf.Downed, pawn, dinfo?.Instigator as Pawn, dinfo?.Weapon);\n\t\t\tFind.BattleLog.Add(new BattleLogEntry_StateTransition(pawn, RulePackDefOf.Transition_Downed, dinfo?.Instigator as Pawn, hediff, dinfo?.HitPart));\n\t\t}\n\t\tFind.Storyteller.Notify_PawnEvent(pawn, AdaptationEvent.Downed, dinfo);\n\t\tpawn.mechanitor?.Notify_Downed();\n\t\tpawn.mutant?.Notify_Downed();\n\t\tforeach (Hediff hediff2 in hediffSet.hediffs)\n\t\t{\n\t\t\thediff2.Notify_Downed();\n\t\t}\n\t\tpawn.Notify_Downed();\n\t\tpawn.GetLord()?.Notify_PawnDowned(pawn);\n\t\tpawn.flight?.ForceLand();\n\t}\n\n\tprivate void MakeUndowned(Hediff hediff)\n\t{\n\t\tif (!Downed)\n\t\t{\n\t\t\tLog.Error($\"{pawn} tried to do MakeUndowned when already undowned.\");\n\t\t\treturn;\n\t\t}\n\t\tpawn.pather?.StopDead();\n\t\tpawn.jobs?.StopAll();\n\t\thealthState = PawnHealthState.Mobile;\n\t\tif (PawnUtility.ShouldSendNotificationAbout(pawn) && (hediff == null || hediff.def != HediffDefOf.Deathrest))\n\t\t{\n\t\t\tMessages.Message(\"MessageNoLongerDowned\".Translate(pawn.LabelCap, pawn), pawn, MessageTypeDefOf.PositiveEvent);\n\t\t}\n\t\tPortraitsCache.SetDirty(pawn);\n\t\tGlobalTextureAtlasManager.TryMarkPawnFrameSetDirty(pawn);\n\t\tif (pawn.guest != null)\n\t\t{\n\t\t\tpawn.guest.Notify_PawnUndowned();\n\t\t}\n\t\tpawn.GetLord()?.Notify_PawnUndowned(pawn);\n\t}\n\n\tpublic void NotifyPlayerOfKilled(DamageInfo? dinfo, Hediff hediff, Caravan caravan)\n\t{\n\t\tTaggedString diedLetterText = HealthUtility.GetDiedLetterText(pawn, dinfo, hediff);\n\t\tQuest quest = null;\n\t\tif (pawn.IsBorrowedByAnyFaction())\n\t\t{\n\t\t\tforeach (QuestPart_LendColonistsToFaction item in QuestUtility.GetAllQuestPartsOfType())\n\t\t\t{\n\t\t\t\tif (item.LentColonistsListForReading.Contains(pawn))\n\t\t\t\t{\n\t\t\t\t\tdiedLetterText += \"\\n\\n\" + \"LentColonistDied\".Translate(pawn.Named(\"PAWN\"), item.lendColonistsToFaction.Named(\"FACTION\"));\n\t\t\t\t\tquest = item.quest;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tdiedLetterText = diedLetterText.AdjustedFor(pawn);\n\t\tif (pawn.Faction == Faction.OfPlayer)\n\t\t{\n\t\t\tTaggedString label = \"Death\".Translate() + \": \" + pawn.LabelShortCap;\n\t\t\tif (caravan != null)\n\t\t\t{\n\t\t\t\tMessages.Message(\"MessageCaravanDeathCorpseAddedToInventory\".Translate(pawn.Named(\"PAWN\")), caravan, MessageTypeDefOf.PawnDeath);\n\t\t\t}\n\t\t\tHediff_DeathRefusal firstHediff = pawn.health.hediffSet.GetFirstHediff();\n\t\t\tif (pawn.Ideo != null && firstHediff == null)\n\t\t\t{\n\t\t\t\tforeach (Precept item2 in pawn.Ideo.PreceptsListForReading)\n\t\t\t\t{\n\t\t\t\t\tif (!string.IsNullOrWhiteSpace(item2.def.extraTextPawnDeathLetter))\n\t\t\t\t\t{\n\t\t\t\t\t\tdiedLetterText += \"\\n\\n\" + item2.def.extraTextPawnDeathLetter.Formatted(pawn.Named(\"PAWN\"));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (firstHediff != null)\n\t\t\t{\n\t\t\t\tdiedLetterText += \"\\n\\n\" + \"SelfResurrectText\".Translate(pawn.Named(\"PAWN\"));\n\t\t\t}\n\t\t\tif (pawn.Name != null && !pawn.Name.Numerical && pawn.RaceProps.Animal)\n\t\t\t{\n\t\t\t\tlabel += \" (\" + pawn.KindLabel + \")\";\n\t\t\t}\n\t\t\tpawn.relations?.CheckAppendBondedAnimalDiedInfo(ref diedLetterText, ref label);\n\t\t\tFind.LetterStack.ReceiveLetter(label, diedLetterText, LetterDefOf.Death, pawn, null, quest);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tMessages.Message(diedLetterText, pawn, MessageTypeDefOf.PawnDeath);\n\t\t}\n\t}\n\n\tpublic void Notify_Resurrected(bool restoreMissingParts = true, float gettingScarsChance = 0f)\n\t{\n\t\tif (gettingScarsChance > 0f)\n\t\t{\n\t\t\tfor (int i = 0; i < hediffSet.hediffs.Count; i++)\n\t\t\t{\n\t\t\t\tif (hediffSet.hediffs[i] is Hediff_Injury hediff_Injury && !hediffSet.PartOrAnyAncestorHasDirectlyAddedParts(hediff_Injury.Part))\n\t\t\t\t{\n\t\t\t\t\tHediffComp_GetsPermanent hediffComp_GetsPermanent = hediff_Injury.TryGetComp();\n\t\t\t\t\tif (hediffComp_GetsPermanent != null && !hediffComp_GetsPermanent.IsPermanent && Rand.Chance(gettingScarsChance))\n\t\t\t\t\t{\n\t\t\t\t\t\thediffComp_GetsPermanent.IsPermanent = true;\n\t\t\t\t\t\thediff_Injury.Severity = Mathf.Min(hediff_Injury.Severity, Rand.RangeInclusive(2, 6));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\thealthState = PawnHealthState.Mobile;\n\t\thediffSet.hediffs.RemoveAll((Hediff x) => x.def.everCurableByItem && x.TryGetComp() != null);\n\t\thediffSet.hediffs.RemoveAll((Hediff x) => x.def.everCurableByItem && (x.IsLethal || x.IsAnyStageLifeThreatening()));\n\t\thediffSet.hediffs.RemoveAll((Hediff x) => x.def.forceRemoveOnResurrection);\n\t\tif (!pawn.RaceProps.IsMechanoid)\n\t\t{\n\t\t\thediffSet.hediffs.RemoveAll((Hediff x) => x.def.everCurableByItem && x is Hediff_Injury && !x.IsPermanent());\n\t\t}\n\t\telse\n\t\t{\n\t\t\ttmpMechInjuries.Clear();\n\t\t\thediffSet.GetHediffs(ref tmpMechInjuries, (Hediff_Injury x) => x != null && x.def.everCurableByItem && !x.IsPermanent());\n\t\t\tif (tmpMechInjuries.Count > 0)\n\t\t\t{\n\t\t\t\tfloat num = tmpMechInjuries.Sum((Hediff_Injury x) => x.Severity) * 0.5f / (float)tmpMechInjuries.Count;\n\t\t\t\tfor (int j = 0; j < tmpMechInjuries.Count; j++)\n\t\t\t\t{\n\t\t\t\t\ttmpMechInjuries[j].Severity -= num;\n\t\t\t\t}\n\t\t\t\ttmpMechInjuries.Clear();\n\t\t\t}\n\t\t}\n\t\thediffSet.hediffs.RemoveAll((Hediff x) => x.def.everCurableByItem && x is Hediff_Injury && x.IsPermanent() && hediffSet.GetPartHealth(x.Part) <= 0f);\n\t\tif (restoreMissingParts)\n\t\t{\n\t\t\twhile (true)\n\t\t\t{\n\t\t\t\tHediff_MissingPart hediff_MissingPart = hediffSet.GetMissingPartsCommonAncestors().FirstOrDefault((Hediff_MissingPart x) => !hediffSet.PartOrAnyAncestorHasDirectlyAddedParts(x.Part));\n\t\t\t\tif (hediff_MissingPart == null)\n\t\t\t\t{\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tRestorePart(hediff_MissingPart.Part, null, checkStateChange: false);\n\t\t\t}\n\t\t}\n\t\tfor (int num2 = hediffSet.hediffs.Count - 1; num2 >= 0; num2--)\n\t\t{\n\t\t\thediffSet.hediffs[num2].Notify_Resurrected();\n\t\t}\n\t\thediffSet.DirtyCache();\n\t\tif (ShouldBeDead())\n\t\t{\n\t\t\thediffSet.hediffs.RemoveAll((Hediff h) => !h.def.keepOnBodyPartRestoration);\n\t\t}\n\t\tNotify_HediffChanged(null);\n\t}\n\n\tpublic void HealthTick()\n\t{\n\t\tif (Dead)\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\ttmpRemovedHediffs.Clear();\n\t\ttmpHediffs.Clear();\n\t\ttmpHediffs.AddRange(hediffSet.hediffs);\n\t\tforeach (Hediff tmpHediff in tmpHediffs)\n\t\t{\n\t\t\tif (tmpRemovedHediffs.Contains(tmpHediff))\n\t\t\t{\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\ttry\n\t\t\t{\n\t\t\t\ttmpHediff.Tick();\n\t\t\t\ttmpHediff.PostTick();\n\t\t\t}\n\t\t\tcatch (Exception arg)\n\t\t\t{\n\t\t\t\tLog.Error($\"Exception ticking hediff {tmpHediff.ToStringSafe()} for pawn {pawn.ToStringSafe()}. Removing hediff... Exception: {arg}\");\n\t\t\t\ttry\n\t\t\t\t{\n\t\t\t\t\tRemoveHediff(tmpHediff);\n\t\t\t\t}\n\t\t\t\tcatch (Exception arg2)\n\t\t\t\t{\n\t\t\t\t\tLog.Error($\"Error while removing hediff: {arg2}\");\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (Dead)\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\tfor (int num = hediffSet.hediffs.Count - 1; num >= 0; num--)\n\t\t{\n\t\t\tHediff hediff = hediffSet.hediffs[num];\n\t\t\tif (hediff.ShouldRemove)\n\t\t\t{\n\t\t\t\tRemoveHediff(hediff);\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic void HealthTickInterval(int delta)\n\t{\n\t\tif (Dead)\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\ttmpRemovedHediffs.Clear();\n\t\ttmpHediffs.Clear();\n\t\ttmpHediffs.AddRange(hediffSet.hediffs);\n\t\tforeach (Hediff tmpHediff in tmpHediffs)\n\t\t{\n\t\t\tif (tmpRemovedHediffs.Contains(tmpHediff))\n\t\t\t{\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\ttry\n\t\t\t{\n\t\t\t\ttmpHediff.TickInterval(delta);\n\t\t\t\ttmpHediff.PostTickInterval(delta);\n\t\t\t}\n\t\t\tcatch (Exception arg)\n\t\t\t{\n\t\t\t\tLog.Error($\"Exception interval ticking hediff {tmpHediff.ToStringSafe()} for pawn {pawn.ToStringSafe()}. Removing hediff... Exception: {arg}\");\n\t\t\t\ttry\n\t\t\t\t{\n\t\t\t\t\tRemoveHediff(tmpHediff);\n\t\t\t\t}\n\t\t\t\tcatch (Exception arg2)\n\t\t\t\t{\n\t\t\t\t\tLog.Error($\"Error while removing hediff: {arg2}\");\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (Dead)\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\tfor (int num = hediffSet.hediffs.Count - 1; num >= 0; num--)\n\t\t{\n\t\t\tHediff hediff = hediffSet.hediffs[num];\n\t\t\tif (hediff.ShouldRemove)\n\t\t\t{\n\t\t\t\tRemoveHediff(hediff);\n\t\t\t}\n\t\t}\n\t\tif (Dead)\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\timmunity.ImmunityHandlerTickInterval(delta);\n\t\tif (pawn.Spawned && pawn.Crawling && pawn.MapHeld.reservationManager.IsReservedAndRespected(pawn, pawn))\n\t\t{\n\t\t\tpawn.jobs.EndCurrentJob(JobCondition.InterruptForced);\n\t\t}\n\t\tif ((pawn.RaceProps.IsFlesh || pawn.RaceProps.IsAnomalyEntity) && pawn.IsHashIntervalTick(600, delta) && (pawn.needs.food == null || !pawn.needs.food.Starving))\n\t\t{\n\t\t\tbool flag = false;\n\t\t\tif (hediffSet.HasNaturallyHealingInjury())\n\t\t\t{\n\t\t\t\tfloat num2 = 8f;\n\t\t\t\tif (pawn.GetPosture() != 0)\n\t\t\t\t{\n\t\t\t\t\tnum2 += 4f;\n\t\t\t\t\tBuilding_Bed building_Bed = pawn.CurrentBed();\n\t\t\t\t\tif (building_Bed != null)\n\t\t\t\t\t{\n\t\t\t\t\t\tnum2 += building_Bed.def.building.bed_healPerDay;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tforeach (Hediff hediff3 in hediffSet.hediffs)\n\t\t\t\t{\n\t\t\t\t\tHediffStage curStage = hediff3.CurStage;\n\t\t\t\t\tif (curStage != null && curStage.naturalHealingFactor != -1f)\n\t\t\t\t\t{\n\t\t\t\t\t\tnum2 *= curStage.naturalHealingFactor;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\thediffSet.GetHediffs(ref tmpHediffInjuries, (Hediff_Injury h) => h.CanHealNaturally());\n\t\t\t\ttmpHediffInjuries.RandomElement().Heal(num2 * pawn.HealthScale * 0.01f * pawn.GetStatValue(StatDefOf.InjuryHealingFactor));\n\t\t\t\tflag = true;\n\t\t\t}\n\t\t\tif (hediffSet.HasTendedAndHealingInjury())\n\t\t\t{\n\t\t\t\tNeed_Food food = pawn.needs.food;\n\t\t\t\tif (food == null || !food.Starving)\n\t\t\t\t{\n\t\t\t\t\thediffSet.GetHediffs(ref tmpHediffInjuries, (Hediff_Injury h) => h.CanHealFromTending());\n\t\t\t\t\tHediff_Injury hediff_Injury = tmpHediffInjuries.RandomElement();\n\t\t\t\t\tfloat tendQuality = hediff_Injury.TryGetComp().tendQuality;\n\t\t\t\t\tfloat num3 = GenMath.LerpDouble(0f, 1f, 0.5f, 1.5f, Mathf.Clamp01(tendQuality));\n\t\t\t\t\thediff_Injury.Heal(8f * num3 * pawn.HealthScale * 0.01f * pawn.GetStatValue(StatDefOf.InjuryHealingFactor));\n\t\t\t\t\tflag = true;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (flag && !HasHediffsNeedingTendByPlayer() && !HealthAIUtility.ShouldSeekMedicalRest(pawn) && PawnUtility.ShouldSendNotificationAbout(pawn))\n\t\t\t{\n\t\t\t\tMessages.Message(\"MessageFullyHealed\".Translate(pawn.LabelCap, pawn), pawn, MessageTypeDefOf.PositiveEvent);\n\t\t\t}\n\t\t}\n\t\tif ((pawn.RaceProps.IsFlesh || pawn.RaceProps.IsAnomalyEntity) && pawn.IsHashIntervalTick(15, delta) && ModsConfig.AnomalyActive && hediffSet.HasRegeneration)\n\t\t{\n\t\t\tfloat num4 = 0f;\n\t\t\tforeach (Hediff hediff4 in hediffSet.hediffs)\n\t\t\t{\n\t\t\t\tif (hediff4.CurStage != null)\n\t\t\t\t{\n\t\t\t\t\tnum4 += hediff4.CurStage.regeneration;\n\t\t\t\t}\n\t\t\t}\n\t\t\tnum4 *= 0.00025f;\n\t\t\tif (num4 > 0f)\n\t\t\t{\n\t\t\t\thediffSet.GetHediffs(ref tmpHediffInjuries, (Hediff_Injury h) => true);\n\t\t\t\tforeach (Hediff_Injury tmpHediffInjury in tmpHediffInjuries)\n\t\t\t\t{\n\t\t\t\t\tfloat num5 = Mathf.Min(num4, tmpHediffInjury.Severity);\n\t\t\t\t\tnum4 -= num5;\n\t\t\t\t\ttmpHediffInjury.Heal(num5);\n\t\t\t\t\thediffSet.Notify_Regenerated(num5);\n\t\t\t\t\tif (num4 <= 0f)\n\t\t\t\t\t{\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (num4 > 0f)\n\t\t\t\t{\n\t\t\t\t\thediffSet.GetHediffs(ref tmpHediffMissing, (Hediff_MissingPart h) => h.Part.parent != null && !tmpHediffInjuries.Any((Hediff_Injury x) => x.Part == h.Part.parent) && hediffSet.GetFirstHediffMatchingPart(h.Part.parent) == null && hediffSet.GetFirstHediffMatchingPart(h.Part.parent) == null);\n\t\t\t\t\tusing List.Enumerator enumerator3 = tmpHediffMissing.GetEnumerator();\n\t\t\t\t\tif (enumerator3.MoveNext())\n\t\t\t\t\t{\n\t\t\t\t\t\tHediff_MissingPart current4 = enumerator3.Current;\n\t\t\t\t\t\tBodyPartRecord part = current4.Part;\n\t\t\t\t\t\tRemoveHediff(current4);\n\t\t\t\t\t\tHediff hediff2 = AddHediff(HediffDefOf.Misc, part);\n\t\t\t\t\t\tfloat partHealth = hediffSet.GetPartHealth(part);\n\t\t\t\t\t\thediff2.Severity = Mathf.Max(partHealth - 1f, partHealth * 0.9f);\n\t\t\t\t\t\thediffSet.Notify_Regenerated(partHealth - hediff2.Severity);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (CanBleed && hediffSet.BleedRateTotal >= 0.1f && (pawn.Spawned || pawn.ParentHolder is Pawn_CarryTracker) && pawn.SpawnedOrAnyParentSpawned)\n\t\t{\n\t\t\tif (pawn.Crawling && pawn.Spawned)\n\t\t\t{\n\t\t\t\tif (!lastSmearDropPos.HasValue || Vector3.Distance(pawn.DrawPos, lastSmearDropPos.Value) > BloodFilthDropDistanceRangeFromBleedRate.LerpThroughRange(hediffSet.BleedRateTotal))\n\t\t\t\t{\n\t\t\t\t\tDropBloodSmear();\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tlastSmearDropPos = null;\n\t\t\t\tfloat num6 = hediffSet.BleedRateTotal * pawn.BodySize;\n\t\t\t\tnum6 = ((pawn.GetPosture() != 0) ? (num6 * 0.0004f) : (num6 * 0.004f));\n\t\t\t\tif (Rand.Chance(num6 * (float)delta))\n\t\t\t\t{\n\t\t\t\t\tDropBloodFilth();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (!pawn.IsHashIntervalTick(60, delta))\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\tList hediffGiverSets = pawn.RaceProps.hediffGiverSets;\n\t\tif (hediffGiverSets != null)\n\t\t{\n\t\t\tfor (int i = 0; i < hediffGiverSets.Count; i++)\n\t\t\t{\n\t\t\t\tList hediffGivers = hediffGiverSets[i].hediffGivers;\n\t\t\t\tfor (int j = 0; j < hediffGivers.Count; j++)\n\t\t\t\t{\n\t\t\t\t\thediffGivers[j].OnIntervalPassed(pawn, null);\n\t\t\t\t\tif (pawn.Dead)\n\t\t\t\t\t{\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (pawn.story == null || pawn.IsWorldPawn())\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\tList allTraits = pawn.story.traits.allTraits;\n\t\tfor (int k = 0; k < allTraits.Count; k++)\n\t\t{\n\t\t\tif (allTraits[k].Suppressed)\n\t\t\t{\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tTraitDegreeData currentData = allTraits[k].CurrentData;\n\t\t\tif (!(currentData.randomDiseaseMtbDays > 0f) || !Rand.MTBEventOccurs(currentData.randomDiseaseMtbDays, 60000f, 60f))\n\t\t\t{\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tBiomeDef biome = (pawn.Tile.Valid ? Find.WorldGrid[pawn.Tile].PrimaryBiome : DefDatabase.GetRandom());\n\t\t\tIncidentDef incidentDef = DefDatabase.AllDefs.Where((IncidentDef d) => d.category == IncidentCategoryDefOf.DiseaseHuman).RandomElementByWeightWithFallback((IncidentDef d) => biome.CommonalityOfDisease(d));\n\t\t\tif (incidentDef == null)\n\t\t\t{\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tstring blockedInfo;\n\t\t\tList list = ((IncidentWorker_Disease)incidentDef.Worker).ApplyToPawns(Gen.YieldSingle(pawn), out blockedInfo);\n\t\t\tif (PawnUtility.ShouldSendNotificationAbout(pawn))\n\t\t\t{\n\t\t\t\tif (list.Contains(pawn))\n\t\t\t\t{\n\t\t\t\t\tFind.LetterStack.ReceiveLetter(\"LetterLabelTraitDisease\".Translate(incidentDef.diseaseIncident.label), \"LetterTraitDisease\".Translate(pawn.LabelCap, incidentDef.diseaseIncident.label, pawn.Named(\"PAWN\")).AdjustedFor(pawn), LetterDefOf.NegativeEvent, pawn);\n\t\t\t\t}\n\t\t\t\telse if (!blockedInfo.NullOrEmpty())\n\t\t\t\t{\n\t\t\t\t\tMessages.Message(blockedInfo, pawn, MessageTypeDefOf.NeutralEvent);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic bool HasHediffsNeedingTend(bool forAlert = false)\n\t{\n\t\treturn hediffSet.HasTendableHediff(forAlert);\n\t}\n\n\tpublic bool HasHediffsNeedingTendByPlayer(bool forAlert = false)\n\t{\n\t\tif (HasHediffsNeedingTend(forAlert))\n\t\t{\n\t\t\tif (pawn.NonHumanlikeOrWildMan())\n\t\t\t{\n\t\t\t\tif (pawn.Faction == Faction.OfPlayer)\n\t\t\t\t{\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\tBuilding_Bed building_Bed = pawn.CurrentBed();\n\t\t\t\tif (building_Bed != null && building_Bed.Faction == Faction.OfPlayer)\n\t\t\t\t{\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\tif (pawn.IsOnHoldingPlatform)\n\t\t\t\t{\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tif (pawn.IsOnHoldingPlatform)\n\t\t\t\t{\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\tif ((pawn.Faction == Faction.OfPlayer && pawn.HostFaction == null) || pawn.HostFaction == Faction.OfPlayer)\n\t\t\t\t{\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic void DropBloodFilth()\n\t{\n\t\tif ((pawn.Spawned || pawn.ParentHolder is Pawn_CarryTracker) && pawn.SpawnedOrAnyParentSpawned)\n\t\t{\n\t\t\tThingDef thingDef = (pawn.IsMutant ? (pawn.mutant.Def.bloodDef ?? pawn.RaceProps.BloodDef) : pawn.RaceProps.BloodDef);\n\t\t\tif (thingDef != null)\n\t\t\t{\n\t\t\t\tFilthMaker.TryMakeFilth(pawn.PositionHeld, pawn.MapHeld, thingDef, pawn.LabelIndefinite());\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic void DropBloodSmear()\n\t{\n\t\tThingDef thingDef = (pawn.IsMutant ? (pawn.mutant.Def.bloodSmearDef ?? pawn.RaceProps.BloodSmearDef) : pawn.RaceProps.BloodSmearDef);\n\t\tif (thingDef == null)\n\t\t{\n\t\t\tlastSmearDropPos = pawn.DrawPos;\n\t\t\treturn;\n\t\t}\n\t\tFilthMaker.TryMakeFilth(pawn.PositionHeld, pawn.MapHeld, thingDef, out var outFilth, pawn.LabelIndefinite(), FilthSourceFlags.None, shouldPropagate: false);\n\t\tif (outFilth != null)\n\t\t{\n\t\t\tfloat rotation = ((!lastSmearDropPos.HasValue) ? pawn.pather.lastMoveDirection : (lastSmearDropPos.Value - pawn.DrawPos).AngleFlat());\n\t\t\toutFilth.SetOverrideDrawPositionAndRotation(pawn.DrawPos.WithY(thingDef.Altitude), rotation);\n\t\t\tlastSmearDropPos = pawn.DrawPos;\n\t\t}\n\t}\n\n\tpublic IEnumerable GetGizmos()\n\t{\n\t\tforeach (Hediff hediff in hediffSet.hediffs)\n\t\t{\n\t\t\tIEnumerable gizmos = hediff.GetGizmos();\n\t\t\tif (gizmos == null || (Dead && !hediff.def.showGizmosOnCorpse))\n\t\t\t{\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tforeach (Gizmo item in gizmos)\n\t\t\t{\n\t\t\t\tyield return item;\n\t\t\t}\n\t\t}\n\t}\n}\n\n", "timestamp": "2025-08-26 18:19:20,754" }, "C#-CompProperties_UseEffectInstallImplant": { "keywords": [ "CompProperties_UseEffectInstallImplant", "C#" ], "question": "RimWorld CompProperties_UseEffectInstallImplant C# 代码", "embedding": [ 0.0005498544778674841, 0.03992113471031189, 0.02986893616616726, -0.004742432851344347, -0.04784782975912094, -0.010883224196732044, -0.008869587443768978, 0.012856907211244106, 0.016812263056635857, 0.11129334568977356, -0.00041975724161602557, -0.06171954423189163, -0.03650115057826042, -0.01638077013194561, 0.020615797489881516, 0.040528420358896255, 0.00201263721100986, -0.10208815336227417, -0.03573404997587204, 0.0008909540483728051, 0.02430746518075466, 0.04382055625319481, 0.041647110134363174, 0.050564639270305634, -0.010779345408082008, 0.015565726906061172, -0.022453641518950462, 0.043405044823884964, 0.04455569386482239, -0.005565466359257698, 0.0455784946680069, -0.014830590225756168, 0.03972936049103737, 0.0016670429613441229, -0.07587892562150955, 0.03324097767472267, -0.006704129744321108, -0.011506492272019386, -0.03825908526778221, 0.009484865702688694, -0.003919398877769709, -0.008757718838751316, 0.024403352290391922, 0.02616128884255886, -0.006847960874438286, 0.01316854078322649, 0.021846354007720947, -0.06318981945514679, 0.017515437677502632, 0.06130403280258179, 0.03276154026389122, -0.02336457185447216, -0.018202630802989006, -0.0026608763728290796, -0.002702827099710703, 0.02197420410811901, 0.012529291212558746, 0.028782211244106293, -0.02549007534980774, 0.022757284343242645, 0.016604507341980934, 0.013224475085735321, 0.04925417900085449, -0.04056038334965706, 0.0015042341547086835, -0.04532279446721077, -0.06382907181978226, 0.04765605553984642, 0.009852433577179909, -0.02569783292710781, 0.005321752745658159, 0.009261127561330795, 0.044459808617830276, 0.006292612757533789, -0.007367351092398167, 0.04103982076048851, -0.04429999366402626, 0.023748120293021202, -0.06002553552389145, 0.0437566339969635, -0.0017898987280204892, 0.015525774098932743, -0.03033239208161831, -0.020967384800314903, 0.03455143794417381, 0.04736839234828949, 0.058203671127557755, 0.0024830850306898355, 0.007383332587778568, 0.08220749348402023, 0.011426585726439953, 0.014550917781889439, 0.024499239400029182, -0.004966170061379671, -0.018090762197971344, 0.013472184538841248, -0.027136143296957016, 0.03062005341053009, -0.013935640454292297, -0.0064684064127504826, -0.032889388501644135, -0.03023650497198105, -0.05535901337862015, 0.050276979804039, -0.029197724536061287, 0.04225439578294754, -0.013440222479403019, 0.0044387890957295895, -0.01804281957447529, 0.023796064779162407, -0.0027387847658246756, 0.00749520119279623, -0.002694836352020502, 0.06488382816314697, -0.005401658825576305, -0.0015781474066898227, 0.02290111593902111, 0.006492378190159798, -0.02550605684518814, 0.008486038073897362, 0.01788300648331642, 0.015693577006459236, -0.04011290892958641, -0.04589811712503433, 0.03896225988864899, -0.0036517130210995674, -0.033656489104032516, 0.041199635714292526, 0.030971640720963478, 0.02477092109620571, 0.024243539199233055, -0.0362774133682251, 0.009468884207308292, -0.04110374674201012, 0.008861596696078777, -0.03611759841442108, -0.013560080900788307, 0.0071755764074623585, -0.11129334568977356, 0.011290745809674263, -0.05059660226106644, 0.02095140516757965, 0.009125287644565105, -0.019145524129271507, 0.08802466094493866, -0.02745576947927475, -0.07018960267305374, -0.01778711937367916, -0.005241846200078726, -0.01908160001039505, 0.013919658958911896, -0.013456203043460846, -0.01554175466299057, 0.0642765462398529, 0.046569328755140305, -0.004047248978167772, 0.015142223797738552, 0.011937985196709633, -0.006748078390955925, 0.001701003173366189, -0.01759534329175949, 0.01823459379374981, -0.023939896374940872, 0.017627306282520294, 0.041742995381355286, -0.002341251587495208, -0.04794371873140335, 0.034391626715660095, -0.019417205825448036, 0.001916749868541956, -0.02494671382009983, 0.004278976935893297, -0.0022313804365694523, 0.02493073232471943, 0.033177051693201065, -0.013727884739637375, 0.022165978327393532, 0.05465583875775337, -0.030971640720963478, 0.04024076089262962, 0.034679289907217026, 0.006488382816314697, 0.024259520694613457, 0.025985494256019592, 0.01871403120458126, -0.01842636801302433, -0.026273157447576523, 0.03870655968785286, -0.032985277473926544, 0.06283823400735855, -0.03034837357699871, 0.05909862369298935, -0.03006071038544178, 0.010451730340719223, 0.007826811634004116, -0.008350197225809097, -0.01815468817949295, 0.040528420358896255, -0.03640526160597801, 0.0007286446052603424, -0.0033420766703784466, -0.03210631012916565, -0.03761983662843704, -0.004127155058085918, 0.03976132348179817, -0.022757284343242645, -0.03455143794417381, -0.0009074347326532006, 0.006312589626759291, -0.0155896982178092, 0.0028826158959418535, -0.004243019036948681, 0.0046385545283555984, -0.03295331448316574, -0.020615797489881516, 0.005189907271414995, -0.06622625142335892, -0.010012246668338776, 0.017051981762051582, 0.010347852483391762, -0.026289138942956924, -0.009484865702688694, -0.008198375813663006, 0.03301724046468735, 0.019337298348546028, -0.015677595511078835, 0.030492203310132027, 0.01562965102493763, 0.020216267555952072, 0.008741737343370914, 0.007726929150521755, -0.0031403135508298874, -0.0013653971254825592, 0.03854674845933914, 0.007391322869807482, -0.0008055543294176459, -0.03394415229558945, 0.002596951322630048, -0.00219742045737803, -0.00883762538433075, -0.013040690682828426, 0.03237799182534218, 0.026448950171470642, 0.02167055942118168, -0.0017948929453268647, -0.03582993894815445, -0.002718808362260461, 0.006676162593066692, 0.014335171319544315, -0.016173014417290688, -0.012912841513752937, -0.0028906066436320543, -0.00801059603691101, -0.024227557703852654, 0.008661831729114056, -0.03007669188082218, 0.039409734308719635, -0.031019585207104683, 0.009021409787237644, 0.001259521348401904, -0.027695486322045326, -0.005034090485423803, 0.005137968342751265, 0.02344447746872902, -0.04318130761384964, 0.004069223068654537, 0.019800754263997078, 0.002672862261533737, -0.015365961007773876, 0.0008609892684035003, -0.019337298348546028, 0.030124636366963387, 0.02056785486638546, -0.018506275489926338, -0.0033260954078286886, -0.01981673575937748, 0.028622400015592575, 0.006464411038905382, -0.015573717653751373, 0.0195610374212265, 0.01628488302230835, -0.02849454991519451, 0.0027008294127881527, -0.0139596126973629, -0.009325052611529827, 0.031483039259910583, -0.008741737343370914, -0.00943692121654749, 9.364007564727217e-05, -0.008813653141260147, -0.004259000066667795, 0.014918486587703228, 0.008134450763463974, -0.002111521316692233, -0.015413905493915081, -0.004962174687534571, -0.02662474475800991, 0.037172362208366394, -0.03181864693760872, 0.030955659225583076, -0.028686324134469032, -0.004266990814357996, -0.019592998549342155, 0.00800660066306591, 0.02596951276063919, 0.03768376260995865, -0.023284664377570152, -0.17246952652931213, 0.03004472889006138, -0.07715742290019989, 0.019481129944324493, 0.008573934435844421, -0.03851478546857834, 0.005761236883699894, -0.029469404369592667, -0.008861596696078777, -0.019896643236279488, -0.03044426068663597, -0.013352325186133385, 0.028174923732876778, -0.028446605429053307, 0.017355626448988914, -0.07274659723043442, 0.011802145279943943, 0.020312154665589333, -0.02569783292710781, 0.0362774133682251, 0.0034938983153551817, -0.011370651423931122, 0.02401980198919773, -0.02365223318338394, 0.013751856051385403, 0.043500933796167374, 0.030172578990459442, 0.011866070330142975, 0.018442349508404732, 0.011434576474130154, 0.002672862261533737, 0.034103963524103165, 0.011322707869112492, 0.015373951755464077, -0.032346028834581375, 0.002083553932607174, -0.033752378076314926, 0.038482822477817535, 0.023748120293021202, 0.05046875402331352, 0.03861067444086075, 0.032713595777750015, 0.006999782752245665, -0.014447039924561977, 0.012169713154435158, -0.0007116645574569702, 0.024914750829339027, 0.015693577006459236, -0.03247387707233429, -0.006324575282633305, 0.01264915056526661, -0.07421687245368958, 0.019385242834687233, -0.01312059722840786, 0.011610370129346848, 0.006220697425305843, -0.0019357275450602174, 0.03573404997587204, 0.016061145812273026, 0.004015286453068256, 0.019049637019634247, -0.03006071038544178, 0.0003663199604488909, -0.028047073632478714, -0.0763903260231018, 0.04493924230337143, 0.019129542633891106, 0.02978902868926525, 0.08770503848791122, 0.005233855918049812, 0.004243019036948681, -0.05088426545262337, 0.03202640265226364, -0.030476223677396774, 0.013192513026297092, 0.01317653153091669, -0.040336646139621735, -0.025474095717072487, 0.02662474475800991, 0.012449385598301888, -0.002832674654200673, 0.0689111053943634, -0.04337308183312416, 0.03576601296663284, 0.006652190815657377, 0.01447101216763258, -0.017275718972086906, 0.018953749909996986, 0.020919442176818848, -0.007255482487380505, 0.012001910246908665, 0.0809929221868515, 0.03880244866013527, 0.013983584009110928, -0.03295331448316574, -0.04516298323869705, 0.01898571103811264, 0.01759534329175949, 0.010859251953661442, 0.008597906678915024, 0.010124115273356438, -0.043245233595371246, 0.0539846271276474, -0.03314508870244026, -0.023188777267932892, 0.05973787233233452, -0.00449072802439332, -0.008645850233733654, 0.005141963716596365, -8.908292511478066e-05, -0.006656186189502478, 0.043596819043159485, -0.04883866757154465, 0.0068998998031020164, 0.05149155110120773, -0.014814608730375767, 0.014926477335393429, -0.0158374086022377, 0.10445337742567062, -0.028510529547929764, -0.010563598945736885, -0.03272957727313042, 0.02940548025071621, 0.039793286472558975, -0.02809501811861992, -0.09512033313512802, 0.07434472441673279, -0.0061567723751068115, -0.03394415229558945, 0.03285742923617363, 0.013695921748876572, -0.005429625976830721, -0.01316854078322649, -0.039217960089445114, -0.0020555867813527584, 0.00856594368815422, -0.012936812825500965, -0.038291048258543015, -0.04343700781464577, 0.018953749909996986, 0.012792982161045074, 0.029565291479229927, 0.0019317322876304388, -0.018090762197971344, -0.0005538497935049236, 0.015757501125335693, 0.045386720448732376, -0.01461484283208847, 0.005721283610910177, -0.0362774133682251, -0.06488382816314697, 0.0008030572789721191, 0.010124115273356438, 0.004666521679610014, -0.013232465833425522, -0.036533113569021225, 0.017275718972086906, -0.00043748642201535404, -0.010723411105573177, -0.010915186256170273, -0.012737047858536243, 0.005980978719890118, -0.06344551593065262, -0.009612714871764183, -0.0008614886901341379, -0.05165136605501175, -0.03240995109081268, -0.019145524129271507, -0.04020879790186882, 0.006296608131378889, 0.049733616411685944, 0.011530463583767414, 0.04944595322012901, -0.025058582425117493, 0.015941286459565163, -0.01936926133930683, 0.022965040057897568, -0.14408685266971588, -0.07581499963998795, 0.004127155058085918, -0.004203065764158964, -0.0002731792919803411, -0.03586190193891525, -0.004866287112236023, -0.005501541309058666, 0.03218621388077736, 0.06993389874696732, -0.050564639270305634, 0.022038128226995468, -0.0006602249341085553, -0.006640204694122076, 0.0302524846047163, -0.0874493420124054, -0.005145959090441465, 0.045834194868803024, 0.004057236947119236, -0.004542667418718338, -0.0111628957092762, -0.005945020820945501, -0.04912632703781128, 0.022933078929781914, 0.004990141838788986, 0.03464732691645622, -0.01917748712003231, -0.02242167852818966, 0.049829501658678055, -0.008286272175610065, -0.019848698750138283, 0.009940330870449543, 0.006120814476162195, -0.007846788503229618, 0.031610891222953796, -0.020056454464793205, 0.04151925817131996, -0.005050071515142918, 0.050213053822517395, -0.01065149623900652, -0.02978902868926525, 0.00188478734344244, 0.02373214066028595, -0.02903791144490242, 0.02969314157962799, -0.042765796184539795, -0.0029705127235502005, 0.00021799409296363592, -0.019417205825448036, -0.017659269273281097, 0.044715505093336105, 0.045003168284893036, -0.006152777001261711, 0.017914969474077225, 0.03250584006309509, 0.08207964152097702, 0.007722933776676655, -0.0006567290402017534, 0.004386850167065859, -0.00846206583082676, 0.02708820067346096, 0.08144039660692215, 0.047783903777599335, -0.025538019835948944, 0.009796499274671078, -0.03589386120438576, 0.0033600556198507547, -0.0012924827169626951, -0.04199869558215141, -0.0577242337167263, 0.03201042115688324, -0.039601508527994156, 0.0419028103351593, 0.05929039791226387, 0.0017039995873346925, -0.039409734308719635, -0.02651287615299225, -0.004642549902200699, 0.03372041508555412, -0.03976132348179817, -0.047144655138254166, 0.02541016973555088, -0.03413592651486397, 0.02074364759027958, -0.01083527971059084, -0.009069353342056274, -0.03883441165089607, 0.021079253405332565, -0.03416788950562477, 0.03050818480551243, 0.039793286472558975, 0.0032901375088840723, 0.022933078929781914, 0.030204541981220245, 0.04525886848568916, 0.018202630802989006, -0.00843010377138853, 0.011610370129346848, -0.009788508526980877, -0.001708993804641068, -0.004422808066010475, 0.02427550218999386, 0.008198375813663006, 0.0001079357898561284, 0.0781802237033844, -0.013136578723788261, 0.03204238414764404, 0.006384504958987236, -0.08738541603088379, -0.013855733908712864, -0.03774768486618996, 0.04401233047246933, 0.010723411105573177, 0.061272069811820984, 0.014375124126672745, 0.0334966778755188, -0.007327398285269737, -0.013400268740952015, -0.018777955323457718, 0.0029065879061818123, 0.03666096180677414, -0.03090771660208702, -0.018122725188732147, -0.00013584052794612944, 0.03400807827711105, 0.0003343574935570359, 0.04167907312512398, 0.08354991674423218, 0.029629217460751534, -0.0010048204567283392, 0.02381204627454281, 0.00146028574090451, 0.02002449333667755, -0.02493073232471943, -0.005201893392950296, -0.007455247920006514, -0.013823771849274635, 0.0047504231333732605, 0.0037196334451436996, -0.042669907212257385, -0.047975677996873856, -0.006760064046829939, -0.015014373697340488, -0.028142962604761124, 0.0030364354606717825, -0.04394840821623802, -0.04829530417919159, 0.009468884207308292, -0.05280201509594917, 0.01757936365902424, 0.011602379381656647, 0.01572553999722004, 0.010667476803064346, -0.012353497557342052, 0.0003558322787284851, -0.002936552744358778, 0.031770702451467514, 0.023572327569127083, -0.03730021044611931, -0.013408259488642216, -0.05535901337862015, -0.02707221917808056, -0.046377554535865784, -0.05759638547897339, -0.010092152282595634, 0.01266513206064701, -0.01075537409633398, 0.0029705127235502005, 0.006028922274708748, -0.025106526911258698, -0.011234810575842857, 0.0204879492521286, -0.02056785486638546, 0.02707221917808056, -0.004290962591767311, -0.000894450000487268, 0.0001821611513150856, 0.006076866295188665, -0.05082033947110176, -0.02967716008424759, -0.0002311036951141432, 0.016508620232343674, -0.023764101788401604, -0.010611542500555515, 0.04158318415284157, 0.02783931791782379, -0.03947366029024124, -0.03340078890323639, 0.012585225515067577, 0.0058810957707464695, 0.004274981562048197, 0.019784774631261826, -0.045003168284893036, -0.011051027104258537, 0.002405176404863596, -0.021558690816164017, -0.006548312492668629, -0.014279237017035484, -0.04404429346323013, -0.022165978327393532, -0.05535901337862015, 0.010611542500555515, -0.013008728623390198, -0.018474312499165535, -0.036884699016809464, 0.02876622974872589, 0.04129552096128464, -0.054943498224020004, 0.000685695034917444, 0.034103963524103165, -0.051619403064250946, -0.04516298323869705, -0.041647110134363174, -0.0011816128389909863, 0.013520128093659878, 0.043884482234716415, 0.09422538429498672, -0.03295331448316574, 0.001827854197472334, -0.006232683081179857, 0.000136339949676767, -0.06833577901124954, -0.004414817318320274, -0.019800754263997078, 0.020807573571801186, -0.02764754369854927, -0.015613670460879803, 0.05954609811306, 0.02485082671046257, 0.025522038340568542, -0.0214148610830307, 0.007207538932561874, -0.003264168044552207, -0.039889171719551086, -0.04669718071818352, 0.005697311833500862, -0.0036437225062400103, 0.016828244552016258, -0.042126547545194626, 0.03054014779627323, -0.06453224271535873, 0.007403308991342783, -0.014542927965521812, -0.002934555057436228, -0.02149476669728756, 0.04925417900085449, -0.010635514743626118, -0.025154469534754753, -0.01906561851501465, -0.03777964785695076, 0.03220219537615776, 0.004790376406162977, -0.023588309064507484, -0.02801511250436306, -0.013847743161022663, -0.03864263743162155, 0.0028985971584916115, -0.03944169729948044, 0.03071594052016735, -0.06187935918569565, 0.08060936629772186, 0.006108828820288181, -0.016588525846600533, 0.026848481968045235, 0.047975677996873856, 0.005996959749609232, 0.004298953339457512, -0.006847960874438286, 0.05743657425045967, -0.023939896374940872, -0.016332825645804405, 0.03247387707233429, 0.060920484364032745, 0.008438094519078732, 0.011482520028948784, -0.025617925450205803, -0.011474529281258583, -0.015797454863786697, 0.04241420701146126, 0.03231406584382057, 0.035510312765836716, 0.07204342633485794, -0.018074780702590942, 0.06130403280258179, -0.019225429743528366, 0.01741955056786537, -0.02365223318338394, -0.00266287405975163, -0.034391626715660095, 0.04679306969046593, 0.03972936049103737, 0.021239066496491432, -0.0493181049823761, 0.02886211685836315, -0.046761106699705124, -0.02309289015829563, 0.02550605684518814, -0.04458765685558319, 0.037236288189888, -0.013512137345969677, 0.02028019167482853, 0.044619619846343994, -0.003761584172025323, 0.024531202390789986, -0.0005113996448926628, 0.010955139063298702, -0.041838884353637695, 0.0006931862444616854, 0.039889171719551086, 0.009173231199383736, -0.030827810987830162, 0.0074432622641325, 0.019592998549342155, 0.06859147548675537, 0.027343900874257088, 0.06673765182495117, -0.01544586755335331, -0.03404003754258156, -0.031658835709095, -0.009053371846675873, 0.04813549295067787, -0.009333043359220028, -0.01713188737630844, -0.011138923466205597, -0.06229487061500549, 0.003318104660138488, -0.0325857475399971, -0.030763885006308556, -0.0004814348358195275, 0.018586181104183197, -0.00013596538337878883, 0.004942198283970356, 0.000439234368968755, -0.0130247101187706, 0.04158318415284157, 0.02354036457836628, 0.022213922813534737, 0.023780083283782005, 0.003010465996339917, 0.0093010812997818, -0.008917530998587608, -0.0260494202375412, -0.004994137212634087, -0.002958526834845543, -0.003623745869845152, 0.0034619357902556658, 0.018506275489926338, -0.004722455982118845, -0.034583400934934616, 0.061655621975660324, -8.777195762377232e-05, 0.0016970077995210886, 5.9742367739090696e-05, 0.011570417322218418, -0.002277326537296176, -0.015981238335371017, -0.05702105909585953, 0.015270073898136616, 0.00978051871061325, -0.03880244866013527, 0.004670517053455114, -0.013384287245571613, -0.03295331448316574, -0.02550605684518814, 0.005561470985412598, 0.011602379381656647, -0.029629217460751534, 0.03889833763241768, -0.02160663530230522, 0.014502974227070808, 0.006336561404168606, 7.34762434149161e-05, -0.014678767882287502, 0.02782333642244339, -0.009157249704003334, 0.007547140121459961, -0.009844442829489708, -0.016141051426529884, -0.001347418176010251, -0.004458765499293804, 0.02112719789147377, 0.026544837281107903, 0.04647344350814819, -0.010899204760789871, -0.012361488305032253, 0.016876189038157463, 0.07926694303750992, 0.03889833763241768, 0.03525461256504059, 0.005617405287921429, 0.024195596575737, -0.039889171719551086, -0.04813549295067787, 0.02002449333667755, 0.0030024752486497164, -0.015190167352557182, -0.05791601166129112, 0.03710843622684479, 0.010827289894223213, 0.027439787983894348, 0.002205410972237587, 0.03127528354525566, -0.0004567138385027647, 0.010771354660391808, -0.0763903260231018, 0.030843790620565414, 0.05698909983038902, -0.0070996652357280254, 0.011067007668316364, 0.01730768196284771, 0.02529830113053322, 0.032330047339200974, -0.03515872731804848, -0.037651799619197845, 0.01834646239876747, -0.036724887788295746, 0.02058383636176586, -0.021814391016960144, 0.037076473236083984, 0.0363093763589859, -0.033272940665483475, -0.02988491766154766, -0.006859946995973587, -0.017099926248192787, 0.00041226603207178414, 0.0130247101187706, 0.00015806444571353495, -0.031978458166122437, 0.027152124792337418, -0.007674990221858025, 0.019864680245518684, -0.00884561613202095, 0.05603022500872612, 0.05110800266265869, 0.048902589827775955, -0.03356060013175011, 0.0055694617331027985, 0.005729274358600378, 0.009564771316945553, -0.0034159899223595858, 0.025665869936347008, -0.005665349308401346, -0.014343162067234516, 0.032425932586193085, -0.031610891222953796, 0.0006831979844719172, 0.012777000665664673, -0.0039733354933559895, 0.014598862268030643, 0.034391626715660095, 0.03889833763241768, 0.00990836787968874, 0.009940330870449543, -0.02270933985710144, -0.03525461256504059, -0.019768793135881424, 0.011929995380342007, -0.046505406498909, -0.012065835297107697, -0.009508837014436722, 0.047975677996873856, -0.02309289015829563, 0.02120710350573063, -0.016157032921910286, 0.014247274957597256, 0.01721179485321045, -0.05967394635081291, 0.024643070995807648, -0.01223363820463419, -0.015094280242919922, 0.02670465037226677, -0.013144569471478462, 0.0213988795876503, -0.001955704065039754, 0.006008945871144533, -0.03455143794417381, 0.01694011315703392, 0.03646918758749962, -0.0577242337167263, -0.010116124525666237, 0.015014373697340488, -0.0017379597993567586, -0.0065003689378499985, -0.01162635162472725, 0.008533981628715992, 0.014247274957597256, -0.030763885006308556, 0.02549007534980774, 0.007047726307064295, -0.04199869558215141, 0.008038563653826714, 0.057468537241220474, -0.04382055625319481, -0.08764111250638962, -0.012848916463553905, 0.032330047339200974, 0.04024076089262962, 0.032154254615306854, -0.029852954670786858, 0.00604889914393425, 0.006835975218564272, 0.01823459379374981, 0.02334859035909176, -0.021718503907322884, 0.0013833759585395455, -0.02855847403407097, 0.013600034639239311, -0.025825683027505875, 0.022949058562517166, -0.018394406884908676, 0.0058451383374631405, 0.012017891742289066, -0.0007236505043692887, -0.032985277473926544, 0.020328136160969734, 0.018474312499165535, 0.025985494256019592, 0.020168323069810867, 0.014287227764725685, -0.017978893592953682, 0.027216050773859024, 0.012984756380319595, -0.04426803067326546, 0.021558690816164017, -0.03704451024532318, 0.0007546141277998686, 0.07523967325687408, -0.019465148448944092, 0.04615381732583046, -0.008853606879711151, 0.01834646239876747, -0.04011290892958641, -0.058491334319114685, 0.020887479186058044, 0.011961957439780235, -0.015270073898136616, -0.030652016401290894, -0.0026189256459474564, 0.044076256453990936, -0.015877360478043556 ], "result": "--- 结果 1 (相似度: 1.000) ---\n文件路径: C:\\Steam\\steamapps\\common\\RimWorld\\Data\\dll1.6\\RimWorld\\CompProperties_UseEffectInstallImplant.txt\n\npublic class CompProperties_UseEffectInstallImplant : CompProperties_UseEffect\n{\n\tpublic HediffDef hediffDef;\n\n\tpublic BodyPartDef bodyPart;\n\n\tpublic bool canUpgrade;\n\n\tpublic bool allowNonColonists;\n\n\tpublic bool requiresExistingHediff;\n\n\tpublic float maxSeverity = float.MaxValue;\n\n\tpublic float minSeverity;\n\n\tpublic bool requiresPsychicallySensitive;\n\n\tpublic CompProperties_UseEffectInstallImplant()\n\t{\n\t\tcompClass = typeof(CompUseEffect_InstallImplant);\n\t}\n}\n\n", "timestamp": "2025-08-26 18:22:36,816" }, "C#-CompUseEffect": { "keywords": [ "CompUseEffect", "C#" ], "question": "RimWorld CompUseEffect C# 代码", "embedding": [ 0.0042454213835299015, 0.03656640276312828, 0.033808428794145584, -0.01589708775281906, -0.020266463980078697, -0.018314190208911896, 0.0461108535528183, 0.002045239321887493, 0.0350169762969017, 0.1217227354645729, 0.017369041219353676, -0.07251303642988205, 0.014696285128593445, -0.019088901579380035, 0.015687916427850723, 0.06482788920402527, 0.005752235651016235, -0.09098216891288757, -0.02977992594242096, -0.0013257256941869855, -0.014882215298712254, 0.03662838041782379, 0.014812491834163666, 0.03985118120908737, 0.008707761764526367, -0.012286930344998837, -0.03510994464159012, 0.023473771288990974, 0.015633685514330864, 0.0014932572375983, 0.04874487221240997, 0.0030969108920544386, 0.021041175350546837, 0.01145024225115776, -0.03287877142429352, 0.057483624666929245, -0.03594663366675377, -0.026820525527000427, -0.05478762462735176, -0.02716139890253544, -0.029547512531280518, -0.0072706714272499084, 0.03517191857099533, -0.021258095279335976, 0.02889675460755825, 0.022435655817389488, 0.03588465601205826, -0.05509750917553902, 0.003253790084272623, 0.044809337705373764, 0.02655712328851223, -0.027517767623066902, -0.021087657660245895, 0.004853569902479649, -0.0158273633569479, 0.02251312881708145, 0.007224188651889563, 0.05339314416050911, -0.010543828830122948, 0.006701258011162281, 0.020684808492660522, -0.0008144158637151122, 0.05029429495334625, -0.0466686449944973, 0.01789584569633007, -0.035264886915683746, -0.061202239245176315, 0.00216725654900074, -0.017818374559283257, -0.02217225544154644, 0.004024628549814224, 0.015881594270467758, 0.05233953520655632, -0.008126728236675262, -0.01822122372686863, 0.059590838849544525, -0.03811582550406456, 0.05590321123600006, -0.04843498766422272, 0.06798871606588364, 0.0011494788341224194, 0.020870737731456757, -0.015703409910202026, 0.01922834850847721, 0.06532371044158936, 0.044034626334905624, 0.04871388524770737, 0.0305546373128891, 0.019770648330450058, 0.07462024688720703, 0.01122557558119297, 0.03210406005382538, 0.04521218687295914, -0.006329396273940802, 0.03300272673368454, -0.0316547267138958, -0.047877196222543716, 0.048527952283620834, -0.02290048450231552, -0.018407154828310013, -0.0022001818288117647, -0.01049734652042389, -0.00498914485797286, 0.060148630291223526, -0.03935536369681358, 0.029036201536655426, -0.019414279609918594, 0.01249610260128975, -0.022249726578593254, 0.05633705109357834, -0.0017227656207978725, -0.022373680025339127, 0.024078045040369034, 0.07350466400384903, -0.0043228925205767155, -0.024806275963783264, 0.022482139989733696, 0.0006764203426428139, -0.014184975065290928, -0.0008211946114897728, 0.035078953951597214, -0.008994405157864094, -0.014773756265640259, -0.04195839539170265, 0.06619138270616531, 0.010644541122019291, -0.03957228362560272, 0.012147482484579086, -0.007929176092147827, 0.044251542538404465, -0.016795754432678223, -0.023985080420970917, 0.020793266594409943, -0.030213763937354088, -0.011256564408540726, 0.027688203379511833, -0.012891205959022045, 0.02200181782245636, -0.09711788594722748, 0.011729137971997261, -0.02434144727885723, 0.015091387555003166, 0.02889675460755825, 0.016098514199256897, 0.11459538340568542, -0.033312611281871796, -0.03201109543442726, 0.00828167051076889, -0.007038257550448179, -0.031251877546310425, -0.008483095094561577, 0.011163598857820034, -0.019321314990520477, 0.05351709946990013, 0.05760757625102997, -0.034366220235824585, 0.017601454630494118, -0.0041640764102339745, -0.017694419249892235, -0.008816221728920937, -0.015470996499061584, 0.011341782286763191, -0.017802879214286804, 0.0028199513908475637, 0.030880017206072807, -0.016098514199256897, -0.02711491659283638, 0.03140681982040405, 0.016036536544561386, 0.006166706793010235, -0.009567691944539547, -0.004140835255384445, -0.020374923944473267, -0.006554062478244305, 0.019910095259547234, -0.017043661326169968, -0.01059031207114458, 0.0572357140481472, 0.031313855201005936, -0.002281526569277048, 0.03594663366675377, 0.013201090507209301, -0.0008642879547551274, 0.010520587675273418, 0.04245421290397644, -0.016640812158584595, -0.0015649180859327316, 0.029686959460377693, -0.03312668204307556, 0.030647601932287216, -0.009652910754084587, 0.08075597137212753, -0.022869495674967766, 0.002107216278091073, -0.0129221947863698, -0.03263086453080177, -0.03768198564648628, 0.048373010009527206, -0.07908259332180023, 0.008645785041153431, 0.006143465172499418, -0.04133862629532814, -0.03572971373796463, 0.0057870978489518166, 0.026867009699344635, -0.01158194337040186, -0.04462340474128723, 0.006867820862680674, 0.036814309656620026, -0.0021401415579020977, 0.03123638406395912, 0.00410984642803669, -0.005388121120631695, -0.03988216817378998, -0.0150061696767807, 0.017431017011404037, -0.045305151492357254, 0.018438143655657768, 0.021320071071386337, -0.0031143417581915855, -0.01811276376247406, 0.006124097388237715, -0.01916637271642685, 0.015083640813827515, 0.02494572289288044, 0.0031743820291012526, 0.030988475307822227, 0.006863947492092848, 0.04629678279161453, 0.004346133675426245, -0.009652910754084587, 0.013751136139035225, -0.006697384174913168, 0.019987566396594048, 0.021134139969944954, -0.01258132141083479, -0.02071579545736313, 0.026355698704719543, -0.017462005838751793, 0.012294678017497063, 0.036039598286151886, 0.038704607635736465, -0.0020723543129861355, 0.0075766826048493385, -0.015060399658977985, -0.02139754220843315, -0.018902970477938652, -0.012356654740869999, -0.001692745485343039, 0.0059730289503932, -0.031980108469724655, -0.014998422004282475, -0.012689781375229359, -0.038921527564525604, -0.005221558269113302, -0.01492095086723566, 0.016346421092748642, -0.00627904012799263, -0.015711156651377678, 0.025240113958716393, -0.035760700702667236, 0.009862082079052925, 0.013030653819441795, 0.025627469643950462, -0.04251619055867195, 0.013317297212779522, 0.030740568414330482, -0.01244962029159069, -0.021320071071386337, -0.04338386654853821, -0.025813400745391846, 0.04366276413202286, 0.026789536699652672, -0.04862092062830925, 0.011736885644495487, 0.009544450789690018, 0.002283463254570961, 0.004396489821374416, 0.006856200285255909, 0.01772540807723999, 0.015091387555003166, -0.012364402413368225, -0.0020103773567825556, -0.014742767438292503, 0.006306155119091272, 0.05639902502298355, 0.008126728236675262, -0.04105973243713379, 0.021598968654870987, 0.014409641735255718, -0.009172588586807251, 0.013123619370162487, 0.004315145313739777, 2.6131396225537173e-05, -0.01699717901647091, 0.010350150987505913, -0.01341801043599844, 0.01978614181280136, -0.006050500087440014, -0.010450863279402256, -0.029160156846046448, -0.013201090507209301, 0.004803213756531477, 0.019848119467496872, 0.029872890561819077, 0.016966190189123154, -0.009002151899039745, -0.11825202405452728, 0.016516856849193573, -0.07344269007444382, -0.0001590580359334126, 0.00950571522116661, -0.010605805553495884, -0.013766630552709103, -0.007100234739482403, -0.02505418285727501, -0.03173219785094261, -0.03228999301791191, 0.0036701976787298918, 0.05150284618139267, -0.00726292422041297, 0.014339917339384556, -0.056646935641765594, 0.004319018684327602, 0.06011764332652092, -0.029578501358628273, 0.05401291325688362, 0.02616976760327816, 0.009350772947072983, 0.016966190189123154, -0.011411506682634354, 0.02317938022315502, 0.006224810145795345, 0.03383941575884819, 0.007421739865094423, 0.001179498853161931, 0.01330955047160387, -0.011155851185321808, 0.02189335785806179, -0.019290326163172722, -0.01671828329563141, -0.05072813481092453, -0.0361015759408474, -0.0031898762099444866, 0.005732867866754532, 0.016299938783049583, 0.06718301773071289, 0.027486778795719147, 0.027207881212234497, 0.004652144853025675, 0.007177705876529217, 0.023985080420970917, -0.02668107859790325, 0.009064129553735256, 0.017926832661032677, -0.027967099100351334, -0.011396012268960476, 0.007754866033792496, -0.039138443768024445, 0.01839166134595871, -0.017307063564658165, -0.0015610444825142622, -0.039541296660900116, -0.0013363780453801155, 0.03622552752494812, -0.009955047629773617, 0.011736885644495487, 0.007123475894331932, -0.011047392152249813, 0.015354789793491364, -0.015176606364548206, -0.06867046654224396, 0.04744335636496544, 0.027641721069812775, 0.03272382915019989, 0.10647640377283096, -0.01002477202564478, -0.01983262412250042, -0.033591508865356445, -0.003949094098061323, -0.018810005858540535, 0.024542873725295067, 0.014270192943513393, -0.048311036080121994, -0.04059490188956261, 0.02105666883289814, -0.040811821818351746, 0.004365501459687948, 0.0069181774742901325, -0.019197361543774605, 0.04604887589812279, 0.03455214947462082, -0.01077624224126339, -0.013937067240476608, 0.003575295442715287, 0.01247286144644022, 0.013952561654150486, -0.003253790084272623, 0.06318550556898117, 0.022156760096549988, -0.010427622124552727, -0.03263086453080177, -0.05004638805985451, 0.01175237912684679, 0.02193984016776085, -0.0011436684289947152, 0.02294696681201458, 0.0205608531832695, -0.03143781051039696, 0.012015781365334988, 0.0029303478077054024, -0.008273922838270664, 0.08608599007129669, -0.0016220530960708857, -0.0026921238750219345, -0.007785854395478964, 0.0006468844367191195, -0.012503850273787975, 0.04772225394845009, -0.022404668852686882, -0.013224332593381405, 0.03978920355439186, -0.022125771269202232, 0.007332648150622845, -0.025519009679555893, 0.13411812484264374, -0.026262734085321426, 0.02595284953713417, -0.024465402588248253, 0.022466644644737244, 0.052153605967760086, -0.0017847425770014524, -0.09178786724805832, 0.07090163230895996, -0.024031562730669975, -0.007038257550448179, 0.020405910909175873, 0.017462005838751793, 0.002825761679559946, -0.005477213300764561, -0.032816797494888306, -0.01341801043599844, 0.04316694661974907, -0.019042419269680977, -0.023256851360201836, -0.03213505074381828, 0.013503228314220905, -0.02118062414228916, 0.03377743810415268, 0.028989719226956367, -0.02761073224246502, -0.018701545894145966, -0.02028195746243, 0.040470950305461884, -0.0283389613032341, -0.0035636748652905226, -0.03613256290555, -0.0566779226064682, -0.03162373974919319, 0.032816797494888306, 0.04202037304639816, -0.01310812495648861, -0.07511606812477112, 0.026417676359415054, -0.004880684893578291, -0.00339517486281693, -0.004218306392431259, -0.007995027117431164, 0.01643938571214676, -0.04043995961546898, -0.006852326914668083, 0.009761369787156582, -0.040532927960157394, -0.019755152985453606, -0.026913492009043694, -0.052804362028837204, -0.00226990575902164, 0.04518119990825653, 0.02049887739121914, 0.0805700346827507, 0.013224332593381405, 0.007104108110070229, -0.03039969503879547, 0.036256518214941025, -0.12345808744430542, -0.02449638955295086, -0.003040744224563241, 0.0005631187232211232, -0.014657549560070038, -0.04589393362402916, -0.013619435019791126, -0.026805032044649124, 0.044034626334905624, 0.07505408674478531, -0.02489924058318138, 0.026882503181695938, 0.007743245456367731, -0.033529531210660934, 0.006445602979511023, -0.058196358382701874, -0.016191478818655014, 0.04118368402123451, 0.018019799143075943, -0.014177227392792702, -0.0031240256503224373, 0.006662522442638874, -0.03594663366675377, 0.022807518020272255, 0.002242791000753641, 0.02923762798309326, -0.034087322652339935, -0.051254939287900925, 0.02350475825369358, -0.026433169841766357, -0.01867055706679821, 0.013735641725361347, 0.012441873550415039, 0.016129501163959503, 0.017307063564658165, 0.010481852106750011, 0.018469132483005524, -0.026262734085321426, 0.03315766900777817, -0.013758883811533451, -0.04524317383766174, 0.012937689200043678, 0.016191478818655014, -0.0025294343940913677, 0.007747118826955557, -0.03910745680332184, -0.033870402723550797, 0.013379274867475033, -0.004717995412647724, 0.003677944652736187, 0.06427010148763657, 0.03774396330118179, -0.005775477271527052, 0.00803376268595457, 0.05509750917553902, 0.08149969577789307, -0.015207594260573387, 0.01727607473731041, 0.003844507737085223, 0.013658170588314533, 0.018933959305286407, 0.08404074609279633, 0.06482788920402527, -0.011031897738575935, 0.002045239321887493, -0.049705516546964645, 0.02567395195364952, 0.028431925922632217, -0.017818374559283257, -0.015687916427850723, 0.023876620456576347, -0.02867983467876911, 0.017043661326169968, 0.06662522256374359, -0.0027463536243885756, -0.008049257099628448, -0.015308307483792305, -0.0005718342144973576, 0.0494576096534729, -0.0605514831840992, -0.038766585290431976, 0.017647936940193176, -0.04682358726859093, 0.00045732210855931044, -0.0022737793624401093, 0.00977686420083046, -0.0030058822594583035, 0.03483104705810547, -0.043755728751420975, 0.027641721069812775, 0.019150877371430397, 0.031639233231544495, 0.039417341351509094, -0.0034029220696538687, 0.07071570307016373, 0.008839462883770466, 0.007781981024891138, -0.009195830672979355, -0.002647578017786145, 0.002833508886396885, 0.009784610942006111, 0.01516885869204998, 0.008134474977850914, -0.0020704176276922226, 0.07771909981966019, -0.003201497020199895, 0.05088307708501816, 0.024589356034994125, -0.03796088322997093, -0.019383292645215988, -0.05655396729707718, 0.04146258160471916, 0.0005350353894755244, 0.06681115180253983, 0.02322586253285408, 0.047257427126169205, -0.00314726703800261, -0.05382698401808739, 0.002506193006411195, 0.004919420462101698, 0.014680790714919567, -0.021753910928964615, -0.03517191857099533, 0.03910745680332184, 0.02761073224246502, 0.0012714959448203444, -0.020979197695851326, 0.051316916942596436, 0.049364641308784485, -0.008986658416688442, 0.03044617734849453, 0.00991631206125021, 0.00302718672901392, -0.02977992594242096, -0.014549089595675468, -0.024465402588248253, -0.020762279629707336, -0.0004214916843920946, 0.009435990825295448, -0.035481806844472885, -0.07784305512905121, 0.01466529630124569, -0.043414853513240814, -0.022466644644737244, 0.02572043426334858, -0.01605203002691269, -0.05162680149078369, -0.014301181770861149, -0.027409307658672333, 0.0035965999122709036, 0.03300272673368454, 0.007836210541427135, 0.004884558729827404, -0.024310460314154625, -0.007716130465269089, -0.007561188191175461, 0.025379562750458717, 0.02689799666404724, -0.03483104705810547, -0.017585959285497665, -0.005078236572444439, -0.02273004688322544, -0.05701879784464836, -0.03244493529200554, 0.0022408540826290846, 0.0122249536216259, -0.013394768349826336, 0.020235475152730942, -0.007018889766186476, 0.02118062414228916, -0.031468797475099564, 0.033312611281871796, -0.01961570605635643, -0.010326909832656384, -0.004810960963368416, 0.015130123123526573, -0.019693177193403244, -0.019972072914242744, -0.02788962796330452, -0.019925590604543686, -0.024186505004763603, 0.014549089595675468, -0.002283463254570961, -0.01441738847643137, 0.04710248485207558, 0.01527731865644455, -0.03194911777973175, -0.026696572080254555, 0.00746047543361783, 0.013294056057929993, -0.0051673282869160175, 0.045150209218263626, -0.032537899911403656, -0.014231457374989986, 0.01671828329563141, 0.007193199824541807, 0.003600473515689373, 0.011535460129380226, -0.03171670436859131, -0.01901143044233322, -0.04099775478243828, 0.011179092340171337, 0.011419253423810005, 0.027316341176629066, -0.02122710645198822, 0.01978614181280136, 0.030461672693490982, -0.07728525996208191, -0.008390129543840885, 0.01077624224126339, -0.07468222826719284, -0.032413944602012634, -0.024248482659459114, -0.010567069984972477, 0.03734111413359642, 0.030492659658193588, 0.058754149824380875, -0.01645488105714321, -0.03631849214434624, 0.001980357337743044, 0.027269858866930008, -0.04260915517807007, -0.03873559460043907, -0.024480896070599556, 0.019259337335824966, -0.010357897728681564, 0.007894313894212246, 0.06953813880681992, 0.02606130763888359, -0.00752632599323988, -0.012271436862647533, 0.013007412664592266, 0.0045862942934036255, -0.03641146048903465, -0.009381760843098164, -0.0015048778150230646, 0.008258428424596786, 0.033312611281871796, -0.021645450964570045, 0.04394165799021721, -0.07021988928318024, 0.032475922256708145, -0.02438793145120144, -0.010768495500087738, -0.015579456463456154, 0.023210369050502777, -0.01828320138156414, -0.020374923944473267, -0.0010129357688128948, -0.003714743535965681, 0.019910095259547234, 0.008250681683421135, -0.005078236572444439, 0.026882503181695938, -0.002395796589553356, -0.031205395236611366, -0.006488212384283543, -0.03929338604211807, 0.038580652326345444, -0.047536320984363556, 0.10306767374277115, -0.0013528406852856278, -0.006887188646942377, -0.023644207045435905, 0.04784620553255081, -0.047040507197380066, -0.01622246764600277, 0.019631199538707733, 0.06315451115369797, -0.040873799473047256, -0.02962498366832733, 0.03182516619563103, 0.03266185522079468, 0.006364258471876383, 0.01022619754076004, -0.023768160492181778, 0.006399120204150677, -0.018686050549149513, 0.011915069073438644, 0.042981017380952835, 0.02111864648759365, 0.05416785553097725, -0.02327234484255314, 0.037031229585409164, -0.0005277724703773856, -0.002573980251327157, -0.02627822756767273, -0.018484625965356827, -0.03235197067260742, 0.027936110273003578, -0.006406867410987616, 0.04118368402123451, -0.031019464135169983, 0.017694419249892235, -0.02355124242603779, -0.03393238037824631, 0.05227755755186081, -0.004597915336489677, 0.005159581080079079, -0.031189901754260063, 0.019290326163172722, 0.050976041704416275, 0.024418918415904045, -0.0055236960761249065, -0.033870402723550797, 0.006356511265039444, 0.00363920908421278, -0.00991631206125021, 0.07034383714199066, -0.018035292625427246, -0.00488843210041523, 0.0023725552018731833, 0.011767873540520668, 0.03256888687610626, 0.03867361694574356, 0.041152697056531906, -0.026882503181695938, -0.0566779226064682, -0.02139754220843315, -0.00928104855120182, 0.010938932187855244, 0.009924059733748436, -0.010350150987505913, -0.023706184700131416, -0.04573899134993553, -0.00780909601598978, -0.02245115116238594, -0.017694419249892235, 0.03495500236749649, 0.012906700372695923, 0.012689781375229359, -0.006228683516383171, -0.008297164924442768, -0.013224332593381405, 0.050976041704416275, -0.008157716132700443, 0.021629955619573593, 0.01927483268082142, 0.042640142142772675, -0.007867199368774891, -0.0036895654629915953, -0.000979526317678392, -0.010768495500087738, 0.014471618458628654, -0.003410669043660164, 0.01161293126642704, -0.0034416576381772757, -0.014363158494234085, 0.0015039094723761082, 0.043693751096725464, 0.0005868442822247744, 0.010822725482285023, -0.018871981650590897, -0.0150061696767807, -0.0049310410395264626, 0.0129221947863698, -0.08918483555316925, 0.03560575842857361, 0.016702787950634956, -0.055872220546007156, -0.017183110117912292, -0.013758883811533451, -0.028695328161120415, -0.004094352480024099, -0.023241357877850533, 0.004191191401332617, -0.09649811685085297, 0.04800114780664444, -0.008002773858606815, -0.039479319006204605, 0.02193984016776085, 0.02756424993276596, 0.00011009382433257997, 0.046978529542684555, -0.03783692792057991, 0.04394165799021721, -0.004803213756531477, -0.023938598111271858, 0.030880017206072807, 0.022528622299432755, -0.004601788707077503, 0.018035292625427246, 0.02649514749646187, 0.013650423847138882, 0.007940797135233879, 0.01967768184840679, 0.042206306010484695, 0.06290660798549652, 0.011488977819681168, 0.02350475825369358, 0.011055138893425465, -0.035574771463871, -0.06157410144805908, 0.008087992668151855, -0.0015378030948340893, 0.02717689424753189, -0.028215007856488228, -0.013069389387965202, 0.00041519716614857316, 0.004078858066350222, 0.02156797982752323, 0.006557936314493418, 0.017291570082306862, -0.013387021608650684, -0.09686997532844543, 0.008521830663084984, 0.03802286088466644, -0.017291570082306862, 0.012170723639428616, 0.01100090891122818, 0.05082109943032265, 0.029346086084842682, -0.061760034412145615, -0.03594663366675377, 0.01097766775637865, -0.018252212554216385, 0.014541342854499817, -0.04254717752337456, 0.04456142708659172, 0.009939554147422314, -0.05983874574303627, -0.020963704213500023, -1.550936940475367e-05, -0.019569221884012222, 0.020824255421757698, -6.633470911765471e-05, -0.002397733274847269, -0.02801358327269554, 0.016144996508955956, 0.0016239897813647985, 0.022358184680342674, -0.016083018854260445, 0.04490230232477188, 0.03374645113945007, 0.05302128195762634, -0.01077624224126339, 4.003686990472488e-05, -0.010156473144888878, 0.010551576502621174, -0.009459231980144978, 0.008095739409327507, -0.0066818902269005775, -0.0022776529658585787, 0.02595284953713417, -0.00676710857078433, 0.01972416415810585, 0.004714122042059898, 0.0027327961288392544, -0.03433523327112198, 0.008963416330516338, -0.023458275943994522, 0.039758216589689255, -0.011992540210485458, -0.0077703604474663734, -0.046079862862825394, -0.011853092350065708, 0.004117593634873629, -0.03659738972783089, -0.0019067596876993775, -0.0056786383502185345, 0.04784620553255081, 0.0040091341361403465, 0.025906365364789963, 0.005674764513969421, -0.007658027112483978, 0.05178174376487732, -0.08819320052862167, 0.044251542538404465, -0.013154608197510242, -0.040966764092445374, 0.0044700875878334045, 0.027703696861863136, 0.02672756090760231, 0.011891827918589115, 0.018190234899520874, -0.03712419420480728, 0.03532686457037926, 0.027982594445347786, -0.030136292800307274, -0.00015784754941705614, 0.04546009376645088, 0.004260915331542492, 0.0033603128977119923, 0.0029903878457844257, 0.002736669732257724, -0.008885945193469524, -0.03467610478401184, 0.027626225724816322, 0.015990054234862328, -0.023411793634295464, -0.0024016068782657385, 0.028215007856488228, -0.028215007856488228, -0.091106116771698, -0.03250691294670105, 0.015788627788424492, 0.023582229390740395, 0.022699058055877686, -0.03938635438680649, 0.024047058075666428, 0.021846875548362732, 0.02045239508152008, 0.02299344912171364, -0.03139132633805275, -0.00905638188123703, -0.007565061561763287, -0.0006710941670462489, -0.03349854424595833, 0.03929338604211807, -0.022962460294365883, 0.0258443895727396, 0.02211027778685093, -0.003614031011238694, -0.013510975986719131, -0.011349529027938843, 0.009188083000481129, 0.016361914575099945, 0.018236719071865082, 0.038084838539361954, -0.023086415603756905, 0.021815886721014977, 0.013627182692289352, -0.04198938608169556, 0.007352015934884548, -0.045305151492357254, 0.01269752811640501, 0.08546621352434158, -0.04121467471122742, 0.07678944617509842, -0.04040897265076637, 0.03452116250991821, -0.009110611863434315, -0.002978767268359661, 0.0023008943535387516, 0.021258095279335976, -0.01916637271642685, -0.013603940606117249, 0.0015290876617655158, 0.032259002327919006, -0.04759829863905907 ], "result": "--- 结果 1 (相似度: 1.000) ---\n文件路径: C:\\Steam\\steamapps\\common\\RimWorld\\Data\\dll1.6\\RimWorld\\CompUseEffect.txt\n\npublic abstract class CompUseEffect : ThingComp\n{\n\tprivate const float CameraShakeMag = 1f;\n\n\tprivate Effecter effecter;\n\n\tpublic virtual float OrderPriority => 0f;\n\n\tprivate CompProperties_UseEffect Props => (CompProperties_UseEffect)props;\n\n\tpublic virtual void DoEffect(Pawn usedBy)\n\t{\n\t\tif (usedBy.Map == Find.CurrentMap)\n\t\t{\n\t\t\tif (Props.doCameraShake && usedBy.Spawned)\n\t\t\t{\n\t\t\t\tFind.CameraDriver.shaker.DoShake(1f);\n\t\t\t}\n\t\t\tif (Props.moteOnUsed != null)\n\t\t\t{\n\t\t\t\tMoteMaker.MakeAttachedOverlay(usedBy, Props.moteOnUsed, Vector3.zero, Props.moteOnUsedScale);\n\t\t\t}\n\t\t\tif (Props.fleckOnUsed != null)\n\t\t\t{\n\t\t\t\tFleckMaker.AttachedOverlay(usedBy, Props.fleckOnUsed, Vector3.zero, Props.fleckOnUsedScale);\n\t\t\t}\n\t\t\tif (Props.effecterOnUsed != null)\n\t\t\t{\n\t\t\t\tProps.effecterOnUsed.SpawnMaintained(usedBy, new TargetInfo(parent.Position, parent.Map));\n\t\t\t}\n\t\t\teffecter?.Cleanup();\n\t\t}\n\t}\n\n\tpublic virtual void PrepareTick()\n\t{\n\t\tif (Props.warmupEffecter != null)\n\t\t{\n\t\t\tif (effecter == null)\n\t\t\t{\n\t\t\t\teffecter = Props.warmupEffecter.Spawn(parent, parent.Map);\n\t\t\t}\n\t\t\teffecter?.EffectTick(parent, parent);\n\t\t}\n\t}\n\n\tpublic virtual TaggedString ConfirmMessage(Pawn p)\n\t{\n\t\treturn null;\n\t}\n\n\tpublic virtual bool SelectedUseOption(Pawn p)\n\t{\n\t\treturn false;\n\t}\n\n\tpublic virtual AcceptanceReport CanBeUsedBy(Pawn p)\n\t{\n\t\treturn true;\n\t}\n}\n\n", "timestamp": "2025-08-26 18:29:45,809" }, "CompProperties_Shield": { "keywords": [ "CompProperties_Shield" ], "question": "RimWorld CompProperties_Shield C# 代码", "embedding": [ 0.009521562606096268, 0.0188528411090374, 0.051494017243385315, 0.00434727780520916, -0.015295976772904396, 0.00892875250428915, -0.040047649294137955, -0.009287365712225437, -0.01845763437449932, 0.1018170490860939, 0.027342474088072777, -0.043794795870780945, -0.0236246008425951, -0.003856928087770939, 0.02767913229763508, 0.04244816675782204, 0.00869455561041832, -0.10187559574842453, -0.0337243378162384, 0.03413417935371399, 0.029377058148384094, 0.07974400371313095, 0.03076760098338127, 0.02375633642077446, -0.0011654949048534036, -0.011109709739685059, -1.8596801965031773e-05, 0.045375626534223557, 0.0035330778919160366, 0.009946044534444809, 0.013568775728344917, -0.03240697830915451, 0.005628041457384825, -0.017008541151881218, -0.04139428213238716, 0.04578547179698944, -0.04578547179698944, -0.00867259968072176, -0.07693364471197128, 0.007128364406526089, -0.00873846746981144, -0.01936514675617218, 0.036944542080163956, 0.027357110753655434, 0.004822989925742149, 0.03214350715279579, 0.06539945304393768, -0.05784660577774048, -0.03466112166643143, 0.07582120597362518, 0.034836769104003906, 0.011248763650655746, -0.04765904322266579, 0.021546103060245514, 0.04019402340054512, 0.05483132228255272, 0.007110067643225193, 0.05207950994372368, -0.022146232426166534, 0.012844229117035866, 0.017140276730060577, -0.00882629118859768, -0.014468969777226448, -0.013861522078514099, 0.025102967396378517, -0.029172135517001152, -0.0714300200343132, -0.0006586784147657454, 0.0031525082886219025, -0.014747078530490398, 0.02914286218583584, 0.004958384670317173, -0.0006641673971898854, 0.019467607140541077, -0.006217192392796278, 0.0587833896279335, 0.013568775728344917, -0.014403101988136768, -0.046985726803541183, 0.024092992767691612, -0.012822273187339306, -0.00819688756018877, -0.027605945244431496, -0.022365791723132133, 0.02091670036315918, 0.07658234983682632, 0.010260745882987976, -0.001965057337656617, -0.002188276033848524, 0.03984272852540016, 0.05491914600133896, -0.002320011844858527, 0.016496235504746437, -0.031909309327602386, 0.0025048076640814543, 0.004149673972278833, -0.015530173666775227, 0.04019402340054512, -0.009236135520040989, 0.011885486543178558, -0.027898691594600677, 0.01772576943039894, -0.04549272358417511, 0.052606452256441116, -0.012119683437049389, 0.03782277926802635, -0.018516182899475098, 0.0013932879082858562, -0.011695201508700848, 0.05207950994372368, -0.009484969079494476, -0.02280491031706333, 0.014886132441461086, 0.06264764070510864, 0.019833538681268692, -0.022746361792087555, 0.010963336564600468, -0.021165532991290092, -0.0029768606182187796, 0.019174860790371895, 0.017111001536250114, -0.007516252808272839, -0.023126931861042976, -0.03319739177823067, 0.04803961515426636, 0.013166249729692936, 0.010751095600426197, 0.024180816486477852, -0.02823534980416298, 0.016642607748508453, -0.01067059114575386, -0.028630556538701057, 0.007029562722891569, -0.01368587464094162, -0.005053527187556028, -0.01416158676147461, -0.0019613979384303093, 0.020799601450562477, -0.10287093371152878, 0.03240697830915451, -0.029625892639160156, 0.01683289371430874, 0.017198825255036354, 0.029801540076732635, 0.11159476637840271, -0.05948598310351372, -0.030240658670663834, -0.007091771345585585, 0.017930690199136734, -0.007465022150427103, -0.0006893252721056342, -0.018838202580809593, -0.027488846331834793, 0.05380671098828316, 0.03056268021464348, -0.027298562228679657, 0.021399730816483498, 0.006978332065045834, -0.013722467236220837, -0.04625386372208595, -0.028425633907318115, -0.026405686512589455, 0.00608911644667387, -0.003223865060135722, 0.03269972652196884, -0.023009832948446274, -0.027079002931714058, 0.030650503933429718, 0.012939372099936008, 0.001621995703317225, 0.006912464275956154, -0.00912635587155819, -0.031440917402505875, -0.005840281955897808, 0.023039108142256737, -0.003919136710464954, 0.01570582203567028, 0.08144193142652512, -0.012668581679463387, 0.027049727737903595, 0.036944542080163956, -9.868741472018883e-05, 0.027532758191227913, 0.005232834257185459, 0.024210091680288315, -0.019570067524909973, -0.026186127215623856, 0.029450245201587677, -0.013202843256294727, 0.04666370898485184, -0.020111648365855217, 0.0714300200343132, -0.04382407292723656, -0.0030335800256580114, 0.002052881056442857, -0.02621540240943432, 0.0019559089560061693, 0.05383598431944847, -0.06762432307004929, -0.0037325110752135515, 0.013239436782896519, -0.03489531949162483, -0.032816823571920395, -0.0246199369430542, 0.04584401845932007, -0.010187559761106968, -0.02078496478497982, 0.0033812159672379494, 0.04350205138325691, -0.015427712351083755, 0.048098161816596985, 0.004526584409177303, -0.005993973929435015, -0.03846682235598564, 0.0051340325735509396, -0.0018845521844923496, -0.03870101645588875, 0.023946620523929596, 0.0211801715195179, 0.014395782724022865, -0.051113445311784744, 0.007948053069412708, 0.01144636794924736, 0.007333286572247744, 0.0377056822180748, 0.00835057906806469, 0.03243625536561012, -0.0026164171285927296, 0.04318002983927727, -0.02530789002776146, -0.004504628479480743, -0.0006486152997240424, -0.04675153270363808, 0.00506816478446126, 0.038496095687150955, -0.012097727507352829, -0.0011764728697016835, -0.055504634976387024, 0.011160939931869507, 0.031997133046388626, -0.0001453438017051667, 0.04531707614660263, 0.021121621131896973, -0.0035824787337332964, -0.020126285031437874, -0.04376552253961563, 0.0009880176512524486, -0.015369163826107979, 0.005898831412196159, -0.02896721474826336, 0.018428359180688858, 0.03559790924191475, -0.01683289371430874, -0.03334376588463783, 0.010290021076798439, -0.00017141648277174681, 0.02211695909500122, -0.015383800491690636, -0.005298702046275139, -0.013824928551912308, -0.0298308152705431, 0.034280553460121155, -0.00022687812452204525, 0.028835479170084, -0.03182148560881615, 0.019057761877775192, 0.055885206907987595, -0.013985938392579556, 0.018486907705664635, -0.00014763088256586343, -0.02147291786968708, 0.02599584311246872, 0.02568845823407173, -0.006736816838383675, 0.027781592682003975, -0.005104757845401764, 0.02956734225153923, -0.002918311394751072, 0.015413075685501099, -0.00828471127897501, 0.024210091680288315, -0.014754396863281727, -0.0006262019160203636, 0.01910167559981346, -0.03158729150891304, 0.009689891710877419, 0.006469686049968004, -0.013605369254946709, -0.0012524038320407271, -0.015983929857611656, 0.00725278165191412, -0.00574513990432024, 0.015574085526168346, 0.028440270572900772, -0.01760867051780224, 0.030738327652215958, -0.019438331946730614, 0.014578749425709248, -0.002925629960373044, 0.003093959065154195, -0.024883408099412918, 0.022570714354515076, -0.009258091449737549, -0.013883478008210659, 0.029201410710811615, 0.01621812768280506, -0.020301932469010353, -0.10410046577453613, 0.03758858144283295, -0.08032949268817902, 0.00938250869512558, -0.0035385668743401766, -0.03826189786195755, -0.016364499926567078, -0.05026448518037796, -0.0033482820726931095, -0.01634986326098442, 0.008409127593040466, 0.035568635910749435, 0.03545153886079788, -0.061301007866859436, 0.0024810221511870623, -0.054070182144641876, 0.011197533458471298, 0.007552845869213343, -0.026244675740599632, 0.0465758852660656, 0.024737033993005753, 0.007713856175541878, 0.011863530613481998, -0.025585997849702835, -0.00014957490202505141, 0.014644617214798927, 0.055065516382455826, -0.029420970007777214, 0.0157497338950634, -0.0094264205545187, 0.017520846799016, -0.0013420573668554425, 0.027532758191227913, 0.011043841950595379, -0.057173289358615875, -0.005679271649569273, -0.045463450253009796, -0.014249410480260849, 0.0204043947160244, 0.05246007815003395, 0.056909818202257156, -0.0204043947160244, 0.005177944432944059, -0.009243453852832317, 0.02934778295457363, -0.004530244041234255, -0.0006792621570639312, 0.009097080677747726, -0.01768185757100582, -0.0037215331103652716, 0.0017537312814965844, -0.07664089649915695, 0.015105691738426685, 0.03287537395954132, -0.0038862028159201145, 0.019306596368551254, -0.00968257337808609, 0.03834972158074379, 0.021106984466314316, 0.012427066452801228, 0.05796370282769203, -0.032992471009492874, 0.013122337870299816, -0.048098161816596985, -0.05319194495677948, 0.04511215537786484, 0.031148171052336693, -0.0031397005077451468, 0.0636429712176323, 0.028425633907318115, 0.004709550645202398, -0.045082878321409225, 0.04604894295334816, -0.021575378254055977, 0.018106337636709213, -0.00846035871654749, -0.0507914274930954, -0.021546103060245514, 0.0009230646537616849, 0.01798924058675766, 0.012844229117035866, 0.053133394569158554, -0.04083806276321411, 0.06007147207856178, 0.018267348408699036, 0.0025834832340478897, -0.01588146947324276, 0.025468898937106133, 0.014000575989484787, -0.0028231688775122166, 0.027693768963217735, 0.057817328721284866, 0.004453398287296295, 0.01759403385221958, -0.006158643402159214, -0.05366033688187599, -0.001098712207749486, 0.02156074158847332, 0.03524661436676979, 0.0022504846565425396, 0.018530819565057755, -0.03179221227765083, -0.00011075174552388489, -0.05585592985153198, -0.026961904019117355, 0.03673962131142616, 0.0015378311509266496, 0.021399730816483498, 0.00881897285580635, -0.011980628594756126, -0.018003877252340317, 0.0026603289879858494, -0.017447659745812416, -0.020623954012989998, 0.029333146288990974, -0.040223296731710434, -0.01372978650033474, 0.009155630134046078, 0.062120694667100906, -0.034836769104003906, -0.01949688233435154, -0.0035330778919160366, 0.0034141498617827892, 0.00023099486134015024, -0.011336587369441986, -0.08858492970466614, 0.055504634976387024, -0.007347923703491688, -0.01914558745920658, 0.02142900601029396, 0.04751267284154892, -0.04601966589689255, -0.010795007459819317, -0.05761240795254707, -0.00439118966460228, 0.01889675296843052, -0.04358987510204315, -0.040955159813165665, -0.048390910029411316, -0.0035678416024893522, 0.007611395325511694, 0.026537422090768814, -0.011482960544526577, -0.04285801202058792, -0.0337243378162384, 0.04479013383388519, 0.03843754529953003, -0.004577815067023039, -0.0012203847290948033, -0.02737174928188324, -0.06510670483112335, -0.03387070819735527, -0.03340231627225876, 0.036388322710990906, 0.003300710814073682, -0.03179221227765083, 0.022687813267111778, -0.013151613064110279, -0.018560094758868217, -0.02160465344786644, 0.0018461293075233698, 0.016803618520498276, -0.04748339578509331, -0.024195455014705658, 0.012346561066806316, -0.025468898937106133, -0.009280047379434109, -0.005840281955897808, -0.0507914274930954, -0.007691900245845318, 0.07096162438392639, 0.0115341916680336, 0.06094971299171448, 0.007461362984031439, 0.021370455622673035, -0.005968358367681503, 0.05685126781463623, -0.1574973315000534, -0.01910167559981346, 0.011658607982099056, 0.01759403385221958, 0.00949228834360838, -0.030182110145688057, -0.03489531949162483, -0.027898691594600677, 0.04350205138325691, 0.05488986894488335, -0.04850800707936287, 0.014220135286450386, -0.041160084307193756, 0.006063500884920359, 0.018794290721416473, -0.07061032950878143, 0.00759675819426775, 0.021209444850683212, 0.04247744008898735, -0.020023824647068977, -0.006670949049293995, -0.022058408707380295, -0.037120189517736435, 0.016803618520498276, 0.006078138016164303, -0.009177586063742638, -0.017052453011274338, -0.02142900601029396, 0.03834972158074379, -0.010172922164201736, -0.021809574216604233, -0.01217823289334774, 0.026669157668948174, 0.006949057336896658, 0.030094286426901817, 0.010385163128376007, 0.032465528696775436, 0.016203489154577255, 0.04798106476664543, -0.00433629984036088, -0.010560810565948486, -0.009946044534444809, 9.0225221356377e-05, -0.04145282879471779, 0.01643768697977066, -0.05289919674396515, -0.004910813644528389, 0.026800893247127533, 0.004420464392751455, 0.013078426010906696, 0.03542226180434227, 0.039872001856565475, 0.02832317352294922, 0.012866185046732426, 0.06762432307004929, 0.0942642018198967, 0.034836769104003906, 0.029157498851418495, 0.01293205376714468, 0.01093406230211258, 0.01790141686797142, 0.04145282879471779, 0.03624195232987404, -0.01579364575445652, 0.022365791723132133, -0.007161298301070929, 0.006092775613069534, 0.0004720528668258339, -0.022658538073301315, -0.0629989355802536, 0.04455593600869179, 0.019130948930978775, 0.017740406095981598, 0.06452121585607529, 0.002903674030676484, -0.024473562836647034, 0.0022980559151619673, -0.009411782957613468, 0.00892875250428915, -0.07459167391061783, -0.025966567918658257, 0.022029133513569832, -0.054977692663669586, 0.0151935163885355, -0.0204043947160244, -0.0022376771084964275, -0.019394420087337494, 0.014564111828804016, -0.04221396893262863, 0.03799842670559883, 0.029157498851418495, -0.016686519607901573, 0.015208153054118156, 0.016730431467294693, 0.0652238056063652, 0.0186332818120718, -0.009887495078146458, 0.0034086608793586493, 0.0067697507329285145, -0.006872211582958698, 0.042711637914180756, 0.015530173666775227, -0.006912464275956154, -0.01336385402828455, 0.05052795633673668, 0.0038605874869972467, 0.05307484418153763, 0.029128223657608032, -0.056441422551870346, -0.01687680557370186, -0.027562033385038376, 0.031353093683719635, -0.013144293799996376, 0.027781592682003975, 0.018223436549305916, 0.004091124981641769, -0.005642678588628769, -0.019789626821875572, 0.01004850585013628, 0.013605369254946709, 0.032465528696775436, -0.03196785971522331, -0.007552845869213343, -0.025922656059265137, 0.03697381541132927, -0.004844945855438709, 0.028469545766711235, 0.014651935547590256, 0.03357796370983124, 0.004156992770731449, 0.0017217122949659824, -0.01570582203567028, 0.009528880938887596, -0.0049620443023741245, 0.008299347944557667, 0.0024554068222641945, -0.008914114907383919, 0.0033537710551172495, 0.002347456756979227, -0.03343158960342407, -0.027620581910014153, -0.03469039872288704, -0.01129999477416277, -0.040691688656806946, 0.023083020001649857, -0.033929258584976196, -0.026405686512589455, 0.003445254173129797, -0.018911389634013176, -0.0017802614020183682, 0.03249480202794075, -0.04423391819000244, -0.02861591801047325, 0.0005278575699776411, 0.0182966236025095, 0.03389998525381088, 0.0211801715195179, 0.0030335800256580114, -0.003419638844206929, -0.025029780343174934, -0.03735438734292984, -0.010904787108302116, -0.021458279341459274, -0.04716137424111366, -0.04648806154727936, -0.0052035595290362835, -0.01566191017627716, 0.00649896077811718, 0.021677838638424873, 0.007256440818309784, -0.06264764070510864, 0.00826275534927845, -0.004354596138000488, 0.0037178739439696074, -0.007926097139716148, -0.0016796300187706947, -0.03132382035255432, -0.030884699895977974, -0.024166179820895195, -0.040779512375593185, -0.005818326026201248, 0.03267044946551323, -0.012405110523104668, -0.007194232195615768, 0.012917416170239449, -0.007362561300396919, -0.014959319494664669, -0.026112940162420273, 0.04962044209241867, 0.009587430395185947, 0.030094286426901817, 0.027401022613048553, -0.056529246270656586, -0.00901657622307539, 0.013598049990832806, 0.0145275192335248, -0.01555944886058569, -0.037120189517736435, -0.043970443308353424, -0.038027700036764145, -0.04871293157339096, 0.019599342718720436, -0.026200763881206512, 0.024941956624388695, -0.006063500884920359, 0.009894813410937786, 0.03911086171865463, -0.06416991353034973, 0.01936514675617218, 0.006422114558517933, -0.05243080481886864, -0.021926673129200935, -0.06838545948266983, -0.030152834951877594, 0.01967252977192402, 0.027518121525645256, 0.07224970310926437, -0.030913975089788437, 0.027781592682003975, 0.024327190592885017, 0.010538854636251926, -0.0006870381766930223, -0.013312622904777527, -0.03466112166643143, 0.013671237044036388, -0.03791060298681259, 0.0014692188706248999, 0.0503523088991642, 0.05462639778852463, -0.022760998457670212, -0.017462296411395073, 0.03322666883468628, 0.007933415472507477, -0.021077709272503853, -0.05325049161911011, 0.013715148903429508, -0.038027700036764145, 0.03635904937982559, -0.025834832340478897, 0.031616564840078354, -0.05755385756492615, -0.0009505095658823848, -0.0064038182608783245, 0.004877879749983549, -0.0434727780520916, 0.025161515921354294, -0.023639237508177757, -0.0251761544495821, 0.022146232426166534, 0.012771042995154858, 0.036300498992204666, 0.030738327652215958, 0.02380024828016758, -0.016584059223532677, -0.00025889722746796906, -0.023595325648784637, -0.019423695281147957, -0.034456200897693634, 0.054040905088186264, -0.04897640272974968, 0.09280047565698624, -0.003911817912012339, 0.007223506923764944, 0.022951284423470497, 0.04771759361028671, -0.006985650863498449, 0.02375633642077446, -0.01816488802433014, 0.03706163913011551, -0.033460862934589386, 0.014403101988136768, 0.003229354042559862, 0.027825504541397095, -0.006455048453062773, 0.050293758511543274, -0.0035568636376410723, -0.006253785919398069, -0.03480749577283859, 0.02211695909500122, 0.043531324714422226, 0.005562173668295145, 0.03480749577283859, -0.03732511028647423, 0.0024462584406137466, -0.018091700971126556, 0.005027912091463804, -0.032641176134347916, -0.006308675743639469, -0.03141164407134056, 0.021590014919638634, 0.03773495554924011, 0.027298562228679657, -0.002314522862434387, -0.010963336564600468, -0.042155418545007706, 0.0022687811870127916, -0.005646337755024433, -0.04089661315083504, 0.04642951115965843, -0.017974602058529854, 0.012017222121357918, 0.024195455014705658, -0.002720707794651389, -0.024766309186816216, 0.003922795876860619, -0.022760998457670212, -0.018311260268092155, 0.004515606444329023, 0.062120694667100906, -0.007794361561536789, 0.020843513309955597, 0.06013002246618271, -0.0035294187255203724, 0.11071652919054031, 0.018779654055833817, 0.005082801915705204, -0.012858866713941097, -0.011453686282038689, -0.039140135049819946, -0.045639097690582275, 0.004544881172478199, -0.002729856176301837, -0.014007894322276115, -0.007545527536422014, -0.03442692756652832, 0.00509012071415782, -0.04247744008898735, -0.010677909478545189, 0.04420464113354683, 0.026230039075016975, 0.04089661315083504, 0.0030317504424601793, -0.017023177817463875, -0.018223436549305916, 0.047922514379024506, 0.03188003599643707, 0.01366391871124506, 0.033929258584976196, -0.009001938626170158, 0.020902061834931374, 0.0019485903903841972, -0.01621812768280506, -0.023814884945750237, 0.00584394158795476, -0.004907154478132725, -0.028381722047924995, 0.006799024995416403, 0.005170625634491444, -0.010882831178605556, 0.014454332180321217, 0.02289273589849472, 0.011343906633555889, -0.004782737232744694, 0.01190012414008379, 0.005492646247148514, -0.02879156544804573, -0.05064505338668823, 0.005595107562839985, -0.0092068612575531, -0.025717733427882195, -0.0015844876179471612, 0.02715218812227249, -0.03328521549701691, -0.020799601450562477, -0.023302579298615456, 0.022717086598277092, -0.06516525149345398, 0.0596616305410862, 0.010509580373764038, -0.005005956161767244, -0.022760998457670212, 0.03471967205405235, 0.0033610896207392216, 0.031528741121292114, -0.038847390562295914, 0.017286648973822594, 0.009265409782528877, -0.036300498992204666, -0.01734519936144352, 0.036212675273418427, 0.02590801939368248, -0.004555859137326479, 0.06311602890491486, 0.0026273950934410095, -0.011373180896043777, 0.038847390562295914, 0.062471989542245865, 0.08079788833856583, -0.03205568343400955, 0.02479558438062668, 0.01927732303738594, -0.050762150436639786, -0.04789324104785919, 0.002382220234721899, -0.003999641630798578, -0.04429246485233307, -0.061476655304431915, -0.04200904816389084, 0.005880534648895264, 0.023551413789391518, 0.03179221227765083, 0.027079002931714058, -0.007161298301070929, -0.033929258584976196, -0.0964890718460083, 0.056909818202257156, 0.011160939931869507, -0.018267348408699036, 0.03226060792803764, 0.03407563269138336, 0.0204043947160244, 0.0137517424300313, -0.08062224090099335, -0.014029850251972675, 0.009602067992091179, 0.0037215331103652716, 0.01198794785887003, 0.033460862934589386, 0.01820879988372326, -0.007205210160464048, -0.026273950934410095, 0.004438760690391064, 0.00614400627091527, -0.007424769923090935, -0.011109709739685059, 0.026800893247127533, -0.040135473012924194, -0.031235994771122932, 0.027122914791107178, 0.0008887584554031491, -0.008357897400856018, 0.0017445830162614584, 0.024649210274219513, 0.060832612216472626, 0.06727302074432373, -0.03466112166643143, 0.005829303991049528, -0.015105691738426685, 0.038027700036764145, 0.012690537609159946, -0.002936607925221324, 0.009850901551544666, -0.012273374944925308, 0.06469686329364777, -0.028162162750959396, -0.04165775328874588, 0.011848893016576767, -0.01721346378326416, 0.06329167634248734, 0.014417739585042, 0.04464375972747803, -0.009785033762454987, 0.023214755579829216, -0.05000101029872894, -0.05184531211853027, -0.022131595760583878, -0.002363923704251647, 0.0033592600375413895, -0.00925077311694622, 0.009331277571618557, 0.04230179265141487, -0.005598766729235649, 0.018750378862023354, -0.013180887326598167, 0.009236135520040989, 0.04757121950387955, -0.03553936257958412, 0.008504270575940609, -0.005942743271589279, -0.015691183507442474, -0.011717157438397408, 0.023258667439222336, 0.02315620705485344, 0.015003231354057789, -0.015032505616545677, -0.02582019381225109, 0.03021138347685337, 0.05134764313697815, -0.0038422909565269947, -0.054040905088186264, 0.03984272852540016, -0.013620005920529366, -0.04593184217810631, -0.0032055682968348265, 0.044526662677526474, 0.012858866713941097, -0.03562718629837036, 0.03176293894648552, -0.0011993437074124813, -0.028513457626104355, -0.01239779219031334, 0.012902778573334217, -0.037120189517736435, -0.0882921814918518, -0.050030287355184555, 0.006367224734276533, 0.04411681741476059, 0.014373826794326305, -0.03963780403137207, 0.028733016923069954, -0.0021096006967127323, -0.00895070843398571, 0.017623307183384895, 0.0020986227318644524, 0.017491571605205536, -0.028162162750959396, -0.00947033241391182, -0.015032505616545677, 0.02621540240943432, -0.013334578834474087, 0.022497527301311493, 0.009367871098220348, 0.0009925918420776725, -0.04423391819000244, 0.05617795139551163, -0.010363207198679447, 0.06709737330675125, 0.0021114302799105644, 0.024136904627084732, 0.008914114907383919, 0.013100381940603256, 0.02134118229150772, -0.060364220291376114, 0.023551413789391518, -0.01560336071997881, -0.002336478792130947, 0.0785144716501236, -0.007278396748006344, 0.051494017243385315, -0.024810221046209335, 0.002396857598796487, -0.022790273651480675, -0.034280553460121155, 0.024092992767691612, 0.04716137424111366, -0.027430297806859016, -0.025234702974557877, 0.0012862526345998049, 0.013927389867603779, -0.011841574683785439 ], "result": "--- 结果 1 (相似度: 1.000) ---\n文件路径: C:\\Steam\\steamapps\\common\\RimWorld\\Data\\dll1.6\\RimWorld\\CompProperties_Shield.txt\n\npublic class CompProperties_Shield : CompProperties\n{\n\tpublic int startingTicksToReset = 3200;\n\n\tpublic float minDrawSize = 1.2f;\n\n\tpublic float maxDrawSize = 1.55f;\n\n\tpublic float energyLossPerDamage = 0.033f;\n\n\tpublic float energyOnReset = 0.2f;\n\n\tpublic bool blocksRangedWeapons = true;\n\n\tpublic CompProperties_Shield()\n\t{\n\t\tcompClass = typeof(CompShield);\n\t}\n}\n\n", "timestamp": "2025-08-26 18:34:16,279" }, "C#-CompShield": { "keywords": [ "CompShield", "C#" ], "question": "RimWorld CompShield C# 代码", "embedding": [ 0.011226645670831203, 0.018389001488685608, 0.04453849792480469, -0.006092602852731943, 0.004148644395172596, -0.00831262581050396, 0.0341707207262516, -0.008864755742251873, -0.011234314180910587, 0.10643842071294785, 0.020229434594511986, -0.03423206880688667, -0.027468474581837654, -0.0059392331168055534, 0.008304957300424576, 0.049292951822280884, 0.007035824935883284, -0.09459829330444336, -0.026716964319348335, 0.029891712591052055, -0.015490317717194557, 0.05944601073861122, 0.04052021726965904, 0.03871045634150505, 0.03432409092783928, 0.003356874454766512, -0.03450813516974449, -0.0018461851868778467, -0.013588536530733109, -0.006464523728936911, 0.007357900962233543, -0.021839814260601997, 0.020244771614670753, 0.003663613460958004, 0.0014876839704811573, 0.058740511536598206, -0.04594949632883072, -0.010827885009348392, -0.06545809656381607, -0.006801936775445938, -0.004505228716880083, -0.014547095634043217, 0.049078233540058136, 0.023956313729286194, 0.004650929477065802, 0.03108799457550049, 0.04579612612724304, -0.05355662479996681, -0.015198915265500546, 0.03871045634150505, 0.051317427307367325, 0.006192293018102646, -0.04521332308650017, 0.02660960517823696, 0.025858094915747643, 0.046440280973911285, -0.01428636722266674, 0.036256544291973114, -0.012852362357079983, 0.01789821870625019, 0.019892022013664246, -0.028695430606603622, -0.029692331328988075, -0.006614058744162321, -0.01688598096370697, -0.050765298306941986, -0.07827978581190109, 0.020505499094724655, -0.025029899552464485, -0.016916653141379356, -0.01891045644879341, 0.00459341611713171, 0.010275755077600479, 0.011257319711148739, -0.026103485375642776, 0.06840278953313828, 0.009202169254422188, -0.005038187373429537, -0.043403562158346176, 0.036379240453243256, -0.016103794798254967, -0.007668474223464727, -0.0336492657661438, -0.016502555459737778, 0.02676297537982464, 0.05895522981882095, 0.026793649420142174, 0.007584121078252792, -0.0006599680637009442, 0.06478326767683029, 0.03361859172582626, 0.021195663139224052, 0.028741441667079926, -0.03383330628275871, 0.013067079707980156, -0.03613385185599327, -0.04303547739982605, 0.055826492607593536, -0.019171185791492462, 0.01044446136802435, -0.004512897226959467, 0.0034028852824121714, -0.017683500424027443, 0.04392502084374428, -0.0269010066986084, 0.027928583323955536, -0.012545623816549778, 0.039630673825740814, -0.01493051927536726, 0.03981471806764603, -0.026793649420142174, -0.00891843531280756, 0.00956258736550808, 0.07797304540872574, 0.022668009623885155, -0.04426243156194687, 0.0006153950234875083, -0.013105422258377075, -0.007821843959391117, 0.026578931137919426, 0.012683656066656113, -0.0134505033493042, -0.011034933850169182, -0.03438543900847435, 0.05886320769786835, 0.0053640976548194885, 0.024646475911140442, 0.020965607836842537, -0.03013710305094719, 0.03521363437175751, -0.007434585597366095, -0.018204957246780396, 0.01205484103411436, -0.008757397532463074, -0.013373819179832935, 0.03588845953345299, -0.01575104519724846, 0.027376452460885048, -0.09005855768918991, 0.024569790810346603, -0.030244462192058563, 0.004846475552767515, 0.024232378229498863, 0.03358791768550873, 0.0917762964963913, -0.0601208359003067, -0.02397165074944496, 0.042606040835380554, 0.021471727639436722, -0.0091484896838665, -0.009163826704025269, -0.017468784004449844, -0.02660960517823696, 0.04825003817677498, 0.015114562585949898, -0.029676994308829308, 0.025244615972042084, -0.016778621822595596, -0.018818436190485954, -0.04736049473285675, -0.01791355572640896, -0.05505964532494545, 0.003956932574510574, 0.0002271785488119349, 0.008964446373283863, -0.038557086139917374, -0.02276003174483776, 0.009669945575296879, 0.023296823725104332, -0.009677614085376263, -0.003429725067690015, -0.017330750823020935, -0.0552743598818779, -0.019339891150593758, 0.011525716632604599, -0.002200852148234844, 0.019953370094299316, 0.09613199532032013, 0.010222076438367367, 0.0398760661482811, 0.009470565244555473, 0.013757242821156979, 0.03144074231386185, 0.004696940537542105, 0.027468474581837654, -0.008642369881272316, -0.008657706901431084, 0.03147141635417938, 0.003492990043014288, 0.024554453790187836, -0.020229434594511986, 0.09975150972604752, -0.034630827605724335, -0.016364524140954018, 0.014332378283143044, -0.03818900138139725, -0.006261309143155813, 0.03236095979809761, -0.09950611740350723, -0.02424771524965763, 0.012675987556576729, -0.04328086972236633, -0.03521363437175751, -0.019140511751174927, 0.05015182122588158, 0.005088032688945532, -0.009777304716408253, 0.005459953565150499, 0.046440280973911285, -0.018603717908263206, 0.053679317235946655, 0.008389310911297798, -0.011119287461042404, -0.04426243156194687, -0.008189930580556393, -0.0031498258467763662, -0.029508288949728012, 0.048679474741220474, 0.012162200175225735, 0.02736111544072628, -0.059814099222421646, 0.014063981361687183, 0.003602265613153577, -0.0073502324521541595, 0.032330285757780075, 0.01960062049329281, 0.010720526799559593, 0.011073276400566101, 0.06533540040254593, -0.02007606439292431, 0.012491944245994091, 0.019217196851968765, -0.037667546421289444, -0.010781874880194664, 0.032606352120637894, -0.01573570817708969, -0.02466181293129921, -0.044017042964696884, 0.015720371156930923, 0.032115571200847626, 0.0007117302739061415, 0.04450782388448715, 7.111311424523592e-05, 0.0013256875099614263, -0.03358791768550873, -0.007323392666876316, -0.0017953815404325724, -0.004907823633402586, -0.02007606439292431, -0.01710069738328457, -0.001586415572091937, 0.005164717324078083, -0.015582339838147163, -0.014508753083646297, -0.0007754744729027152, 0.029492951929569244, 0.013205112889409065, -0.012752672657370567, -0.017591480165719986, -0.024968551471829414, -0.04018280282616615, 0.02829666994512081, 0.014186677522957325, 0.02229992300271988, -0.03601115569472313, 0.0074384198524057865, 0.0634949654340744, -0.018082261085510254, 0.010896901600062847, -0.008535011671483517, -0.025183269754052162, 0.01973865181207657, 0.027729202061891556, -0.03107265755534172, 0.032054223120212555, 0.0009930673986673355, 0.0528511218726635, 0.00302329589612782, 0.02208520472049713, 0.005425445269793272, 0.00929419044405222, -0.012008830904960632, 0.03950797766447067, -0.0010199070675298572, -0.019692640751600266, 0.03674732893705368, 0.021180326119065285, -0.03325050324201584, 0.0023465531412512064, -0.010360108688473701, -0.01296739000827074, 0.0019017815357074142, 0.0017177382251247764, 0.030382495373487473, -0.03594980761408806, 0.04837273433804512, -0.0170853603631258, -0.0008339465712197125, 0.016855306923389435, -0.022253911942243576, -0.02325081266462803, 0.011878466233611107, -0.011073276400566101, 0.010352440178394318, 0.02795925736427307, -0.024738498032093048, -0.010513477958738804, -0.06693044304847717, 0.031992875039577484, -0.04950767010450363, -0.0168246328830719, -0.02363423816859722, -0.055028971284627914, -0.03019845113158226, -0.030750581994652748, -0.028664756566286087, -0.019876684993505478, -0.003604182740673423, 0.03383330628275871, 0.04499860480427742, -0.06236003339290619, -0.002868009265512228, -0.037054065614938736, 0.010521146468818188, 0.02858807146549225, -0.03223826363682747, 0.030244462192058563, 0.020382804796099663, 0.02019876055419445, 0.026839658617973328, -0.015382959507405758, 0.0051417117938399315, 0.007380906492471695, 0.04647095501422882, -0.0269010066986084, 0.01912517473101616, -0.00459341611713171, 0.009079473093152046, -0.00255935313180089, 0.020827576518058777, -0.014294035732746124, -0.06527405232191086, -0.005475290585309267, -0.03831169754266739, -0.012729667127132416, 0.020229434594511986, 0.04140976071357727, 0.04628691077232361, -0.006437683943659067, -0.0034028852824121714, -0.007672308478504419, 0.032391633838415146, 0.002785573247820139, -0.002636037999764085, 0.004240666050463915, -0.025996128097176552, -0.008228273130953312, 0.002066653687506914, -0.09196034073829651, 0.022944074124097824, 0.021793803200125694, 0.015375290997326374, -0.014263361692428589, -0.029953060671687126, 0.031778156757354736, -0.018557706847786903, 0.03337319940328598, 0.05548907816410065, 0.001982300542294979, 0.008082571439445019, -0.04944632202386856, -0.08104043453931808, 0.04803532361984253, 0.03956932574510574, 0.002689717337489128, 0.07680743932723999, 0.033741287887096405, -0.010406119748950005, -0.04864880070090294, 0.03674732893705368, -0.009102478623390198, 0.002080073580145836, 0.004206158220767975, -0.05505964532494545, -0.031241362914443016, 0.00415631290525198, -0.014600775204598904, 0.009669945575296879, 0.02587343193590641, -0.04101099818944931, 0.04751386493444443, 0.03282107040286064, 0.001040995353832841, -0.013956623151898384, 0.024155693128705025, 0.01656390354037285, 0.0029753679409623146, 0.03926258906722069, 0.05196158215403557, 0.007867854088544846, 0.005306584294885397, -0.025996128097176552, -0.0451519750058651, -0.004547405056655407, 0.02973834238946438, 0.03380263224244118, 0.014570101164281368, 0.039753369987010956, -0.016318513080477715, 0.0007486348040401936, -0.03420139476656914, -0.022944074124097824, 0.031992875039577484, 0.005835708696395159, 0.022990085184574127, 0.008818745613098145, -0.01858838088810444, -0.012522618286311626, 0.029063517227768898, 0.002534430706873536, -0.020766228437423706, 0.021441053599119186, -0.06809604912996292, -0.011249651201069355, -0.0007917699404060841, 0.07754360884428024, -0.03297444060444832, -0.00973129365593195, -0.005019016098231077, 0.0026379551272839308, -0.006491363514214754, 0.003512161085382104, -0.08208334445953369, 0.05061192810535431, -0.0194625873118639, -0.005563477985560894, 0.021042292937636375, 0.051041364669799805, -0.007637800183147192, 0.0025785244069993496, -0.06355631351470947, -0.016931990161538124, 0.03619519621133804, -0.043802324682474136, -0.01742277294397354, -0.029692331328988075, -0.0027683191001415253, -0.0024021496064960957, 0.011034933850169182, -0.0077489931136369705, -0.033281177282333374, -0.045090626925230026, 0.019094500690698624, 0.02992238663136959, -0.008212936110794544, -0.005011348053812981, -0.007108675315976143, -0.0572681650519371, -0.04456917196512222, 0.0036118512507528067, 0.05895522981882095, 0.013527188450098038, -0.04683903977274895, 0.03392532840371132, -0.008634702302515507, -8.519195398548618e-05, -0.012522618286311626, 0.022453291341662407, 0.006809604819864035, -0.011357010342180729, -0.013159101828932762, 0.007273547817021608, -0.035367000848054886, -0.023419519886374474, -0.010252749547362328, -0.03527498245239258, -0.0108125489205122, 0.07656204700469971, 0.01128032524138689, 0.027545159682631493, 0.012668319046497345, 0.017514795064926147, -0.002296708058565855, 0.04147110879421234, -0.13938218355178833, -0.020996281877160072, -0.02729976736009121, 0.003972269594669342, -0.004374864511191845, -0.038465067744255066, -0.04275941103696823, -0.024171030148863792, 0.0606422945857048, 0.06797335296869278, -0.024171030148863792, 0.03245298191905022, -0.03285174444317818, 0.0041754841804504395, -0.026134159415960312, -0.06588753312826157, -0.006410844158381224, 0.036716654896736145, 0.03466150164604187, -0.010160728357732296, 0.01445507351309061, -0.011441363021731377, -0.027008365839719772, -0.0003357353853061795, -0.005881719756871462, 0.00973129365593195, -0.016134468838572502, -0.03690069913864136, 0.0398760661482811, -0.03426274284720421, -0.011395352892577648, -0.009439891204237938, 0.034753523766994476, 0.012729667127132416, 0.024293726310133934, 0.02513725869357586, 0.026134159415960312, -0.021855151280760765, 0.06331092119216919, -0.02803594060242176, -0.0010783792240545154, -0.0067252516746521, -0.004213826730847359, -0.01795956678688526, 0.027882572263479233, -0.04364895448088646, -0.006242137867957354, 0.03318915516138077, -0.007369403727352619, 0.01964663155376911, 0.04263671487569809, 0.026993028819561005, 0.02236127108335495, 0.0020244771149009466, 0.06913895905017853, 0.06312687695026398, 0.010091711767017841, 0.011034933850169182, 0.009056467562913895, 0.016839969903230667, 0.025628039613366127, 0.05045856162905693, 0.044753216207027435, -0.0015557416481897235, 0.01595042645931244, -0.024431759491562843, 0.008841750212013721, 0.013488845899701118, -0.011257319711148739, -0.07656204700469971, 0.044017042964696884, 0.02081223949790001, 0.004183152690529823, 0.09067203849554062, 0.02660960517823696, -0.0011253486154600978, -0.015490317717194557, 0.010160728357732296, 0.015467312186956406, -0.05113338679075241, -0.00669074384495616, 0.009570255875587463, -0.034354764968156815, 0.005647831130772829, -0.04769790917634964, -0.0038629937916994095, -0.02688566967844963, 0.022269248962402344, -0.03742215409874916, 0.02660960517823696, 0.028741441667079926, -0.019079163670539856, 0.006541208364069462, 0.010061037726700306, 0.07962943613529205, 0.028219984844326973, 0.00544078228995204, -0.007622463162988424, 0.017238730564713478, -0.00461258739233017, 0.03101130947470665, 0.01769883744418621, 0.01196281984448433, -0.01154872216284275, 0.037330131977796555, 0.038004957139492035, 0.05708412081003189, 0.03634856641292572, -0.05291246995329857, -0.015781719237565994, -0.04938497394323349, 0.059231292456388474, -0.009685282595455647, 0.03751417621970177, 0.024830520153045654, 0.01128032524138689, 0.008841750212013721, -0.027269093319773674, 0.015252594836056232, 0.021517738699913025, 0.014846165664494038, -0.022253911942243576, -0.017867544665932655, -0.01845034956932068, 0.03628721833229065, -0.01771417446434498, 0.02087358571588993, 0.0028986833058297634, 0.03653261065483093, 0.0008737267926335335, 0.025229280814528465, -0.028219984844326973, -0.011518048122525215, -0.024339737370610237, -0.0065603796392679214, -0.0017100697150453925, -0.005739852786064148, -0.0005219355225563049, -0.023082107305526733, -0.027345778420567513, -0.03114934265613556, -0.04723780229687691, -0.014248024672269821, -0.011234314180910587, 0.02081223949790001, -0.011978156864643097, -0.01857304386794567, -0.002049399772658944, -0.020290782675147057, 0.0025056740269064903, 0.03782091289758682, -0.028695430606603622, -0.03196220099925995, -0.006318822503089905, 0.00031249033054336905, 0.02559736743569374, 0.03108799457550049, 0.013596205040812492, -0.01884911023080349, -0.012675987556576729, -0.023066770285367966, -0.009209837764501572, -0.005870216991752386, -0.06932300329208374, -0.054139427840709686, 0.008864755742251873, -0.0302751362323761, 0.013634546659886837, 0.004589581862092018, 0.008642369881272316, -0.06257475167512894, 0.015919752418994904, -0.01209318358451128, -0.01710069738328457, -0.0134505033493042, 0.018741751089692116, -0.019815336912870407, -0.013757242821156979, -0.024539116770029068, -0.03147141635417938, -0.01459310669451952, 0.012323237955570221, -0.009493570774793625, 0.002451994689181447, 0.029032843187451363, -0.012898373417556286, -0.02101161889731884, -0.01154872216284275, 0.023465530946850777, -0.0011205557966604829, -0.003654027823358774, 0.03978404402732849, -0.052943143993616104, 0.0037843920290470123, 0.022990085184574127, 0.011142292991280556, -0.004447714891284704, -0.03168613463640213, -0.029216885566711426, -0.012384586036205292, -0.027897909283638, 0.013082416728138924, -0.015321611426770687, 0.04552006348967552, -0.01486917119473219, -0.003579260315746069, 0.01668659970164299, -0.07343330979347229, -0.001678437227383256, 0.01084322202950716, -0.04061223939061165, -0.01992269605398178, -0.06337226927280426, -0.03352656960487366, 0.011272656731307507, 0.02736111544072628, 0.06122509762644768, -0.020244771614670753, 0.014309372752904892, 0.04447714984416962, 0.01607312262058258, -0.0024366576690226793, -0.016057785600423813, -0.022315260022878647, 0.015451975166797638, -0.034293416887521744, -0.004282842855900526, 0.05478357896208763, 0.04858745262026787, -0.041103020310401917, -0.011479705572128296, 0.0221005417406559, 0.008496669121086597, -0.03552037104964256, -0.05858714133501053, 0.013772579841315746, -0.05015182122588158, 0.0432501956820488, -0.04990642890334129, 0.05518234148621559, -0.047605887055397034, -0.002998373471200466, -0.009163826704025269, 0.00018308481958229095, -0.03616452217102051, 0.014478079043328762, -0.019953370094299316, -0.02553601935505867, 0.02358822710812092, 0.015505654737353325, 0.03591913357377052, 0.051440123468637466, 0.02682432159781456, 0.028066614642739296, 0.0011675251880660653, -0.019953370094299316, -0.018005577847361565, -0.044231757521629333, 0.0658261850476265, -0.03208489716053009, 0.11146894097328186, 0.0197233147919178, 0.013649883680045605, 0.03414004668593407, 0.062329359352588654, -0.03073524497449398, -0.002630286617204547, 0.002384895458817482, 0.07196096330881119, -0.059691403061151505, 0.0010668764589354396, -0.015628350898623466, 0.009600929915904999, -0.012438264675438404, 0.03404802456498146, -0.012146863155066967, 0.0004950958536937833, -0.0442010834813118, 0.01581239327788353, 0.02783656120300293, 0.0054062744602561, 0.0384957417845726, -0.020628195255994797, -0.017882881686091423, 0.01789821870625019, 0.023465530946850777, -0.030382495373487473, -0.026118822395801544, -0.030719907954335213, 0.03371061384677887, 0.01877242513000965, 0.03825034946203232, -0.010896901600062847, 0.021732455119490623, -0.03690069913864136, 0.00031249033054336905, 0.006847947370260954, -0.010827885009348392, 0.036317892372608185, -0.025305964052677155, 0.009685282595455647, 0.011065607890486717, 0.0013832009863108397, -0.033465221524238586, -0.02282137982547283, -0.04269806295633316, -0.022315260022878647, 0.014109992422163486, 0.0662556141614914, -0.008910766802728176, 0.012116189114749432, 0.04736049473285675, 0.017729511484503746, 0.08643904328346252, 0.011579396203160286, -0.005582649260759354, -0.009171495214104652, -0.04653229936957359, -0.019293880090117455, -0.05269775539636612, 0.017054686322808266, 0.004098799545317888, -0.012376917526125908, 0.014002634212374687, -0.023465530946850777, 0.0025957785546779633, -0.051317427307367325, 0.0020263942424207926, 0.04963036626577377, 0.01128032524138689, 0.0326983742415905, -0.0073540667071938515, -0.027269093319773674, -0.010858559049665928, 0.07631665468215942, 0.0293242447078228, 0.006928466260433197, 0.030014406889677048, -0.006441518198698759, 0.015129899606108665, -0.0024328234139829874, 0.00619996152818203, -0.03972269594669342, -0.0036923703737556934, 0.012024166993796825, 0.005160883069038391, 0.009769636206328869, -0.003991440869867802, 0.008358636870980263, -0.004244500305503607, 0.027253756299614906, 0.0013774497201666236, -0.015590008348226547, -0.010889233089983463, -0.02047482505440712, -0.01680929586291313, -0.047391168773174286, 0.007300387602299452, -0.008297288790345192, -0.05392470955848694, -0.016303176060318947, 0.02006072923541069, -0.006230635102838278, -0.0018567292718216777, -0.02345019392669201, 0.025367312133312225, -0.10772672295570374, 0.057666923850774765, 0.029339581727981567, -0.004371030256152153, -0.007108675315976143, 0.042329978197813034, -0.00476212240755558, 0.023404182866215706, -0.04202323779463768, 0.04269806295633316, 0.00365594495087862, -0.030750581994652748, -0.009064136072993279, 0.06416979432106018, 0.01239992305636406, -0.019753988832235336, 0.04321952164173126, 0.01063617318868637, -0.012269558385014534, 0.03932393714785576, 0.04785127937793732, 0.07140883058309555, -0.02924755960702896, 0.025443997234106064, 0.011801782064139843, -0.0269470177590847, -0.060488924384117126, -0.006403176113963127, -0.01910983771085739, -0.02277536876499653, -0.07104074209928513, -0.034293416887521744, 0.007327226921916008, 0.018481021746993065, 0.028204647824168205, 0.009723625145852566, 0.003354957327246666, -0.04843408241868019, -0.09042664617300034, 0.061378467828035355, 0.013688226230442524, -0.013711231760680676, 0.01575104519724846, 0.021318357437849045, 0.034017350524663925, 0.00824361015111208, -0.10018094629049301, -0.021164989098906517, 0.005747521296143532, -0.013941286131739616, 0.01536762248724699, 0.026916343718767166, -0.006084934342652559, -0.006050426047295332, -0.05321921035647392, 0.00874972902238369, 0.005716847255825996, -0.004512897226959467, 0.006932300515472889, 0.010153059847652912, -0.03187017887830734, -0.034017350524663925, 0.027468474581837654, 0.011057939380407333, 0.0021222501527518034, 0.0079368706792593, 0.019968707114458084, 0.011725096963346004, 0.03708473965525627, -0.021395042538642883, -0.0026513750199228525, -0.03748350217938423, 0.027483811601996422, -0.018803099170327187, 0.004923160187900066, -0.0002839731751009822, -0.023358171805739403, 0.04012145847082138, -0.011004260741174221, -0.036256544291973114, -0.003276355564594269, -0.016655925661325455, 0.03380263224244118, 0.017484121024608612, 0.026241518557071686, 0.024416422471404076, -0.00033070295467041433, -0.03190085291862488, -0.06889357417821884, -0.032268937677145004, 0.011556390672922134, -0.010306429117918015, -0.004305848386138678, 0.016594577580690384, 0.0317474827170372, -0.0075802868232131, 0.025689387694001198, -0.017146708443760872, -0.00444004638120532, 0.03791293501853943, -0.03742215409874916, 0.02507591061294079, -0.008051897399127483, -0.012837025336921215, -0.017576143145561218, 0.02783656120300293, 0.03647126257419586, 0.008067234419286251, -0.009723625145852566, -0.023404182866215706, 0.05892455577850342, 0.04147110879421234, -0.003815065836533904, -0.045305345207452774, 0.03156343847513199, -0.020980944857001305, -0.00593156460672617, -0.014202014543116093, 0.02722308225929737, 0.009930673986673355, -0.04242200031876564, 0.01978466287255287, 0.011218978092074394, -0.016303176060318947, -0.01355019398033619, 0.006445352453738451, -0.01783687062561512, -0.07815708965063095, -0.06404709815979004, 0.01722339354455471, 0.027376452460885048, 0.00604659179225564, -0.03582711145281792, 0.01878776215016842, 0.02323547750711441, 0.011426026001572609, 0.02243795618414879, -0.034354764968156815, -0.0033741286024451256, -0.001742660766467452, -0.005026684608310461, -0.00871138647198677, 0.026716964319348335, -0.011847792193293571, 0.017882881686091423, 0.011893803253769875, 0.012330906465649605, -0.04263671487569809, 0.03107265755534172, -0.0011215143604204059, 0.039630673825740814, 0.010475135408341885, 0.04318884760141373, -0.013657552190124989, 0.010061037726700306, 0.008926103822886944, -0.06220666319131851, -0.006798102520406246, -0.018189620226621628, -0.013956623151898384, 0.07165422290563583, -0.02418636716902256, 0.06705313920974731, -0.024017661809921265, 0.01371890027076006, -0.014784818515181541, -0.03257567808032036, 0.014393726363778114, 0.03825034946203232, -0.04450782388448715, -0.020306119695305824, 0.01077420637011528, 0.017514795064926147, -0.0182509683072567 ], "result": "--- 结果 1 (相似度: 1.000) ---\n文件路径: C:\\Steam\\steamapps\\common\\RimWorld\\Data\\dll1.6\\RimWorld\\CompShield.txt\n\npublic class CompShield : ThingComp\n{\n\tprotected float energy;\n\n\tprotected int ticksToReset = -1;\n\n\tprotected int lastKeepDisplayTick = -9999;\n\n\tprivate Vector3 impactAngleVect;\n\n\tprivate int lastAbsorbDamageTick = -9999;\n\n\tprivate const float MaxDamagedJitterDist = 0.05f;\n\n\tprivate const int JitterDurationTicks = 8;\n\n\tprivate int KeepDisplayingTicks = 1000;\n\n\tprivate float ApparelScorePerEnergyMax = 0.25f;\n\n\tprivate static readonly Material BubbleMat = MaterialPool.MatFrom(\"Other/ShieldBubble\", ShaderDatabase.Transparent);\n\n\tpublic CompProperties_Shield Props => (CompProperties_Shield)props;\n\n\tprivate float EnergyMax => parent.GetStatValue(StatDefOf.EnergyShieldEnergyMax);\n\n\tprivate float EnergyGainPerTick => parent.GetStatValue(StatDefOf.EnergyShieldRechargeRate) / 60f;\n\n\tpublic float Energy => energy;\n\n\tpublic ShieldState ShieldState\n\t{\n\t\tget\n\t\t{\n\t\t\tif (parent is Pawn p && (p.IsCharging() || p.IsSelfShutdown()))\n\t\t\t{\n\t\t\t\treturn ShieldState.Disabled;\n\t\t\t}\n\t\t\tCompCanBeDormant comp = parent.GetComp();\n\t\t\tif (comp != null && !comp.Awake)\n\t\t\t{\n\t\t\t\treturn ShieldState.Disabled;\n\t\t\t}\n\t\t\tif (ticksToReset <= 0)\n\t\t\t{\n\t\t\t\treturn ShieldState.Active;\n\t\t\t}\n\t\t\treturn ShieldState.Resetting;\n\t\t}\n\t}\n\n\tprotected bool ShouldDisplay\n\t{\n\t\tget\n\t\t{\n\t\t\tPawn pawnOwner = PawnOwner;\n\t\t\tif (!pawnOwner.Spawned || pawnOwner.Dead || pawnOwner.Downed)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tif (pawnOwner.InAggroMentalState)\n\t\t\t{\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tif (pawnOwner.Drafted)\n\t\t\t{\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tif (pawnOwner.Faction.HostileTo(Faction.OfPlayer) && !pawnOwner.IsPrisoner)\n\t\t\t{\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tif (Find.TickManager.TicksGame < lastKeepDisplayTick + KeepDisplayingTicks)\n\t\t\t{\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tif (ModsConfig.BiotechActive && pawnOwner.IsColonyMech && Find.Selector.SingleSelectedThing == pawnOwner)\n\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\tprotected Pawn PawnOwner\n\t{\n\t\tget\n\t\t{\n\t\t\tif (parent is Apparel apparel)\n\t\t\t{\n\t\t\t\treturn apparel.Wearer;\n\t\t\t}\n\t\t\tif (parent is Pawn result)\n\t\t\t{\n\t\t\t\treturn result;\n\t\t\t}\n\t\t\treturn null;\n\t\t}\n\t}\n\n\tpublic bool IsApparel => parent is Apparel;\n\n\tprivate bool IsBuiltIn => !IsApparel;\n\n\tpublic override void PostExposeData()\n\t{\n\t\tbase.PostExposeData();\n\t\tScribe_Values.Look(ref energy, \"energy\", 0f);\n\t\tScribe_Values.Look(ref ticksToReset, \"ticksToReset\", -1);\n\t\tScribe_Values.Look(ref lastKeepDisplayTick, \"lastKeepDisplayTick\", 0);\n\t}\n\n\tpublic override IEnumerable CompGetWornGizmosExtra()\n\t{\n\t\tforeach (Gizmo item in base.CompGetWornGizmosExtra())\n\t\t{\n\t\t\tyield return item;\n\t\t}\n\t\tif (IsApparel)\n\t\t{\n\t\t\tforeach (Gizmo gizmo in GetGizmos())\n\t\t\t{\n\t\t\t\tyield return gizmo;\n\t\t\t}\n\t\t}\n\t\tif (!DebugSettings.ShowDevGizmos)\n\t\t{\n\t\t\tyield break;\n\t\t}\n\t\tCommand_Action command_Action = new Command_Action();\n\t\tcommand_Action.defaultLabel = \"DEV: Break\";\n\t\tcommand_Action.action = Break;\n\t\tyield return command_Action;\n\t\tif (ticksToReset > 0)\n\t\t{\n\t\t\tCommand_Action command_Action2 = new Command_Action();\n\t\t\tcommand_Action2.defaultLabel = \"DEV: Clear reset\";\n\t\t\tcommand_Action2.action = delegate\n\t\t\t{\n\t\t\t\tticksToReset = 0;\n\t\t\t};\n\t\t\tyield return command_Action2;\n\t\t}\n\t}\n\n\tpublic override IEnumerable CompGetGizmosExtra()\n\t{\n\t\tforeach (Gizmo item in base.CompGetGizmosExtra())\n\t\t{\n\t\t\tyield return item;\n\t\t}\n\t\tif (!IsBuiltIn)\n\t\t{\n\t\t\tyield break;\n\t\t}\n\t\tforeach (Gizmo gizmo in GetGizmos())\n\t\t{\n\t\t\tyield return gizmo;\n\t\t}\n\t}\n\n\tprivate IEnumerable GetGizmos()\n\t{\n\t\tif ((PawnOwner.Faction == Faction.OfPlayer || (parent is Pawn pawn && pawn.RaceProps.IsMechanoid)) && Find.Selector.SingleSelectedThing == PawnOwner)\n\t\t{\n\t\t\tGizmo_EnergyShieldStatus gizmo_EnergyShieldStatus = new Gizmo_EnergyShieldStatus();\n\t\t\tgizmo_EnergyShieldStatus.shield = this;\n\t\t\tyield return gizmo_EnergyShieldStatus;\n\t\t}\n\t}\n\n\tpublic override float CompGetSpecialApparelScoreOffset()\n\t{\n\t\treturn EnergyMax * ApparelScorePerEnergyMax;\n\t}\n\n\tpublic override void CompTick()\n\t{\n\t\tbase.CompTick();\n\t\tif (PawnOwner == null)\n\t\t{\n\t\t\tenergy = 0f;\n\t\t}\n\t\telse if (ShieldState == ShieldState.Resetting)\n\t\t{\n\t\t\tticksToReset--;\n\t\t\tif (ticksToReset <= 0)\n\t\t\t{\n\t\t\t\tReset();\n\t\t\t}\n\t\t}\n\t\telse if (ShieldState == ShieldState.Active)\n\t\t{\n\t\t\tenergy += EnergyGainPerTick;\n\t\t\tif (energy > EnergyMax)\n\t\t\t{\n\t\t\t\tenergy = EnergyMax;\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic override void PostPreApplyDamage(ref DamageInfo dinfo, out bool absorbed)\n\t{\n\t\tabsorbed = false;\n\t\tif (ShieldState != 0 || PawnOwner == null)\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\tif (dinfo.Def == DamageDefOf.EMP)\n\t\t{\n\t\t\tenergy = 0f;\n\t\t\tBreak();\n\t\t}\n\t\telse if (!dinfo.Def.ignoreShields && (dinfo.Def.isRanged || dinfo.Def.isExplosive))\n\t\t{\n\t\t\tenergy -= dinfo.Amount * Props.energyLossPerDamage;\n\t\t\tif (energy < 0f)\n\t\t\t{\n\t\t\t\tBreak();\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tAbsorbedDamage(dinfo);\n\t\t\t}\n\t\t\tabsorbed = true;\n\t\t}\n\t}\n\n\tpublic void KeepDisplaying()\n\t{\n\t\tlastKeepDisplayTick = Find.TickManager.TicksGame;\n\t}\n\n\tprivate void AbsorbedDamage(DamageInfo dinfo)\n\t{\n\t\tSoundDefOf.EnergyShield_AbsorbDamage.PlayOneShot(new TargetInfo(PawnOwner.Position, PawnOwner.Map));\n\t\timpactAngleVect = Vector3Utility.HorizontalVectorFromAngle(dinfo.Angle);\n\t\tVector3 loc = PawnOwner.TrueCenter() + impactAngleVect.RotatedBy(180f) * 0.5f;\n\t\tfloat num = Mathf.Min(10f, 2f + dinfo.Amount / 10f);\n\t\tFleckMaker.Static(loc, PawnOwner.Map, FleckDefOf.ExplosionFlash, num);\n\t\tint num2 = (int)num;\n\t\tfor (int i = 0; i < num2; i++)\n\t\t{\n\t\t\tFleckMaker.ThrowDustPuff(loc, PawnOwner.Map, Rand.Range(0.8f, 1.2f));\n\t\t}\n\t\tlastAbsorbDamageTick = Find.TickManager.TicksGame;\n\t\tKeepDisplaying();\n\t}\n\n\tprivate void Break()\n\t{\n\t\tif (parent.Spawned)\n\t\t{\n\t\t\tfloat scale = Mathf.Lerp(Props.minDrawSize, Props.maxDrawSize, energy);\n\t\t\tEffecterDefOf.Shield_Break.SpawnAttached(parent, parent.MapHeld, scale);\n\t\t\tFleckMaker.Static(PawnOwner.TrueCenter(), PawnOwner.Map, FleckDefOf.ExplosionFlash, 12f);\n\t\t\tfor (int i = 0; i < 6; i++)\n\t\t\t{\n\t\t\t\tFleckMaker.ThrowDustPuff(PawnOwner.TrueCenter() + Vector3Utility.HorizontalVectorFromAngle(Rand.Range(0, 360)) * Rand.Range(0.3f, 0.6f), PawnOwner.Map, Rand.Range(0.8f, 1.2f));\n\t\t\t}\n\t\t}\n\t\tenergy = 0f;\n\t\tticksToReset = Props.startingTicksToReset;\n\t}\n\n\tprivate void Reset()\n\t{\n\t\tif (PawnOwner.Spawned)\n\t\t{\n\t\t\tSoundDefOf.EnergyShield_Reset.PlayOneShot(new TargetInfo(PawnOwner.Position, PawnOwner.Map));\n\t\t\tFleckMaker.ThrowLightningGlow(PawnOwner.TrueCenter(), PawnOwner.Map, 3f);\n\t\t}\n\t\tticksToReset = -1;\n\t\tenergy = Props.energyOnReset;\n\t}\n\n\tpublic override void CompDrawWornExtras()\n\t{\n\t\tbase.CompDrawWornExtras();\n\t\tif (IsApparel)\n\t\t{\n\t\t\tDraw();\n\t\t}\n\t}\n\n\tpublic override void PostDraw()\n\t{\n\t\tbase.PostDraw();\n\t\tif (IsBuiltIn)\n\t\t{\n\t\t\tDraw();\n\t\t}\n\t}\n\n\tprivate void Draw()\n\t{\n\t\tif (ShieldState == ShieldState.Active && ShouldDisplay)\n\t\t{\n\t\t\tfloat num = Mathf.Lerp(Props.minDrawSize, Props.maxDrawSize, energy);\n\t\t\tVector3 drawPos = PawnOwner.Drawer.DrawPos;\n\t\t\tdrawPos.y = AltitudeLayer.MoteOverhead.AltitudeFor();\n\t\t\tint num2 = Find.TickManager.TicksGame - lastAbsorbDamageTick;\n\t\t\tif (num2 < 8)\n\t\t\t{\n\t\t\t\tfloat num3 = (float)(8 - num2) / 8f * 0.05f;\n\t\t\t\tdrawPos += impactAngleVect * num3;\n\t\t\t\tnum -= num3;\n\t\t\t}\n\t\t\tfloat angle = Rand.Range(0, 360);\n\t\t\tVector3 s = new Vector3(num, 1f, num);\n\t\t\tMatrix4x4 matrix = default(Matrix4x4);\n\t\t\tmatrix.SetTRS(drawPos, Quaternion.AngleAxis(angle, Vector3.up), s);\n\t\t\tGraphics.DrawMesh(MeshPool.plane10, matrix, BubbleMat, 0);\n\t\t}\n\t}\n\n\tpublic override bool CompAllowVerbCast(Verb verb)\n\t{\n\t\tif (Props.blocksRangedWeapons)\n\t\t{\n\t\t\treturn !(verb is Verb_LaunchProjectile);\n\t\t}\n\t\treturn true;\n\t}\n}\n\n", "timestamp": "2025-08-26 18:35:01,058" } }