diff --git a/1.6/1.6/Assemblies/WulaFallenEmpire.dll b/1.6/1.6/Assemblies/WulaFallenEmpire.dll index a58263e5..3c781f42 100644 Binary files a/1.6/1.6/Assemblies/WulaFallenEmpire.dll and b/1.6/1.6/Assemblies/WulaFallenEmpire.dll differ diff --git a/1.6/1.6/Defs/HediffDefs/Hediffs_WULA_AuraExample.xml b/1.6/1.6/Defs/HediffDefs/Hediffs_WULA_AuraExample.xml new file mode 100644 index 00000000..2d6436c6 --- /dev/null +++ b/1.6/1.6/Defs/HediffDefs/Hediffs_WULA_AuraExample.xml @@ -0,0 +1,30 @@ + + + + + MyWulaAura + + 这是一个如何使用HediffComp_GiveHediffsInRangeToRace组件的示例。 + HediffWithComps + + +
  • + 10 + PsychicSoothe + + + +
  • WulaSpecies
  • +
  • Human
  • + + + + + true + + true + +
    +
    + +
    \ No newline at end of file diff --git a/1.6/1.6/Defs/HediffDefs/Hediffs_WULA_DamageShield.xml b/1.6/1.6/Defs/HediffDefs/Hediffs_WULA_DamageShield.xml new file mode 100644 index 00000000..1ce69de1 --- /dev/null +++ b/1.6/1.6/Defs/HediffDefs/Hediffs_WULA_DamageShield.xml @@ -0,0 +1,20 @@ + + + + WULA_DamageShield + + 一种特殊的能量护盾,可以抵挡受到的伤害。每层护盾可以抵挡一次伤害。 + WulaFallenEmpire.Hediff_DamageShield + 10 + 999 + (0.6, 0.6, 1.0) + false + +
  • + + 1 + +
  • +
    +
    +
    \ No newline at end of file diff --git a/1.6/1.6/Defs/ThingDefs/ThingDefs_WULA_Items_DamageShield.xml b/1.6/1.6/Defs/ThingDefs/ThingDefs_WULA_Items_DamageShield.xml new file mode 100644 index 00000000..26af2d7c --- /dev/null +++ b/1.6/1.6/Defs/ThingDefs/ThingDefs_WULA_Items_DamageShield.xml @@ -0,0 +1,36 @@ + + + + WULA_DamageShieldGenerator + + 一个便携式设备,可以激活并生成一个临时的能量护盾,抵挡即将到来的伤害。 + + Wula/Item/WULA_Syhth_Trainer + Graphic_Single + + 1 + true + false + + 50 + 500 + 0.5 + 1000 + + +
  • Items
  • +
    + Sellable + +
  • + UseItem + 使用护盾发生器充能反应护盾 +
  • +
  • + WULA_DamageShield + 100 +
  • +
  • + + + \ No newline at end of file diff --git a/1.6/1.6/Languages/ChineseSimplified (简体中文)/Keyed/WULA_Keyed.xml b/1.6/1.6/Languages/ChineseSimplified (简体中文)/Keyed/WULA_Keyed.xml index e711aa26..743562c7 100644 --- a/1.6/1.6/Languages/ChineseSimplified (简体中文)/Keyed/WULA_Keyed.xml +++ b/1.6/1.6/Languages/ChineseSimplified (简体中文)/Keyed/WULA_Keyed.xml @@ -17,4 +17,9 @@ {PAWN_nameDef} 的维护已完成,但{PAWN_nameDef} 没有可修复的受损部位。 没有可用的零部件来搬运。 + {0} 获得了 {1} 层伤害护盾! + 无法对已死亡的Pawn使用。 + 伤害护盾已达到最大层数。 + 使用:增加 {0} 层伤害护盾 + \ No newline at end of file diff --git a/MCP/mcpserver_stdio.py b/MCP/mcpserver_stdio.py index 40db4658..25e48854 100644 --- a/MCP/mcpserver_stdio.py +++ b/MCP/mcpserver_stdio.py @@ -388,7 +388,7 @@ def find_keywords_in_question(question: str) -> list[str]: def analyze_question_with_llm(question: str) -> dict: """使用Qwen模型分析问题并提取关键词和意图""" try: - system_prompt = """你是一个关键词提取机器人,专门用于从 RimWorld 模组开发相关问题中提取精确的搜索关键词。你的任务是识别问题中提到的核心技术术语。 + system_prompt = """你是一个关键词提取机器人,专门用于从 RimWorld 模组开发相关问题中提取精确的搜索关键词。你的任务是识别问题中提到的核心技术术语,并将它们正确地拆分成独立的关键词。 严格按照以下格式回复,不要添加任何额外说明: 问题类型:[问题分类] @@ -402,7 +402,8 @@ def analyze_question_with_llm(question: str) -> dict: 3. 不要添加通用词如"RimWorld"、"游戏"、"定义"、"用法"等 4. 不要添加缩写或扩展形式如"Def"、"XML"等除非问题中明确提到 5. 只提取具体的技术名词,忽略动词、形容词等 -6. 关键词之间用英文逗号分隔,不要有空格 +6. 当遇到用空格连接的多个技术术语时,应将它们拆分为独立的关键词 +7. 关键词之间用英文逗号分隔,不要有空格 示例: 问题:ThingDef的定义和用法是什么? @@ -417,6 +418,12 @@ def analyze_question_with_llm(question: str) -> dict: 关键概念:API 使用 搜索关键词:GenExplosion.DoExplosion,Projectile.Launch +问题:RimWorld Pawn_HealthTracker PreApplyDamage +问题类型:API 使用说明 +关键类/方法名:Pawn_HealthTracker,PreApplyDamage +关键概念:伤害处理 +搜索关键词:Pawn_HealthTracker,PreApplyDamage + 现在请分析以下问题:""" messages = [ @@ -512,6 +519,16 @@ def get_context(question: str) -> str: analysis = analyze_question_with_llm(question) keywords = analysis["search_keywords"] + # 确保关键词被正确拆分 + split_keywords = [] + for keyword in keywords: + # 如果关键词中包含空格,将其拆分为多个关键词 + if ' ' in keyword: + split_keywords.extend(keyword.split()) + else: + split_keywords.append(keyword) + keywords = split_keywords + if not keywords: logging.warning("无法从问题中提取关键词。") return "无法从问题中提取关键词,请提供更具体的信息。" @@ -534,23 +551,32 @@ def get_context(question: str) -> str: logging.info(f"缓存未命中,开始实时搜索: {cache_key}") - # 2. 关键词文件搜索 (分层智能筛选) + # 2. 对每个关键词分别执行搜索过程,然后合并结果 try: - candidate_files = find_files_with_keyword(KNOWLEDGE_BASE_PATHS, keywords) - - if not candidate_files: - logging.info(f"未找到与 '{keywords}' 相关的文件。") - return f"未在知识库中找到与 '{keywords}' 相关的文件定义。" + all_results = [] + processed_files = set() # 避免重复处理相同文件 - logging.info(f"找到 {len(candidate_files)} 个候选文件,开始向量化处理...") + for keyword in keywords: + logging.info(f"开始搜索关键词: {keyword}") + + # 为当前关键词搜索文件 + candidate_files = find_files_with_keyword(KNOWLEDGE_BASE_PATHS, [keyword]) - # 新增:文件名精确匹配优先 - priority_results = [] - remaining_files = [] - for file_path in candidate_files: - filename_no_ext = os.path.splitext(os.path.basename(file_path))[0] - is_priority = False - for keyword in keywords: + if not candidate_files: + logging.info(f"未找到与 '{keyword}' 相关的文件。") + continue + + logging.info(f"找到 {len(candidate_files)} 个候选文件用于关键词 '{keyword}',开始向量化处理...") + + # 文件名精确匹配优先 + priority_results = [] + remaining_files = [] + for file_path in candidate_files: + # 避免重复处理相同文件 + if file_path in processed_files: + continue + + filename_no_ext = os.path.splitext(os.path.basename(file_path))[0] if filename_no_ext.lower() == keyword.lower(): logging.info(f"文件名精确匹配: {file_path}") code_block = extract_relevant_code(file_path, keyword) @@ -560,79 +586,92 @@ def get_context(question: str) -> str: 'similarity': 1.0, # 精确匹配给予最高分 'code': code_block }) - is_priority = True - break # 已处理该文件,跳出内层循环 - if not is_priority: - remaining_files.append(file_path) - - candidate_files = remaining_files # 更新候选文件列表,排除已优先处理的文件 + processed_files.add(file_path) + else: + remaining_files.append(file_path) + + # 更新候选文件列表,排除已优先处理的文件 + candidate_files = [f for f in remaining_files if f not in processed_files] + + # 限制向量化的文件数量以避免超时 + MAX_FILES_TO_VECTORIZE = 5 + if len(candidate_files) > MAX_FILES_TO_VECTORIZE: + logging.warning(f"候选文件过多 ({len(candidate_files)}),仅处理前 {MAX_FILES_TO_VECTORIZE} 个。") + candidate_files = candidate_files[:MAX_FILES_TO_VECTORIZE] - # 3. 向量化和相似度计算 (精准筛选) - # 增加超时保护:限制向量化的文件数量 - MAX_FILES_TO_VECTORIZE = 10 # 进一步减少处理文件数量以避免超时 - if len(candidate_files) > MAX_FILES_TO_VECTORIZE: - logging.warning(f"候选文件过多 ({len(candidate_files)}),仅处理前 {MAX_FILES_TO_VECTORIZE} 个。") - candidate_files = candidate_files[:MAX_FILES_TO_VECTORIZE] + # 为剩余文件生成向量 + question_embedding = get_embedding(keyword) # 使用关键词而不是整个问题 + if not question_embedding: + logging.warning(f"无法为关键词 '{keyword}' 生成向量。") + # 将优先结果添加到总结果中 + all_results.extend(priority_results) + continue - question_embedding = get_embedding(question) - if not question_embedding: - return "无法生成问题向量,请检查API连接或问题内容。" + file_embeddings = [] + for i, file_path in enumerate(candidate_files): + try: + # 避免重复处理相同文件 + if file_path in processed_files: + continue + + with open(file_path, 'r', encoding='utf-8') as f: + content = f.read() + # 添加处理进度日志 + if i % 5 == 0: # 每5个文件记录一次进度 + logging.info(f"正在处理第 {i+1}/{len(candidate_files)} 个文件: {os.path.basename(file_path)}") + + file_embedding = get_embedding(content[:8000]) # 限制内容长度以提高效率 + if file_embedding: + file_embeddings.append({'path': file_path, 'embedding': file_embedding}) + except Exception as e: + logging.error(f"处理文件 {file_path} 时出错: {e}") + continue # 继续处理下一个文件,而不是完全失败 + + if not file_embeddings and not priority_results: + logging.warning(f"未能为关键词 '{keyword}' 的任何候选文件生成向量。") + continue - file_embeddings = [] - for i, file_path in enumerate(candidate_files): - try: - with open(file_path, 'r', encoding='utf-8') as f: - content = f.read() - # 添加处理进度日志 - if i % 5 == 0: # 每5个文件记录一次进度 - logging.info(f"正在处理第 {i+1}/{len(candidate_files)} 个文件: {os.path.basename(file_path)}") + # 找到最相似的多个文件 + best_matches = find_most_similar_files(question_embedding, file_embeddings, top_n=3) + + # 重排序处理 + if len(best_matches) > 1: + reranked_matches = rerank_files(keyword, best_matches, top_n=2) # 减少重排序数量 + else: + reranked_matches = best_matches + + # 提取代码内容 + results_with_code = [] + for match in reranked_matches: + # 避免重复处理相同文件 + if match['path'] in processed_files: + continue - file_embedding = get_embedding(content[:8000]) # 限制内容长度以提高效率 - if file_embedding: - file_embeddings.append({'path': file_path, 'embedding': file_embedding}) - except Exception as e: - logging.error(f"处理文件 {file_path} 时出错: {e}") - continue # 继续处理下一个文件,而不是完全失败 + code_block = extract_relevant_code(match['path'], "") + if code_block: + match['code'] = code_block + results_with_code.append(match) + processed_files.add(match['path']) + + # 将优先结果和相似度结果合并 + results_with_code = priority_results + results_with_code + + # 将当前关键词的结果添加到总结果中 + all_results.extend(results_with_code) - if not file_embeddings: - logging.warning("未能为任何候选文件生成向量。可能是由于API超时或其他错误。") - return "未能为任何候选文件生成向量,请稍后重试或减少搜索范围。" - - # 找到最相似的多个文件 - best_matches = find_most_similar_files(question_embedding, file_embeddings, top_n=5) # 进一步减少返回数量以避免超时 + # 检查是否有任何结果 + if len(all_results) <= 0: + return f"未在知识库中找到与 '{keywords}' 相关的文件定义。" - if not best_matches: - return "计算向量相似度失败或没有找到足够相似的文件。" - - # 新增:重排序处理(仅在找到足够多匹配项时执行) - if len(best_matches) > 2: - reranked_matches = rerank_files(question, best_matches, top_n=3) # 减少重排序数量 - else: - reranked_matches = best_matches # 如果匹配项太少,跳过重排序以节省时间 - - # 提取代码内容 - results_with_code = [] - for match in reranked_matches: - code_block = extract_relevant_code(match['path'], "") - if code_block: - match['code'] = code_block - results_with_code.append(match) - - # 将优先结果添加到结果列表开头 - results_with_code = priority_results + results_with_code - - if len(results_with_code) <= 0: - return f"虽然找到了相似的文件,但无法在其中提取到相关代码块。" - - # 直接返回原始代码结果,而不是使用LLM格式化 + # 整理最终输出 final_output = "" - for i, result in enumerate(results_with_code, 1): + for i, result in enumerate(all_results, 1): final_output += f"--- 结果 {i} (相似度: {result['similarity']:.3f}) ---\n" final_output += f"文件路径: {result['path']}\n\n" final_output += f"{result['code']}\n\n" # 5. 更新缓存并返回结果 - logging.info(f"向量搜索完成。找到了 {len(results_with_code)} 个匹配项并成功提取了代码。") + logging.info(f"向量搜索完成。找到了 {len(all_results)} 个匹配项并成功提取了代码。") save_cache_for_question(question, keywords, final_output) return final_output diff --git a/MCP/vector_cache/knowledge_cache.json b/MCP/vector_cache/knowledge_cache.json index 07bb63d7..e602858b 100644 --- a/MCP/vector_cache/knowledge_cache.json +++ b/MCP/vector_cache/knowledge_cache.json @@ -11379,5 +11379,15531 @@ ], "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" + }, + "DamageDef": { + "keywords": [ + "DamageDef" + ], + "question": "DamageDef", + "embedding": [ + 0.02405792847275734, + 0.006207035854458809, + 0.007821091450750828, + 0.010024136863648891, + 0.003072369610890746, + 0.00877819862216711, + 0.016321785748004913, + -0.027841048315167427, + -0.007979665882885456, + 0.10148730129003525, + 0.009270910173654556, + -0.018168039619922638, + 0.00371799198910594, + -0.021600032225251198, + 0.06193443760275841, + -0.022041773423552513, + -0.004850662779062986, + -0.11426383256912231, + 0.06265934556722641, + -0.016888121142983437, + -0.049429751932621, + -0.011349361389875412, + 0.0008672010735608637, + -0.05024527758359909, + -0.00854600127786398, + 0.031171100214123726, + 0.004230525344610214, + 0.022630762308835983, + 0.02464691735804081, + -0.02275535650551319, + 0.008517684414982796, + 0.008772535249590874, + 0.0009988740785047412, + -0.021011043339967728, + -0.025847546756267548, + 0.05196693539619446, + 0.01449818629771471, + 0.01790752448141575, + 0.02121492475271225, + -0.03658526763319969, + -0.0024040937423706055, + -0.03443319350481033, + -0.003950189333409071, + -0.014917274005711079, + 0.009452138096094131, + -0.002927954075857997, + 0.01637841947376728, + -0.03925836831331253, + -0.0597597099840641, + 0.06388263404369354, + 0.046530116349458694, + 0.0051140086725354195, + -0.01428297907114029, + -0.00550761166960001, + 0.0011100174160674214, + 0.0029704291373491287, + -0.03445584699511528, + -0.007645527832210064, + -0.0015645015519112349, + 0.00030652902205474675, + 0.018417226150631905, + 0.017171289771795273, + -0.036132197827100754, + -0.04619031399488449, + 0.02209840714931488, + -0.06596674770116806, + -0.08553929626941681, + -0.006541173905134201, + 0.0424298495054245, + -0.0383748859167099, + -0.02140747755765915, + 0.0032875770702958107, + 0.014962580986320972, + -0.003426329232752323, + 0.0008792356820777059, + 0.026527149602770805, + -0.04834238812327385, + -0.030287617817521095, + -0.020875122398138046, + -0.02648184262216091, + -0.010137403383851051, + -0.012040290981531143, + -0.07394074648618698, + 0.011915696784853935, + 0.06922883540391922, + 0.01145696546882391, + -0.01762435771524906, + -0.04211270064115524, + -0.05038119852542877, + 0.06818678230047226, + -0.050064049661159515, + 0.026300616562366486, + 0.016299132257699966, + -0.01785089075565338, + 0.02854330465197563, + 0.02997046895325184, + -0.03916775435209274, + 0.0597597099840641, + -0.0033810222521424294, + 0.02487345039844513, + -0.037310175597667694, + -0.0076738446950912476, + -0.023083830252289772, + 0.06265934556722641, + -0.033481746912002563, + 0.0061390758492052555, + 0.026527149602770805, + -0.002197381341829896, + -0.016265152022242546, + -0.010913282632827759, + -0.028022276237607002, + 0.013263574801385403, + -0.026527149602770805, + 0.02140747755765915, + -0.03912244737148285, + 0.018938256427645683, + -0.016129232943058014, + -0.011281400918960571, + 0.03234907612204552, + 0.01405644416809082, + 0.06474345922470093, + -0.007056538946926594, + -0.008053289726376534, + -0.055682096630334854, + 0.04066288098692894, + -0.00588422454893589, + -0.0105111850425601, + 0.07067865878343582, + 2.0175699319224805e-05, + 0.00820619985461235, + -0.006127749104052782, + -0.0072830733843147755, + 0.025190599262714386, + 0.04444600269198418, + -0.01086797658354044, + -0.041433095932006836, + 0.03810304403305054, + 0.023808740079402924, + -0.002670271322131157, + -0.01029597781598568, + -0.026912258937954903, + 0.010211027227342129, + 0.04129717871546745, + 0.026957564055919647, + 0.13782338798046112, + -0.03624546527862549, + -0.05328083410859108, + -0.031465593725442886, + -0.0450349897146225, + 0.028430037200450897, + 0.012504685670137405, + 0.007305726408958435, + -0.016106579452753067, + 0.012232844717800617, + -0.017635684460401535, + -0.015642182901501656, + 0.033549707382917404, + -0.02559836022555828, + 0.0067110746167600155, + 0.013105001300573349, + 0.017635684460401535, + -0.019595203921198845, + -0.023423632606863976, + 0.0022554306779056787, + -0.0013599129160866141, + -0.029313519597053528, + 0.0010434730211272836, + -0.014622779563069344, + -0.008687584660947323, + -0.0012912447564303875, + -0.053099606186151505, + -0.0010243591386824846, + -0.04383435845375061, + -0.03681180253624916, + -0.007101845927536488, + -0.007175469305366278, + -0.025439785793423653, + 0.0018306791316717863, + 0.023944661021232605, + 0.03710629418492317, + 0.02442038245499134, + -0.0016806003404781222, + -0.004884643014520407, + -0.014362265355885029, + 0.0015489272773265839, + -0.03305133432149887, + 0.028905758634209633, + 0.000254673941526562, + 0.0016211350448429585, + 0.008415743708610535, + 0.023672819137573242, + 0.06338425725698471, + 0.04036838561296463, + -0.0026008952409029007, + -0.0019991640001535416, + 0.02164533920586109, + -0.023129137232899666, + 0.0804649293422699, + -0.04643950238823891, + -0.022019119933247566, + -9.494966798229143e-05, + -0.029857201501727104, + -0.014260325580835342, + 0.05178570747375488, + 0.05423227697610855, + 0.008489367552101612, + 0.006756381131708622, + -0.03572443500161171, + 0.03083129972219467, + -0.005029058083891869, + 0.025802239775657654, + -0.021101657301187515, + 0.006410916801542044, + -0.021271556615829468, + 0.025032024830579758, + 0.004663771949708462, + -0.007928695529699326, + -0.014951254241168499, + -0.006308976095169783, + 0.05590863153338432, + 0.0015843232395127416, + 0.02137349732220173, + -0.00871023815125227, + 0.022347595542669296, + 0.007889051921665668, + 0.0, + 0.03828427195549011, + -0.030083736404776573, + 0.016491686925292015, + 0.0001429112016921863, + 0.036041583865880966, + 0.03506748750805855, + -0.09265246987342834, + -0.011043540202081203, + -0.021860545501112938, + 0.019617857411503792, + -0.018168039619922638, + -0.06406386196613312, + 0.001023651217110455, + 0.021939832717180252, + 0.01719394326210022, + 0.02575693465769291, + -0.04249780625104904, + 0.0026462022215127945, + -0.010154393501579762, + -0.033481746912002563, + -0.027727780863642693, + 0.017952831462025642, + -0.012448051944375038, + 0.011632529087364674, + -0.04088941588997841, + 0.003723655128851533, + -0.013116328045725822, + -0.016038618981838226, + 0.03665322810411453, + 0.023808740079402924, + 0.02189452573657036, + -0.03364032134413719, + -0.008936772122979164, + 0.01557422336190939, + -0.020388074219226837, + 0.036336079239845276, + -0.01591402478516102, + 0.031692128628492355, + 0.0017797090113162994, + 0.013014387339353561, + 0.02738798037171364, + -0.004754385445266962, + -0.03379889577627182, + 0.05033589154481888, + -0.01653699390590191, + -0.002552756806835532, + 0.012935100123286247, + -0.018723048269748688, + -0.0013613287592306733, + 0.022766683250665665, + 0.03778589889407158, + 0.027025524526834488, + -0.04693787917494774, + -0.03017435036599636, + -0.013229594565927982, + -0.012266824953258038, + 0.0025980635546147823, + -0.029630668461322784, + -0.04766278713941574, + 0.015370342880487442, + 0.01958387717604637, + -0.04304149001836777, + -0.0052499291487038136, + 0.03275683894753456, + 0.00704521220177412, + 0.03388950973749161, + 0.022347595542669296, + 0.038624074310064316, + 0.03835223242640495, + -0.01683148741722107, + 0.03681180253624916, + -0.0012544329511001706, + -0.03092191182076931, + -0.005230107344686985, + -0.025507746264338493, + -0.00639959005638957, + -0.009287900291383266, + 0.02618734911084175, + 0.03481829911470413, + -0.04562398046255112, + -0.019923679530620575, + -0.03164682164788246, + 0.04193147271871567, + -0.09831582754850388, + 0.014837987720966339, + -0.0002587444905657321, + 0.0029307857621461153, + -0.005646363832056522, + 0.00761721096932888, + 0.023129137232899666, + 0.006308976095169783, + -0.00916897039860487, + -0.003800110425800085, + 0.06184382364153862, + -0.03422931209206581, + -0.008602635003626347, + -0.07711222767829895, + -0.008715901523828506, + -0.010856649838387966, + 0.0030298943165689707, + 0.029245559126138687, + -0.0069036283530294895, + 0.009661681950092316, + -0.01882498897612095, + 0.013218267820775509, + -0.015494936145842075, + 0.0004920038627460599, + 0.07493750005960464, + 0.025054678320884705, + 0.03792181983590126, + -0.0020515499636530876, + 0.05672415345907211, + -0.0008657852304168046, + -0.005054543260484934, + 0.0013422148767858744, + -0.02922290563583374, + 0.060167472809553146, + -0.019572550430893898, + 0.027637166902422905, + -0.014135731384158134, + 0.06737125664949417, + 0.04680195823311806, + -0.014305632561445236, + 0.0014809670392423868, + 0.0020260647870600224, + 0.022155040875077248, + -0.01520044170320034, + 0.019595203921198845, + 0.02700287103652954, + 0.005201790481805801, + 0.0052810776978731155, + 0.0031176763586699963, + -0.02670837752521038, + 0.01165518257766962, + -0.005167810712009668, + 0.015506262890994549, + -0.041070643812417984, + -0.03352705389261246, + 0.0020572133362293243, + -0.013750622980296612, + 0.01594800502061844, + 0.058491118252277374, + -0.02759185992181301, + 0.054277583956718445, + 0.02114696428179741, + -0.08712504059076309, + 0.00949744414538145, + 0.03882795572280884, + -0.0125499926507473, + 0.04310945048928261, + -0.014294305816292763, + -0.002010490745306015, + 0.004771375562995672, + 0.01523442193865776, + -0.005031889770179987, + 0.004612801596522331, + 0.011881716549396515, + -0.015619530342519283, + -0.011547578498721123, + -0.004748722072690725, + 0.07167540490627289, + 0.029857201501727104, + 0.019493265077471733, + -0.031329672783613205, + 0.07493750005960464, + -0.027478594332933426, + -0.014713393524289131, + -0.0012020468711853027, + 0.023265058174729347, + 0.00570299755781889, + 0.020512668415904045, + -0.012391418218612671, + 0.055455561727285385, + -0.04064022749662399, + -0.021011043339967728, + -0.0053773545660078526, + -0.06478876620531082, + -0.04757217317819595, + 0.029313519597053528, + 0.018122732639312744, + 0.03259826451539993, + 0.017103329300880432, + -0.01085098646581173, + 0.011117164045572281, + 0.018485186621546745, + -0.018519166857004166, + 0.07638731598854065, + 0.01428297907114029, + -0.0604846216738224, + -0.029268212616443634, + -0.010431897826492786, + 0.018553147092461586, + -0.022189021110534668, + -0.08078207820653915, + -0.021203598007559776, + -0.008500694297254086, + -0.026028774678707123, + 0.01217621099203825, + -0.01047720480710268, + -0.005736977327615023, + -0.03477299213409424, + -0.02017286606132984, + -0.019198769703507423, + 0.007928695529699326, + -0.07616078108549118, + 0.01123043056577444, + -0.05808335915207863, + 0.03239438310265541, + 0.008483704179525375, + -0.011524925008416176, + 0.03400277718901634, + -0.023559551686048508, + -0.017896197736263275, + -0.009469128213822842, + 0.027274712920188904, + 0.013558069244027138, + 0.05518371984362602, + -0.029947815462946892, + -0.098859503865242, + 0.0005114716477692127, + 0.0501546636223793, + 0.015302382409572601, + 0.035520557314157486, + -0.0012438141275197268, + -0.05518371984362602, + 0.005394344683736563, + 0.003910545725375414, + 0.05174040049314499, + -0.0031771415378898382, + 0.028747184202075005, + 0.03488625958561897, + -0.046666037291288376, + -0.001723075401969254, + -0.039439596235752106, + 0.004660940263420343, + 0.0001312305248575285, + -0.036200158298015594, + 0.01908550225198269, + 0.006444897036999464, + 0.0007160603418014944, + 0.010703738778829575, + -0.01369399018585682, + 0.015925351530313492, + 0.0013577891513705254, + -0.0019920847844332457, + 0.01221019122749567, + 0.013671336695551872, + -0.012153557501733303, + 0.014860641211271286, + 0.006535510532557964, + 0.02164533920586109, + 0.05658823251724243, + -0.007821091450750828, + -0.006263669580221176, + 0.021464111283421516, + 0.04329067841172218, + -0.03262091800570488, + -0.0199123527854681, + -0.09324146062135696, + -0.0358150489628315, + -0.04111595079302788, + -0.012402744963765144, + 0.031012525781989098, + -0.008030636236071587, + -0.05350736901164055, + -0.015132482163608074, + 0.028747184202075005, + 0.03314194828271866, + -0.006818678230047226, + 0.024103233590722084, + -0.024080581963062286, + -0.0472097173333168, + -0.022732703015208244, + -0.06170790642499924, + -0.0071244994178414345, + 0.01774895191192627, + -0.009016059339046478, + 0.0021789753809571266, + -0.013037040829658508, + -0.006694084499031305, + -0.002241272246465087, + 0.01235743798315525, + -0.048070549964904785, + -0.010913282632827759, + 0.009491780772805214, + -0.044083546847105026, + 0.03407073765993118, + -0.0013259327970445156, + -0.03524871543049812, + 0.007050875574350357, + 0.06193443760275841, + -0.00320829008705914, + 0.01615188457071781, + -0.01145696546882391, + -0.029721282422542572, + -0.05672415345907211, + 0.04856892302632332, + -0.017794258892536163, + 0.02709348499774933, + -0.004046466201543808, + -0.04030042514204979, + -0.023061176761984825, + 0.0357697419822216, + -0.004768543876707554, + -0.00204730243422091, + 0.0015531748067587614, + 0.0575396753847599, + 0.012776526622474194, + 0.06995374709367752, + 0.017862217500805855, + 0.02421650104224682, + -0.012153557501733303, + 0.008075942285358906, + 0.016956081613898277, + 0.06234220042824745, + -0.0037293185014277697, + 0.0020572133362293243, + 0.0035650813952088356, + -1.5817569874343462e-05, + 0.018100079149007797, + 0.03749140352010727, + -0.029336173087358475, + 0.022540148347616196, + -0.01958387717604637, + 0.016616281121969223, + 0.05337144806981087, + -0.04301883652806282, + -0.02275535650551319, + 0.027999622747302055, + -0.011490944772958755, + 0.036132197827100754, + 0.05894418805837631, + -0.03717425465583801, + 0.034410540014505386, + -0.04111595079302788, + 0.0012990317773073912, + 0.009344534017145634, + -0.05033589154481888, + 0.00872722826898098, + -0.0010703739244490862, + -0.05269184708595276, + 0.015223095193505287, + -0.043721091002225876, + -0.02641388215124607, + -0.03617750480771065, + -0.007243429776281118, + -0.012821833603084087, + -0.03341379016637802, + -0.012504685670137405, + -0.06080176681280136, + -0.0024932916276156902, + -0.015030541457235813, + 0.045488059520721436, + -0.03830692544579506, + -0.015766777098178864, + 0.0029506073333323, + -0.003233775030821562, + -0.008438397198915482, + 0.026731031015515327, + 0.00995617639273405, + 0.017284555360674858, + 0.013716643676161766, + 0.00863095186650753, + 0.008698911406099796, + 0.03443319350481033, + -0.012742546387016773, + -0.025054678320884705, + -0.012198864482343197, + 0.019006215035915375, + -0.00022564925893675536, + -0.028497997671365738, + 0.04487641528248787, + 0.006688421126455069, + 0.011451302096247673, + -0.008013646118342876, + -0.09197286516427994, + -0.015359016135334969, + -0.024737529456615448, + 0.03808039054274559, + -0.02442038245499134, + -0.002040223218500614, + -0.008574318140745163, + 0.04344925284385681, + -0.017613030970096588, + 0.002166232792660594, + 0.024443035945296288, + 0.030491497367620468, + 0.022891277447342873, + 0.011734469793736935, + -0.004564663395285606, + -0.026912258937954903, + 0.009050039574503899, + 0.010454551316797733, + -0.030197003856301308, + -0.07122234255075455, + 0.000760305265430361, + -0.00048527863691560924, + -0.0164123997092247, + -0.027206752449274063, + -0.02405792847275734, + -0.01611790619790554, + -0.023083830252289772, + -0.057222530245780945, + -0.05210285633802414, + 0.00025697468663565814, + 0.03964347764849663, + -0.021532071754336357, + 0.008800852112472057, + 0.004134248476475477, + -0.002425331389531493, + -0.050290584564208984, + -0.01601596549153328, + -0.0219624862074852, + 0.04086676239967346, + 0.01644637994468212, + 0.008143902756273746, + -0.02523590438067913, + 0.022857297211885452, + 0.002438073977828026, + -0.0789244994521141, + -0.011734469793736935, + -0.01575545035302639, + -0.05119672045111656, + 0.016695568338036537, + -0.01778293214738369, + 0.026006121188402176, + 0.0032762503251433372, + 0.02346893958747387, + -0.012651932425796986, + 0.03142028674483299, + -0.01823600009083748, + -0.027727780863642693, + -0.0034801310393959284, + -0.012674585916101933, + -0.0015489272773265839, + 0.0085799815133214, + 0.01523442193865776, + -0.011893043294548988, + 0.02797696925699711, + -0.037446096539497375, + 0.004711910616606474, + -0.008404416963458061, + 0.01960653066635132, + -0.005470799747854471, + -0.037378136068582535, + 0.019017541781067848, + -0.007175469305366278, + -0.025779588147997856, + 0.034138698130846024, + -0.0070622023195028305, + 0.018428552895784378, + 0.02523590438067913, + 0.03105783276259899, + 0.004533514846116304, + -0.04322271794080734, + -0.0004781994502991438, + -0.012640605680644512, + 0.001018695766106248, + -0.04625827446579933, + 0.0420447401702404, + 0.0027792910113930702, + 0.05128733441233635, + -0.0017655505798757076, + 0.0376499779522419, + 0.04147840291261673, + -0.11417321860790253, + 0.05586332455277443, + 0.0057511357590556145, + 0.0047090789303183556, + 0.014713393524289131, + -0.06166259944438934, + 0.0007971170707605779, + 0.008936772122979164, + 0.04707379639148712, + 0.11743530631065369, + -0.04816116392612457, + -0.06977251917123795, + 0.044242121279239655, + 0.004884643014520407, + -0.004261673893779516, + 0.04442334920167923, + 0.004958266392350197, + -0.0004983751568943262, + -0.031397633254528046, + 0.0016367093194276094, + 0.0003794447111431509, + 0.0044145844876766205, + -0.005889887921512127, + -0.020773181691765785, + 0.03488625958561897, + 0.015676163136959076, + 0.03046884387731552, + -0.04399293288588524, + 0.01096425298601389, + -0.0424298495054245, + 0.04961097985506058, + 0.03425196558237076, + -0.01958387717604637, + -0.06211566552519798, + 0.007611547596752644, + -0.042248621582984924, + -0.03998328000307083, + 0.022370249032974243, + 0.06655573844909668, + -0.037446096539497375, + -0.007016895338892937, + -0.002423915546387434, + 0.049701593816280365, + -0.01461145281791687, + -0.009661681950092316, + 0.004199376795440912, + -0.025960814207792282, + -0.012595299631357193, + -0.033753588795661926, + -0.02700287103652954, + -0.008585644885897636, + 0.029313519597053528, + 0.02981189452111721, + 0.09351330250501633, + 0.028022276237607002, + 0.008840495720505714, + 0.010584808886051178, + -0.008948098868131638, + -0.011434311978518963, + -0.01807742565870285, + -0.040096547454595566, + 0.03697037324309349, + -0.051921628415584564, + -0.03200927749276161, + 0.010918946005403996, + 0.025122638791799545, + -0.013025714084506035, + 0.02173595316708088, + 0.038986530154943466, + 0.014022464863955975, + -0.020014293491840363, + 0.014656759798526764, + 0.032507650554180145, + 0.0029166273307055235, + 0.033753588795661926, + 0.01065843179821968, + 0.04145574942231178, + -0.022891277447342873, + -0.04469519108533859, + -0.04145574942231178, + -0.017284555360674858, + -0.010743382386863232, + 0.003771793795749545, + 0.005606720224022865, + 0.0320998914539814, + 0.002838756190612912, + -0.03373093530535698, + -0.05495718866586685, + -0.009599384851753712, + -0.033232562243938446, + -0.023038523271679878, + 0.05133264139294624, + -0.007334043271839619, + 0.005159315653145313, + 0.014826660975813866, + 0.04138778895139694, + 0.008166556246578693, + 0.01332020852714777, + -0.04469519108533859, + -0.011893043294548988, + 0.02331036515533924, + 0.012198864482343197, + 0.02922290563583374, + 0.03993797302246094, + 0.014294305816292763, + -0.020422054454684258, + 0.02568897418677807, + 0.0028260136023163795, + 0.030310271307826042, + -0.024397728964686394, + -0.023718126118183136, + -0.043200064450502396, + -0.01948193833231926, + -0.022177694365382195, + -0.01026199758052826, + -0.03853346034884453, + -0.05142325535416603, + -0.004168228711932898, + -0.041727591305971146, + -0.047934629023075104, + 0.00993918627500534, + 0.03234907612204552, + 0.04064022749662399, + 0.036494653671979904, + -0.016684241592884064, + -0.028837798163294792, + 0.010754709132015705, + 0.04125187173485756, + -0.009214276447892189, + 0.02448834292590618, + 0.04625827446579933, + 0.02026348002254963, + -0.014758700504899025, + 0.016457706689834595, + 0.019232749938964844, + 0.005411334801465273, + -0.012935100123286247, + -0.020422054454684258, + -0.0398247055709362, + -0.03778589889407158, + -0.02944944053888321, + 0.004884643014520407, + 0.016389746218919754, + 0.025371825322508812, + 0.01409042440354824, + 0.02346893958747387, + 0.008857485838234425, + -0.0129124466329813, + -0.07516403496265411, + -0.05210285633802414, + 0.008653604425489902, + 0.013048367574810982, + -0.0014668087242171168, + 0.012776526622474194, + 0.009678672067821026, + -0.018609780818223953, + -0.0001780416932888329, + -0.034569110721349716, + 0.0018236000323668122, + -0.12187537550926208, + 0.04707379639148712, + -0.024669568985700607, + -0.0020671242382377386, + 0.0160499457269907, + 0.058038052171468735, + -0.024533649906516075, + 0.06900230795145035, + -0.007549250964075327, + 0.011411658488214016, + -0.026006121188402176, + 0.0035084476694464684, + 0.04256576672196388, + 0.01794150471687317, + -0.03108048625290394, + 0.02677633799612522, + 0.04249780625104904, + 0.010114749893546104, + 0.029993122443556786, + -0.01676352694630623, + 0.06021277979016304, + 0.0071244994178414345, + 0.013660009950399399, + 0.0328247994184494, + 0.017477110028266907, + -0.048704843968153, + 0.007798438426107168, + 0.0021577379666268826, + 0.002309232484549284, + 0.0127312196418643, + 0.0024932916276156902, + -0.015449629165232182, + -0.014860641211271286, + 0.020206846296787262, + 0.052420005202293396, + 0.011043540202081203, + 0.0006555332220159471, + -0.023876700550317764, + -0.0007326964405365288, + 0.0023970145266503096, + -0.002566915238276124, + -0.0269349105656147, + 0.031103139743208885, + 0.024035274982452393, + 0.04492172226309776, + 0.00045873166527599096, + -0.0649246871471405, + 0.009797601960599422, + -0.04938444495201111, + -0.011162471026182175, + 0.01987837255001068, + 0.03518075495958328, + 0.038488153368234634, + -0.03490891307592392, + -0.06981782615184784, + -0.01731853559613228, + 0.008512021042406559, + -0.02457895688712597, + -0.01121344044804573, + -0.004154070280492306, + -0.021067677065730095, + -0.018100079149007797, + 0.012323458679020405, + 0.012448051944375038, + -0.006405253428965807, + -0.03268887847661972, + 0.013297555036842823, + 0.03422931209206581, + 0.024148540571331978, + 0.03601893037557602, + -0.02105635032057762, + 0.010126076638698578, + 0.017080675810575485, + 0.005374522879719734, + -0.008517684414982796, + 0.002769380109384656, + -0.06216097250580788, + 0.023514244705438614, + 0.0062353527173399925, + -0.03941694274544716, + 0.0007617211085744202, + 0.01951591856777668, + 0.04788932204246521, + 0.0098712258040905, + 0.04050430655479431, + 0.03624546527862549, + 0.02092042937874794, + -0.0575849823653698, + 0.02611938863992691, + 0.008653604425489902, + 0.0007730477955192327, + -0.03040088340640068, + -0.0028571621514856815, + 0.003621714888140559, + 0.005479294806718826, + -0.01726190373301506, + 0.02487345039844513, + -0.011558905243873596, + 0.02310648374259472, + 0.007147152908146381, + -0.015291055664420128, + -0.031329672783613205, + 0.01712598279118538, + 0.010029800236225128, + -0.004304149188101292, + -0.006524183787405491, + -0.013795929960906506, + 0.03307398781180382, + 0.07756529748439789, + -0.03443319350481033, + 0.056633539497852325, + 0.05500249192118645, + 0.031193753704428673, + -0.03518075495958328, + 0.0043522873893380165, + -0.02589285373687744, + -0.030151696875691414, + -0.023151790723204613, + -0.0006491619278676808, + 0.01970847137272358, + -0.04569194093346596, + -0.010171383619308472, + 0.010165720246732235, + -0.050879571586847305, + -0.01873437501490116, + 0.07289869338274002, + -0.03975674510002136, + -0.02854330465197563, + 0.021033696830272675, + 0.03991531953215599, + -0.004499534610658884, + 0.029675975441932678, + -0.03422931209206581, + -0.031261712312698364, + 0.014690740033984184, + -0.013195614330470562, + 0.011745796538889408, + -0.03572443500161171, + -0.0035792395938187838, + 0.01785089075565338, + 0.03887326270341873, + -0.03296072036027908, + -0.023185770958662033, + 0.013750622980296612, + 0.0287924911826849, + 0.015766777098178864, + 0.014747373759746552, + -0.021985139697790146, + 0.03894122317433357, + 0.030604764819145203, + -0.018621107563376427, + -0.010992569848895073, + 0.0236048586666584, + -0.026957564055919647, + 0.013795929960906506, + 0.020580628886818886, + -0.11924757808446884, + 0.061436064541339874, + -0.01837192103266716, + -0.0061957091093063354, + 0.0523746982216835, + -0.009927859529852867, + 0.039802052080631256, + 0.008863149210810661, + 0.00439759436994791, + 0.001670689438469708, + 0.009372850880026817, + 0.011490944772958755, + -0.028724530711770058, + -0.018802335485816002, + -0.0006300481036305428, + 0.011105837300419807, + -0.013705316931009293, + -0.009253920055925846 + ], + "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 19:36:23,398" + }, + "HediffCompProperties_GiveHediffsInRange": { + "keywords": [ + "HediffCompProperties_GiveHediffsInRange" + ], + "question": "HediffCompProperties_GiveHediffsInRange", + "embedding": [ + 0.03409209102392197, + 0.021932389587163925, + 0.022746780887246132, + 0.03249138966202736, + -0.04007365182042122, + -0.009821835905313492, + -0.002873185323551297, + -0.0019201372051611543, + 0.05902930349111557, + 0.08261855691671371, + -0.00041860397323034704, + -0.023378636687994003, + -0.03872569277882576, + -0.0031171515583992004, + 0.06318550556898117, + 0.012412440963089466, + 0.006311529781669378, + -0.1152503564953804, + -0.0018973202677443624, + -0.04507232457399368, + -0.034344833344221115, + 0.043780531734228134, + 0.00045677853631787, + 0.006806483026593924, + -0.0021711240988224745, + -0.0030522109009325504, + -0.003092579310759902, + 0.034035924822092056, + 0.019699836149811745, + 0.0014690629905089736, + -0.008487919345498085, + -0.05299157649278641, + -0.016582684591412544, + -0.023336512967944145, + -0.030553702265024185, + 0.033867429941892624, + -0.03939967229962349, + 0.014771366491913795, + 0.014104408212006092, + -0.039118848741054535, + -0.027647167444229126, + -0.024726593866944313, + -0.005223334766924381, + -0.0009705995325930417, + -0.031003020703792572, + 0.04001748561859131, + 0.022648492828011513, + -0.050492238253355026, + 0.010832803323864937, + 0.055940233170986176, + -0.011871853843331337, + -0.03246330842375755, + -0.038753774017095566, + 0.021876225247979164, + 0.0034260584507137537, + 0.002050018636509776, + -0.03799555078148842, + 0.023701583966612816, + -0.01074153557419777, + 0.011359349824488163, + -0.004226407967507839, + 0.034288667142391205, + -0.03816404566168785, + -0.052766915410757065, + 0.004893366247415543, + -0.008607270196080208, + -0.014855613932013512, + 0.019390929490327835, + 0.048245642334222794, + -0.024052614346146584, + 0.02321014180779457, + 0.004714340437203646, + 0.009555052034556866, + -0.0238841213285923, + -0.05133471265435219, + 0.05647379904985428, + -0.0230978112667799, + -0.03131192922592163, + -0.02600434422492981, + 0.0015427793841809034, + -0.030076298862695694, + -0.03706882894039154, + -0.042123667895793915, + -0.013612966053187847, + 0.054479945451021194, + 0.019966619089245796, + 0.013971016742289066, + -0.015290891751646996, + -0.010727494023740292, + 0.06981296092271805, + 0.03119959682226181, + -0.010867906734347343, + 0.0018832790665328503, + -0.03235097974538803, + 0.02756292000412941, + 0.02648174576461315, + -0.014743284322321415, + 0.012763471342623234, + 0.011640174314379692, + 0.01098023634403944, + -0.037658561021089554, + -0.04397711157798767, + -0.07829385995864868, + 0.1152503564953804, + -0.0197279192507267, + -0.040101733058691025, + -0.018211467191576958, + -0.007743734400719404, + -0.008761723525822163, + 0.004380861762911081, + -0.011569967493414879, + 0.0071504926308989525, + 0.03308112174272537, + 0.032996874302625656, + 0.0055884066969156265, + 0.023139934986829758, + 0.0007016223389655352, + -0.01258795615285635, + -0.0055708554573357105, + -0.015894664451479912, + 0.036928415298461914, + 0.00017496680084150285, + -0.034962646663188934, + -0.019390929490327835, + 0.02750675566494465, + 0.015698086470365524, + 0.005858700256794691, + 0.090369313955307, + -0.0020851215813308954, + 0.01178058609366417, + -0.00836154818534851, + -0.02263445220887661, + 0.02683277800679207, + -0.018394002690911293, + -0.0008047376177273691, + 0.057344354689121246, + 0.03959624841809273, + -0.007357601076364517, + -0.01889948546886444, + -0.017256662249565125, + -0.019952578470110893, + -0.02875642478466034, + 0.031227679923176765, + 0.0005792004521936178, + 0.0944693461060524, + -0.020809093490242958, + -0.013156626373529434, + 0.018829280510544777, + -0.03833254054188728, + 0.008017538115382195, + -0.04355587437748909, + 0.013739337213337421, + -0.03521538898348808, + 0.05891697108745575, + 0.017565570771694183, + -0.02330842986702919, + 0.024895088747143745, + -0.03383934870362282, + 0.0009627013350836933, + -0.01864674501121044, + -0.0176498182117939, + 0.005381298717111349, + -0.005283010192215443, + 0.009870979934930801, + 0.05473268777132034, + -0.05439569801092148, + 0.032519470900297165, + 0.017972765490412712, + 0.006616926286369562, + -0.01380954310297966, + -0.01774810627102852, + -0.022873152047395706, + -0.01801488921046257, + -0.027085518464446068, + -0.013325120322406292, + 0.0032066642306745052, + 0.0003490560338832438, + 0.04698193073272705, + 0.002817020285874605, + -0.018702909350395203, + 0.014939861372113228, + -0.0008385243127122521, + 0.007469930686056614, + -0.022185131907463074, + 0.05223334953188896, + -0.06155672296881676, + -0.005556813906878233, + 0.04858263209462166, + -0.004616051912307739, + 0.005591916851699352, + -0.02912149578332901, + 0.06419647485017776, + -0.03125576302409172, + 0.007427806966006756, + -0.008782785385847092, + -0.006778400391340256, + -0.010130742564797401, + 0.035271551460027695, + -0.023687543347477913, + 0.008473877795040607, + 0.040101733058691025, + -0.05585598573088646, + -0.018042972311377525, + 0.00030539659201167524, + 0.03982090950012207, + 0.008087744936347008, + -0.02752079628407955, + 0.03412017226219177, + -0.012405420653522015, + -0.0005827107816003263, + 0.009295289404690266, + -0.004735402297228575, + -0.01645631343126297, + -0.0529634915292263, + -0.002181655028834939, + -0.010039474815130234, + -0.02294335886836052, + 0.043892864137887955, + 0.04661685973405838, + 0.05327240005135536, + -0.03628252074122429, + 0.007624384015798569, + 0.013542759232223034, + 0.009618237614631653, + 0.03021671250462532, + -0.01807105354964733, + -0.00963227916508913, + -0.004672217182815075, + 0.03134001046419144, + -0.017453240230679512, + 0.008052641525864601, + 0.043527793139219284, + -0.1012653037905693, + 0.023168018087744713, + -0.0015849031042307615, + 0.021272452548146248, + 0.013739337213337421, + -0.05582790449261665, + 0.008558125235140324, + 0.01614740677177906, + 0.0032733601983636618, + 0.006136014591902494, + -0.003928032238036394, + 0.02839135378599167, + 0.0282930638641119, + -0.0282930638641119, + -0.027239972725510597, + -0.011913977563381195, + 0.01755152828991413, + 0.0023413740564137697, + 0.00013415950525086373, + 0.017467280849814415, + 0.0179025586694479, + -0.010678349994122982, + 0.03591744974255562, + -0.02340671792626381, + 0.03260371834039688, + -0.006588844116777182, + -0.021623482927680016, + -0.013914852403104305, + -0.021890265867114067, + -0.004770505707710981, + -0.032210566103458405, + 0.029346156865358353, + 0.005339174997061491, + 0.016695015132427216, + -0.0017823578091338277, + -0.005342685151845217, + -0.03442908078432083, + -0.04001748561859131, + -0.008186032995581627, + 0.044314101338386536, + 0.02781566232442856, + -0.06666772812604904, + -0.02429131604731083, + 0.011696338653564453, + -0.026102634146809578, + -0.023856038227677345, + -0.05158745497465134, + -0.04504424333572388, + 0.021567318588495255, + 0.002953922376036644, + -0.0026625669561326504, + -0.015852540731430054, + -0.020373813807964325, + 0.04184284433722496, + -0.014743284322321415, + 0.031901657581329346, + -0.011822709813714027, + 0.019812164828181267, + -0.010699411854147911, + -0.02169368974864483, + -0.032772213220596313, + 0.02990780584514141, + 0.008312404155731201, + -0.0009556807344779372, + 0.012524770572781563, + -0.003970155958086252, + -0.009814814664423466, + -0.004475639667361975, + -0.014308006502687931, + 0.017368992790579796, + -0.00838261004537344, + 0.02906533144414425, + 0.027689291164278984, + 0.007378662936389446, + -0.011541885323822498, + -0.13120119273662567, + 0.0017814801540225744, + -0.12682032585144043, + -0.026818735525012016, + 0.007680548820644617, + -0.05523817241191864, + -0.02871430106461048, + -0.04344354569911957, + 0.03187357634305954, + -0.02372966706752777, + -0.004802098497748375, + -0.019194351509213448, + 0.04159010201692581, + -0.02684681862592697, + 0.024122821167111397, + -0.08037196099758148, + 0.007764796260744333, + -0.016582684591412544, + -0.030020134523510933, + -0.001191748771816492, + 0.03706882894039154, + -0.027857786044478416, + -0.015080273151397705, + -0.04386477917432785, + 0.0052198246121406555, + -0.00380166107788682, + 0.010278175584971905, + -0.007139961700886488, + -0.0016287819016724825, + 0.025274202227592468, + 0.01572616957128048, + -0.02065463922917843, + -0.021637525409460068, + -0.03431674838066101, + 0.0038472951855510473, + -0.022311503067612648, + -0.02502145990729332, + 0.022816987708210945, + 0.004819649737328291, + 0.023069730028510094, + 0.05394637957215309, + 0.05829915776848793, + 0.009849918074905872, + -0.01307939924299717, + 0.0024817860685288906, + -0.03925925865769386, + 0.024277275428175926, + 0.009435702115297318, + 0.03136809170246124, + -0.03369893506169319, + 0.013978037983179092, + 0.0030820483807474375, + 0.006711704656481743, + -0.03445716202259064, + -0.00419130502268672, + -0.002202716888859868, + 0.057962168008089066, + -0.007729693315923214, + 0.00968142319470644, + 0.037096910178661346, + 0.040719546377658844, + -0.055996399372816086, + 0.058692313730716705, + 0.039483919739723206, + -0.07694590091705322, + 0.012321173213422298, + 0.012672203592956066, + -0.022704657167196274, + 0.03021671250462532, + 0.044875748455524445, + 0.018759073689579964, + 0.019334763288497925, + 0.031480420380830765, + 0.0352996364235878, + 0.03816404566168785, + -0.005799025297164917, + -0.07531712204217911, + -0.034709904342889786, + 0.03920309618115425, + -0.009660361334681511, + 0.020542308688163757, + 0.031031103804707527, + 0.013156626373529434, + -0.002162348246201873, + 0.039848990738391876, + -0.019278598949313164, + -0.019868331030011177, + 0.03482223302125931, + 0.017944682389497757, + 0.009288269095122814, + 0.023645419627428055, + 0.11328458786010742, + 0.010959174484014511, + -0.00300482171587646, + -0.024431727826595306, + -0.039118848741054535, + -0.01093109231442213, + -0.021005669608712196, + -0.0004980246303603053, + -0.007757775951176882, + -0.009758650325238705, + -0.030188629403710365, + -0.037714723497629166, + -0.0030153526458889246, + -0.02103375270962715, + 0.02045806124806404, + 0.026818735525012016, + -0.023350553587079048, + -0.01988237164914608, + -0.00498463399708271, + 0.018702909350395203, + 0.055996399372816086, + -0.03855719789862633, + -0.012433502823114395, + 0.023785831406712532, + -0.04661685973405838, + 0.006480024661868811, + 0.008459837175905704, + -0.003294422058388591, + -0.018871404230594635, + 0.011099587194621563, + -0.04209558665752411, + 0.023434801027178764, + -0.0059148650616407394, + -0.029963970184326172, + -0.0747554749250412, + 0.012616039253771305, + 0.0010337850544601679, + -0.020050866529345512, + 0.01786043494939804, + 0.007069755811244249, + -0.012096513994038105, + -0.02392624318599701, + -0.012314152903854847, + 0.00908467173576355, + 0.011373390443623066, + -0.02694510668516159, + -0.06616224348545074, + -0.04891962185502052, + 0.0015199624467641115, + -0.0326879657804966, + 0.01603507623076439, + 0.04995867237448692, + -0.05880464240908623, + -0.001683191629126668, + -0.03358660638332367, + 0.03951200097799301, + -0.039062682539224625, + 0.018801197409629822, + -0.04128119722008705, + -0.012321173213422298, + 0.00048135066754184663, + -0.021300535649061203, + 0.014967943541705608, + -0.0220587607473135, + -0.005135577172040939, + 0.05768134444952011, + 0.016624808311462402, + 0.014083346351981163, + -0.0010952154407277703, + -0.029261909425258636, + -0.03976474329829216, + -0.04543739929795265, + -0.016175489872694016, + 0.02290123514831066, + -0.03647909685969353, + -0.00973056722432375, + -0.00786308478564024, + -0.03333386406302452, + 0.004384371917694807, + 0.047571662813425064, + 0.011380411684513092, + -0.004917938262224197, + 0.010425607673823833, + 0.04686960205435753, + -0.02688894234597683, + 0.014132491312921047, + -0.11143114417791367, + -0.08143909275531769, + -0.007954352535307407, + -0.016526520252227783, + -0.0223255455493927, + -0.028531765565276146, + -0.020472103729844093, + -0.0005010961322113872, + 0.01220182329416275, + 0.04647644981741905, + 0.003689331468194723, + -0.012159699574112892, + 0.012398400343954563, + -0.019868331030011177, + 0.0023466392885893583, + -0.045858632773160934, + -0.021665606647729874, + 0.03316536918282509, + 0.0042439596727490425, + -0.022311503067612648, + 0.009821835905313492, + -0.004289593547582626, + 0.032884545624256134, + 0.03409209102392197, + -0.02912149578332901, + -0.0225782860070467, + -0.020121073350310326, + -0.04338737949728966, + 0.019559424370527267, + 0.01905393972992897, + -0.0026327292434871197, + 0.026902982965111732, + 0.03645101562142372, + -0.002608157228678465, + 0.0017533977515995502, + 0.02865813672542572, + 0.009204021655023098, + 0.019320722669363022, + 0.03010438196361065, + -0.029655063524842262, + -0.0032716048881411552, + -0.004637113772332668, + 0.029767392203211784, + -0.0033418110106140375, + 0.006055277306586504, + -0.039540085941553116, + -0.014560747891664505, + -0.048975784331560135, + 0.015866581350564957, + 0.061332061886787415, + 0.07767604291439056, + -0.04779632389545441, + 0.011155751533806324, + 0.016779260709881783, + 0.012791554443538189, + 0.015894664451479912, + 0.04563397541642189, + 0.0539744608104229, + -0.006809993181377649, + 0.048414137214422226, + 0.042123667895793915, + 0.04333121329545975, + 0.05175594985485077, + -0.04599904641509056, + -0.006353653501719236, + 0.007743734400719404, + -0.0254426971077919, + 0.014546707272529602, + 0.0021219798363745213, + -0.0014804714592173696, + 0.038023632019758224, + -0.03521538898348808, + 0.03344619274139404, + 0.08278705179691315, + 0.03544004634022713, + -0.015599798411130905, + 0.02165156602859497, + -0.030132465064525604, + -0.0179025586694479, + -0.05040799081325531, + -0.02061251550912857, + 0.033558521419763565, + -0.07239654660224915, + 0.016989879310131073, + 3.1483054044656456e-05, + -0.013865707442164421, + -0.015964871272444725, + 0.020064907148480415, + -0.012321173213422298, + 0.01774810627102852, + 0.01578233391046524, + -0.04240449517965317, + 0.009014464914798737, + -0.006469493731856346, + 0.1032872349023819, + -0.012286069802939892, + -0.011878875084221363, + -0.018913527950644493, + 0.023490965366363525, + 0.0024940723087638617, + 0.02771737426519394, + 0.004433515947312117, + -0.010608144104480743, + -0.021328618749976158, + 0.002853878540918231, + 0.019559424370527267, + 0.07520478963851929, + 0.015080273151397705, + -0.01593678817152977, + -0.0037595373578369617, + 0.0048301806673407555, + 0.059871774166822433, + 0.00013624374696519226, + 0.05383405089378357, + 0.025681396946310997, + 0.03176124766469002, + 0.002743304008617997, + -0.034962646663188934, + -0.023182058706879616, + -0.003668269608169794, + 0.05268266797065735, + 0.010727494023740292, + -0.018309755250811577, + -0.007638425566256046, + 0.02419302798807621, + 0.006711704656481743, + -0.0007169799646362662, + 0.03903460130095482, + 0.0015612085117027164, + 0.015361097641289234, + 0.018309755250811577, + -0.0015620860503986478, + -0.008438775315880775, + 0.011303184553980827, + -0.06268002092838287, + -0.027324220165610313, + -0.007996476255357265, + -0.0018692378653213382, + -0.005026757717132568, + -0.05647379904985428, + 0.021735813468694687, + -0.007589281070977449, + -0.017776187509298325, + -0.03799555078148842, + 0.01620357111096382, + -0.002694159746170044, + -0.017972765490412712, + 0.05596831440925598, + -0.026917025446891785, + 0.03240714222192764, + 0.016442272812128067, + -0.03162083402276039, + -0.021763896569609642, + -0.031592752784490585, + -0.019587505608797073, + -0.009232103824615479, + 0.03077836148440838, + 0.02502145990729332, + -0.03611402586102486, + 0.020682722330093384, + 0.0171302929520607, + -0.025302283465862274, + -0.02325226552784443, + -0.03774280846118927, + -0.052092935889959335, + -0.013816563412547112, + 0.017453240230679512, + -0.013198750093579292, + -0.025555025786161423, + 0.03920309618115425, + -0.04698193073272705, + 0.02548481896519661, + -0.005356726702302694, + 0.012573915533721447, + -0.004833690822124481, + -0.019390929490327835, + -0.02030360884964466, + 0.04821756109595299, + 0.030497536063194275, + 0.0244036465883255, + 0.02750675566494465, + -0.014673078432679176, + 0.018042972311377525, + -0.012405420653522015, + 0.056361470371484756, + -0.006641498301178217, + 0.005946457851678133, + 0.002028956776484847, + 0.01279857475310564, + -0.02979547530412674, + 0.012609018012881279, + 0.031227679923176765, + -0.024052614346146584, + 0.01041156705468893, + 0.04580247029662132, + -0.0021763895638287067, + -0.053918298333883286, + -0.01050985511392355, + -0.02211492694914341, + -0.004057913552969694, + -0.037827055901288986, + -0.00841069221496582, + 0.01331810001283884, + 0.01837996020913124, + -0.02683277800679207, + 0.005960499402135611, + 0.021567318588495255, + -0.05582790449261665, + 0.0019394439877942204, + -0.023476924747228622, + -0.04198325797915459, + -0.0013418144080787897, + -0.025358449667692184, + -0.016807343810796738, + 0.011317226104438305, + 0.04299422353506088, + 0.058579981327056885, + -0.008600248955190182, + -0.005079412367194891, + -0.031592752784490585, + 0.02066867984831333, + -0.04111270233988762, + 0.009590155445039272, + 0.003906970378011465, + -0.020963545888662338, + -0.05784983932971954, + 0.008157950825989246, + 0.041870925575494766, + 0.008129867725074291, + 0.0009863958694040775, + -0.015922747552394867, + 0.0197279192507267, + 0.007038163021206856, + -0.04712234437465668, + -0.05459227412939072, + 0.008466857485473156, + 0.0026906493585556746, + -0.022859111428260803, + -0.018773114308714867, + 0.019545381888747215, + 0.018141260370612144, + 0.045493561774492264, + -0.022451914846897125, + -0.012398400343954563, + 0.009070630185306072, + 0.049284692853689194, + -0.016442272812128067, + -0.00755417812615633, + -0.012075452134013176, + 0.0524299256503582, + 0.038809940218925476, + 0.011829730123281479, + 0.010594102554023266, + 0.011541885323822498, + -0.007315477356314659, + -0.03417633846402168, + 0.05021141469478607, + -0.0029890253208577633, + 0.05726010724902153, + 0.020472103729844093, + 0.09250357747077942, + 0.03925925865769386, + 0.005212803836911917, + 0.02839135378599167, + 0.10946537554264069, + 0.04526890441775322, + 0.016470354050397873, + -0.04490382969379425, + 0.03336194530129433, + -0.022227255627512932, + 0.005367257632315159, + 0.03928734362125397, + 0.041084617376327515, + 0.03291262686252594, + -0.03468181937932968, + 0.01486965548247099, + -0.07750754803419113, + 0.00947080459445715, + 0.00802455935627222, + 0.013556800782680511, + -0.008944259025156498, + 0.035271551460027695, + -0.007708631455898285, + -0.0015524327754974365, + -0.024473851546645164, + -0.010081598535180092, + -0.03718115761876106, + -0.03993323817849159, + -0.029823558405041695, + 0.008888093754649162, + 0.04232024773955345, + 0.025569066405296326, + -0.027843745425343513, + -0.011801647953689098, + 0.006536189466714859, + -0.05237376317381859, + 0.03521538898348808, + -0.044257935136556625, + 0.027703333646059036, + -0.02750675566494465, + 0.010425607673823833, + 0.033053040504455566, + 0.01116277277469635, + 0.003706882940605283, + 0.02013511396944523, + 0.013963996432721615, + 0.001455899327993393, + 0.019039899110794067, + 0.05467652156949043, + 0.027380384504795074, + 0.011225957423448563, + 0.011127669364213943, + 0.0019078511977568269, + 0.0991872027516365, + 0.008396651595830917, + 0.0036507179029285908, + -0.029823558405041695, + -0.053862132132053375, + -0.045858632773160934, + -0.05942245572805405, + 0.015740210190415382, + 0.004752954002469778, + -0.02719784900546074, + -0.06526360660791397, + -0.017060086131095886, + -0.0389503538608551, + -0.017944682389497757, + 0.020752927288413048, + 0.012082472443580627, + 0.024628305807709694, + 0.04891962185502052, + 0.027801621705293655, + -0.05431145057082176, + -0.003987707197666168, + 0.04007365182042122, + -0.011415514163672924, + 0.005967519711703062, + 0.01541726291179657, + -2.7479112759465352e-05, + -0.005686695221811533, + 0.04552164673805237, + -0.03150850534439087, + -0.015304933302104473, + 0.02502145990729332, + -0.03364276885986328, + -0.02761908620595932, + -0.019194351509213448, + -0.033614687621593475, + 0.010046495124697685, + 0.04366820305585861, + 0.041140783578157425, + 0.008052641525864601, + 0.006430880166590214, + -0.002007894916459918, + -0.0016673952341079712, + -0.041449692100286484, + -0.02315397746860981, + 0.01728474535048008, + 0.018604621291160583, + -0.025779685005545616, + 0.02548481896519661, + -0.013788481242954731, + -0.02563927322626114, + 0.015276851132512093, + -0.008698537945747375, + -0.026411540806293488, + -0.08817888051271439, + 0.03602977842092514, + 0.0008464224520139396, + 0.00012867464101873338, + 0.04476341977715492, + 0.0308906901627779, + 0.00550415925681591, + 0.08239389955997467, + -0.04240449517965317, + -0.029346156865358353, + 0.0075401365756988525, + -0.007101348601281643, + 0.04577438533306122, + 0.01126808114349842, + -0.012651141732931137, + 0.03608594462275505, + 0.0228450708091259, + -0.001606842502951622, + -0.004054402932524681, + -0.026902982965111732, + 0.06526360660791397, + 0.06531976908445358, + 0.017972765490412712, + 0.011485720053315163, + 0.04543739929795265, + -0.051475122570991516, + -0.002616932848468423, + -0.02304164692759514, + -0.044117521494627, + 0.01832379586994648, + -0.018085096031427383, + -0.008207094855606556, + 0.0017814801540225744, + 0.01822550781071186, + 0.04987442493438721, + 0.018871404230594635, + 0.0023027604911476374, + -0.016751179471611977, + -0.04220791533589363, + 0.04288189485669136, + 0.04883537441492081, + 0.001224219100549817, + 0.01620357111096382, + 0.03145233914256096, + 0.010376463644206524, + 0.02055635116994381, + -0.010467731393873692, + 0.019489217549562454, + -0.026664283126592636, + -0.01461691316217184, + 0.043218884617090225, + -0.01012372225522995, + 0.03774280846118927, + -0.004847732372581959, + -0.07700207084417343, + -0.011359349824488163, + 0.02948656864464283, + -0.023715626448392868, + -0.03552429378032684, + 0.04397711157798767, + -0.03878185898065567, + -0.011752503924071789, + 0.0042650215327739716, + 0.01614740677177906, + -0.0030802933033555746, + -0.022199174389243126, + 0.01656864397227764, + 0.07104858756065369, + 0.03847295045852661, + 0.01041156705468893, + 0.004194815177470446, + -0.0058095562271773815, + -0.006209731101989746, + 0.014202697202563286, + 0.023856038227677345, + 0.02196047268807888, + -0.0225782860070467, + -0.02051422744989395, + -0.027942033484578133, + 0.014771366491913795, + 0.02528824284672737, + 0.019039899110794067, + 0.016835426911711693, + 0.015431304462254047, + 0.009597175754606724, + 0.009576113894581795, + -0.002260637003928423, + -0.0508573092520237, + -0.044875748455524445, + -0.04552164673805237, + -0.007357601076364517, + -0.0643649697303772, + 0.006097401026636362, + 0.033249616622924805, + -0.005999112501740456, + -0.022283421829342842, + 0.00547607708722353, + -0.036928415298461914, + -0.004384371917694807, + 0.017663858830928802, + -0.04335929825901985, + -0.0002722680801525712, + 0.0027204870712012053, + 0.025063583627343178, + 0.00014995587116573006, + 0.020584432408213615, + 0.02138478308916092, + 0.048357971012592316, + 0.07975414395332336, + -0.023322472348809242, + 0.06633073836565018, + 0.026285169646143913, + -0.009295289404690266, + 0.01090301014482975, + 0.023715626448392868, + 0.01909606344997883, + 0.025765644386410713, + -0.029570816084742546, + 0.004549356177449226, + -0.025302283465862274, + -0.05852381885051727, + 0.001988588133826852, + 0.005714777857065201, + -0.05563132464885712, + 0.01038348488509655, + -0.018365919589996338, + -0.031003020703792572, + -0.037349652498960495, + 0.011394452303647995, + 0.022044720128178596, + -0.011148731224238873, + 0.002362435683608055, + -0.02238170988857746, + 0.015220685862004757, + -0.0014014896005392075, + 0.005974540486931801, + 0.02923382632434368, + -0.0048126294277608395, + -0.0023168018087744713, + 0.014504583552479744, + 0.028419435024261475, + 0.0011601560981944203, + -0.00010371856478741392, + 0.027956075966358185, + 0.0002832378086168319, + -0.018969692289829254, + -0.03341811150312424, + -0.012889842502772808, + 0.01926455833017826, + 0.02767525054514408, + 0.009182959794998169, + -0.01277049258351326, + 0.049705930054187775, + -0.019194351509213448, + 0.0066730910912156105, + -0.0015375139191746712, + -0.06941980868577957, + -0.0007700733258388937, + -0.04069146513938904, + 0.00484071159735322, + 0.01691967435181141, + -0.02700127102434635, + 0.056361470371484756, + 0.003857826115563512, + 0.039062682539224625, + 0.004152691923081875, + -0.030497536063194275, + 0.0030820483807474375, + 0.06925131380558014, + -0.025737561285495758, + -0.03125576302409172, + 0.047375086694955826, + -0.022353626787662506, + -0.03993323817849159 + ], + "result": "--- 结果 1 (相似度: 1.000) ---\n文件路径: C:\\Steam\\steamapps\\common\\RimWorld\\Data\\dll1.6\\Verse\\HediffCompProperties_GiveHediffsInRange.txt\n\npublic class HediffCompProperties_GiveHediffsInRange : HediffCompProperties\n{\n\tpublic float range;\n\n\tpublic TargetingParameters targetingParameters;\n\n\tpublic HediffDef hediff;\n\n\tpublic ThingDef mote;\n\n\tpublic bool hideMoteWhenNotDrafted;\n\n\tpublic float initialSeverity = 1f;\n\n\tpublic bool onlyPawnsInSameFaction = true;\n\n\tpublic HediffCompProperties_GiveHediffsInRange()\n\t{\n\t\tcompClass = typeof(HediffComp_GiveHediffsInRange);\n\t}\n}\n\n", + "timestamp": "2025-08-26 19:53:26,325" } } \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 00000000..59f231f7 --- /dev/null +++ b/README.md @@ -0,0 +1,683 @@ +# RimWorld Mod: 基于次数的护盾与原版护盾视觉集成 + +## 1. 引言 + +本Mod旨在为《RimWorld》引入一种新型的护盾机制:基于 Hediff 层数的次数护盾。与原版基于能量的护盾不同,本护盾的抵挡能力由可叠加的“层数”决定,每层护盾可以抵挡一次受到的伤害。同时,为了提供更沉浸和熟悉的体验,我们集成了原版能量护盾(CompShield)的视觉特效和音效,使次数护盾在抵挡伤害时,能够展现出与原版护盾相似的视觉冲击力。 + +## 2. 核心概念回顾 + +### 2.1 Hediff_DamageShield + +这是我们自定义的 Hediff 类型,它代表了Pawn身上激活的次数护盾。它的核心特性是: +- **层数管理**:通过 `ShieldCharges` 属性来跟踪剩余的护盾层数。当Pawn获得护盾时,层数增加;当护盾抵挡伤害时,层数减少。 +- **自动移除**:当护盾层数归零时,该 Hediff 会自动从Pawn身上移除。 +- **显示信息**:在Pawn的健康信息界面,会显示当前护盾的剩余层数。 + +### 2.2 CompShield + +这是《RimWorld》原版用于实现能量护盾的组件。它通常附加在护盾腰带等物品上,提供以下核心功能: +- **能量值**:护盾具有能量储备,受到伤害会消耗能量。 +- **充能与重置**:能量耗尽后,护盾会进入重置状态,并在一段时间后恢复能量。 +- **视觉和音效**:护盾拥有独特的视觉表现(如护盾泡泡)和音效(如吸收伤害时的音效)。 + +## 3. 实现细节 + +### 3.1 伤害抵挡逻辑与护盾渲染 (DRMDamageShield.cs & Hediff_DamageShield.cs) + +**核心思想**:我们利用 `ThingComp` 的 `PostPreApplyDamage` 虚方法来拦截伤害,而不是使用 Harmony Patch `Pawn_HealthTracker.PreApplyDamage`。这将使代码更简洁,更符合 RimWorld 的组件化设计。护盾的视觉渲染也将由这个 `ThingComp` 负责。 + +- **`DRMDamageShield.cs`**: 这是一个自定义的 `ThingComp`,它将附加到 Pawn 身上。 + - **伤害拦截**:它重写了 `PostPreApplyDamage` 方法。当 Pawn 受到伤害时,这个方法会被自动调用。在这里,我们会检查 Pawn 是否拥有 `Hediff_DamageShield` 及其层数,如果满足条件,则消耗层数并设置 `absorbed = true` 来抵挡伤害。 + - **视觉和音效集成**:在抵挡伤害时,`DRMDamageShield` 会触发原版能量护盾的吸收音效、闪光特效和抖动效果。 + - **护盾渲染**:`DRMDamageShield` 包含了从 `CompShield` 中提取的护盾泡泡渲染逻辑。它会在 Pawn 身上渲染一个动态的护盾泡泡,其大小和显示状态与 `Hediff_DamageShield` 的层数关联。 + - **能量同步**:`DRMDamageShield` 的“能量”和“最大能量”属性将直接从 Pawn 身上对应的 `Hediff_DamageShield` 实例中获取其 `ShieldCharges` 和 `def.maxSeverity`。 + +- **`Hediff_DamageShield.cs`**: + - **动态管理 `DRMDamageShield`**:在 `PostAdd` 方法中,当 `Hediff_DamageShield` 被添加到 Pawn 身上时,它会确保 Pawn 拥有一个 `DRMDamageShield` 实例(如果Pawn还没有)。在 `PostRemoved` 方法中,当 `Hediff_DamageShield` 被移除时,它会禁用或移除对应的 `DRMDamageShield` 实例。 + - **层数与能量关联**:`Hediff_DamageShield` 的 `ShieldCharges` 属性将作为 `DRMDamageShield` 的能量来源。 + +### 3.2 充能方式 (CompUseEffect_AddDamageShieldCharges.cs & WULA_DamageShieldGenerator) + +护盾的充能方式保持不变,通过使用特定的物品来增加护盾层数。 + +- **`CompUseEffect_AddDamageShieldCharges`**:这是一个自定义的物品使用效果组件。 + - 当物品被使用时,它会检查目标Pawn是否拥有 `Hediff_DamageShield`。 + - 如果Pawn没有该Hediff,则会为其添加一个,并赋予预设的初始层数(例如10层)。 + - 如果Pawn已有该Hediff,则会在现有层数的基础上增加预设的层数(例如每次使用增加10层)。 +- **`WULA_DamageShieldGenerator`**:这是定义在XML中的一个物品,它附加了 `CompUseEffect_AddDamageShieldCharges` 组件。玩家可以通过制作或获得这个物品,并对其Pawn使用来获取或补充护盾层数。 + +## 4. 代码结构与内容 + +以下是本Mod的关键文件及其作用和完整代码内容: + +### 4.1 Hediff_DamageShield.cs (更新) + +此文件定义了基于层数的护盾 Hediff。它将管理护盾层数,并在 Pawn 身上动态添加/移除 `DRMDamageShield`。 + +```csharp +using Verse; +using System.Text; +using RimWorld; +using UnityEngine; +using HarmonyLib; // Needed for AccessTools if you use it here directly + +namespace WulaFallenEmpire +{ + public class Hediff_DamageShield : HediffWithComps + { + // 伤害抵挡层数 + public int ShieldCharges + { + get => (int)severityInt; + set => severityInt = value; + } + + private DRMDamageShield cachedShieldComp; + + // 获取或创建 DRMDamageShield 组件 + public DRMDamageShield ShieldComp + { + get + { + if (cachedShieldComp == null || cachedShieldComp.parent != pawn) + { + cachedShieldComp = pawn.GetComp(); + if (cachedShieldComp == null) + { + // 如果没有,动态添加一个 + cachedShieldComp = (DRMDamageShield)Activator.CreateInstance(typeof(DRMDamageShield)); + cachedShieldComp.parent = pawn; + cachedShieldComp.props = new DRMCompShieldProp(); // 确保有属性,即使是默认的 + pawn.AllComps.Add(cachedShieldComp); + cachedShieldComp.Initialize(cachedShieldComp.props); + } + } + return cachedShieldComp; + } + } + + + public override string LabelInBrackets + { + get + { + if (ShieldCharges > 0) + { + return "层数: " + ShieldCharges; + } + return null; + } + } + + public override string TipStringExtra + { + get + { + StringBuilder sb = new StringBuilder(); + sb.Append(base.TipStringExtra); + if (ShieldCharges > 0) + { + sb.AppendLine(" - 每层抵挡一次伤害。当前层数: " + ShieldCharges); + } + else + { + sb.AppendLine(" - 没有可用的抵挡层数。"); + } + return sb.ToString(); + } + } + + public override void ExposeData() + { + base.ExposeData(); + // severityInt 会自动保存,所以不需要额外处理 ShieldCharges + } + + public override void PostAdd(DamageInfo? dinfo) + { + base.PostAdd(dinfo); + // 确保 Pawn 拥有 DRMCompShield 组件 + DRMDamageShield comp = ShieldComp; // 访问属性以确保组件被添加 + if (comp != null) + { + comp.IsActive = true; // 激活护盾组件 + // 能量同步将在 Tick() 中完成 + } + } + + public override void PostRemoved() + { + base.PostRemoved(); + // 禁用护盾组件 + if (cachedShieldComp != null && cachedShieldComp.parent == pawn) + { + cachedShieldComp.IsActive = false; + } + } + + public override void Tick() + { + base.Tick(); + // 如果层数归零,移除 Hediff + if (ShieldCharges <= 0) + { + pawn.health.RemoveHediff(this); + } + // 同步能量到 ShieldComp + if (ShieldComp != null && ShieldComp.IsActive) + { + ShieldComp.Energy = ShieldCharges; + ShieldComp.MaxEnergy = (int)def.maxSeverity; + } + } + } +} +``` + +### 4.2 DRMDamageShield.cs (新文件) + +此文件定义了自定义的 `ThingComp`,用于处理护盾的渲染和部分行为。它将从 `CompShield` 和 `PlasmaShieldImplant.cs` 中提取渲染和伤害处理逻辑。 + +```csharp +using RimWorld; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using UnityEngine; +using Verse; +using Verse.Sound; +using System.Reflection; // For AccessTools +using HarmonyLib; // For AccessTools + +namespace WulaFallenEmpire +{ + // 自定义 CompProperties_Shield 变体 + public class DRMCompShieldProp : CompProperties + { + public int startingTicksToReset = 3200; + public float minDrawSize = 1.2f; + public float maxDrawSize = 1.55f; + public float energyLossPerDamage = 0.033f; + public float energyOnReset = 0.2f; + public bool blocksRangedWeapons = true; + + public DRMCompShieldProp() + { + compClass = typeof(DRMDamageShield); + } + } + + [StaticConstructorOnStartup] // 确保在游戏启动时加载 + public class DRMDamageShield : ThingComp + { + // 从 Hediff_DamageShield 获取层数作为能量 + public float Energy + { + get + { + Hediff_DamageShield hediff = PawnOwner?.health?.hediffSet.GetFirstHediff(); + return hediff?.ShieldCharges ?? 0; + } + set + { + Hediff_DamageShield hediff = PawnOwner?.health?.hediffSet.GetFirstHediff(); + if (hediff != null) + { + hediff.ShieldCharges = (int)value; + } + } + } + + public float MaxEnergy + { + get + { + Hediff_DamageShield hediff = PawnOwner?.health?.hediffSet.GetFirstHediff(); + return hediff?.def.maxSeverity ?? 0; + } + set + { + // MaxEnergy 由 HediffDef 控制,这里不需要设置 + } + } + + public bool IsActive = false; // 控制护盾是否激活,由 Hediff_DamageShield 管理 + + // 复制自 CompShield + protected int ticksToReset = -1; + protected int lastKeepDisplayTick = -9999; + private Vector3 impactAngleVect; + private int lastAbsorbDamageTick = -9999; + + private const float MaxDamagedJitterDist = 0.05f; + private const int JitterDurationTicks = 8; + private int KeepDisplayingTicks = 1000; + + // 获取原版 CompShield 的 BubbleMat + private static readonly Material BubbleMat; + + static DRMDamageShield() + { + // 使用 Harmony AccessTools 获取 CompShield 的私有静态字段 BubbleMat + BubbleMat = (Material)AccessTools.Field(typeof(CompShield), "BubbleMat").GetValue(null); + } + + public DRMCompShieldProp Props => (DRMCompShieldProp)props; + + public ShieldState ShieldState + { + get + { + if (PawnOwner == null || !IsActive || Energy <= 0) + { + return ShieldState.Disabled; + } + if (ticksToReset <= 0) + { + return ShieldState.Active; + } + return ShieldState.Resetting; + } + } + + protected bool ShouldDisplay + { + get + { + Pawn pawnOwner = PawnOwner; + if (pawnOwner == null || !pawnOwner.Spawned || pawnOwner.Dead || pawnOwner.Downed) + { + return false; + } + if (pawnOwner.InAggroMentalState) + { + return true; + } + if (pawnOwner.Drafted) + { + return true; + } + if (pawnOwner.Faction.HostileTo(Faction.OfPlayer) && !pawnOwner.IsPrisoner) + { + return true; + } + if (Find.TickManager.TicksGame < lastKeepDisplayTick + KeepDisplayingTicks) + { + return true; + } + return false; + } + } + + protected Pawn PawnOwner + { + get + { + return parent as Pawn; + } + } + + public override void PostExposeData() + { + base.PostExposeData(); + Scribe_Values.Look(ref ticksToReset, "ticksToReset", -1); + Scribe_Values.Look(ref lastKeepDisplayTick, "lastKeepDisplayTick", 0); + Scribe_Values.Look(ref IsActive, "isActive", false); + } + + public override void CompTick() + { + base.CompTick(); + if (PawnOwner == null || !IsActive) + { + return; + } + + if (ShieldState == ShieldState.Resetting) + { + ticksToReset--; + if (ticksToReset <= 0) + { + Reset(); + } + } + else if (ShieldState == ShieldState.Active) + { + // 护盾能量(层数)通过 Hediff_DamageShield 的 Tick 方法管理,这里不需要额外回复 + // 如果需要自动回复层数,可以在这里实现 + } + } + + public override void PostPreApplyDamage(ref DamageInfo dinfo, out bool absorbed) + { + absorbed = false; + // 获取 Hediff_DamageShield 实例 + Hediff_DamageShield damageShield = PawnOwner?.health?.hediffSet.GetFirstHediff(); + + if (ShieldState != ShieldState.Active || !IsActive || damageShield == null || damageShield.ShieldCharges <= 0) + { + return; + } + + // 如果是 EMP 伤害,且护盾没有 EMP 抗性(这里假设我们的护盾没有),则直接击穿 + // 为了简化,我们假设我们的次数盾没有 EMP 抗性,任何 EMP 伤害都会直接击穿 + if (dinfo.Def == DamageDefOf.EMP) + { + Energy = 0; // 能量归零 + Notify_ShieldBreak(); // 触发护盾击穿效果 + absorbed = true; + return; + } + + // 如果是远程或爆炸伤害,且护盾阻挡这些类型 + if (Props.blocksRangedWeapons && (dinfo.Def.isRanged || dinfo.Def.isExplosive)) + { + // 消耗一层护盾 + damageShield.ShieldCharges--; + + // 触发护盾吸收效果 + Notify_DamageAbsorbed(dinfo); + + // 护盾抖动效果 + PawnOwner.Drawer.renderer.wiggler.SetToCustomRotation(Rand.Range(-0.05f, 0.05f)); + // 显示抵挡文本 + Verse.MoteMaker.ThrowText(PawnOwner.DrawPos, PawnOwner.Map, "伤害被护盾抵挡!", Color.cyan, 1.2f); + + absorbed = true; // 伤害被吸收 + + // 如果护盾层数归零,触发护盾击穿效果 + if (damageShield.ShieldCharges <= 0) + { + Notify_ShieldBreak(); + } + } + } + + public void Notify_DamageAbsorbed(DamageInfo dinfo) + { + // 复制自 CompShield.AbsorbedDamage + SoundDefOf.EnergyShield_AbsorbDamage.PlayOneShot(new TargetInfo(PawnOwner.Position, PawnOwner.Map)); + impactAngleVect = Vector3Utility.HorizontalVectorFromAngle(dinfo.Angle); + Vector3 loc = PawnOwner.TrueCenter() + impactAngleVect.RotatedBy(180f) * 0.5f; + float num = Mathf.Min(10f, 2f + dinfo.Amount / 10f); + FleckMaker.Static(loc, PawnOwner.Map, FleckDefOf.ExplosionFlash, num); + int num2 = (int)num; + for (int i = 0; i < num2; i++) + { + FleckMaker.ThrowDustPuff(loc, PawnOwner.Map, Rand.Range(0.8f, 1.2f)); + } + lastAbsorbDamageTick = Find.TickManager.TicksGame; + KeepDisplaying(); + } + + public void Notify_ShieldBreak() + { + // 复制自 CompShield.Break + if (parent.Spawned) + { + float scale = Mathf.Lerp(Props.minDrawSize, Props.maxDrawSize, Energy / MaxEnergy); // 根据当前能量比例调整大小 + EffecterDefOf.Shield_Break.SpawnAttached(parent, parent.MapHeld, scale); + FleckMaker.Static(PawnOwner.TrueCenter(), PawnOwner.Map, FleckDefOf.ExplosionFlash, 12f); + for (int i = 0; i < 6; i++) + { + FleckMaker.ThrowDustPuff(PawnOwner.TrueCenter() + Vector3Utility.HorizontalVectorFromAngle(Rand.Range(0, 360)) * Rand.Range(0.3f, 0.6f), PawnOwner.Map, Rand.Range(0.8f, 1.2f)); + } + } + ticksToReset = Props.startingTicksToReset; + // 护盾层数归零将由 Hediff_DamageShield 负责移除 Hediff + } + + private void Reset() + { + // 复制自 CompShield.Reset + if (PawnOwner.Spawned) + { + SoundDefOf.EnergyShield_Reset.PlayOneShot(new TargetInfo(PawnOwner.Position, PawnOwner.Map)); + FleckMaker.ThrowLightningGlow(PawnOwner.TrueCenter(), PawnOwner.Map, 3f); + } + ticksToReset = -1; + // 能量恢复由 Hediff_DamageShield 负责,这里不需要设置 Energy + // 这里可以添加逻辑,让 Hediff_DamageShield 恢复层数 + Hediff_DamageShield hediff = PawnOwner?.health?.hediffSet.GetFirstHediff(); + if (hediff != null) + { + hediff.ShieldCharges = (int)hediff.def.initialSeverity; // 重置时恢复到初始层数 + } + } + + public void KeepDisplaying() + { + lastKeepDisplayTick = Find.TickManager.TicksGame; + } + + public override void PostDraw() + { + base.PostDraw(); + Draw(); + } + + private void Draw() + { + if (ShieldState == ShieldState.Active && ShouldDisplay) + { + float num = Mathf.Lerp(Props.minDrawSize, Props.maxDrawSize, Energy / MaxEnergy); // 根据当前能量比例调整大小 + Vector3 drawPos = PawnOwner.Drawer.DrawPos; + drawPos.y = AltitudeLayer.MoteOverhead.AltitudeFor(); + int num2 = Find.TickManager.TicksGame - lastAbsorbDamageTick; + if (num2 < JitterDurationTicks) // 使用 JitterDurationTicks + { + float num3 = (float)(JitterDurationTicks - num2) / JitterDurationTicks * MaxDamagedJitterDist; // 使用 MaxDamagedJitterDist + drawPos += impactAngleVect * num3; + num -= num3; + } + float angle = Rand.Range(0, 360); + Vector3 s = new Vector3(num, 1f, num); + Matrix4x4 matrix = default(Matrix4x4); + matrix.SetTRS(drawPos, Quaternion.AngleAxis(angle, Vector3.up), s); + Graphics.DrawMesh(MeshPool.plane10, matrix, BubbleMat, 0); + } + } + } +} +``` + +### 4.3 CompUseEffect_AddDamageShieldCharges.cs (不变) + +```csharp +using Verse; +using RimWorld; +using System.Collections.Generic; + +namespace WulaFallenEmpire +{ + public class CompUseEffect_AddDamageShieldCharges : CompUseEffect + { + public CompProperties_AddDamageShieldCharges Props => (CompProperties_AddDamageShieldCharges)props; + + public override void DoEffect(Pawn user) + { + base.DoEffect(user); + + // 获取或添加 Hediff_DamageShield + Hediff_DamageShield damageShield = user.health.hediffSet.GetFirstHediff(); + + if (damageShield == null) + { + // 如果没有 Hediff,则添加一个 + damageShield = (Hediff_DamageShield)HediffMaker.MakeHediff(Props.hediffDef, user); + user.health.AddHediff(damageShield); + damageShield.ShieldCharges = Props.chargesToAdd; // 设置初始层数 + } + else + { + // 如果已有 Hediff,则增加层数 + damageShield.ShieldCharges += Props.chargesToAdd; + } + + // 确保层数不超过最大值 + if (damageShield.ShieldCharges > (int)damageShield.def.maxSeverity) + { + damageShield.ShieldCharges = (int)damageShield.def.maxSeverity; + } + + // 发送消息 + Messages.Message("WULA_MessageGainedDamageShieldCharges".Translate(user.LabelShort, Props.chargesToAdd), user, MessageTypeDefOf.PositiveEvent); + } + + // 修正 CanBeUsedBy 方法签名 + public override AcceptanceReport CanBeUsedBy(Pawn p) + { + // 确保只能对活着的 Pawn 使用 + if (p.Dead) + { + return "WULA_CannotUseOnDeadPawn".Translate(); + } + + // 检查是否已达到最大层数 + Hediff_DamageShield damageShield = p.health.hediffSet.GetFirstHediff(); + if (damageShield != null && damageShield.ShieldCharges >= (int)damageShield.def.maxSeverity) + { + return "WULA_DamageShieldMaxChargesReached".Translate(); + } + + return true; // 可以使用 + } + + // 可以在这里添加 GetDescriptionPart() 来显示描述 + public override string GetDescriptionPart() + { + return "WULA_DamageShieldChargesDescription".Translate(Props.chargesToAdd); + } + } + + public class CompProperties_AddDamageShieldCharges : CompProperties_UseEffect + { + public HediffDef hediffDef; + public int chargesToAdd; + + public CompProperties_AddDamageShieldCharges() + { + compClass = typeof(CompUseEffect_AddDamageShieldCharges); + } + } +} +``` + +### 4.4 DamageShieldPatch.cs (将删除) + +此文件将不再需要,因为伤害拦截逻辑已转移到 `DRMDamageShield.cs`。 + +```csharp +// 此文件将被删除 +``` + +### 4.5 Hediffs_WULA_DamageShield.xml (不变) + +```xml + + + + WULA_DamageShield + + 一种特殊的能量护盾,可以抵挡受到的伤害。每层护盾可以抵挡一次伤害。 + WulaFallenEmpire.Hediff_DamageShield + 10 + 999 + false + false + 1 + true + false + +
  • + + 1 + +
  • + + false + +
    +``` + +### 4.6 ThingDefs_WULA_Items_DamageShield.xml (修改) + +此文件将定义新的物品 `WULA_DamageShieldGenerator`,它将使用 `CompProperties_AddDamageShieldCharges`。 + +```xml + + + + WULA_DamageShieldGenerator + + 一个便携式设备,可以激活并生成一个临时的能量护盾,抵挡即将到来的伤害。 + + Things/Item/WULA_DamageShieldGenerator + Graphic_Single + + 1 + true + false + + 50 + 500 + 0.5 + 1000 + + +
  • Items
  • +
    + Sellable + +
  • + UseItem + 使用伤害护盾发生器 +
  • +
  • + WULA_DamageShield + 10 +
  • +
    +
    +
    +``` + +### 4.7 WULA_Keyed.xml (不变) + +```xml + + + {0} 获得了 {1} 层伤害护盾! + 无法对已死亡的Pawn使用。 + 伤害护盾已达到最大层数。 + 使用:增加 {0} 层伤害护盾 + +``` + +## 5. 安装与测试 + +### 5.1 安装 Mod + +1. 将本Mod的文件夹放置在《RimWorld》的Mods目录下。 +2. 在游戏启动器中激活本Mod。 + +### 5.2 游戏内测试 + +1. 进入游戏,加载或开始一个殖民地。 +2. 打开开发者模式(通常按 `~` 键)。 +3. **生成护盾物品**:在开发者控制台中输入 `spawn WULA_DamageShieldGenerator 1` 来生成一个护盾发生器物品。 +4. **使用护盾物品**:让Pawn拾取并使用 `WULA_DamageShieldGenerator`。观察Pawn是否获得了 `伤害护盾` Hediff,并且层数是否正确显示。 +5. **测试伤害抵挡**:让Pawn受到伤害(例如,让敌人攻击,或使用开发者模式中的“伤害”工具)。观察护盾层数是否减少,伤害是否被抵挡,以及是否触发了护盾吸收的音效和闪光特效。 +6. **测试护盾渲染**:观察Pawn身上是否显示了护盾泡泡。 + +## 6. 未来展望 + +- **护盾渲染动态化**:使护盾泡泡的视觉表现(例如透明度、大小)与剩余层数更紧密地关联,层数越低,护盾视觉效果越弱。 +- **充能动画**:为 `WULA_DamageShieldGenerator` 的使用添加充能动画。 +- **平衡性调整**:根据游戏测试反馈,调整护盾的初始层数、每次充能的层数、以及护盾的最大层数,以达到更好的游戏平衡。 +- **扩展功能**: + - 添加护盾在特定条件下自动充能的机制。 + - 引入不同类型的次数护盾,具有不同的抵挡特性或额外效果。 + - 护盾被击穿时的特殊效果。 \ No newline at end of file diff --git a/Source/HarmonyPatch.md b/Source/HarmonyPatch.md new file mode 100644 index 00000000..644603c9 --- /dev/null +++ b/Source/HarmonyPatch.md @@ -0,0 +1,100 @@ +Patching +Concept +In order to provide your own code to Harmony, you need to define methods that run in the context of the original method. Harmony provides three types of methods that each offer different possibilities. + +Types of patches +Two of them, the Prefix patch and the Postfix patch are easy to understand and you can write them as simple static methods. + +Transpiler patches are not methods that are executed together with the original but instead are called in an earlier stage where the instructions of the original are fed into the transpiler so it can process and change them, to finally output the instructions that will build the new original. + +A Finalizer patch is a static method that handles exceptions and can change them. It is the only patch type that is immune to exceptions thrown by the original method or by any applied patches. The other patch types are considered part of the original and may not get executed when an exception occurs. + +Finally, there is the Reverse Patch. It is different from the previous types in that it patches your methods instead of foreign original methods. To use it, you define a stub that looks like the original in some way and patch the original onto your stub which you can easily call from your own code. You can even transpile the result during the process. + +Patches need to be static +Patch methods need to be static because Harmony works with multiple users in different assemblies in mind. In order to guarantee the correct patching order, patches are always re-applied as soon as someone wants to change the original. Since it is hard to serialize data in a generic way across assemblies in .NET, Harmony only stores a method pointer to your patch methods so it can use and apply them at a later point again. + +If you need custom state in your patches, it is recommended to use a static variable and store all your patch state in there. Keep in mind that Transpilers are only executed to generate the method so they don't "run" when the original is executed. + +Commonly unsupported use cases +Harmony works only in the current AppDomain. Accessing other app domains requires xpc and serialization which is not supported. + +Currently, support for generic types and methods is experimental and can give unexpected results. See Edge Cases for more information. + +When a method is inlined and the code that tries to mark in for not inlining does not work, your patches are not called because there is no method to patch. + +Patch Class +With manual patching, you can put your patches anywhere you like since you will refer to them yourself. Patching by annotations simplifies patching by assuming that you set up annotated classes and define your patch methods inside them. + +Layout The class can be static or not, public or private, it doesn't matter. However, in order to make Harmony find it, it must have at least one [HarmonyPatch] attribute. Inside the class you define patches as static methods that either have special names like Prefix or Transpiler or use attributes to define their type. Usually they also include annotations that define their target (the original method you want to patch). It also common to have fields and other helper methods in the class. + +Attribute Inheritance The attributes of the methods in the class inherit the attributes of the class. + +Patch methods +Harmony identifies your patch methods and their helper methods by name. If you prefer to name your methods differently, you can use attributes to tell Harmony what your methods are. + +[HarmonyPatch(...)] +class Patch +{ + static void Prefix() + { + // this method uses the name "Prefix", no annotation necessary + } + + [HarmonyPostfix] + static void MyOwnName() + { + // this method is a Postfix as defined by the attribute + } +} +If you prefer manual patching, you can use any method name or class structure you want. You are responsible to retrieve the MethodInfo for the different patch methods and supply them to the Patch() method by wrapping them into HarmonyMethod objects. + +note Patch methods must be static but you can define them public or private. They cannot be dynamic methods but you can write static patch factory methods that return dynamic methods. + +[HarmonyPatch(...)] +class Patch +{ + // the return type of factory methods can be either MethodInfo or DynamicMethod + [HarmonyPrefix] + static MethodInfo PrefixFactory(MethodBase originalMethod) + { + // return an instance of MethodInfo or an instance of DynamicMethod + } + + [HarmonyPostfix] + static MethodInfo PostfixFactory(MethodBase originalMethod) + { + // return an instance of MethodInfo or an instance of DynamicMethod + } +} +Method names +Manual patching knows four main patch types: Prefix, Postfix, Transpiler and Finalizer. If you use attributes for patching, you can also use the helper methods: Prepare, TargetMethod, TargetMethods and Cleanup as explained below. + +Each of those names has a corresponding attribute starting with [Harmony...]. So instead of calling one of your methods "Prepare", you can call it anything and decorate it with a [HarmonyPrepare] attribute. + +Patch method types +Both prefix and postfix have specific semantics that are unique to them. They do however share the ability to use a range of injected values as arguments. + +Prefix +A prefix is a method that is executed before the original method. It is commonly used to: + +access and edit the arguments of the original method +set the result of the original method +skip the original method +set custom state that can be recalled in the postfix +run a piece of code at the beginning that is guaranteed to be executed +Postfix +A postfix is a method that is executed after the original method. It is commonly used to: + +read or change the result of the original method +access the arguments of the original method +read custom state from the prefix +Transpiler +This method defines the transpiler that modifies the code of the original method. Use this in the advanced case where you want to modify the original methods IL codes. + +Finalizer +A finalizer is a method that executes after all postfixes. It wraps the original method, all prefixes, and postfixes in try/catch logic and is called either with null (no exception) or with an exception if one occurred. It is commonly used to: + +run a piece of code at the end that is guaranteed to be executed +handle exceptions and suppress them +handle exceptions and alter them \ No newline at end of file diff --git a/Source/WulaFallenEmpire/3516260226.code-workspace b/Source/WulaFallenEmpire/3516260226.code-workspace index 3b8b60d6..3180f75b 100644 --- a/Source/WulaFallenEmpire/3516260226.code-workspace +++ b/Source/WulaFallenEmpire/3516260226.code-workspace @@ -6,9 +6,6 @@ }, { "path": "../../../../Data" - }, - { - "path": "../../../../dll1.6" } ], "settings": {} diff --git a/Source/WulaFallenEmpire/CompUseEffect_AddDamageShieldCharges.cs b/Source/WulaFallenEmpire/CompUseEffect_AddDamageShieldCharges.cs new file mode 100644 index 00000000..f7ee159d --- /dev/null +++ b/Source/WulaFallenEmpire/CompUseEffect_AddDamageShieldCharges.cs @@ -0,0 +1,77 @@ +using Verse; +using RimWorld; +using System.Collections.Generic; + +namespace WulaFallenEmpire +{ + public class CompUseEffect_AddDamageShieldCharges : CompUseEffect + { + public CompProperties_AddDamageShieldCharges Props => (CompProperties_AddDamageShieldCharges)props; + + public override void DoEffect(Pawn user) + { + base.DoEffect(user); + + // 获取或添加 Hediff_DamageShield + Hediff_DamageShield damageShield = user.health.hediffSet.GetFirstHediff(); + + if (damageShield == null) + { + // 如果没有 Hediff,则添加一个 + damageShield = (Hediff_DamageShield)HediffMaker.MakeHediff(Props.hediffDef, user); + user.health.AddHediff(damageShield); + damageShield.ShieldCharges = Props.chargesToAdd; // 设置初始层数 + } + else + { + // 如果已有 Hediff,则增加层数 + damageShield.ShieldCharges += Props.chargesToAdd; + } + + // 确保层数不超过最大值 + if (damageShield.ShieldCharges > (int)damageShield.def.maxSeverity) + { + damageShield.ShieldCharges = (int)damageShield.def.maxSeverity; + } + + // 发送消息 + Messages.Message("WULA_MessageGainedDamageShieldCharges".Translate(user.LabelShort, Props.chargesToAdd), user, MessageTypeDefOf.PositiveEvent); + } + + // 修正 CanBeUsedBy 方法签名 + public override AcceptanceReport CanBeUsedBy(Pawn p) + { + // 确保只能对活着的 Pawn 使用 + if (p.Dead) + { + return "WULA_CannotUseOnDeadPawn".Translate(); + } + + // 检查是否已达到最大层数 + Hediff_DamageShield damageShield = p.health.hediffSet.GetFirstHediff(); + if (damageShield != null && damageShield.ShieldCharges >= (int)damageShield.def.maxSeverity) + { + return "WULA_DamageShieldMaxChargesReached".Translate(); + } + + return true; // 可以使用 + } + + // 可以在这里添加 GetDescriptionPart() 来显示描述 + public override string GetDescriptionPart() + { + return "WULA_DamageShieldChargesDescription".Translate(Props.chargesToAdd); + } + } + + public class CompProperties_AddDamageShieldCharges : CompProperties_UseEffect + { + public HediffDef hediffDef; + public int chargesToAdd; + + public CompProperties_AddDamageShieldCharges() + { + compClass = typeof(CompUseEffect_AddDamageShieldCharges); + } + } +} \ No newline at end of file diff --git a/Source/WulaFallenEmpire/DRMDamageShield.cs b/Source/WulaFallenEmpire/DRMDamageShield.cs new file mode 100644 index 00000000..bb487850 --- /dev/null +++ b/Source/WulaFallenEmpire/DRMDamageShield.cs @@ -0,0 +1,211 @@ +using RimWorld; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using UnityEngine; +using Verse; +using Verse.Sound; +using HarmonyLib; // For AccessTools + +namespace WulaFallenEmpire +{ + // 自定义 CompProperties_Shield 变体 + public class DRMCompShieldProp : CompProperties + { + public int startingTicksToReset = 3200; + public float minDrawSize = 1.2f; + public float maxDrawSize = 1.55f; + public float energyLossPerDamage = 0.033f; + public float energyOnReset = 0.2f; + public bool blocksRangedWeapons = true; + + public DRMCompShieldProp() + { + compClass = typeof(DRMDamageShield); + } + } + + public class DRMDamageShield : ThingComp + { + // 从 Hediff_DamageShield 获取层数作为能量 + public float Energy + { + get + { + Hediff_DamageShield hediff = PawnOwner?.health?.hediffSet.GetFirstHediff(); + return hediff?.ShieldCharges ?? 0; + } + set + { + Hediff_DamageShield hediff = PawnOwner?.health?.hediffSet.GetFirstHediff(); + if (hediff != null) + { + hediff.ShieldCharges = (int)value; + } + } + } + + public float MaxEnergy + { + get + { + Hediff_DamageShield hediff = PawnOwner?.health?.hediffSet.GetFirstHediff(); + return hediff?.def.maxSeverity ?? 0; + } + set + { + // MaxEnergy 由 HediffDef 控制,这里不需要设置 + } + } + + public bool IsActive = false; // 控制护盾是否激活,由 Hediff_DamageShield 管理 + + // 复制自 CompShield + protected int ticksToReset = -1; + protected int lastKeepDisplayTick = -9999; + private Vector3 impactAngleVect; + private int lastAbsorbDamageTick = -9999; + + public DRMCompShieldProp Props => (DRMCompShieldProp)props; + + public ShieldState ShieldState + { + get + { + if (PawnOwner == null || !IsActive || Energy <= 0) + { + return ShieldState.Disabled; + } + if (ticksToReset <= 0) + { + return ShieldState.Active; + } + return ShieldState.Resetting; + } + } + + protected Pawn PawnOwner + { + get + { + return parent as Pawn; + } + } + + public override void PostExposeData() + { + base.PostExposeData(); + Scribe_Values.Look(ref ticksToReset, "ticksToReset", -1); + Scribe_Values.Look(ref lastKeepDisplayTick, "lastKeepDisplayTick", 0); + Scribe_Values.Look(ref IsActive, "isActive", false); + } + + public override void CompTick() + { + base.CompTick(); + if (PawnOwner == null || !IsActive) + { + return; + } + + if (ShieldState == ShieldState.Resetting) + { + ticksToReset--; + if (ticksToReset <= 0) + { + Reset(); + } + } + else if (ShieldState == ShieldState.Active) + { + // 护盾能量(层数)通过 Hediff_DamageShield 的 Tick 方法管理,这里不需要额外回复 + // 如果需要自动回复层数,可以在这里实现 + } + } + + public override void PostPreApplyDamage(ref DamageInfo dinfo, out bool absorbed) + { + absorbed = false; + // 获取 Hediff_DamageShield 实例 + Hediff_DamageShield damageShield = PawnOwner?.health?.hediffSet.GetFirstHediff(); + + if (ShieldState != ShieldState.Active || !IsActive || damageShield == null || damageShield.ShieldCharges <= 0) + { + return; + } + + // 我们的护盾阻挡所有伤害类型,但不包含手术 + // 如果伤害类型不被认为是“有益的”(例如,不是手术),则阻挡 + if (!dinfo.Def.consideredHelpful) + { + // 消耗一层护盾 + damageShield.ShieldCharges--; + + // 触发护盾吸收效果 + Notify_DamageAbsorbed(dinfo); + + // 护盾抖动效果 + PawnOwner.Drawer.renderer.wiggler.SetToCustomRotation(Rand.Range(-0.05f, 0.05f)); + // 移除文字提示 + // 移除粒子效果 + + absorbed = true; // 伤害被吸收 + + // 如果护盾层数归零,触发护盾击穿效果 + if (damageShield.ShieldCharges <= 0) + { + Notify_ShieldBreak(); + } + } + } + + public void Notify_DamageAbsorbed(DamageInfo dinfo) + { + // 复制自 CompShield.AbsorbedDamage + SoundDefOf.EnergyShield_AbsorbDamage.PlayOneShot(new TargetInfo(PawnOwner.Position, PawnOwner.Map)); + impactAngleVect = Vector3Utility.HorizontalVectorFromAngle(dinfo.Angle); + // 移除 FleckMaker.Static 和 FleckMaker.ThrowDustPuff + lastAbsorbDamageTick = Find.TickManager.TicksGame; + KeepDisplaying(); + } + + public void Notify_ShieldBreak() + { + // 复制自 CompShield.Break + if (parent.Spawned) + { + float scale = Mathf.Lerp(Props.minDrawSize, Props.maxDrawSize, Energy / MaxEnergy); // 根据当前能量比例调整大小 + EffecterDefOf.Shield_Break.SpawnAttached(parent, parent.MapHeld, scale); + // 移除 FleckMaker.Static 和 FleckMaker.ThrowDustPuff + } + ticksToReset = Props.startingTicksToReset; + // 护盾层数归零将由 Hediff_DamageShield 负责移除 Hediff + } + + private void Reset() + { + // 复制自 CompShield.Reset + if (PawnOwner.Spawned) + { + SoundDefOf.EnergyShield_Reset.PlayOneShot(new TargetInfo(PawnOwner.Position, PawnOwner.Map)); + // 移除 FleckMaker.ThrowLightningGlow + } + ticksToReset = -1; + // 能量恢复由 Hediff_DamageShield 负责,这里不需要设置 Energy + // 这里可以添加逻辑,让 Hediff_DamageShield 恢复层数 + Hediff_DamageShield hediff = PawnOwner?.health?.hediffSet.GetFirstHediff(); + if (hediff != null) + { + hediff.ShieldCharges = (int)hediff.def.initialSeverity; // 重置时恢复到初始层数 + } + } + + public void KeepDisplaying() + { + lastKeepDisplayTick = Find.TickManager.TicksGame; + } + + } +} \ No newline at end of file diff --git a/Source/WulaFallenEmpire/HediffCompProperties_GiveHediffsInRangeToRace.cs b/Source/WulaFallenEmpire/HediffCompProperties_GiveHediffsInRangeToRace.cs new file mode 100644 index 00000000..01f20a09 --- /dev/null +++ b/Source/WulaFallenEmpire/HediffCompProperties_GiveHediffsInRangeToRace.cs @@ -0,0 +1,23 @@ +using RimWorld; +using System.Collections.Generic; +using Verse; + +namespace WulaFallenEmpire +{ + public class HediffCompProperties_GiveHediffsInRangeToRace : HediffCompProperties + { + public float range; + public TargetingParameters targetingParameters; + public HediffDef hediff; + public ThingDef mote; + public bool hideMoteWhenNotDrafted; + public float initialSeverity = 1f; + public bool onlyPawnsInSameFaction = true; + public List targetRaces; // 新增:可配置的目标种族列表 + + public HediffCompProperties_GiveHediffsInRangeToRace() + { + compClass = typeof(HediffComp_GiveHediffsInRangeToRace); + } + } +} \ No newline at end of file diff --git a/Source/WulaFallenEmpire/HediffComp_GiveHediffsInRangeToRace.cs b/Source/WulaFallenEmpire/HediffComp_GiveHediffsInRangeToRace.cs new file mode 100644 index 00000000..54190a79 --- /dev/null +++ b/Source/WulaFallenEmpire/HediffComp_GiveHediffsInRangeToRace.cs @@ -0,0 +1,63 @@ +using RimWorld; +using System.Collections.Generic; +using UnityEngine; +using Verse; + +namespace WulaFallenEmpire +{ + public class HediffComp_GiveHediffsInRangeToRace : HediffComp + { + private Mote mote; + + public HediffCompProperties_GiveHediffsInRangeToRace Props => (HediffCompProperties_GiveHediffsInRangeToRace)props; + + public override void CompPostTick(ref float severityAdjustment) + { + if (!parent.pawn.Awake() || parent.pawn.health == null || parent.pawn.health.InPainShock || !parent.pawn.Spawned) + { + return; + } + if (!Props.hideMoteWhenNotDrafted || parent.pawn.Drafted) + { + if (Props.mote != null && (mote == null || mote.Destroyed)) + { + mote = MoteMaker.MakeAttachedOverlay(parent.pawn, Props.mote, Vector3.zero); + } + if (mote != null) + { + mote.Maintain(); + } + } + IReadOnlyList pawns = ((!Props.onlyPawnsInSameFaction || parent.pawn.Faction == null) ? parent.pawn.Map.mapPawns.AllPawnsSpawned : parent.pawn.Map.mapPawns.SpawnedPawnsInFaction(parent.pawn.Faction)); + foreach (Pawn pawn in pawns) + { + // 修改点:检查种族是否在我们的目标列表中,如果列表为空或null则不进行任何操作 + if ((Props.targetRaces.NullOrEmpty() || !Props.targetRaces.Contains(pawn.def)) || pawn.Dead || pawn.health == null || pawn == parent.pawn || !(pawn.Position.DistanceTo(parent.pawn.Position) <= Props.range) || !Props.targetingParameters.CanTarget(pawn)) + { + continue; + } + Hediff hediff = pawn.health.hediffSet.GetFirstHediffOfDef(Props.hediff); + if (hediff == null) + { + hediff = pawn.health.AddHediff(Props.hediff, pawn.health.hediffSet.GetBrain()); + hediff.Severity = Props.initialSeverity; + HediffComp_Link hediffComp_Link = hediff.TryGetComp(); + if (hediffComp_Link != null) + { + hediffComp_Link.drawConnection = true; + hediffComp_Link.other = parent.pawn; + } + } + HediffComp_Disappears hediffComp_Disappears = hediff.TryGetComp(); + if (hediffComp_Disappears == null) + { + Log.Error("HediffComp_GiveHediffsInRangeToRace has a hediff in props which does not have a HediffComp_Disappears"); + } + else + { + hediffComp_Disappears.ticksToDisappear = 5; + } + } + } + } +} \ No newline at end of file diff --git a/Source/WulaFallenEmpire/Hediff_DamageShield.cs b/Source/WulaFallenEmpire/Hediff_DamageShield.cs new file mode 100644 index 00000000..640035f3 --- /dev/null +++ b/Source/WulaFallenEmpire/Hediff_DamageShield.cs @@ -0,0 +1,115 @@ +using Verse; +using System; // Add for Activator +using System.Text; +using RimWorld; +using UnityEngine; +using HarmonyLib; // Needed for AccessTools if you use it here directly + +namespace WulaFallenEmpire +{ + public class Hediff_DamageShield : HediffWithComps + { + // 伤害抵挡层数 + public int ShieldCharges + { + get => (int)severityInt; + set => severityInt = value; + } + + // 获取或创建 DRMDamageShield 组件 + public DRMDamageShield ShieldComp + { + get + { + DRMDamageShield comp = pawn.GetComp(); + if (comp == null) + { + comp = (DRMDamageShield)Activator.CreateInstance(typeof(DRMDamageShield)); + comp.parent = pawn; + comp.props = new DRMCompShieldProp(); // 确保有属性,即使是默认的 + pawn.AllComps.Add(comp); + comp.Initialize(comp.props); + } + return comp; + } + } + + + public override string LabelInBrackets + { + get + { + if (ShieldCharges > 0) + { + return "层数: " + ShieldCharges; + } + return null; + } + } + + public override string TipStringExtra + { + get + { + StringBuilder sb = new StringBuilder(); + sb.Append(base.TipStringExtra); + if (ShieldCharges > 0) + { + sb.AppendLine(" - 每层抵挡一次伤害。当前层数: " + ShieldCharges); + } + else + { + sb.AppendLine(" - 没有可用的抵挡层数。"); + } + return sb.ToString(); + } + } + + public override void ExposeData() + { + base.ExposeData(); + // severityInt 会自动保存,所以不需要额外处理 ShieldCharges + } + + public override void PostAdd(DamageInfo? dinfo) + { + base.PostAdd(dinfo); + // 确保 Pawn 拥有 DRMCompShield 组件 + DRMDamageShield comp = ShieldComp; // 访问属性以确保组件被添加 + if (comp != null) + { + comp.IsActive = true; // 激活护盾组件 + // 能量同步将在 Tick() 中完成 + } + } + + public override void PostRemoved() + { + base.PostRemoved(); + // 当 Hediff 被移除时,移除对应的 DRMDamageShield 组件 + DRMDamageShield comp = pawn.GetComp(); + if (comp != null) + { + pawn.AllComps.Remove(comp); + comp.IsActive = false; // 确保禁用 + } + } + + public override void Tick() + { + base.Tick(); + // 如果层数归零,移除 Hediff + if (ShieldCharges <= 0) + { + pawn.health.RemoveHediff(this); + } + // 同步能量到 ShieldComp + DRMDamageShield comp = pawn.GetComp(); // 每次 Tick 获取,确保是最新的 + if (comp != null && comp.IsActive) + { + comp.Energy = ShieldCharges; + comp.MaxEnergy = (int)def.maxSeverity; + } + } + } +} \ No newline at end of file diff --git a/Source/WulaFallenEmpire/WulaFallenEmpire.csproj b/Source/WulaFallenEmpire/WulaFallenEmpire.csproj index 9bf45bed..21b7957f 100644 --- a/Source/WulaFallenEmpire/WulaFallenEmpire.csproj +++ b/Source/WulaFallenEmpire/WulaFallenEmpire.csproj @@ -182,6 +182,11 @@ + + + + +