diff --git a/1.6/1.6/Assemblies/WulaFallenEmpire.dll b/1.6/1.6/Assemblies/WulaFallenEmpire.dll index f4ce93a5..6b60045f 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/ThingDefs/ThingDefs_WULA_Items_DamageShield.xml b/1.6/1.6/Defs/ThingDefs/ThingDefs_WULA_Items_DamageShield.xml index bbdb55ce..26af2d7c 100644 --- a/1.6/1.6/Defs/ThingDefs/ThingDefs_WULA_Items_DamageShield.xml +++ b/1.6/1.6/Defs/ThingDefs/ThingDefs_WULA_Items_DamageShield.xml @@ -2,7 +2,7 @@ WULA_DamageShieldGenerator - + 一个便携式设备,可以激活并生成一个临时的能量护盾,抵挡即将到来的伤害。 Wula/Item/WULA_Syhth_Trainer @@ -24,11 +24,13 @@
  • UseItem + 使用护盾发生器充能反应护盾
  • WULA_DamageShield 100
  • +
  • \ No newline at end of file diff --git a/1.6/1.6/Defs/ThingDefs_Misc/ThingDefs_WULA_Items_DamageShield.xml b/1.6/1.6/Defs/ThingDefs_Misc/ThingDefs_WULA_Items_DamageShield.xml deleted file mode 100644 index b03e2b25..00000000 --- a/1.6/1.6/Defs/ThingDefs_Misc/ThingDefs_WULA_Items_DamageShield.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - WULA_DamageShieldGenerator - - 一个便携式设备,可以激活并生成一个临时的能量护盾,抵挡即将到来的伤害。 - - Things/Item/WULA_DamageShieldGenerator - Graphic_Single - - 1 - true - false - - 50 - 500 - 0.5 - 1000 - - -
  • Items
  • - - Sellable - -
  • - UseItem -
  • -
  • - WULA_DamageShield - 10 -
  • -
    -
    -
    \ No newline at end of file diff --git a/MCP/vector_cache/knowledge_cache.json b/MCP/vector_cache/knowledge_cache.json index 9b4a3b3b..04456c69 100644 --- a/MCP/vector_cache/knowledge_cache.json +++ b/MCP/vector_cache/knowledge_cache.json @@ -24837,5 +24837,1039 @@ ], "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" } } \ No newline at end of file diff --git a/Source/WulaFallenEmpire/DRMDamageShield.cs b/Source/WulaFallenEmpire/DRMDamageShield.cs index 441ed989..bb487850 100644 --- a/Source/WulaFallenEmpire/DRMDamageShield.cs +++ b/Source/WulaFallenEmpire/DRMDamageShield.cs @@ -27,7 +27,6 @@ namespace WulaFallenEmpire } } - [StaticConstructorOnStartup] // 确保在游戏启动时加载 public class DRMDamageShield : ThingComp { // 从 Hediff_DamageShield 获取层数作为能量 @@ -69,19 +68,6 @@ namespace WulaFallenEmpire 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 @@ -100,35 +86,6 @@ namespace WulaFallenEmpire } } - 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 @@ -179,18 +136,9 @@ namespace WulaFallenEmpire 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)) + // 我们的护盾阻挡所有伤害类型,但不包含手术 + // 如果伤害类型不被认为是“有益的”(例如,不是手术),则阻挡 + if (!dinfo.Def.consideredHelpful) { // 消耗一层护盾 damageShield.ShieldCharges--; @@ -259,32 +207,5 @@ namespace WulaFallenEmpire 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); - } - } } } \ No newline at end of file