From c5201d26b70b3d9e29e005b76535a0e5d86261ad Mon Sep 17 00:00:00 2001 From: "ProjectKoi-Kalo\\Kalo" Date: Thu, 28 Aug 2025 12:23:30 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9A=82=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 1.6/1.6/Assemblies/WulaFallenEmpire.dll | Bin 305152 -> 305152 bytes 1.6/1.6/Defs/DamageDefs/Damages_Wula.xml | 7 + .../ThingDefs_Misc/Weapons/WULA_Weapon.xml | 3 +- .../Building_WULA_Shuttle.xml | 77 +- MCP/vector_cache/knowledge_cache.json | 3105 +++++++++++++++++ .../Patch_ArmedShuttle_ForceTargetable.cs | 28 - .../WULA_Shuttle/Building_ArmedShuttle.cs | 2 +- .../WulaFallenEmpire/WulaFallenEmpire.csproj | 1 - 8 files changed, 3150 insertions(+), 73 deletions(-) delete mode 100644 Source/WulaFallenEmpire/Patch_ArmedShuttle_ForceTargetable.cs diff --git a/1.6/1.6/Assemblies/WulaFallenEmpire.dll b/1.6/1.6/Assemblies/WulaFallenEmpire.dll index 2287f04451472df208de4697ae3511853460e675..6e4a5d6e88658aceaa2904b7b4d71b5dc9519f80 100644 GIT binary patch delta 31738 zcma&P2UrzH^fx@`+)A&CbPy2`6tE#+K}7`{V2d@@#2OWQzaSRCil8G_>|#gMD+&tM zSQ0gA42g}Xi5gARU=k9e-k7A89!FSNILIayV140_whe7zdtnXF>l!$k{lv!$in5KqC2%bJoNovm$o}0o9FAxE z*S_yktYLafy=L~;$g~V+#xSPUztxvyd-xr$c}V45B;E(s;q0INyxfndtVn41m1?NJ`sTlx1**Vj`g22Kd)8C*&n3n1N zads08)7I`SIkp^!Z3K8646{z4C! zJ@Q~Yj3_KT*jft%3SS=y1{hfAd$cJ+-@@L;jt6n>cFxv z>x_plEG*pjXqgo(&u;m00c2&Lec2y!3TwYI1EtjWzemE#Z0AZpN~zmb(S;K$p91C8 zr+=6zukQZwdG?(@Y8LkW(+^=o_MECnSf72g$`3Xc-mcoFgDu%}-<^fcE90OyY(2aQ z{Os&T;mo>}1NDsfX&&eR_5fLYydzwM40E&- z=+R{t4Hv0cFbv#=qFApb4cdM)B}J76_VRA7Fvf8o2~8ZXW0rv{NY+som~Fo53SBhR zd@oNJ54+9FJYgM>(GYL=9w3JseBl|at?VAxm!K3(qEJ<;`gG#oo|nZKt3ayYA=1LZR>FQqld4Q z>PF3}y?OlW=HTYENr_~Ph-AoEHoj)yX7fMI;iML}n2)!H1ca?-t5}Ff_=fjv51%_< z7v}ELNcyMT7Us5*0Up*KYPjDa=wIKZ?ws$b@K%3A2>u`i@9;tG!JB(^fDr0X^vXN1Z|3GZnny3~!MN zG0lgIYlUh%mE>Fki)jQfus_w0n?c#57H3kiX5ef+vz&B}63fa!^}Hw*Jn9W5$=M4? zm8yn_@~y7~KYy1BZZMR)%>@sKF(k@dtb>`cUN?rCz~Q{ZTnK6M!LPL= z2G-Kh{GUa{l9nRD(FBelYK1fBlF4y%s5R6UYRJyH5I`ZlIv0HC^l~mZ(Mgv^p&!bd zra=Uuv1#y>P@j2l#aTKLJqk=E;~`EOVWatc=mnd2_I#jgx%tR^vH@ew7Z(66>tAxn zpwT+d{WD+-B=ZXyFrZGl=m7>!R!-BE(-h@2RXI)L9W%kps7lV^<1?W?EaV$9p>04i ziOkHUeuOyT%$;<`nR|%_E}(i!a2tydTEYTTxN#8#1xevG|5JFrBJ8Ad(1ip_@xF_o zS*ICP?PPQ?hJ3;%G&ZsEs%f^uY+ALloZQfRRf0ASqMUir$Gn z>3qgg@P~OkZzX>VexbTF;Vs+hw!{CiC&jWPcVdgU{=$omKUh2^YIRx>!p^8;i&a)dlxj4nazM zr1iw*G)Izo@^V_t()q7BP|GGwWI(ezq#)dXznnUiyebQvon;sD$lhoty^E89Ndtjd z(2fj@&4NT*r6m)7N~07b)yr8BL`MI}f^n*CNaLmzFu^1RCpgb1xmh9{GK~V)iS{-e5RaDCBW?z8fPSb!q7`D1Q~u?(rL_G_a6HH1#qN*Mbws|~B5l`pN5dMiVS zPAsXO6P~31uXBD5AHE8j!q0reDme#EtOCE9kHr;N>}%8=4P9D=`9D{ImooOEnUqV* zso^qMK^)v^?Avkhtu>oG(uPm26h>Clx*2T~rO+G>Q%LAFhdFfWp9{74;?>aLgMx#D zLx@zku3G(OH8dniT`n!aQlSV;yyhB6a+HHBR+HK!8q<#&XP&+WzSF`J-fbgo`<|NX z=fPEkU(9be!)E}`%)_?AL4Xz9WjlO>c^Yo_4efLEJ75p(UkZ27MScVSYX{7N^?dS9 z+7WE!d?!5j+D?73)Z@%ErHul7SR&?aer0c5yb zQ%(LTObQ}Re#a9I!b6*T#JnAB&F<0__CAj(ge!25+aIFD`<^#H1jpb9{^ubuJKZNa zhR(BJkbX_eyR_@S!^;lC4wu`i_2dIpNl{P z@DKmx719riXjac*OowI03KNa8MSnjMYP$r7n`^m7Z`I_d~5jk zC6F0_#1)~nBlc`Tq;CtVtw)KSPqUm+jBWU$6VL@5c=-uP1SfO7lQ0%toK;sWX;7{=2J5IrD@Z|odp&qp?@iauz?ke*%%yIEi73&H`L8M|`v-cU;i!OmGx4z&C zBDoFtgLBXx8gbiiz{?zW9%=%CfnP!jg!B7fLb{8%&lFt|H=6QpQ|d*SO&4eiLnJS_ z2)@QvBt#u*!@s`>Zy=uEx&&(>kx#r#ZSBEdUWPi*o7en`!q=a7`U)n&5Oe8Qm3$B4e_e$<7|3(4(VpRRe*PK>jW$!`Qow06IT0gG^Ftl!k$ls2x^Rr( z;Wub3$MNnrNPLp$iw8e)1Il2MdD=}1Eld!CPW<+_Q<^-}JmVIu0GQ2f z%E?9=4=tzrk4!P{2{51EEr%~)0q^`hY<9|2{jdJuKb^x5e=2eNtG zZFmLic=R0@Kzpm)JCyRi#Pd|#_W!H=&zKLG*{REM(`28^c(p4f4E-N zcf^^$lR0G zbWS#(eMzx5)HFYBVabp`dIjZH3CA3nRgHd8mTWG+@H+ XRz{9ZR+|RLJCni}H$& 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 delta 32078 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 OOVoTeVMx3lCH)&MP88$- diff --git a/1.6/1.6/Defs/DamageDefs/Damages_Wula.xml b/1.6/1.6/Defs/DamageDefs/Damages_Wula.xml index 559dd6bc..d97e75b3 100644 --- a/1.6/1.6/Defs/DamageDefs/Damages_Wula.xml +++ b/1.6/1.6/Defs/DamageDefs/Damages_Wula.xml @@ -243,4 +243,11 @@ Damage_WULA_Melta_Small 5 + + + WULA_Shuttle_Autocannon_Bullet + + 0 + + \ No newline at end of file diff --git a/1.6/1.6/Defs/ThingDefs_Misc/Weapons/WULA_Weapon.xml b/1.6/1.6/Defs/ThingDefs_Misc/Weapons/WULA_Weapon.xml index a9e48b69..230942b9 100644 --- a/1.6/1.6/Defs/ThingDefs_Misc/Weapons/WULA_Weapon.xml +++ b/1.6/1.6/Defs/ThingDefs_Misc/Weapons/WULA_Weapon.xml @@ -1072,7 +1072,7 @@ - + Bullet_WULA_WM_Panzer_Autocannon Projectile_Explosive @@ -1095,6 +1095,7 @@ 0.1 + WULA_WM_Panzer_Autocannon_Ability diff --git a/1.6/Odyssey/Defs/ThingDefs_Buildings/Building_WULA_Shuttle.xml b/1.6/Odyssey/Defs/ThingDefs_Buildings/Building_WULA_Shuttle.xml index a153adc2..917c1f09 100644 --- a/1.6/Odyssey/Defs/ThingDefs_Buildings/Building_WULA_Shuttle.xml +++ b/1.6/Odyssey/Defs/ThingDefs_Buildings/Building_WULA_Shuttle.xml @@ -91,7 +91,7 @@ 50 ArmedShuttleLeaving_WULA PassengerShuttle - 3750 + 3750 62 {0} is ready to launch again. @@ -134,6 +134,7 @@ -1 0 +
  • PlaceWorker_NotUnderRoof
  • @@ -233,7 +234,7 @@ 50 ArmedShuttleLeaving_WULA PassengerShuttle - 3750 + 3750 62 {0} is ready to launch again. @@ -298,7 +299,7 @@ 2601
    - + WULA_PocketMapExit @@ -332,10 +333,9 @@ - WULA_Shuttle_Autocannon - + 由乌拉帝国的穿梭机所装备的自动炮,能够组织起高射速的弹幕压制杀伤大规模目标。 Ultra 0 @@ -353,10 +353,9 @@ 0.5 0.4 0.35 - 1.35 + 1.5 -
  • WULA_AI_Heavy_Panzer_Gunner_Weapon
  • 500 @@ -365,55 +364,49 @@
  • - WulaFallenEmpire.Verb_ShootShotgun + Verb_Shoot true - Bullet_Shuttle_Homing_Autocannon - 1.2 + Bullet_WULA_Shuttle_Autocannon + 0.25 24 - 24 + 10 + 0.35 6 - Shot_BeamRepeater - GunTail_Medium - 9 - Mote_BeamRepeater_Charge - 1.07 + Shot_TurretSniper + GunTail_Heavy + 12 + + true + true + true +
  • - - Bullet_Shuttle_Homing_Autocannon - + Bullet_WULA_Shuttle_Autocannon + + Projectile_Explosive + Normal + True - Wula/Projectile/WULA_Bullet_Plasma + Wula/Projectile/WULA_Bullet_ChargeLanceShot_Red_Double Graphic_Single - (61,199,157,202) - (0.75,1) + TransparentPostLight + 1.4 - Bullet - 6 + WULA_Shuttle_Autocannon_Bullet + 14 + 120 + 2.4 + 0.4 + Explosion_Rocket 0.75 - 60 + 0.1 - WulaFallenEmpire.Projectile_WulaLineAttack - -
  • - - -1 - - 0 - - true - - WULA_GunTail_Plasma -
  • -
  • - 2 -
  • -
    - + ArmedShuttleIncoming_WULA diff --git a/MCP/vector_cache/knowledge_cache.json b/MCP/vector_cache/knowledge_cache.json index a18d6b1d..2d96bca7 100644 --- a/MCP/vector_cache/knowledge_cache.json +++ b/MCP/vector_cache/knowledge_cache.json @@ -39320,5 +39320,3110 @@ ], "result": "--- 结果 1 (相似度: 1.000) ---\n文件路径: C:\\Steam\\steamapps\\common\\RimWorld\\Data\\dll1.6\\Verse\\Verb.txt\n\npublic abstract class Verb : ITargetingSource, IExposable, ILoadReferenceable\n{\n\tpublic VerbProperties verbProps;\n\n\tpublic VerbTracker verbTracker;\n\n\tpublic ManeuverDef maneuver;\n\n\tpublic Tool tool;\n\n\tpublic Thing caster;\n\n\tpublic MechanitorControlGroup controlGroup;\n\n\tpublic string loadID;\n\n\tpublic VerbState state;\n\n\tprotected LocalTargetInfo currentTarget;\n\n\tprotected LocalTargetInfo currentDestination;\n\n\tprotected int burstShotsLeft;\n\n\tprotected int ticksToNextBurstShot;\n\n\tprotected int lastShotTick = -999999;\n\n\tprotected bool surpriseAttack;\n\n\tprotected bool canHitNonTargetPawnsNow = true;\n\n\tpublic bool preventFriendlyFire;\n\n\tprotected bool nonInterruptingSelfCast;\n\n\tpublic Action castCompleteCallback;\n\n\tprivate Texture2D commandIconCached;\n\n\tprivate readonly List> maintainedEffecters = new List>();\n\n\tprivate int? cachedTicksBetweenBurstShots;\n\n\tprivate int? cachedBurstShotCount;\n\n\tprivate static readonly List tempLeanShootSources = new List();\n\n\tprivate static readonly List tempDestList = new List();\n\n\tpublic IVerbOwner DirectOwner => verbTracker.directOwner;\n\n\tpublic ImplementOwnerTypeDef ImplementOwnerType => verbTracker.directOwner.ImplementOwnerTypeDef;\n\n\tpublic CompEquippable EquipmentCompSource => DirectOwner as CompEquippable;\n\n\tpublic CompApparelReloadable ReloadableCompSource => DirectOwner as CompApparelReloadable;\n\n\tpublic CompApparelVerbOwner_Charged VerbOwner_ChargedCompSource => DirectOwner as CompApparelVerbOwner_Charged;\n\n\tpublic ThingWithComps EquipmentSource\n\t{\n\t\tget\n\t\t{\n\t\t\tif (EquipmentCompSource != null)\n\t\t\t{\n\t\t\t\treturn EquipmentCompSource.parent;\n\t\t\t}\n\t\t\tif (ReloadableCompSource != null)\n\t\t\t{\n\t\t\t\treturn ReloadableCompSource.parent;\n\t\t\t}\n\t\t\tif (VerbOwner_ChargedCompSource != null)\n\t\t\t{\n\t\t\t\treturn VerbOwner_ChargedCompSource.parent;\n\t\t\t}\n\t\t\treturn null;\n\t\t}\n\t}\n\n\tpublic HediffComp_VerbGiver HediffCompSource => DirectOwner as HediffComp_VerbGiver;\n\n\tpublic Hediff HediffSource\n\t{\n\t\tget\n\t\t{\n\t\t\tif (HediffCompSource == null)\n\t\t\t{\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\treturn HediffCompSource.parent;\n\t\t}\n\t}\n\n\tpublic Pawn_MeleeVerbs_TerrainSource TerrainSource => DirectOwner as Pawn_MeleeVerbs_TerrainSource;\n\n\tpublic TerrainDef TerrainDefSource\n\t{\n\t\tget\n\t\t{\n\t\t\tif (TerrainSource == null)\n\t\t\t{\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\treturn TerrainSource.def;\n\t\t}\n\t}\n\n\tpublic virtual Thing Caster => caster;\n\n\tpublic virtual Pawn CasterPawn => caster as Pawn;\n\n\tpublic virtual Verb GetVerb => this;\n\n\tpublic virtual bool CasterIsPawn => caster is Pawn;\n\n\tpublic virtual bool Targetable => verbProps.targetable;\n\n\tpublic virtual bool MultiSelect => false;\n\n\tpublic virtual bool HidePawnTooltips => false;\n\n\tpublic LocalTargetInfo CurrentTarget => currentTarget;\n\n\tpublic LocalTargetInfo CurrentDestination => currentDestination;\n\n\tpublic int LastShotTick => lastShotTick;\n\n\tpublic virtual TargetingParameters targetParams => verbProps.targetParams;\n\n\tpublic virtual ITargetingSource DestinationSelector => null;\n\n\tprotected virtual int ShotsPerBurst => 1;\n\n\tpublic virtual Texture2D UIIcon\n\t{\n\t\tget\n\t\t{\n\t\t\tif (verbProps.commandIcon != null)\n\t\t\t{\n\t\t\t\tif (commandIconCached == null)\n\t\t\t\t{\n\t\t\t\t\tcommandIconCached = ContentFinder.Get(verbProps.commandIcon);\n\t\t\t\t}\n\t\t\t\treturn commandIconCached;\n\t\t\t}\n\t\t\tif (EquipmentSource != null)\n\t\t\t{\n\t\t\t\treturn EquipmentSource.def.uiIcon;\n\t\t\t}\n\t\t\treturn BaseContent.BadTex;\n\t\t}\n\t}\n\n\tpublic bool Bursting => burstShotsLeft > 0;\n\n\tpublic virtual bool IsMeleeAttack => verbProps.IsMeleeAttack;\n\n\tpublic bool BuggedAfterLoading => verbProps == null;\n\n\tpublic bool WarmingUp => WarmupStance != null;\n\n\tpublic Stance_Warmup WarmupStance\n\t{\n\t\tget\n\t\t{\n\t\t\tif (CasterPawn == null || !CasterPawn.Spawned)\n\t\t\t{\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tif (!(CasterPawn.stances.curStance is Stance_Warmup stance_Warmup) || stance_Warmup.verb != this)\n\t\t\t{\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\treturn stance_Warmup;\n\t\t}\n\t}\n\n\tpublic int WarmupTicksLeft\n\t{\n\t\tget\n\t\t{\n\t\t\tif (WarmupStance == null)\n\t\t\t{\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t\treturn WarmupStance.ticksLeft;\n\t\t}\n\t}\n\n\tpublic float WarmupProgress => 1f - WarmupTicksLeft.TicksToSeconds() / verbProps.warmupTime;\n\n\tpublic virtual string ReportLabel => verbProps.label;\n\n\tpublic virtual float EffectiveRange => verbProps.AdjustedRange(this, Caster);\n\n\tpublic virtual float? AimAngleOverride => null;\n\n\tpublic bool NonInterruptingSelfCast\n\t{\n\t\tget\n\t\t{\n\t\t\tif (!verbProps.nonInterruptingSelfCast)\n\t\t\t{\n\t\t\t\treturn nonInterruptingSelfCast;\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t}\n\n\tpublic int TicksBetweenBurstShots\n\t{\n\t\tget\n\t\t{\n\t\t\tif (!cachedTicksBetweenBurstShots.HasValue)\n\t\t\t{\n\t\t\t\tfloat num = verbProps.ticksBetweenBurstShots;\n\t\t\t\tif (EquipmentSource != null && EquipmentSource.TryGetComp(out var comp))\n\t\t\t\t{\n\t\t\t\t\tforeach (WeaponTraitDef item in comp.TraitsListForReading)\n\t\t\t\t\t{\n\t\t\t\t\t\tnum /= item.burstShotSpeedMultiplier;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tcachedTicksBetweenBurstShots = Mathf.RoundToInt(num);\n\t\t\t}\n\t\t\treturn cachedTicksBetweenBurstShots.Value;\n\t\t}\n\t}\n\n\tpublic int BurstShotCount\n\t{\n\t\tget\n\t\t{\n\t\t\tif (!cachedBurstShotCount.HasValue)\n\t\t\t{\n\t\t\t\tfloat num = verbProps.burstShotCount;\n\t\t\t\tif (EquipmentSource != null && EquipmentSource.TryGetComp(out var comp))\n\t\t\t\t{\n\t\t\t\t\tforeach (WeaponTraitDef item in comp.TraitsListForReading)\n\t\t\t\t\t{\n\t\t\t\t\t\tnum *= item.burstShotCountMultiplier;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tcachedBurstShotCount = Mathf.CeilToInt(num);\n\t\t\t}\n\t\t\treturn cachedBurstShotCount.Value;\n\t\t}\n\t}\n\n\tpublic bool IsStillUsableBy(Pawn pawn)\n\t{\n\t\tif (!Available())\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tif (!DirectOwner.VerbsStillUsableBy(pawn))\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tif (verbProps.GetDamageFactorFor(this, pawn) == 0f)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tif (pawn.IsSubhuman && verbProps.category == VerbCategory.Ignite)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t}\n\n\tpublic virtual bool IsUsableOn(Thing target)\n\t{\n\t\treturn true;\n\t}\n\n\tpublic virtual void ExposeData()\n\t{\n\t\tScribe_Values.Look(ref loadID, \"loadID\");\n\t\tScribe_Values.Look(ref state, \"state\", VerbState.Idle);\n\t\tScribe_TargetInfo.Look(ref currentTarget, \"currentTarget\");\n\t\tScribe_TargetInfo.Look(ref currentDestination, \"currentDestination\");\n\t\tScribe_Values.Look(ref burstShotsLeft, \"burstShotsLeft\", 0);\n\t\tScribe_Values.Look(ref ticksToNextBurstShot, \"ticksToNextBurstShot\", 0);\n\t\tScribe_Values.Look(ref lastShotTick, \"lastShotTick\", 0);\n\t\tScribe_Values.Look(ref surpriseAttack, \"surpriseAttack\", defaultValue: false);\n\t\tScribe_Values.Look(ref canHitNonTargetPawnsNow, \"canHitNonTargetPawnsNow\", defaultValue: false);\n\t\tScribe_Values.Look(ref preventFriendlyFire, \"preventFriendlyFire\", defaultValue: false);\n\t\tScribe_Values.Look(ref nonInterruptingSelfCast, \"nonInterruptingSelfCast\", defaultValue: false);\n\t}\n\n\tpublic string GetUniqueLoadID()\n\t{\n\t\treturn \"Verb_\" + loadID;\n\t}\n\n\tpublic static string CalculateUniqueLoadID(IVerbOwner owner, Tool tool, ManeuverDef maneuver)\n\t{\n\t\treturn string.Format(\"{0}_{1}_{2}\", owner.UniqueVerbOwnerID(), (tool != null) ? tool.id : \"NT\", (maneuver != null) ? maneuver.defName : \"NM\");\n\t}\n\n\tpublic static string CalculateUniqueLoadID(IVerbOwner owner, int index)\n\t{\n\t\treturn $\"{owner.UniqueVerbOwnerID()}_{index}\";\n\t}\n\n\tpublic bool TryStartCastOn(LocalTargetInfo castTarg, bool surpriseAttack = false, bool canHitNonTargetPawns = true, bool preventFriendlyFire = false, bool nonInterruptingSelfCast = false)\n\t{\n\t\treturn TryStartCastOn(castTarg, LocalTargetInfo.Invalid, surpriseAttack, canHitNonTargetPawns, preventFriendlyFire, nonInterruptingSelfCast);\n\t}\n\n\tpublic virtual bool TryStartCastOn(LocalTargetInfo castTarg, LocalTargetInfo destTarg, bool surpriseAttack = false, bool canHitNonTargetPawns = true, bool preventFriendlyFire = false, bool nonInterruptingSelfCast = false)\n\t{\n\t\tif (caster == null)\n\t\t{\n\t\t\tLog.Error(\"Verb \" + GetUniqueLoadID() + \" needs caster to work (possibly lost during saving/loading).\");\n\t\t\treturn false;\n\t\t}\n\t\tif (!caster.Spawned)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tif (state == VerbState.Bursting || !CanHitTarget(castTarg))\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tif (CausesTimeSlowdown(castTarg))\n\t\t{\n\t\t\tFind.TickManager.slower.SignalForceNormalSpeed();\n\t\t}\n\t\tthis.surpriseAttack = surpriseAttack;\n\t\tcanHitNonTargetPawnsNow = canHitNonTargetPawns;\n\t\tthis.preventFriendlyFire = preventFriendlyFire;\n\t\tthis.nonInterruptingSelfCast = nonInterruptingSelfCast;\n\t\tcurrentTarget = castTarg;\n\t\tcurrentDestination = destTarg;\n\t\tif (CasterIsPawn && verbProps.warmupTime > 0f)\n\t\t{\n\t\t\tif (!TryFindShootLineFromTo(caster.Position, castTarg, out var resultingLine))\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tCasterPawn.Drawer.Notify_WarmingCastAlongLine(resultingLine, caster.Position);\n\t\t\tfloat statValue = CasterPawn.GetStatValue(StatDefOf.AimingDelayFactor);\n\t\t\tint ticks = (verbProps.warmupTime * statValue).SecondsToTicks();\n\t\t\tCasterPawn.stances.SetStance(new Stance_Warmup(ticks, castTarg, this));\n\t\t\tif (verbProps.stunTargetOnCastStart && castTarg.Pawn != null)\n\t\t\t{\n\t\t\t\tcastTarg.Pawn.stances.stunner.StunFor(ticks, null, addBattleLog: false);\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tif (verbTracker.directOwner is Ability ability)\n\t\t\t{\n\t\t\t\tability.lastCastTick = Find.TickManager.TicksGame;\n\t\t\t}\n\t\t\tWarmupComplete();\n\t\t}\n\t\treturn true;\n\t}\n\n\tpublic virtual void WarmupComplete()\n\t{\n\t\tburstShotsLeft = ShotsPerBurst;\n\t\tstate = VerbState.Bursting;\n\t\tTryCastNextBurstShot();\n\t}\n\n\tpublic void VerbTick()\n\t{\n\t\tif (state == VerbState.Bursting)\n\t\t{\n\t\t\tif (!caster.Spawned || (caster is Pawn pawn && pawn.stances.stunner.Stunned))\n\t\t\t{\n\t\t\t\tReset();\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tticksToNextBurstShot--;\n\t\t\t\tif (ticksToNextBurstShot <= 0)\n\t\t\t\t{\n\t\t\t\t\tTryCastNextBurstShot();\n\t\t\t\t}\n\t\t\t\tBurstingTick();\n\t\t\t}\n\t\t}\n\t\tfor (int num = maintainedEffecters.Count - 1; num >= 0; num--)\n\t\t{\n\t\t\tEffecter item = maintainedEffecters[num].Item1;\n\t\t\tif (item.ticksLeft > 0)\n\t\t\t{\n\t\t\t\tTargetInfo item2 = maintainedEffecters[num].Item2;\n\t\t\t\tTargetInfo item3 = maintainedEffecters[num].Item3;\n\t\t\t\titem.EffectTick(item2, item3);\n\t\t\t\titem.ticksLeft--;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\titem.Cleanup();\n\t\t\t\tmaintainedEffecters.RemoveAt(num);\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic virtual void BurstingTick()\n\t{\n\t}\n\n\tpublic void AddEffecterToMaintain(Effecter eff, IntVec3 pos, int ticks, Map map = null)\n\t{\n\t\teff.ticksLeft = ticks;\n\t\tTargetInfo targetInfo = new TargetInfo(pos, map ?? caster.Map);\n\t\tmaintainedEffecters.Add(new Tuple(eff, targetInfo, targetInfo));\n\t}\n\n\tpublic void AddEffecterToMaintain(Effecter eff, IntVec3 posA, IntVec3 posB, int ticks, Map map = null)\n\t{\n\t\teff.ticksLeft = ticks;\n\t\tTargetInfo item = new TargetInfo(posA, map ?? caster.Map);\n\t\tTargetInfo item2 = new TargetInfo(posB, map ?? caster.Map);\n\t\tmaintainedEffecters.Add(new Tuple(eff, item, item2));\n\t}\n\n\tpublic virtual bool Available()\n\t{\n\t\tif (verbProps.consumeFuelPerShot > 0f)\n\t\t{\n\t\t\tCompRefuelable compRefuelable = caster.TryGetComp();\n\t\t\tif (compRefuelable != null && compRefuelable.Fuel < verbProps.consumeFuelPerShot)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\tCompApparelVerbOwner compApparelVerbOwner = EquipmentSource?.GetComp();\n\t\tif (compApparelVerbOwner != null && !compApparelVerbOwner.CanBeUsed(out var reason))\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tif (CasterIsPawn && EquipmentSource != null && EquipmentUtility.RolePreventsFromUsing(CasterPawn, EquipmentSource, out reason))\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t}\n\n\tprotected void TryCastNextBurstShot()\n\t{\n\t\tLocalTargetInfo localTargetInfo = currentTarget;\n\t\tif (Available() && TryCastShot())\n\t\t{\n\t\t\tif (verbProps.muzzleFlashScale > 0.01f)\n\t\t\t{\n\t\t\t\tFleckMaker.Static(caster.Position, caster.Map, FleckDefOf.ShotFlash, verbProps.muzzleFlashScale);\n\t\t\t}\n\t\t\tif (verbProps.soundCast != null)\n\t\t\t{\n\t\t\t\tverbProps.soundCast.PlayOneShot(new TargetInfo(caster.Position, caster.MapHeld));\n\t\t\t}\n\t\t\tif (verbProps.soundCastTail != null)\n\t\t\t{\n\t\t\t\tverbProps.soundCastTail.PlayOneShotOnCamera(caster.Map);\n\t\t\t}\n\t\t\tif (CasterIsPawn)\n\t\t\t{\n\t\t\t\tCasterPawn.Notify_UsedVerb(CasterPawn, this);\n\t\t\t\tif (CasterPawn.thinker != null && localTargetInfo == CasterPawn.mindState.enemyTarget)\n\t\t\t\t{\n\t\t\t\t\tCasterPawn.mindState.Notify_EngagedTarget();\n\t\t\t\t}\n\t\t\t\tif (CasterPawn.mindState != null)\n\t\t\t\t{\n\t\t\t\t\tCasterPawn.mindState.Notify_AttackedTarget(localTargetInfo);\n\t\t\t\t}\n\t\t\t\tif (CasterPawn.MentalState != null)\n\t\t\t\t{\n\t\t\t\t\tCasterPawn.MentalState.Notify_AttackedTarget(localTargetInfo);\n\t\t\t\t}\n\t\t\t\tif (TerrainDefSource != null)\n\t\t\t\t{\n\t\t\t\t\tCasterPawn.meleeVerbs.Notify_UsedTerrainBasedVerb();\n\t\t\t\t}\n\t\t\t\tif (CasterPawn.health != null)\n\t\t\t\t{\n\t\t\t\t\tCasterPawn.health.Notify_UsedVerb(this, localTargetInfo);\n\t\t\t\t}\n\t\t\t\tif (EquipmentSource != null)\n\t\t\t\t{\n\t\t\t\t\tEquipmentSource.Notify_UsedWeapon(CasterPawn);\n\t\t\t\t}\n\t\t\t\tif (!CasterPawn.Spawned)\n\t\t\t\t{\n\t\t\t\t\tReset();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (verbProps.consumeFuelPerShot > 0f)\n\t\t\t{\n\t\t\t\tcaster.TryGetComp()?.ConsumeFuel(verbProps.consumeFuelPerShot);\n\t\t\t}\n\t\t\tburstShotsLeft--;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tburstShotsLeft = 0;\n\t\t}\n\t\tif (burstShotsLeft > 0)\n\t\t{\n\t\t\tticksToNextBurstShot = TicksBetweenBurstShots;\n\t\t\tif (CasterIsPawn && !NonInterruptingSelfCast)\n\t\t\t{\n\t\t\t\tCasterPawn.stances.SetStance(new Stance_Cooldown(TicksBetweenBurstShots + 1, currentTarget, this));\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\t\tstate = VerbState.Idle;\n\t\tif (CasterIsPawn && !NonInterruptingSelfCast)\n\t\t{\n\t\t\tCasterPawn.stances.SetStance(new Stance_Cooldown(verbProps.AdjustedCooldownTicks(this, CasterPawn), currentTarget, this));\n\t\t}\n\t\tif (castCompleteCallback != null)\n\t\t{\n\t\t\tcastCompleteCallback();\n\t\t}\n\t\tif (verbProps.consumeFuelPerBurst > 0f)\n\t\t{\n\t\t\tcaster.TryGetComp()?.ConsumeFuel(verbProps.consumeFuelPerBurst);\n\t\t}\n\t}\n\n\tpublic virtual void OrderForceTarget(LocalTargetInfo target)\n\t{\n\t\tif (verbProps.IsMeleeAttack)\n\t\t{\n\t\t\tJob job = JobMaker.MakeJob(JobDefOf.AttackMelee, target);\n\t\t\tjob.playerForced = true;\n\t\t\tif (target.Thing is Pawn pawn)\n\t\t\t{\n\t\t\t\tjob.killIncappedTarget = pawn.Downed;\n\t\t\t}\n\t\t\tCasterPawn.jobs.TryTakeOrderedJob(job, JobTag.Misc);\n\t\t\treturn;\n\t\t}\n\t\tfloat num = verbProps.EffectiveMinRange(target, CasterPawn);\n\t\tif ((float)CasterPawn.Position.DistanceToSquared(target.Cell) < num * num && CasterPawn.Position.AdjacentTo8WayOrInside(target.Cell))\n\t\t{\n\t\t\tMessages.Message(\"MessageCantShootInMelee\".Translate(), CasterPawn, MessageTypeDefOf.RejectInput, historical: false);\n\t\t\treturn;\n\t\t}\n\t\tJob job2 = JobMaker.MakeJob(verbProps.ai_IsWeapon ? JobDefOf.AttackStatic : JobDefOf.UseVerbOnThing);\n\t\tjob2.verbToUse = this;\n\t\tjob2.targetA = target;\n\t\tjob2.endIfCantShootInMelee = true;\n\t\tCasterPawn.jobs.TryTakeOrderedJob(job2, JobTag.Misc);\n\t}\n\n\tprotected abstract bool TryCastShot();\n\n\tpublic void Notify_PickedUp()\n\t{\n\t\tReset();\n\t}\n\n\tpublic virtual void Reset()\n\t{\n\t\tstate = VerbState.Idle;\n\t\tcurrentTarget = null;\n\t\tcurrentDestination = null;\n\t\tburstShotsLeft = 0;\n\t\tticksToNextBurstShot = 0;\n\t\tcastCompleteCallback = null;\n\t\tsurpriseAttack = false;\n\t\tpreventFriendlyFire = false;\n\t}\n\n\tpublic virtual void Notify_EquipmentLost()\n\t{\n\t\tif (!CasterIsPawn)\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\tPawn casterPawn = CasterPawn;\n\t\tif (casterPawn.Spawned)\n\t\t{\n\t\t\tif (casterPawn.stances.curStance is Stance_Warmup stance_Warmup && stance_Warmup.verb == this)\n\t\t\t{\n\t\t\t\tcasterPawn.stances.CancelBusyStanceSoft();\n\t\t\t}\n\t\t\tif (casterPawn.CurJob != null && casterPawn.CurJob.def == JobDefOf.AttackStatic)\n\t\t\t{\n\t\t\t\tcasterPawn.jobs.EndCurrentJob(JobCondition.Incompletable);\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic virtual float HighlightFieldRadiusAroundTarget(out bool needLOSToCenter)\n\t{\n\t\tneedLOSToCenter = false;\n\t\treturn 0f;\n\t}\n\n\tprivate bool CausesTimeSlowdown(LocalTargetInfo castTarg)\n\t{\n\t\tif (!verbProps.CausesTimeSlowdown)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tif (!castTarg.HasThing)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tThing thing = castTarg.Thing;\n\t\tif (thing.def.category != ThingCategory.Pawn && (thing.def.building == null || !thing.def.building.IsTurret))\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tPawn pawn = thing as Pawn;\n\t\tbool flag = pawn?.Downed ?? false;\n\t\tif ((CasterPawn != null && CasterPawn.Faction == Faction.OfPlayer && CasterPawn.IsShambler) || (pawn != null && pawn.Faction == Faction.OfPlayer && pawn.IsShambler))\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tif (thing.Faction != Faction.OfPlayer || !caster.HostileTo(Faction.OfPlayer))\n\t\t{\n\t\t\tif (caster.Faction == Faction.OfPlayer && thing.HostileTo(Faction.OfPlayer))\n\t\t\t{\n\t\t\t\treturn !flag;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t}\n\n\tpublic virtual bool CanHitTarget(LocalTargetInfo targ)\n\t{\n\t\tif (caster == null || !caster.Spawned)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tif (targ == caster)\n\t\t{\n\t\t\treturn true;\n\t\t}\n\t\treturn CanHitTargetFrom(caster.Position, targ);\n\t}\n\n\tpublic virtual bool ValidateTarget(LocalTargetInfo target, bool showMessages = true)\n\t{\n\t\tif (CasterIsPawn && target.Thing is Pawn p && (p.InSameExtraFaction(caster as Pawn, ExtraFactionType.HomeFaction) || p.InSameExtraFaction(caster as Pawn, ExtraFactionType.MiniFaction)))\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tif (CasterIsPawn && target.Thing is Pawn victim && HistoryEventUtility.IsKillingInnocentAnimal(CasterPawn, victim) && !new HistoryEvent(HistoryEventDefOf.KilledInnocentAnimal, CasterPawn.Named(HistoryEventArgsNames.Doer)).Notify_PawnAboutToDo())\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tif (CasterIsPawn && target.Thing is Pawn pawn && CasterPawn.Ideo != null && CasterPawn.Ideo.IsVeneratedAnimal(pawn) && !new HistoryEvent(HistoryEventDefOf.HuntedVeneratedAnimal, CasterPawn.Named(HistoryEventArgsNames.Doer)).Notify_PawnAboutToDo())\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t}\n\n\tpublic virtual void DrawHighlight(LocalTargetInfo target)\n\t{\n\t\tverbProps.DrawRadiusRing(caster.Position, this);\n\t\tif (target.IsValid)\n\t\t{\n\t\t\tGenDraw.DrawTargetHighlight(target);\n\t\t\tDrawHighlightFieldRadiusAroundTarget(target);\n\t\t}\n\t}\n\n\tprotected void DrawHighlightFieldRadiusAroundTarget(LocalTargetInfo target)\n\t{\n\t\tbool needLOSToCenter;\n\t\tfloat num = HighlightFieldRadiusAroundTarget(out needLOSToCenter);\n\t\tif (!(num > 0.2f) || !TryFindShootLineFromTo(caster.Position, target, out var resultingLine))\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\tif (needLOSToCenter)\n\t\t{\n\t\t\tGenExplosion.RenderPredictedAreaOfEffect(resultingLine.Dest, num, verbProps.explosionRadiusRingColor);\n\t\t\treturn;\n\t\t}\n\t\tGenDraw.DrawFieldEdges((from x in GenRadial.RadialCellsAround(resultingLine.Dest, num, useCenter: true)\n\t\t\twhere x.InBounds(Find.CurrentMap)\n\t\t\tselect x).ToList(), verbProps.explosionRadiusRingColor);\n\t}\n\n\tpublic virtual void OnGUI(LocalTargetInfo target)\n\t{\n\t\tTexture2D icon = ((!target.IsValid) ? TexCommand.CannotShoot : ((!(UIIcon != BaseContent.BadTex)) ? TexCommand.Attack : UIIcon));\n\t\tGenUI.DrawMouseAttachment(icon);\n\t}\n\n\tpublic virtual bool CanHitTargetFrom(IntVec3 root, LocalTargetInfo targ)\n\t{\n\t\tif (targ.Thing != null && targ.Thing == caster)\n\t\t{\n\t\t\treturn targetParams.canTargetSelf;\n\t\t}\n\t\tif (targ.Pawn != null && targ.Pawn.IsPsychologicallyInvisible() && caster.HostileTo(targ.Pawn))\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tif (ApparelPreventsShooting())\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tShootLine resultingLine;\n\t\treturn TryFindShootLineFromTo(root, targ, out resultingLine);\n\t}\n\n\tpublic bool ApparelPreventsShooting()\n\t{\n\t\treturn FirstApparelPreventingShooting() != null;\n\t}\n\n\tpublic Apparel FirstApparelPreventingShooting()\n\t{\n\t\tif (CasterIsPawn && CasterPawn.apparel != null)\n\t\t{\n\t\t\tList wornApparel = CasterPawn.apparel.WornApparel;\n\t\t\tfor (int i = 0; i < wornApparel.Count; i++)\n\t\t\t{\n\t\t\t\tif (!wornApparel[i].AllowVerbCast(this))\n\t\t\t\t{\n\t\t\t\t\treturn wornApparel[i];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tpublic bool TryFindShootLineFromTo(IntVec3 root, LocalTargetInfo targ, out ShootLine resultingLine, bool ignoreRange = false)\n\t{\n\t\tif (targ.HasThing && targ.Thing.Map != caster.Map)\n\t\t{\n\t\t\tresultingLine = default(ShootLine);\n\t\t\treturn false;\n\t\t}\n\t\tif (verbProps.IsMeleeAttack || EffectiveRange <= 1.42f)\n\t\t{\n\t\t\tresultingLine = new ShootLine(root, targ.Cell);\n\t\t\treturn ReachabilityImmediate.CanReachImmediate(root, targ, caster.Map, PathEndMode.Touch, null);\n\t\t}\n\t\tCellRect occupiedRect = (targ.HasThing ? targ.Thing.OccupiedRect() : CellRect.SingleCell(targ.Cell));\n\t\tif (!ignoreRange && OutOfRange(root, targ, occupiedRect))\n\t\t{\n\t\t\tresultingLine = new ShootLine(root, targ.Cell);\n\t\t\treturn false;\n\t\t}\n\t\tif (!verbProps.requireLineOfSight)\n\t\t{\n\t\t\tresultingLine = new ShootLine(root, targ.Cell);\n\t\t\treturn true;\n\t\t}\n\t\tIntVec3 goodDest;\n\t\tif (CasterIsPawn)\n\t\t{\n\t\t\tif (CanHitFromCellIgnoringRange(root, targ, out goodDest))\n\t\t\t{\n\t\t\t\tresultingLine = new ShootLine(root, goodDest);\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tShootLeanUtility.LeanShootingSourcesFromTo(root, occupiedRect.ClosestCellTo(root), caster.Map, tempLeanShootSources);\n\t\t\tfor (int i = 0; i < tempLeanShootSources.Count; i++)\n\t\t\t{\n\t\t\t\tIntVec3 intVec = tempLeanShootSources[i];\n\t\t\t\tif (CanHitFromCellIgnoringRange(intVec, targ, out goodDest))\n\t\t\t\t{\n\t\t\t\t\tresultingLine = new ShootLine(intVec, goodDest);\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tforeach (IntVec3 item in caster.OccupiedRect())\n\t\t\t{\n\t\t\t\tif (CanHitFromCellIgnoringRange(item, targ, out goodDest))\n\t\t\t\t{\n\t\t\t\t\tresultingLine = new ShootLine(item, goodDest);\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tresultingLine = new ShootLine(root, targ.Cell);\n\t\treturn false;\n\t}\n\n\tpublic bool OutOfRange(IntVec3 root, LocalTargetInfo targ, CellRect occupiedRect)\n\t{\n\t\tfloat num = verbProps.EffectiveMinRange(targ, caster);\n\t\tfloat num2 = occupiedRect.ClosestDistSquaredTo(root);\n\t\tif (num2 > EffectiveRange * EffectiveRange || num2 < num * num)\n\t\t{\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tprivate bool CanHitFromCellIgnoringRange(IntVec3 sourceCell, LocalTargetInfo targ, out IntVec3 goodDest)\n\t{\n\t\tif (targ.Thing != null)\n\t\t{\n\t\t\tif (targ.Thing.Map != caster.Map)\n\t\t\t{\n\t\t\t\tgoodDest = IntVec3.Invalid;\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tShootLeanUtility.CalcShootableCellsOf(tempDestList, targ.Thing, sourceCell);\n\t\t\tfor (int i = 0; i < tempDestList.Count; i++)\n\t\t\t{\n\t\t\t\tif (CanHitCellFromCellIgnoringRange(sourceCell, tempDestList[i], targ.Thing.def.Fillage == FillCategory.Full))\n\t\t\t\t{\n\t\t\t\t\tgoodDest = tempDestList[i];\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\telse if (CanHitCellFromCellIgnoringRange(sourceCell, targ.Cell))\n\t\t{\n\t\t\tgoodDest = targ.Cell;\n\t\t\treturn true;\n\t\t}\n\t\tgoodDest = IntVec3.Invalid;\n\t\treturn false;\n\t}\n\n\tprivate bool CanHitCellFromCellIgnoringRange(IntVec3 sourceSq, IntVec3 targetLoc, bool includeCorners = false)\n\t{\n\t\tif (verbProps.mustCastOnOpenGround && (!targetLoc.Standable(caster.Map) || caster.Map.thingGrid.CellContains(targetLoc, ThingCategory.Pawn)))\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tif (verbProps.requireLineOfSight)\n\t\t{\n\t\t\tif (!includeCorners)\n\t\t\t{\n\t\t\t\tif (!GenSight.LineOfSight(sourceSq, targetLoc, caster.Map, skipFirstCell: true))\n\t\t\t\t{\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (!GenSight.LineOfSightToEdges(sourceSq, targetLoc, caster.Map, skipFirstCell: true))\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t}\n\n\tpublic override string ToString()\n\t{\n\t\tstring text = ((verbProps == null) ? \"null\" : ((!verbProps.label.NullOrEmpty()) ? verbProps.label : ((HediffCompSource != null) ? HediffCompSource.Def.label : ((EquipmentSource != null) ? EquipmentSource.def.label : ((verbProps.AdjustedLinkedBodyPartsGroup(tool) == null) ? \"unknown\" : verbProps.AdjustedLinkedBodyPartsGroup(tool).defName)))));\n\t\tif (tool != null)\n\t\t{\n\t\t\ttext = text + \"/\" + loadID;\n\t\t}\n\t\treturn $\"{GetType()}({text})\";\n\t}\n}\n\n", "timestamp": "2025-08-27 21:12:09,083" + }, + "Building_TurretGun-get_CanSetForcedTarget": { + "keywords": [ + "Building_TurretGun", + "get_CanSetForcedTarget" + ], + "question": "Building_TurretGun get_CanSetForcedTarget method implementation", + "embedding": [ + -0.0135774752125144, + 0.052613601088523865, + 0.07729478180408478, + 0.022391172125935555, + -0.010213145054876804, + -0.08379726856946945, + 0.007428384386003017, + 0.016609612852334976, + 0.021811602637171745, + 0.06191498413681984, + -0.020949317142367363, + -0.061858441680669785, + -0.03468935564160347, + 0.030505144968628883, + 0.0768989771604538, + 0.005512977950274944, + -0.025854453444480896, + -0.12224675714969635, + -0.04611111432313919, + -0.001698951469734311, + 0.0023695204872637987, + 0.045969754457473755, + -0.017924247309565544, + 0.00180850422475487, + 0.002450801432132721, + -0.022829383611679077, + -0.011160247027873993, + 0.12428231537342072, + -0.027819335460662842, + -0.020525241270661354, + 0.005368085578083992, + -0.06106683239340782, + -0.010891665704548359, + -0.019761906936764717, + -0.0027317514177411795, + 0.034547995775938034, + -0.04978643357753754, + -0.032879967242479324, + 0.0045446730218827724, + 0.0057391515001654625, + -0.0195357333868742, + -0.0015593599528074265, + 0.02431364730000496, + 0.019210608676075935, + 0.011414691805839539, + 0.06265004724264145, + 0.031636010855436325, + -0.038817018270492554, + -0.03991961479187012, + -0.015492881648242474, + 0.039099738001823425, + -0.01137935183942318, + -0.06276313215494156, + -0.032144904136657715, + 0.032257989048957825, + 0.015832142904400826, + -0.006039537955075502, + -0.004859195556491613, + -0.0048238555900752544, + 0.04427345469594002, + -0.008757153525948524, + 0.042859870940446854, + -0.04602630063891411, + -0.03794059902429581, + 0.021712651476264, + 0.017613258212804794, + -0.04008924588561058, + 0.0011423527030274272, + 0.03887356445193291, + -0.006859417073428631, + -0.039947886019945145, + 0.055412497371435165, + -0.036611828953027725, + 0.00475671049207449, + -0.05066285654902458, + 0.02400265820324421, + -0.007873663678765297, + -0.003224738873541355, + -0.013881396502256393, + 0.035283058881759644, + -0.0019224743591621518, + -0.0016061849892139435, + -0.029741810634732246, + -0.009167092852294445, + 0.04664827510714531, + 0.051058657467365265, + -0.023677533492445946, + -0.048259761184453964, + -0.012128551490604877, + 0.03251243382692337, + 0.0322297178208828, + -0.03302132338285446, + 0.022094320505857468, + -0.026928776875138283, + 0.027677977457642555, + -0.012877751141786575, + -0.0465351901948452, + 0.0033166217617690563, + -0.017146775498986244, + 0.019634682685136795, + -0.029119832441210747, + -0.11218203604221344, + 0.002682275837287307, + 0.09171333909034729, + -0.0008083934080787003, + -0.036102939397096634, + -0.015082942321896553, + 0.006142023019492626, + -0.006304585374891758, + 0.041304927319288254, + -0.0181362833827734, + -0.015662511810660362, + 0.020369747653603554, + 0.026518838480114937, + 0.052500516176223755, + 0.0153656592592597, + 0.016058316454291344, + -0.028610942885279655, + 0.025628279894590378, + 0.01744362898170948, + 0.03943899646401405, + 0.01204373687505722, + -0.034095648676157, + 0.00015140810864977539, + -0.020525241270661354, + 0.015238436870276928, + 0.016906466335058212, + 0.021585429087281227, + -0.0232675950974226, + 0.013323030434548855, + 0.026999456807971, + 0.004470459651201963, + 0.018546223640441895, + -0.01666615717113018, + -0.019479189068078995, + -0.01400155108422041, + -0.011329877190291882, + 0.0350286141037941, + -0.06649499386548996, + -0.0017104367725551128, + -0.012185094878077507, + 0.021543022245168686, + 0.01400155108422041, + 0.04017405956983566, + 0.05795694887638092, + -0.027706248685717583, + -0.04351012036204338, + -0.004092325922101736, + 0.033699844032526016, + -0.02124616876244545, + -0.0090681416913867, + -0.005717947613447905, + -0.039325911551713943, + 0.0334736704826355, + 0.02711254358291626, + -0.012248706072568893, + 0.02633507177233696, + -0.04178554564714432, + 0.020454563200473785, + -0.033077869564294815, + -0.021571293473243713, + 0.03333231434226036, + -0.029996255412697792, + -0.014913312159478664, + 0.031409841030836105, + -0.03706417605280876, + 0.09657606482505798, + -0.0011140810092911124, + 0.004551740828901529, + -0.03177737072110176, + -0.014715410768985748, + 0.013429049402475357, + 0.012064940296113491, + 0.004145335406064987, + 0.009364995174109936, + 0.01489917654544115, + -0.02789001539349556, + 0.03590503707528114, + 0.007484927773475647, + -0.0375165231525898, + 0.04206826537847519, + 0.007725237403064966, + -0.010813918896019459, + -0.017189182341098785, + 0.06157572567462921, + -0.005134844221174717, + 0.013287690468132496, + 0.002441966673359275, + 0.006824077572673559, + 0.05637373402714729, + 0.012347657233476639, + 0.07028340548276901, + 0.0033466604072600603, + -0.014800225384533405, + 0.023677533492445946, + -0.0074213165789842606, + 0.00014710109098814428, + 0.017372949048876762, + -0.0818747952580452, + 0.04944717139005661, + 0.02377648465335369, + -0.007414248771965504, + 0.020171845331788063, + 0.030278971418738365, + 0.049701616168022156, + 0.0005782442749477923, + -0.02024252526462078, + -0.03861911967396736, + -0.007343569304794073, + -0.0014259529998525977, + 0.05023878067731857, + 0.012877751141786575, + -0.021034132689237595, + -0.0046436237171292305, + 0.027649706229567528, + -0.02415815182030201, + -0.014263063669204712, + -0.005608395207673311, + 0.006509555038064718, + 0.03197527304291725, + -0.01709023118019104, + 0.03217317536473274, + 0.024794265627861023, + 0.02796069346368313, + 0.02260321006178856, + 0.013301827013492584, + -0.010531201958656311, + -0.02275870367884636, + 0.008622863329946995, + -0.006802873685956001, + -0.02571309544146061, + 0.0008887909934855998, + -0.040371961891651154, + 0.03811022639274597, + 0.05886164307594299, + -0.011061295866966248, + -0.02940255030989647, + 0.00854511559009552, + 0.037233807146549225, + 0.010149533860385418, + 0.017118504270911217, + 0.027762793004512787, + 0.007329433690756559, + 0.02991143986582756, + -0.004516401328146458, + -0.020694872364401817, + -0.043990738689899445, + 0.03601812198758125, + -0.055016692727804184, + -0.0040499186143279076, + 0.005315076094120741, + 0.032653793692588806, + -0.002240530913695693, + -0.013379573822021484, + 0.0089126480743289, + -0.039749983698129654, + -0.03435009345412254, + 0.007704033516347408, + -0.028653349727392197, + -0.0252890195697546, + -0.013195808045566082, + -0.026702603325247765, + -0.031636010855436325, + 0.0007253453368321061, + -0.026674332097172737, + 0.035169973969459534, + -0.030250700190663338, + 0.006233905907720327, + -0.0107008321210742, + -0.022772841155529022, + 0.00926604401320219, + 0.0331626832485199, + 0.04167246073484421, + -0.0533769354224205, + 0.0020779685582965612, + -0.006357594393193722, + 0.07152735441923141, + 0.040145788341760635, + -0.03709244728088379, + -0.024497412145137787, + 0.0010504696983844042, + 0.006841747090220451, + -0.0068346792832016945, + -0.007972614839673042, + -0.012474879622459412, + 0.012962566688656807, + -0.004173607099801302, + 0.009647711180150509, + 0.031720828264951706, + 0.02564241550862789, + -0.034208737313747406, + 0.04322740435600281, + 0.01724572665989399, + 0.012715188786387444, + -0.016072452068328857, + 0.024992167949676514, + 0.03143811225891113, + 0.032879967242479324, + 0.041898634284734726, + -0.016637885943055153, + 0.0016980678774416447, + 0.016963008791208267, + 0.019408509135246277, + -0.01802319847047329, + 0.025034574791789055, + -0.004293761681765318, + 0.0038484828546643257, + -0.09776347875595093, + 0.01501226332038641, + -0.035480961203575134, + -0.00997990369796753, + 0.03926936537027359, + -0.05351829528808594, + -0.015224301256239414, + -0.01733054220676422, + 0.06785203516483307, + -0.023196915164589882, + 0.0107785789296031, + -0.030589960515499115, + 0.03511342778801918, + -0.01577559858560562, + -0.034858983010053635, + -0.07672934979200363, + 0.016750972718000412, + 0.02322518639266491, + 0.008417893201112747, + 0.043792836368083954, + 0.00488393334671855, + -0.002857206854969263, + 0.012962566688656807, + -0.027013592422008514, + -0.011605525389313698, + 0.007287026382982731, + 0.08119627088308334, + 0.03186218440532684, + -0.02644815854728222, + -0.0027405861765146255, + -0.01460232399404049, + -0.01755671389400959, + -0.005456434562802315, + -0.005852238275110722, + -0.02878057211637497, + 0.00844616536051035, + 0.007626286242157221, + 0.035141702741384506, + -0.0019825517665594816, + 0.015507018193602562, + 0.02613717131316662, + 0.004965214058756828, + 0.015902820974588394, + 0.022560803219676018, + -0.0013314195675775409, + -0.07655971497297287, + 0.010997684672474861, + 0.007930207066237926, + -0.01275759655982256, + -0.02428537607192993, + 0.0030038661789149046, + -0.02897847443819046, + 0.0053256782703101635, + 0.0117892911657691, + -0.03584849461913109, + 0.023719942197203636, + 0.07559847831726074, + 0.03013761341571808, + 0.009633575566112995, + -0.003943899646401405, + 0.028766436502337456, + -0.03406737744808197, + 0.019125793129205704, + 0.019238879904150963, + -0.04913618415594101, + -0.004046384710818529, + 0.01394500769674778, + -0.03709244728088379, + 0.042944684624671936, + -0.005435231141746044, + -0.008693542331457138, + 0.029261190444231033, + 0.029430821537971497, + -0.006870018783956766, + -0.032682064920663834, + 0.004124131519347429, + -0.06276313215494156, + -0.02762143313884735, + -0.024836672469973564, + 0.012969634495675564, + -0.024129880592226982, + 0.05597793310880661, + -0.029119832441210747, + 0.02082209475338459, + 0.05674126744270325, + 0.002938488032668829, + -0.003586969804018736, + 0.006113751325756311, + 0.0039368318393826485, + -0.012036669068038464, + 0.002848372096195817, + 0.04956026002764702, + -0.014630595222115517, + 0.013047381304204464, + -0.021302713081240654, + -0.024497412145137787, + 0.009972835890948772, + 0.0625935047864914, + -0.014149976894259453, + 0.025317290797829628, + 0.0061879646964371204, + -0.04972989112138748, + -0.0259109977632761, + -0.04540432244539261, + 0.0008799561182968318, + 0.045658767223358154, + 0.01942264661192894, + -0.035056885331869125, + -0.03652701526880264, + -0.003272447269409895, + -0.0023218118585646152, + 0.06355474144220352, + 0.003707124385982752, + -0.00470016710460186, + 0.022984877228736877, + -0.01152071077376604, + 0.040230605751276016, + -0.029543908312916756, + -0.01806560531258583, + 0.015832142904400826, + 0.048655565828084946, + -0.01926715113222599, + 0.000659083598293364, + 0.013429049402475357, + -0.02478013001382351, + -0.05597793310880661, + 0.07209279388189316, + 0.005057097412645817, + 0.027451803907752037, + 0.010297960601747036, + 0.016171403229236603, + -0.01670856401324272, + 0.0016706797759979963, + -0.03143811225891113, + 0.0018906687619164586, + 0.01460232399404049, + -0.031947001814842224, + -0.03695108741521835, + -0.03293650969862938, + 0.02482253685593605, + -0.048457663506269455, + 0.0059193833731114864, + 0.005770957097411156, + -0.01864517480134964, + 0.040767766535282135, + -0.007704033516347408, + 0.042237892746925354, + 0.03341712802648544, + 0.025628279894590378, + -0.059031274169683456, + -0.01942264661192894, + -0.019719498232007027, + -0.020638328045606613, + -0.01130160503089428, + -0.0049122050404548645, + 0.016906466335058212, + 0.048853468149900436, + 0.012305249460041523, + 0.0005892878980375826, + 0.0170478243380785, + -0.03293650969862938, + -0.004993485752493143, + -0.06304585188627243, + 0.00978907011449337, + -0.029430821537971497, + 0.00633992487564683, + -0.04936235770583153, + 0.0675693228840828, + -0.035169973969459534, + -0.02735285274684429, + 0.028257546946406364, + -0.006958367768675089, + -0.030900949612259865, + -0.01454578060656786, + 0.043566662818193436, + -0.03372811898589134, + 0.010142466053366661, + -0.1413584053516388, + -0.04760951176285744, + -0.02284351922571659, + -0.053037676960229874, + 0.023762349039316177, + 0.0016432915581390262, + -0.005876976065337658, + -0.007463724352419376, + 0.05238742753863335, + -0.0116337975487113, + 0.026547109708189964, + 0.005297406576573849, + 0.02535969950258732, + 0.023182779550552368, + 0.007696965709328651, + -0.045036789029836655, + -0.025501057505607605, + 0.014227724634110928, + -0.0251335259526968, + -0.04455617070198059, + 0.026476429775357246, + -0.006675650831311941, + -0.00940033420920372, + 0.03531133010983467, + -0.009534625336527824, + 0.001624738215468824, + -0.059144359081983566, + -0.053009405732154846, + 0.01670856401324272, + 0.020765550434589386, + 0.002157482784241438, + 0.031014036387205124, + 0.01713263988494873, + 0.035678863525390625, + 0.030985763296484947, + 0.033501945436000824, + -0.0070537845604121685, + -0.02291419915854931, + 0.03539614751935005, + -0.020369747653603554, + -0.002654004143550992, + 0.023493768647313118, + 0.00559425912797451, + -0.020030487328767776, + -0.0027105475310236216, + -0.04102221131324768, + 0.004527003038674593, + -0.004816787783056498, + 0.019973943009972572, + -0.013082721270620823, + 0.07107500731945038, + -0.0322297178208828, + 0.0009091112879104912, + -0.005569521337747574, + -0.010290892794728279, + 0.03590503707528114, + 0.021967098116874695, + -0.009951632469892502, + 0.008693542331457138, + -0.009018667042255402, + 0.05060631036758423, + 0.06485524028539658, + 0.00018663727678358555, + -0.019606411457061768, + 0.02859680727124214, + -0.0347176268696785, + 0.030816134065389633, + -0.022306356579065323, + 0.002707013627514243, + -0.01670856401324272, + 0.029967984184622765, + -0.04161591827869415, + 0.033501945436000824, + 0.06004905328154564, + 0.017528442665934563, + 0.010114194825291634, + 0.05886164307594299, + 0.0054246289655566216, + 0.027494210749864578, + -0.05725015699863434, + -0.0017881839303299785, + 0.004152403213083744, + -0.02688637003302574, + 0.03760133683681488, + 0.005770957097411156, + -0.018942026421427727, + -0.018744125962257385, + 0.03830812871456146, + -0.015181893482804298, + 0.03251243382692337, + 0.02582618221640587, + 0.022094320505857468, + 0.011852903291583061, + 0.05795694887638092, + 0.06626882404088974, + -0.019125793129205704, + -0.0015531755052506924, + 0.019564004614949226, + 0.011089567095041275, + 0.007993818260729313, + 0.015323251485824585, + -0.006089013535529375, + 0.00014930982433725148, + 0.021345119923353195, + 0.040145788341760635, + -0.007838323712348938, + 0.01902684196829796, + 0.00393329793587327, + -0.05289631709456444, + 0.013937939889729023, + 0.024539820849895477, + 0.023861300200223923, + 0.04859902337193489, + 0.1216813176870346, + 0.006120819132775068, + 0.04006097465753555, + -0.005399891175329685, + 0.0050111557357013226, + -0.012326453812420368, + -0.03483071178197861, + -0.011888242326676846, + -0.008184651844203472, + 0.0011034790659323335, + -0.015563561581075191, + 0.03604639694094658, + 0.012785868719220161, + -0.01666615717113018, + 0.03146638348698616, + -0.0017722811317071319, + 0.0032477094791829586, + 0.01778288744390011, + 0.04548913612961769, + 0.010029379278421402, + -0.011874106712639332, + -0.044301725924015045, + -0.027508346363902092, + 0.005343347787857056, + -0.014135841280221939, + 0.00015549425734207034, + -0.04743988439440727, + -0.014588188380002975, + 0.038788747042417526, + 0.0172033179551363, + -0.025501057505607605, + -0.004760244395583868, + 0.01336543820798397, + -0.026250258088111877, + 0.015280844643712044, + 0.00971132330596447, + -0.008834900334477425, + 0.03861911967396736, + -0.006067809648811817, + 0.028851252049207687, + 0.05216125398874283, + -0.01165500096976757, + 0.014927448704838753, + 0.02159956470131874, + 0.029854897409677505, + 0.017457764595746994, + 0.0384494885802269, + 0.016100723296403885, + -0.017584986984729767, + -0.0632154792547226, + -0.06762586534023285, + -0.02451154962182045, + 0.026773283258080482, + 0.019012706354260445, + -0.05920090153813362, + -0.0012934295227751136, + 5.6377710279775783e-05, + -0.04582839831709862, + 0.011047160252928734, + -0.026942912489175797, + 0.009612372145056725, + 0.006311653181910515, + 0.001427719951607287, + -0.0440472811460495, + 0.009435674175620079, + -0.0015637774486094713, + -0.012446608394384384, + -0.0023059090599417686, + 0.027409397065639496, + -0.009315519593656063, + -0.026306800544261932, + 0.06773895025253296, + -0.014192384667694569, + -0.010305028408765793, + 0.036611828953027725, + 0.004558808635920286, + -0.04673309251666069, + 0.01600177213549614, + 0.014142909087240696, + -0.03726207837462425, + -0.013195808045566082, + 0.036216024309396744, + 0.0016936504980549216, + 0.05818312242627144, + -0.03466108441352844, + -0.015252572484314442, + -0.022461852058768272, + -0.07961305975914001, + 0.0396934412419796, + 0.0033413595519959927, + 0.04500851780176163, + -0.022716296836733818, + 0.02338068187236786, + 0.0010946441907435656, + -0.0695483386516571, + -0.010934073477983475, + -0.0214016642421484, + -0.047722600400447845, + -0.012877751141786575, + -0.04828803241252899, + -0.03884529322385788, + 0.02179746702313423, + 0.05628892034292221, + 0.10042101889848709, + -0.003678852692246437, + -0.023055557161569595, + -0.008538047783076763, + 0.04506506025791168, + -0.040569864213466644, + -0.021189626306295395, + 0.004452790133655071, + -0.0032865831162780523, + -0.0006144673679955304, + -0.025034574791789055, + 0.030900949612259865, + 0.029006745666265488, + -0.026123033836483955, + -0.01864517480134964, + 0.013181671500205994, + 0.007993818260729313, + 0.01132280845195055, + -0.059766337275505066, + 0.007378909271210432, + -0.04237925261259079, + -0.028299953788518906, + 0.0005186086636967957, + -0.014842633157968521, + -0.0387604758143425, + -0.004519935231655836, + 0.007569742854684591, + -0.018362456932663918, + 0.021627837792038918, + 0.050521496683359146, + -0.019662955775856972, + -0.010071787051856518, + -0.025896860286593437, + 0.038279857486486435, + -0.00533274607732892, + 0.011018888093531132, + 0.002320044906809926, + -0.03296478092670441, + 0.007103260140866041, + 0.0013022643979638815, + -0.0029596916865557432, + -0.011697408743202686, + 0.05210471153259277, + -0.038081955164670944, + -0.016369303688406944, + 0.014941584318876266, + 0.01243247278034687, + 0.0368945449590683, + 0.03743170574307442, + 0.006555496249347925, + 0.050860755145549774, + 0.022278085350990295, + 0.09324000775814056, + -0.017146775498986244, + 0.015662511810660362, + 0.04486716166138649, + 0.05597793310880661, + 0.0378275103867054, + -0.022051911801099777, + 0.011252129450440407, + -0.055525586009025574, + -0.06903944909572601, + -0.004297295585274696, + 0.015450474806129932, + -0.010297960601747036, + 0.051878537982702255, + 0.012135619297623634, + 0.045347779989242554, + -0.0009621207136660814, + -0.0260664913803339, + -0.006453011650592089, + -0.027861742302775383, + -0.00496168015524745, + 0.024794265627861023, + 0.019988078624010086, + 0.00848857220262289, + 0.005428162869066, + -0.0012254007160663605, + -0.018433136865496635, + -0.024610498920083046, + 0.045121606439352036, + -0.029459092766046524, + 0.03949553892016411, + -0.005244397092610598, + 0.012262842617928982, + -0.014701275154948235, + -0.0004256213433109224, + 0.013909667730331421, + 0.0387604758143425, + 0.03726207837462425, + -0.0207796860486269, + 0.016595477238297462, + 0.03169255703687668, + 0.009569964371621609, + -0.00913175381720066, + 0.03624429553747177, + -0.01631276123225689, + 0.07865182310342789, + 0.007456656079739332, + 0.009075210429728031, + -0.019055113196372986, + 0.03364330157637596, + -0.03483071178197861, + -0.053150761872529984, + 0.04944717139005661, + -0.03186218440532684, + -0.032031815499067307, + -0.022984877228736877, + -0.012913091108202934, + 0.00012203207006677985, + -0.040767766535282135, + -0.036074668169021606, + -0.007378909271210432, + 0.011775155551731586, + 0.05840929597616196, + 0.012397132813930511, + -0.06977451592683792, + -0.005763889290392399, + -0.01454578060656786, + -0.006414137780666351, + 0.0021451138891279697, + 0.06626882404088974, + 0.005848704371601343, + -0.012595034204423428, + 0.036216024309396744, + -0.024751858785748482, + 0.05365965515375137, + -0.01126626506447792, + 0.03126848116517067, + -0.014220655895769596, + 0.021995369344949722, + 0.0011980124982073903, + -0.015026398934423923, + -0.0015204864321276546, + 0.01938023790717125, + -0.0021716186311095953, + -0.0060536740347743034, + -0.0016362236347049475, + 0.002867808798328042, + 0.055836573243141174, + -0.020567648112773895, + 0.003272447269409895, + 0.0030374389607459307, + -0.051991622895002365, + -0.022504258900880814, + 0.010552405379712582, + -0.02237703651189804, + -0.05869201198220253, + 0.02738112397491932, + -0.02575550228357315, + 0.039325911551713943, + -0.008863172493875027, + -0.025854453444480896, + -0.008128108456730843, + -0.011930650100111961, + 0.026349207386374474, + 0.005657870322465897, + 0.007937274873256683, + -0.0126445097848773, + 0.03477416932582855, + -0.01662374846637249, + 0.010842190124094486, + 0.013280622661113739, + 0.030250700190663338, + 0.04339703172445297, + -0.00926604401320219, + 0.021458206698298454, + 0.029006745666265488, + 0.030589960515499115, + 0.023960251361131668, + 0.015040535479784012, + 0.062480419874191284, + 0.03833639994263649, + 0.014687138609588146, + 0.05015396326780319, + 0.003940365742892027, + -0.0375165231525898, + -0.00123070168774575, + -0.00934379082173109, + -0.004908670671284199, + -0.026504702866077423, + -0.013994483277201653, + -0.01038984302431345, + 0.009386198595166206, + 0.021118946373462677, + 0.005792160984128714, + 0.041304927319288254, + -0.037884052842855453, + -0.050945572555065155, + 0.02991143986582756, + 0.011548982001841068, + 0.011859971098601818, + 0.04164418950676918, + 0.058635469526052475, + 0.0409373976290226, + 0.013188740238547325, + -0.031183665618300438, + 0.01584627851843834, + 0.0242005605250597, + -0.016185538843274117, + 0.0384494885802269, + -0.05252878740429878, + 0.03895837813615799, + 0.008219991810619831, + -0.03126848116517067, + -0.03146638348698616, + -0.0015284378314390779, + -0.006131421308964491, + -0.004265489988029003, + 0.03282342478632927, + 0.03367157280445099, + 0.005467036738991737, + -0.01872999034821987, + 0.00230237515643239, + 0.0027741589583456516, + -0.02024252526462078, + 0.06575993448495865, + 0.10517065972089767, + 0.0400044322013855, + 0.006884154863655567, + 0.024681178852915764, + 0.01841900125145912, + 0.038817018270492554, + 0.008686474524438381, + 0.020284932106733322, + -0.03460453823208809, + 0.0424923375248909, + 0.014086365699768066, + -0.043255675584077835, + 0.002646936336532235, + -0.0037707355804741383, + 0.006636777427047491, + 0.009697186760604382, + 0.014800225384533405, + 0.0558648444712162, + 0.016524799168109894, + -0.04102221131324768, + -0.049277544021606445, + -0.048259761184453964, + -0.028271682560443878, + -0.012609170749783516, + -0.015408067032694817, + 0.020412154495716095, + 0.03143811225891113, + 0.02551519311964512, + -0.034943800419569016, + 0.00039469919283874333, + -0.02004462294280529, + 0.041898634284734726, + -0.027140814810991287, + -0.028766436502337456, + 0.00940033420920372, + -0.027027728036046028, + 0.009704254567623138, + -0.039297640323638916, + 0.019719498232007027, + 0.03364330157637596, + -0.017372949048876762, + -0.0033166217617690563, + -0.030900949612259865, + -0.0008238544687628746, + 0.055016692727804184, + 0.001722805667668581, + -0.022475987672805786, + 0.012552627362310886, + 0.017584986984729767, + -0.005159582011401653, + -0.006590835750102997, + 0.017259862273931503, + 0.03924109414219856, + -0.015450474806129932, + 0.03542441874742508, + -0.0020850365981459618, + -0.030674776062369347, + 0.013004973530769348, + -0.049927789717912674, + -0.013153400272130966, + -0.01817869208753109, + -0.053037676960229874, + -0.006120819132775068, + -0.007099726237356663, + -8.785204408923164e-05, + 0.0023553846403956413, + 0.025727231055498123, + 0.008424961008131504, + -0.04780741408467293, + 0.03542441874742508, + 0.00044770858949050307, + 0.01347852498292923, + 0.004477527923882008, + 0.01872999034821987, + -0.026363343000411987, + 0.0009020433644764125, + 0.0378275103867054, + 0.016100723296403885, + -0.0042902277782559395, + 0.007725237403064966, + -0.002540917368605733, + 0.07605082541704178, + 0.008474436588585377, + -0.01553528942167759, + -0.012453676201403141, + -0.018857212737202644, + 0.021500615403056145, + 0.0003953617997467518, + 0.004332635551691055, + -0.10794128477573395, + 0.0135774752125144, + -0.012213367037475109, + 0.019988078624010086, + -0.02404506504535675, + 0.018786532804369926, + 0.04842939227819443, + -0.028752300888299942, + 0.032455891370773315, + -0.00475671049207449, + -0.03353021666407585, + 0.005562453530728817, + 0.007499063853174448, + -0.036216024309396744, + -0.01251021958887577, + -0.019648820161819458, + 0.01919647306203842, + -0.029119832441210747 + ], + "result": "--- 结果 1 (相似度: 1.000) ---\n文件路径: C:\\Steam\\steamapps\\common\\RimWorld\\Data\\dll1.6\\RimWorld\\Building_TurretGun.txt\n\npublic class Building_TurretGun : Building_Turret\n{\n\tprotected int burstCooldownTicksLeft;\n\n\tprotected int burstWarmupTicksLeft;\n\n\tprotected LocalTargetInfo currentTargetInt = LocalTargetInfo.Invalid;\n\n\tprivate bool holdFire;\n\n\tprivate bool burstActivated;\n\n\tpublic Thing gun;\n\n\tprotected TurretTop top;\n\n\tprotected CompPowerTrader powerComp;\n\n\tprotected CompCanBeDormant dormantComp;\n\n\tprotected CompInitiatable initiatableComp;\n\n\tprotected CompMannable mannableComp;\n\n\tprotected CompInteractable interactableComp;\n\n\tpublic CompRefuelable refuelableComp;\n\n\tprotected Effecter progressBarEffecter;\n\n\tprotected CompMechPowerCell powerCellComp;\n\n\tprotected CompHackable hackableComp;\n\n\tprivate const int TryStartShootSomethingIntervalTicks = 15;\n\n\tpublic static Material ForcedTargetLineMat = MaterialPool.MatFrom(GenDraw.LineTexPath, ShaderDatabase.Transparent, new Color(1f, 0.5f, 0.5f));\n\n\tpublic bool Active\n\t{\n\t\tget\n\t\t{\n\t\t\tif ((powerComp == null || powerComp.PowerOn) && (dormantComp == null || dormantComp.Awake) && (initiatableComp == null || initiatableComp.Initiated) && (interactableComp == null || burstActivated) && (powerCellComp == null || !powerCellComp.depleted))\n\t\t\t{\n\t\t\t\tif (hackableComp != null)\n\t\t\t\t{\n\t\t\t\t\treturn !hackableComp.IsHacked;\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 CompEquippable GunCompEq => gun.TryGetComp();\n\n\tpublic override LocalTargetInfo CurrentTarget => currentTargetInt;\n\n\tprivate bool WarmingUp => burstWarmupTicksLeft > 0;\n\n\tpublic override Verb AttackVerb => GunCompEq.PrimaryVerb;\n\n\tpublic bool IsMannable => mannableComp != null;\n\n\tprivate bool PlayerControlled\n\t{\n\t\tget\n\t\t{\n\t\t\tif ((base.Faction == Faction.OfPlayer || MannedByColonist) && !MannedByNonColonist)\n\t\t\t{\n\t\t\t\treturn !IsActivable;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tprotected virtual bool CanSetForcedTarget\n\t{\n\t\tget\n\t\t{\n\t\t\tif (mannableComp != null)\n\t\t\t{\n\t\t\t\treturn PlayerControlled;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tprivate bool CanToggleHoldFire => PlayerControlled;\n\n\tprivate bool IsMortar => def.building.IsMortar;\n\n\tprivate bool IsMortarOrProjectileFliesOverhead\n\t{\n\t\tget\n\t\t{\n\t\t\tif (!AttackVerb.ProjectileFliesOverhead())\n\t\t\t{\n\t\t\t\treturn IsMortar;\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t}\n\n\tprivate bool IsActivable => interactableComp != null;\n\n\tprotected virtual bool HideForceTargetGizmo => false;\n\n\tpublic TurretTop Top => top;\n\n\tprivate bool CanExtractShell\n\t{\n\t\tget\n\t\t{\n\t\t\tif (!PlayerControlled)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn gun.TryGetComp()?.Loaded ?? false;\n\t\t}\n\t}\n\n\tprivate bool MannedByColonist\n\t{\n\t\tget\n\t\t{\n\t\t\tif (mannableComp != null && mannableComp.ManningPawn != null)\n\t\t\t{\n\t\t\t\treturn mannableComp.ManningPawn.Faction == Faction.OfPlayer;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tprivate bool MannedByNonColonist\n\t{\n\t\tget\n\t\t{\n\t\t\tif (mannableComp != null && mannableComp.ManningPawn != null)\n\t\t\t{\n\t\t\t\treturn mannableComp.ManningPawn.Faction != Faction.OfPlayer;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic Building_TurretGun()\n\t{\n\t\ttop = new TurretTop(this);\n\t}\n\n\tpublic override void PostMake()\n\t{\n\t\tbase.PostMake();\n\t\tburstCooldownTicksLeft = def.building.turretInitialCooldownTime.SecondsToTicks();\n\t\tMakeGun();\n\t}\n\n\tpublic override void SpawnSetup(Map map, bool respawningAfterLoad)\n\t{\n\t\tbase.SpawnSetup(map, respawningAfterLoad);\n\t\tdormantComp = GetComp();\n\t\tinitiatableComp = GetComp();\n\t\tpowerComp = GetComp();\n\t\tmannableComp = GetComp();\n\t\tinteractableComp = GetComp();\n\t\trefuelableComp = GetComp();\n\t\tpowerCellComp = GetComp();\n\t\thackableComp = GetComp();\n\t\tif (!respawningAfterLoad)\n\t\t{\n\t\t\ttop.SetRotationFromOrientation();\n\t\t}\n\t}\n\n\tpublic override void DeSpawn(DestroyMode mode = DestroyMode.Vanish)\n\t{\n\t\tbase.DeSpawn(mode);\n\t\tResetCurrentTarget();\n\t\tprogressBarEffecter?.Cleanup();\n\t}\n\n\tpublic override void ExposeData()\n\t{\n\t\tbase.ExposeData();\n\t\tScribe_Values.Look(ref burstCooldownTicksLeft, \"burstCooldownTicksLeft\", 0);\n\t\tScribe_Values.Look(ref burstWarmupTicksLeft, \"burstWarmupTicksLeft\", 0);\n\t\tScribe_TargetInfo.Look(ref currentTargetInt, \"currentTarget\");\n\t\tScribe_Values.Look(ref holdFire, \"holdFire\", defaultValue: false);\n\t\tScribe_Values.Look(ref burstActivated, \"burstActivated\", defaultValue: false);\n\t\tScribe_Deep.Look(ref gun, \"gun\");\n\t\tBackCompatibility.PostExposeData(this);\n\t\tif (Scribe.mode == LoadSaveMode.PostLoadInit)\n\t\t{\n\t\t\tif (gun == null)\n\t\t\t{\n\t\t\t\tLog.Error(\"Turret had null gun after loading. Recreating.\");\n\t\t\t\tMakeGun();\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tUpdateGunVerbs();\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic override AcceptanceReport ClaimableBy(Faction by)\n\t{\n\t\tAcceptanceReport result = base.ClaimableBy(by);\n\t\tif (!result.Accepted)\n\t\t{\n\t\t\treturn result;\n\t\t}\n\t\tif (mannableComp != null && mannableComp.ManningPawn != null)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tif (Active && mannableComp == null)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tif (((dormantComp != null && !dormantComp.Awake) || (initiatableComp != null && !initiatableComp.Initiated)) && (powerComp == null || powerComp.PowerOn))\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t}\n\n\tpublic override void OrderAttack(LocalTargetInfo targ)\n\t{\n\t\tif (!targ.IsValid)\n\t\t{\n\t\t\tif (forcedTarget.IsValid)\n\t\t\t{\n\t\t\t\tResetForcedTarget();\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\t\tif ((targ.Cell - base.Position).LengthHorizontal < AttackVerb.verbProps.EffectiveMinRange(targ, this))\n\t\t{\n\t\t\tMessages.Message(\"MessageTargetBelowMinimumRange\".Translate(), this, MessageTypeDefOf.RejectInput, historical: false);\n\t\t\treturn;\n\t\t}\n\t\tif ((targ.Cell - base.Position).LengthHorizontal > AttackVerb.EffectiveRange)\n\t\t{\n\t\t\tMessages.Message(\"MessageTargetBeyondMaximumRange\".Translate(), this, MessageTypeDefOf.RejectInput, historical: false);\n\t\t\treturn;\n\t\t}\n\t\tif (forcedTarget != targ)\n\t\t{\n\t\t\tforcedTarget = targ;\n\t\t\tif (burstCooldownTicksLeft <= 0)\n\t\t\t{\n\t\t\t\tTryStartShootSomething(canBeginBurstImmediately: false);\n\t\t\t}\n\t\t}\n\t\tif (holdFire)\n\t\t{\n\t\t\tMessages.Message(\"MessageTurretWontFireBecauseHoldFire\".Translate(def.label), this, MessageTypeDefOf.RejectInput, historical: false);\n\t\t}\n\t}\n\n\tprotected override void Tick()\n\t{\n\t\tbase.Tick();\n\t\tif (CanExtractShell && MannedByColonist)\n\t\t{\n\t\t\tCompChangeableProjectile compChangeableProjectile = gun.TryGetComp();\n\t\t\tif (!compChangeableProjectile.allowedShellsSettings.AllowedToAccept(compChangeableProjectile.LoadedShell))\n\t\t\t{\n\t\t\t\tExtractShell();\n\t\t\t}\n\t\t}\n\t\tif (forcedTarget.IsValid && !CanSetForcedTarget)\n\t\t{\n\t\t\tResetForcedTarget();\n\t\t}\n\t\tif (!CanToggleHoldFire)\n\t\t{\n\t\t\tholdFire = false;\n\t\t}\n\t\tif (forcedTarget.ThingDestroyed)\n\t\t{\n\t\t\tResetForcedTarget();\n\t\t}\n\t\tif (Active && (mannableComp == null || mannableComp.MannedNow) && !base.IsStunned && base.Spawned)\n\t\t{\n\t\t\tGunCompEq.verbTracker.VerbsTick();\n\t\t\tif (AttackVerb.state == VerbState.Bursting)\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tburstActivated = false;\n\t\t\tif (WarmingUp)\n\t\t\t{\n\t\t\t\tburstWarmupTicksLeft--;\n\t\t\t\tif (burstWarmupTicksLeft <= 0)\n\t\t\t\t{\n\t\t\t\t\tBeginBurst();\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tif (burstCooldownTicksLeft > 0)\n\t\t\t\t{\n\t\t\t\t\tburstCooldownTicksLeft--;\n\t\t\t\t\tif (IsMortar)\n\t\t\t\t\t{\n\t\t\t\t\t\tif (progressBarEffecter == null)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tprogressBarEffecter = EffecterDefOf.ProgressBar.Spawn();\n\t\t\t\t\t\t}\n\t\t\t\t\t\tprogressBarEffecter.EffectTick(this, TargetInfo.Invalid);\n\t\t\t\t\t\tMoteProgressBar mote = ((SubEffecter_ProgressBar)progressBarEffecter.children[0]).mote;\n\t\t\t\t\t\tmote.progress = 1f - (float)Math.Max(burstCooldownTicksLeft, 0) / (float)BurstCooldownTime().SecondsToTicks();\n\t\t\t\t\t\tmote.offsetZ = -0.8f;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (burstCooldownTicksLeft <= 0 && this.IsHashIntervalTick(15))\n\t\t\t\t{\n\t\t\t\t\tTryStartShootSomething(canBeginBurstImmediately: true);\n\t\t\t\t}\n\t\t\t}\n\t\t\ttop.TurretTopTick();\n\t\t}\n\t\telse\n\t\t{\n\t\t\tResetCurrentTarget();\n\t\t}\n\t}\n\n\tpublic void TryActivateBurst()\n\t{\n\t\tburstActivated = true;\n\t\tTryStartShootSomething(canBeginBurstImmediately: true);\n\t}\n\n\tpublic void TryStartShootSomething(bool canBeginBurstImmediately)\n\t{\n\t\tif (progressBarEffecter != null)\n\t\t{\n\t\t\tprogressBarEffecter.Cleanup();\n\t\t\tprogressBarEffecter = null;\n\t\t}\n\t\tif (!base.Spawned || (holdFire && CanToggleHoldFire) || (AttackVerb.ProjectileFliesOverhead() && base.Map.roofGrid.Roofed(base.Position)) || !AttackVerb.Available())\n\t\t{\n\t\t\tResetCurrentTarget();\n\t\t\treturn;\n\t\t}\n\t\tbool isValid = currentTargetInt.IsValid;\n\t\tif (forcedTarget.IsValid)\n\t\t{\n\t\t\tcurrentTargetInt = forcedTarget;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tcurrentTargetInt = TryFindNewTarget();\n\t\t}\n\t\tif (!isValid && currentTargetInt.IsValid && def.building.playTargetAcquiredSound)\n\t\t{\n\t\t\tSoundDefOf.TurretAcquireTarget.PlayOneShot(new TargetInfo(base.Position, base.Map));\n\t\t}\n\t\tif (currentTargetInt.IsValid)\n\t\t{\n\t\t\tfloat randomInRange = def.building.turretBurstWarmupTime.RandomInRange;\n\t\t\tif (randomInRange > 0f)\n\t\t\t{\n\t\t\t\tburstWarmupTicksLeft = randomInRange.SecondsToTicks();\n\t\t\t}\n\t\t\telse if (canBeginBurstImmediately)\n\t\t\t{\n\t\t\t\tBeginBurst();\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tburstWarmupTicksLeft = 1;\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tResetCurrentTarget();\n\t\t}\n\t}\n\n\tpublic virtual LocalTargetInfo TryFindNewTarget()\n\t{\n\t\tIAttackTargetSearcher attackTargetSearcher = TargSearcher();\n\t\tFaction faction = attackTargetSearcher.Thing.Faction;\n\t\tfloat range = AttackVerb.EffectiveRange;\n\t\tif (Rand.Value < 0.5f && AttackVerb.ProjectileFliesOverhead() && faction.HostileTo(Faction.OfPlayer) && base.Map.listerBuildings.allBuildingsColonist.Where(delegate(Building x)\n\t\t{\n\t\t\tfloat num = AttackVerb.verbProps.EffectiveMinRange(x, this);\n\t\t\tfloat num2 = x.Position.DistanceToSquared(base.Position);\n\t\t\treturn num2 > num * num && num2 < range * range;\n\t\t}).TryRandomElement(out var result))\n\t\t{\n\t\t\treturn result;\n\t\t}\n\t\tTargetScanFlags targetScanFlags = TargetScanFlags.NeedThreat | TargetScanFlags.NeedAutoTargetable;\n\t\tif (!AttackVerb.ProjectileFliesOverhead())\n\t\t{\n\t\t\ttargetScanFlags |= TargetScanFlags.NeedLOSToAll;\n\t\t\ttargetScanFlags |= TargetScanFlags.LOSBlockableByGas;\n\t\t}\n\t\tif (AttackVerb.IsIncendiary_Ranged())\n\t\t{\n\t\t\ttargetScanFlags |= TargetScanFlags.NeedNonBurning;\n\t\t}\n\t\tif (IsMortar)\n\t\t{\n\t\t\ttargetScanFlags |= TargetScanFlags.NeedNotUnderThickRoof;\n\t\t}\n\t\treturn (Thing)AttackTargetFinder.BestShootTargetFromCurrentPosition(attackTargetSearcher, targetScanFlags, IsValidTarget);\n\t}\n\n\tprivate IAttackTargetSearcher TargSearcher()\n\t{\n\t\tif (mannableComp != null && mannableComp.MannedNow)\n\t\t{\n\t\t\treturn mannableComp.ManningPawn;\n\t\t}\n\t\treturn this;\n\t}\n\n\tprivate bool IsValidTarget(Thing t)\n\t{\n\t\tif (t is Pawn pawn)\n\t\t{\n\t\t\tif (base.Faction == Faction.OfPlayer && pawn.IsPrisoner)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tif (AttackVerb.ProjectileFliesOverhead())\n\t\t\t{\n\t\t\t\tRoofDef roofDef = base.Map.roofGrid.RoofAt(t.Position);\n\t\t\t\tif (roofDef != null && roofDef.isThickRoof)\n\t\t\t\t{\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (mannableComp == null)\n\t\t\t{\n\t\t\t\treturn !GenAI.MachinesLike(base.Faction, pawn);\n\t\t\t}\n\t\t\tif (pawn.RaceProps.Animal && pawn.Faction == Faction.OfPlayer)\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\tprotected virtual void BeginBurst()\n\t{\n\t\tAttackVerb.TryStartCastOn(CurrentTarget);\n\t\tOnAttackedTarget(CurrentTarget);\n\t}\n\n\tprotected void BurstComplete()\n\t{\n\t\tburstCooldownTicksLeft = BurstCooldownTime().SecondsToTicks();\n\t}\n\n\tprotected float BurstCooldownTime()\n\t{\n\t\tif (def.building.turretBurstCooldownTime >= 0f)\n\t\t{\n\t\t\treturn def.building.turretBurstCooldownTime;\n\t\t}\n\t\treturn AttackVerb.verbProps.defaultCooldownTime;\n\t}\n\n\tpublic override string GetInspectString()\n\t{\n\t\tStringBuilder stringBuilder = new StringBuilder();\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 (AttackVerb.verbProps.minRange > 0f)\n\t\t{\n\t\t\tstringBuilder.AppendLine(\"MinimumRange\".Translate() + \": \" + AttackVerb.verbProps.minRange.ToString(\"F0\"));\n\t\t}\n\t\tif (base.Spawned && IsMortarOrProjectileFliesOverhead && base.Position.Roofed(base.Map))\n\t\t{\n\t\t\tstringBuilder.AppendLine(\"CannotFire\".Translate() + \": \" + \"Roofed\".Translate().CapitalizeFirst());\n\t\t}\n\t\telse if (base.Spawned && burstCooldownTicksLeft > 0 && BurstCooldownTime() > 5f)\n\t\t{\n\t\t\tstringBuilder.AppendLine(\"CanFireIn\".Translate() + \": \" + burstCooldownTicksLeft.ToStringSecondsFromTicks());\n\t\t}\n\t\tCompChangeableProjectile compChangeableProjectile = gun.TryGetComp();\n\t\tif (compChangeableProjectile != null)\n\t\t{\n\t\t\tif (compChangeableProjectile.Loaded)\n\t\t\t{\n\t\t\t\tstringBuilder.AppendLine(\"ShellLoaded\".Translate(compChangeableProjectile.LoadedShell.LabelCap, compChangeableProjectile.LoadedShell));\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tstringBuilder.AppendLine(\"ShellNotLoaded\".Translate());\n\t\t\t}\n\t\t}\n\t\treturn stringBuilder.ToString().TrimEndNewlines();\n\t}\n\n\tprotected override void DrawAt(Vector3 drawLoc, bool flip = false)\n\t{\n\t\tVector3 drawOffset = Vector3.zero;\n\t\tfloat angleOffset = 0f;\n\t\tif (IsMortar)\n\t\t{\n\t\t\tEquipmentUtility.Recoil(def.building.turretGunDef, (Verb_LaunchProjectile)AttackVerb, out drawOffset, out angleOffset, top.CurRotation);\n\t\t}\n\t\ttop.DrawTurret(drawLoc, drawOffset, angleOffset);\n\t\tbase.DrawAt(drawLoc, flip);\n\t}\n\n\tpublic override void DrawExtraSelectionOverlays()\n\t{\n\t\tbase.DrawExtraSelectionOverlays();\n\t\tfloat effectiveRange = AttackVerb.EffectiveRange;\n\t\tif (effectiveRange < 90f)\n\t\t{\n\t\t\tGenDraw.DrawRadiusRing(base.Position, effectiveRange);\n\t\t}\n\t\tfloat num = AttackVerb.verbProps.EffectiveMinRange(allowAdjacentShot: true);\n\t\tif (num < 90f && num > 0.1f)\n\t\t{\n\t\t\tGenDraw.DrawRadiusRing(base.Position, num);\n\t\t}\n\t\tif (WarmingUp)\n\t\t{\n\t\t\tint degreesWide = (int)((float)burstWarmupTicksLeft * 0.5f);\n\t\t\tGenDraw.DrawAimPie(this, CurrentTarget, degreesWide, (float)def.size.x * 0.5f);\n\t\t}\n\t\tif (forcedTarget.IsValid && (!forcedTarget.HasThing || forcedTarget.Thing.Spawned))\n\t\t{\n\t\t\tVector3 b = ((!forcedTarget.HasThing) ? forcedTarget.Cell.ToVector3Shifted() : forcedTarget.Thing.TrueCenter());\n\t\t\tVector3 a = this.TrueCenter();\n\t\t\tb.y = AltitudeLayer.MetaOverlays.AltitudeFor();\n\t\t\ta.y = b.y;\n\t\t\tGenDraw.DrawLineBetween(a, b, ForcedTargetLineMat);\n\t\t}\n\t}\n\n\tpublic override IEnumerable GetGizmos()\n\t{\n\t\tforeach (Gizmo gizmo in base.GetGizmos())\n\t\t{\n\t\t\tyield return gizmo;\n\t\t}\n\t\tif (CanExtractShell)\n\t\t{\n\t\t\tCompChangeableProjectile compChangeableProjectile = gun.TryGetComp();\n\t\t\tCommand_Action command_Action = new Command_Action();\n\t\t\tcommand_Action.defaultLabel = \"CommandExtractShell\".Translate();\n\t\t\tcommand_Action.defaultDesc = \"CommandExtractShellDesc\".Translate();\n\t\t\tcommand_Action.icon = compChangeableProjectile.LoadedShell.uiIcon;\n\t\t\tcommand_Action.iconAngle = compChangeableProjectile.LoadedShell.uiIconAngle;\n\t\t\tcommand_Action.iconOffset = compChangeableProjectile.LoadedShell.uiIconOffset;\n\t\t\tcommand_Action.iconDrawScale = GenUI.IconDrawScale(compChangeableProjectile.LoadedShell);\n\t\t\tcommand_Action.action = delegate\n\t\t\t{\n\t\t\t\tExtractShell();\n\t\t\t};\n\t\t\tyield return command_Action;\n\t\t}\n\t\tCompChangeableProjectile compChangeableProjectile2 = gun.TryGetComp();\n\t\tif (compChangeableProjectile2 != null)\n\t\t{\n\t\t\tStorageSettings storeSettings = compChangeableProjectile2.GetStoreSettings();\n\t\t\tforeach (Gizmo item in StorageSettingsClipboard.CopyPasteGizmosFor(storeSettings))\n\t\t\t{\n\t\t\t\tyield return item;\n\t\t\t}\n\t\t}\n\t\tif (!HideForceTargetGizmo)\n\t\t{\n\t\t\tif (CanSetForcedTarget)\n\t\t\t{\n\t\t\t\tCommand_VerbTarget command_VerbTarget = new Command_VerbTarget();\n\t\t\t\tcommand_VerbTarget.defaultLabel = \"CommandSetForceAttackTarget\".Translate();\n\t\t\t\tcommand_VerbTarget.defaultDesc = \"CommandSetForceAttackTargetDesc\".Translate();\n\t\t\t\tcommand_VerbTarget.icon = ContentFinder.Get(\"UI/Commands/Attack\");\n\t\t\t\tcommand_VerbTarget.verb = AttackVerb;\n\t\t\t\tcommand_VerbTarget.hotKey = KeyBindingDefOf.Misc4;\n\t\t\t\tcommand_VerbTarget.drawRadius = false;\n\t\t\t\tcommand_VerbTarget.requiresAvailableVerb = false;\n\t\t\t\tif (base.Spawned && IsMortarOrProjectileFliesOverhead && base.Position.Roofed(base.Map))\n\t\t\t\t{\n\t\t\t\t\tcommand_VerbTarget.Disable(\"CannotFire\".Translate() + \": \" + \"Roofed\".Translate().CapitalizeFirst());\n\t\t\t\t}\n\t\t\t\tyield return command_VerbTarget;\n\t\t\t}\n\t\t\tif (forcedTarget.IsValid)\n\t\t\t{\n\t\t\t\tCommand_Action command_Action2 = new Command_Action();\n\t\t\t\tcommand_Action2.defaultLabel = \"CommandStopForceAttack\".Translate();\n\t\t\t\tcommand_Action2.defaultDesc = \"CommandStopForceAttackDesc\".Translate();\n\t\t\t\tcommand_Action2.icon = ContentFinder.Get(\"UI/Commands/Halt\");\n\t\t\t\tcommand_Action2.action = delegate\n\t\t\t\t{\n\t\t\t\t\tResetForcedTarget();\n\t\t\t\t\tSoundDefOf.Tick_Low.PlayOneShotOnCamera();\n\t\t\t\t};\n\t\t\t\tif (!forcedTarget.IsValid)\n\t\t\t\t{\n\t\t\t\t\tcommand_Action2.Disable(\"CommandStopAttackFailNotForceAttacking\".Translate());\n\t\t\t\t}\n\t\t\t\tcommand_Action2.hotKey = KeyBindingDefOf.Misc5;\n\t\t\t\tyield return command_Action2;\n\t\t\t}\n\t\t}\n\t\tif (!CanToggleHoldFire)\n\t\t{\n\t\t\tyield break;\n\t\t}\n\t\tCommand_Toggle command_Toggle = new Command_Toggle();\n\t\tcommand_Toggle.defaultLabel = \"CommandHoldFire\".Translate();\n\t\tcommand_Toggle.defaultDesc = \"CommandHoldFireDesc\".Translate();\n\t\tcommand_Toggle.icon = ContentFinder.Get(\"UI/Commands/HoldFire\");\n\t\tcommand_Toggle.hotKey = KeyBindingDefOf.Misc6;\n\t\tcommand_Toggle.toggleAction = delegate\n\t\t{\n\t\t\tholdFire = !holdFire;\n\t\t\tif (holdFire)\n\t\t\t{\n\t\t\t\tResetForcedTarget();\n\t\t\t}\n\t\t};\n\t\tcommand_Toggle.isActive = () => holdFire;\n\t\tyield return command_Toggle;\n\t}\n\n\tprivate void ExtractShell()\n\t{\n\t\tGenPlace.TryPlaceThing(gun.TryGetComp().RemoveShell(), base.Position, base.Map, ThingPlaceMode.Near);\n\t}\n\n\tprivate void ResetForcedTarget()\n\t{\n\t\tforcedTarget = LocalTargetInfo.Invalid;\n\t\tburstWarmupTicksLeft = 0;\n\t\tif (burstCooldownTicksLeft <= 0)\n\t\t{\n\t\t\tTryStartShootSomething(canBeginBurstImmediately: false);\n\t\t}\n\t}\n\n\tprivate void ResetCurrentTarget()\n\t{\n\t\tcurrentTargetInt = LocalTargetInfo.Invalid;\n\t\tburstWarmupTicksLeft = 0;\n\t}\n\n\tpublic void MakeGun()\n\t{\n\t\tgun = ThingMaker.MakeThing(def.building.turretGunDef);\n\t\tUpdateGunVerbs();\n\t}\n\n\tprivate void UpdateGunVerbs()\n\t{\n\t\tList allVerbs = gun.TryGetComp().AllVerbs;\n\t\tfor (int i = 0; i < allVerbs.Count; i++)\n\t\t{\n\t\t\tVerb verb = allVerbs[i];\n\t\t\tverb.caster = this;\n\t\t\tverb.castCompleteCallback = BurstComplete;\n\t\t}\n\t}\n}\n\n", + "timestamp": "2025-08-28 12:14:57,086" + }, + "Building_PassengerShuttle-class-implementation": { + "keywords": [ + "Building_PassengerShuttle", + "class", + "implementation" + ], + "question": "Building_PassengerShuttle class implementation", + "embedding": [ + -0.054860085248947144, + 0.015749378129839897, + 0.038585226982831955, + -0.04597197100520134, + 0.003742166329175234, + -0.02361655980348587, + -0.0026330286636948586, + 0.003974878694862127, + -0.018346749246120453, + 0.08533790707588196, + 0.02312110736966133, + -0.05350885167717934, + 0.037053827196359634, + 0.06407850235700607, + -0.01350482925772667, + 0.0008881545509211719, + -0.07632968574762344, + -0.09566733986139297, + -0.06846249848604202, + -0.003483179956674576, + 0.03651333227753639, + 0.08071368932723999, + 0.011755731888115406, + 0.02309107966721058, + -0.014938637614250183, + -0.018842201679944992, + -0.0072028255090117455, + 0.021379517391324043, + -0.03774445876479149, + -0.09308498352766037, + 0.03309020772576332, + -0.07362721860408783, + 0.00599422212690115, + -0.02450236864387989, + -0.008662908338010311, + 0.013850144110620022, + 0.01225869171321392, + -0.007154031191021204, + -0.041978321969509125, + 0.038465116173028946, + -0.02764023281633854, + -0.003620180068537593, + -0.0170405562967062, + -0.000894723052624613, + -0.010457046329975128, + 0.01394773367792368, + 0.027475083246827126, + -0.048163969069719315, + -0.06401844322681427, + -0.0442303791642189, + -0.040717173367738724, + -0.027054699137806892, + 0.0026743165217339993, + 0.048944681882858276, + 0.009225922636687756, + 0.023511463776230812, + -0.010442032478749752, + 0.033030156046152115, + -0.007694524712860584, + 0.010914964601397514, + 0.0113728828728199, + 0.06146611273288727, + 0.0041738105937838554, + -0.004673016257584095, + 0.017460940405726433, + -0.030868180096149445, + 0.06996387243270874, + 0.0015492268139496446, + -0.00915085431188345, + -0.03735410049557686, + 0.017956392839550972, + 0.012221156619489193, + -0.030252618715167046, + -0.01628987118601799, + -0.04693284630775452, + 0.041858214884996414, + 0.029967358335852623, + 0.003327412763610482, + -0.03774445876479149, + 0.010517101734876633, + 0.002972713904455304, + 0.01969798281788826, + -0.0014216103591024876, + -0.02196505293250084, + 0.04266895353794098, + -0.007503099739551544, + -0.0044778380542993546, + 0.018001433461904526, + 0.03179902955889702, + 0.023061053827404976, + 0.032819963991642, + -0.050205834209918976, + -0.004879454616457224, + -0.012048499658703804, + 0.03609295189380646, + -0.0012893020175397396, + -0.05035597085952759, + -0.015959570184350014, + -0.004958276636898518, + 0.041227638721466064, + -0.03140867501497269, + -0.11020060628652573, + 0.0011044457787647843, + 0.015419076196849346, + 0.01465337723493576, + 0.04636232554912567, + -0.056781839579343796, + 0.04732320457696915, + -0.001219863654114306, + 0.028766261413693428, + 0.014435678720474243, + -0.041467856615781784, + 0.04116758331656456, + 0.028601109981536865, + -0.021679792553186417, + -0.0027231110725551844, + 0.04188824072480202, + 0.02830083668231964, + 0.023946862667798996, + 0.0719456821680069, + 0.03891552612185478, + 0.019262585788965225, + 0.04014665260910988, + -0.043779969215393066, + 0.0025016588624566793, + -0.022535573691129684, + 0.006741154007613659, + 0.020028283819556236, + -0.07242611795663834, + 0.011643129400908947, + -0.05918402969837189, + 0.00732668861746788, + -0.004395262338221073, + -0.023811738938093185, + -0.015223897993564606, + -0.0012930554803460836, + 0.025328122079372406, + 0.017490968108177185, + -0.05362895876169205, + -0.008197483606636524, + 0.0004921680665574968, + 0.019637927412986755, + -0.0004595601640176028, + 0.025823574513196945, + 0.04380999505519867, + -0.06173636019229889, + -0.016755295917391777, + 0.02649919129908085, + -0.01604965142905712, + -0.00990904588252306, + 0.011973431333899498, + -0.006489674560725689, + -0.027354972437024117, + 0.0580429881811142, + 0.024442313238978386, + -0.050205834209918976, + 0.013422253541648388, + -0.027114754542708397, + -0.02424713596701622, + -0.039966486394405365, + -0.02637908235192299, + -0.04131771996617317, + 0.012206143699586391, + -0.02300099842250347, + 0.011057594791054726, + 0.010764827951788902, + 0.06660079956054688, + -0.0006019558059051633, + -0.04783366993069649, + -0.0632377341389656, + -0.01740088500082493, + 0.0008130860514938831, + -0.04807388782501221, + -0.019352667033672333, + 0.06666085869073868, + -0.04405021294951439, + 0.010937484912574291, + 0.05227772518992424, + 0.01490110345184803, + -0.06203663349151611, + 0.04305931180715561, + 0.02059880457818508, + 0.04206840693950653, + 0.02818072773516178, + 0.020493708550930023, + -0.019998256117105484, + -0.0028131932485848665, + 0.0038998101372271776, + 0.04269897937774658, + 0.023166149854660034, + -0.03221941366791725, + 0.0006986065418459475, + 0.020884064957499504, + -0.005555071402341127, + -0.007972277700901031, + 0.011568061076104641, + 0.01445069257169962, + 0.017220720648765564, + -0.05023586004972458, + -0.04651246219873428, + -0.014097870327532291, + -0.010344443842768669, + 0.020748943090438843, + 0.017130639404058456, + 0.07338699698448181, + -0.021364504471421242, + -0.02537316456437111, + -0.003751549869775772, + 0.037324074655771255, + -0.01015677209943533, + 0.06612036377191544, + -0.009443621151149273, + -0.029111577197909355, + -0.0010415759170427918, + -0.027760343626141548, + 0.001270534936338663, + -0.006211921107023954, + -0.03068801574409008, + -6.0993181250523776e-05, + 0.06545975804328918, + -0.06642063707113266, + 0.026198917999863625, + 0.01717568002641201, + 0.004121262580156326, + 0.0029933578334748745, + 0.034141167998313904, + 0.0164249949157238, + 0.01262652687728405, + -0.00603175675496459, + 0.017355844378471375, + -0.018782146275043488, + 0.0024059463758021593, + -0.08701944351196289, + 0.002616138430312276, + 0.023676615208387375, + -0.05389920622110367, + -0.015313980169594288, + -0.0580429881811142, + -0.004537892993539572, + -0.004429043270647526, + -0.00529983825981617, + 0.024982808157801628, + -0.013437267392873764, + -0.025958698242902756, + -0.01680033840239048, + -0.061195868998765945, + 0.0005982023430988193, + -0.021259408444166183, + 0.02564341016113758, + -0.01406784262508154, + 0.029231686145067215, + 0.01993820257484913, + 0.019097434356808662, + 0.013602417893707752, + 0.015351515263319016, + 0.014615843072533607, + 0.003888549981638789, + 0.03573262318968773, + 0.0022351655643433332, + -0.006489674560725689, + -0.011958417482674122, + 0.03675355389714241, + -0.003267357824370265, + 0.03750423714518547, + 0.02801557630300522, + -0.02564341016113758, + 0.012994362972676754, + 0.048163969069719315, + 0.0009139594039879739, + -0.04750336706638336, + -0.005363646429032087, + 0.012964335270226002, + 0.01257397886365652, + -0.012281212024390697, + -0.03738413006067276, + 0.029727138578891754, + 0.039095692336559296, + -0.022280341014266014, + -0.005029591731727123, + -0.029396837577223778, + 0.006606030743569136, + 0.021920012310147285, + 0.02953196130692959, + 0.01842181757092476, + 0.0042113447561860085, + 0.02702467143535614, + 0.014293048530817032, + 0.05344879627227783, + 0.012851732783019543, + -0.004778112284839153, + -0.028375905007123947, + -0.028721220791339874, + 0.005333619192242622, + -0.023841766640543938, + -0.0026930836029350758, + 0.043269503861665726, + -0.0056001124903559685, + 0.015051241032779217, + 0.023301271721720695, + 0.014683404937386513, + -0.02083902433514595, + 0.012986856512725353, + -0.01983310654759407, + 0.016950475051999092, + 0.005697701591998339, + -0.0015989597886800766, + -0.005352386273443699, + -0.09194394201040268, + -0.029231686145067215, + -0.07620957493782043, + 0.0049432627856731415, + 0.05858348309993744, + -0.02184494212269783, + 0.0050483588129282, + -0.009263456799089909, + 0.01842181757092476, + -0.030868180096149445, + 0.017520995810627937, + -0.0024997820146381855, + 0.051076628267765045, + -0.09038251638412476, + -0.021439572796225548, + 0.029381822794675827, + 0.04759344831109047, + 0.0643787756562233, + -0.012071019969880581, + 0.03345053642988205, + 0.02891639806330204, + 0.021874969825148582, + -0.03167892247438431, + -0.016109706833958626, + -0.013775075785815716, + 0.0233463142067194, + 0.07302666455507278, + -0.006512195337563753, + -0.027565164491534233, + 0.01048707403242588, + 0.01779124140739441, + -0.0073492093943059444, + 0.0023890561424195766, + -0.053749069571495056, + 0.08449713885784149, + 0.0065459758043289185, + -0.07218590378761292, + 0.01767113246023655, + 0.015464117750525475, + -0.012288718484342098, + 0.05648156255483627, + -0.015201377682387829, + 0.004706797190010548, + -0.052728138864040375, + -0.012971842661499977, + -0.016950475051999092, + -0.0024547409266233444, + 0.026168890297412872, + -0.020869052037596703, + 0.01668022759258747, + -0.012746636755764484, + -0.04221854358911514, + 0.029516946524381638, + 0.0033705770038068295, + -0.018752118572592735, + -0.00017957801173906773, + 0.07500847429037094, + 0.0783715471625328, + 0.031889110803604126, + -0.041227638721466064, + 0.01755102351307869, + -0.05017580837011337, + 0.012649048119783401, + -0.01143293734639883, + -0.011973431333899498, + 0.004282659851014614, + 0.036453280597925186, + -0.03771442919969559, + 0.05362895876169205, + -0.012468882836401463, + 0.026198917999863625, + -0.013414747081696987, + 0.007443044800311327, + 0.0034981935750693083, + -0.0049507697112858295, + -0.03741415590047836, + -0.04975542426109314, + 0.0058215647004544735, + -0.03191914036870003, + 0.03852517157793045, + 0.020013270899653435, + 0.02613886259496212, + -0.026349054649472237, + -0.0069963871501386166, + 0.004665509331971407, + 0.00539367413148284, + 0.01654510386288166, + 0.00959375873208046, + 0.0046842764131724834, + 0.013850144110620022, + -0.004519125446677208, + 0.04384002462029457, + 0.00940608698874712, + 0.00722534628584981, + -0.011613101698458195, + -0.028090644627809525, + -0.01692044734954834, + -0.00698137329891324, + -0.029261713847517967, + 0.0315888375043869, + 0.0045003583654761314, + -0.0011382265947759151, + 0.00766825070604682, + -0.06497932225465775, + -0.00028009945526719093, + 0.04281909018754959, + 0.009496169164776802, + 0.016319898888468742, + 0.0005423701368272305, + 0.015268939547240734, + -9.483267058385536e-05, + 0.006613537669181824, + -0.00832509994506836, + -0.050716299563646317, + -0.016455022618174553, + -0.032399579882621765, + -0.0183167215436697, + -0.004642988555133343, + 0.03179902955889702, + -0.04708298295736313, + 0.005123427137732506, + -0.023421382531523705, + -0.005889126565307379, + 0.012056006118655205, + -0.029096562415361404, + -0.01370751392096281, + 0.017626091837882996, + 0.0027531383093446493, + -0.024322204291820526, + 0.005408687982708216, + 0.02477261610329151, + -0.0972287654876709, + 0.021394532173871994, + -0.05894381180405617, + -0.02363157458603382, + -0.002130069537088275, + -0.018601981922984123, + -0.013594911433756351, + -0.05128682032227516, + -0.009586251340806484, + -0.03507201746106148, + 0.016950475051999092, + -0.012581486254930496, + -0.026619302108883858, + -0.014780993573367596, + 0.0047668516635894775, + -0.03369075804948807, + 0.012581486254930496, + 0.03813481330871582, + 0.0009758909000083804, + -0.03167892247438431, + -0.012956828810274601, + -0.0004604985297191888, + 0.030507851392030716, + -0.017220720648765564, + 0.0016102200606837869, + 0.023451410233974457, + -0.0007042366778478026, + -0.007994798943400383, + -0.008137429133057594, + 0.0022501791827380657, + -0.060024797916412354, + -0.05443970113992691, + -0.04281909018754959, + 0.002443480771034956, + 0.027114754542708397, + -0.016349926590919495, + 0.0328499898314476, + -0.008084881119430065, + -0.04534139484167099, + 0.03849514201283455, + 0.013977760449051857, + -0.08371642976999283, + -0.04786369577050209, + 0.009383566677570343, + 0.022820834070444107, + 0.01755102351307869, + -0.09764914959669113, + -0.09999128431081772, + 0.005652660503983498, + 0.012025978416204453, + 0.03987640514969826, + -0.01420296635478735, + 0.026304014027118683, + 0.03272987902164459, + 0.015186363831162453, + 0.02210017666220665, + -0.023841766640543938, + 0.024081984534859657, + 0.008775511756539345, + 0.05540057644248009, + 0.013624938204884529, + 0.039456021040678024, + -0.03206927701830864, + 0.018722092732787132, + 0.037924621254205704, + -0.0353422649204731, + -0.013272116892039776, + -0.005187235772609711, + -0.0985499694943428, + -0.0010321923764422536, + 0.0030196316074579954, + 0.0020193434320390224, + -0.0026273985859006643, + 0.04128769412636757, + 0.025448232889175415, + -0.011860827915370464, + -0.02400691621005535, + 0.00031997961923480034, + 0.0006188462139107287, + 0.009631292894482613, + -0.006500934716314077, + 0.01819661259651184, + 0.012784170918166637, + -0.02803058922290802, + 0.013579897582530975, + 0.008737977594137192, + -0.020523736253380775, + 0.010960006155073643, + -0.014082856476306915, + -0.011958417482674122, + 0.06113581359386444, + -0.03897558152675629, + 0.00039622109034098685, + 0.04876451939344406, + 0.003762810258194804, + 0.029892290011048317, + 0.03495191037654877, + -0.07224595546722412, + 0.017130639404058456, + 0.01023184135556221, + 0.02549327351152897, + 0.07176551967859268, + 0.05227772518992424, + 0.038465116173028946, + 0.013579897582530975, + 0.010344443842768669, + 0.03675355389714241, + -0.03840506076812744, + 0.010937484912574291, + -0.05522041395306587, + 0.017025543376803398, + -0.016620172187685966, + 0.03218938782811165, + -0.02283584699034691, + 0.01833173632621765, + -0.03633316978812218, + 0.03600286692380905, + 0.029246700927615166, + 0.003010248066857457, + 0.08413681387901306, + -0.02511793002486229, + 0.04353974759578705, + 0.009826471097767353, + -0.05735236033797264, + 0.0008468668675050139, + 0.003843508893623948, + 0.0404469259083271, + -0.007495592813938856, + -0.006560989655554295, + 0.021124284714460373, + 0.010216827504336834, + -0.03495191037654877, + -0.09746897965669632, + -0.0022501791827380657, + 0.006970113143324852, + 0.0416780486702919, + 0.03888550028204918, + 0.025928670540452003, + 0.04371991381049156, + -0.00672614062204957, + 0.06257712841033936, + 0.06050523743033409, + 0.0022839601151645184, + -0.004391509108245373, + -0.02259562909603119, + -0.051076628267765045, + -0.0014309938997030258, + 0.019652942195534706, + 0.002572973957285285, + -0.02247551828622818, + -0.01918751746416092, + -0.013827623799443245, + 0.03711388260126114, + 0.030612947419285774, + -0.03146873041987419, + -0.009946580976247787, + -0.007784606888890266, + 0.06648068875074387, + -0.021289436146616936, + -0.017340831458568573, + -0.004485344979912043, + -0.0020287269726395607, + 0.003053412539884448, + 0.010502087883651257, + 0.017641104757785797, + 0.01074230670928955, + -0.0416780486702919, + -0.00722909951582551, + -0.03297010064125061, + -0.0009111443068832159, + 0.029381822794675827, + 0.012236170470714569, + 0.08635883778333664, + 0.01237880066037178, + 0.010674744844436646, + -0.00420383783057332, + 0.02195003814995289, + -0.0036408237647265196, + -0.020748943090438843, + 0.0002592210366856307, + 0.0164249949157238, + -0.006392085459083319, + 0.016575131565332413, + -0.005198495928198099, + 0.028856344521045685, + -0.029096562415361404, + -0.012153595685958862, + 5.5040483857737854e-05, + 0.024021930992603302, + 0.011500499211251736, + 0.01680033840239048, + -0.003060919465497136, + -0.05212758854031563, + -0.05567082390189171, + 0.0007525620167143643, + -0.03948604688048363, + 0.007285401225090027, + -0.009308498352766037, + -0.043629832565784454, + 0.011973431333899498, + 0.01213107444345951, + 0.044020187109708786, + 0.04660254344344139, + 0.012604006566107273, + 0.0031266044825315475, + -0.02388680726289749, + -0.059664469212293625, + -0.04320944845676422, + 0.0023421382065862417, + -0.05377909541130066, + -0.02210017666220665, + -0.028360892087221146, + 0.03954610228538513, + -0.0039598653092980385, + 0.0116881700232625, + -0.01350482925772667, + -0.0025635904166847467, + 0.01123775914311409, + -0.007161538116633892, + -0.00499205756932497, + 0.0002824453404173255, + -0.0227457657456398, + -0.0479838065803051, + -0.031769003719091415, + 0.0012874252861365676, + -0.02288088947534561, + -0.0239768885076046, + 0.028000563383102417, + 0.013534856028854847, + 0.0029577002860605717, + 0.01843683235347271, + -0.017025543376803398, + 0.021034203469753265, + 3.826735701295547e-05, + 0.008940662257373333, + 0.05242786183953285, + 0.011252772994339466, + -0.025102917104959488, + -0.035822704434394836, + -0.02726489119231701, + 0.04284911975264549, + 0.016770310699939728, + 0.018496885895729065, + 0.0006202537333592772, + -0.018511900678277016, + 0.018902257084846497, + -0.00876800436526537, + 0.034141167998313904, + 0.002357151824980974, + 0.020133379846811295, + -0.08768004924058914, + 0.07212584465742111, + 0.04825405403971672, + -0.07380738109350204, + 0.0859384536743164, + -0.005532550625503063, + -0.009751402772963047, + -0.001217986922711134, + -0.031498756259679794, + -0.0183167215436697, + 0.03690369054675102, + 0.02312110736966133, + -0.015118801966309547, + 0.00747682573273778, + -0.04002654179930687, + 0.025433218106627464, + -0.02349645085632801, + 0.009361046366393566, + 0.014735952951014042, + -0.023961875587701797, + 0.014668391086161137, + 0.03951607644557953, + -0.031018316745758057, + -0.04750336706638336, + 0.028601109981536865, + 0.009143346920609474, + 0.002131946384906769, + 0.0032804948277771473, + -0.020778968930244446, + 0.00984899140894413, + -0.06473910063505173, + 0.006414606235921383, + -0.018241653218865395, + 0.03966621309518814, + 0.008745484054088593, + -0.0024059463758021593, + 0.01553918607532978, + 0.04909481853246689, + 0.021754860877990723, + -0.01415041834115982, + -0.0027249876875430346, + 0.0060054827481508255, + -0.037324074655771255, + -0.002263316186144948, + -0.033540621399879456, + 0.014608336612582207, + 0.006527208723127842, + -0.029877275228500366, + -0.00643712654709816, + -0.04014665260910988, + -0.021904997527599335, + -0.011312827467918396, + 0.01579441875219345, + -0.014217980206012726, + 0.008355127647519112, + 0.024157052859663963, + 0.021634751930832863, + -0.008159949444234371, + 0.018917270004749298, + 0.015231405384838581, + 0.04948517680168152, + 0.020103352144360542, + 0.022445490583777428, + -0.017205707728862762, + 0.043389610946178436, + -0.029892290011048317, + -0.024577436968684196, + -0.04239870607852936, + 0.05464989319443703, + -0.0006756167858839035, + 0.018887242302298546, + 0.0366334430873394, + -0.01409036386758089, + -0.06359805911779404, + 0.012716609053313732, + 0.019382694736123085, + -0.029757166281342506, + -0.011057594791054726, + 0.011568061076104641, + 0.025703465566039085, + -0.03257974237203598, + 0.03483179956674576, + -0.04257887229323387, + -0.01148548536002636, + 0.017100611701607704, + 0.0028526042588055134, + 0.004552906379103661, + -0.017656119540333748, + 0.006410852540284395, + -0.004192577674984932, + -0.03948604688048363, + -0.003496316960081458, + 0.0027306177653372288, + -0.0016299254493787885, + -0.03762434795498848, + -0.0045003583654761314, + 0.011950910091400146, + -0.027219850569963455, + -0.03522215411067009, + -0.005480003077536821, + -0.029607029631733894, + -0.01828669384121895, + 0.03876538947224617, + -0.03266982361674309, + 0.027309931814670563, + 0.012221156619489193, + -0.001835425617173314, + 0.04212845861911774, + 0.008550305850803852, + 0.010509594343602657, + 0.0605953186750412, + 0.015171349979937077, + 0.004669262561947107, + -0.056241344660520554, + -0.011155184358358383, + -0.022145217284560204, + 0.011335348710417747, + 0.00036713204463012516, + -0.0189322829246521, + 0.02185995690524578, + -0.02576352097094059, + -0.026484178379178047, + 0.04810391366481781, + -0.02727990411221981, + 0.04053700715303421, + 0.02309107966721058, + 0.005581345409154892, + 0.009623785503208637, + -0.04206840693950653, + -0.01690543256700039, + -0.0029933578334748745, + 0.01547913160175085, + -0.018601981922984123, + 0.07128507643938065, + 0.028736233711242676, + 0.03498193621635437, + 0.039696238934993744, + -0.03879541903734207, + 0.005603865720331669, + 0.01553918607532978, + 0.016950475051999092, + -0.0018982954788953066, + -0.017205707728862762, + -0.023526478558778763, + -0.01615474745631218, + 0.011320334859192371, + 0.0025917410384863615, + 0.018887242302298546, + -0.026334041729569435, + 0.024667520076036453, + 0.0014657131396234035, + 0.05708211287856102, + 0.01351233571767807, + 0.00609181122854352, + 0.0008201237069442868, + -0.01003666315227747, + -0.013902692124247551, + 0.005007070954889059, + -0.0015389049658551812, + -0.028481001034379005, + 0.0005240722093731165, + -0.00584033178165555, + -0.03031267412006855, + 0.007300414610654116, + 0.008550305850803852, + 0.027715303003787994, + 0.007912223227322102, + 0.011140170507133007, + -0.015103789046406746, + -0.02893141284584999, + 0.004320194013416767, + 0.030597934499382973, + -0.011838307604193687, + 0.0009824594017118216, + -0.02324121817946434, + -0.06774184107780457, + 0.005097153130918741, + 0.01680033840239048, + 0.06936332583427429, + 0.04681273549795151, + 0.07596935331821442, + -0.017265763133764267, + 0.06467904895544052, + 0.03480177000164986, + -0.01320455502718687, + -0.015869487076997757, + -0.006260715425014496, + -0.04284911975264549, + 0.0030271385330706835, + 0.016079679131507874, + 0.03801470622420311, + -0.002173234010115266, + 0.0048982216976583, + -0.04107750207185745, + -0.012521430850028992, + -0.012926801107823849, + 0.006377071607857943, + -0.0022163984831422567, + -0.010509594343602657, + -0.03170894831418991, + -0.058793675154447556, + 0.04771355912089348, + -0.009879019111394882, + 0.01668022759258747, + 0.0009050450171343982, + 0.06161625310778618, + 0.03717393800616264, + -0.03372078388929367, + 0.06930326670408249, + -0.008137429133057594, + 0.01867705024778843, + -0.0018438708502799273, + -0.01882718876004219, + -0.010914964601397514, + 0.03633316978812218, + 0.002920165890827775, + -0.01579441875219345, + -0.007852168753743172, + -0.00915085431188345, + 0.009976607747375965, + 0.005303591955453157, + 0.02624395862221718, + 0.03522215411067009, + 0.0365733876824379, + 0.020028283819556236, + 0.01942773535847664, + -0.00046354817459359765, + -0.013302143663167953, + -0.013302143663167953, + 0.08894119411706924, + 0.010089211165904999, + -0.0037609334103763103, + 0.023076066747307777, + -0.001095062238164246, + 0.03759432211518288, + 0.05918402969837189, + 0.011222745291888714, + 0.009128333069384098, + -0.016364939510822296, + 0.029141604900360107, + -0.012363786809146404, + 0.02008833922445774, + 0.01023934781551361, + 0.017520995810627937, + 0.04954523220658302, + 0.02815070003271103, + 0.0007361408206634223, + 0.01604965142905712, + -0.01944275014102459, + -0.04335958510637283, + -0.04275903478264809, + -0.03384089469909668, + 0.009571237489581108, + -0.002875124802812934, + 0.007987291552126408, + 0.006992633920162916, + 0.013076938688755035, + -0.036423251032829285, + 0.01753600873053074, + -0.022790806367993355, + 0.008107401430606842, + 0.020493708550930023, + -0.024682532995939255, + -0.007927237078547478, + -0.06173636019229889, + -0.01894729770720005, + 0.00012022694863844663, + 0.007063949014991522, + 0.03714390844106674, + -0.0040274267084896564, + -0.011665649712085724, + -0.017986420542001724, + 0.06020496413111687, + 0.01869206503033638, + 0.03825492411851883, + -0.09398580342531204, + -0.0014206719351932406, + 0.019803078845143318, + 0.0042864130809903145, + 0.02866116538643837, + 0.052457891404628754, + -0.02082401141524315, + 0.013429760001599789, + 0.02196505293250084, + 0.0017584803281351924, + -0.03345053642988205, + -0.021154312416911125, + -0.04332955554127693, + -0.04852429777383804, + -0.03369075804948807, + -0.04203837737441063, + -0.01969798281788826, + -0.025177985429763794, + 0.008280059322714806, + 0.030733056366443634, + 0.02348143607378006, + 0.009533703327178955, + -0.02046368271112442, + 0.023181162774562836, + -0.027865439653396606, + -0.0032973852939903736, + -0.039095692336559296, + -0.013842637650668621, + -0.001832610578276217, + 0.006395839154720306, + -0.002531686332076788, + 0.006358304526656866, + -0.03711388260126114, + 0.009638799354434013, + -0.008828059770166874, + 0.03771442919969559, + 0.031648892909288406, + 0.01306192483752966, + 0.012408828362822533, + 0.016214802861213684, + -0.027324946597218513, + 0.0013258979888632894, + 0.008430195972323418, + 0.07855170965194702, + -0.024667520076036453, + 0.0543195903301239, + -0.07170546054840088, + -0.00139815139118582, + 0.021679792553186417, + 0.030117494985461235, + -0.013730034232139587, + 0.010472060181200504, + 0.0246374923735857, + -0.05191739648580551, + 0.020929107442498207, + 0.05395926162600517, + -0.005371153354644775, + 0.011005046777427197, + 0.011590581387281418, + -0.02399190329015255, + -0.015298967249691486 + ], + "result": "--- 结果 1 (相似度: 1.000) ---\n文件路径: C:\\Steam\\steamapps\\common\\RimWorld\\Data\\dll1.6\\RimWorld\\Building_PassengerShuttle.txt\n\npublic class Building_PassengerShuttle : Building, IRenameable\n{\n\tprivate string shuttleName;\n\n\tprivate CompRefuelable cachedRefuelableComp;\n\n\tprivate CompLaunchable cachedLaunchableComp;\n\n\tprivate CompTransporter cachedTransporterComp;\n\n\tprivate CompShuttle cachedShuttleComp;\n\n\tpublic static CachedTexture RefuelFromCargoIcon = new CachedTexture(\"UI/Commands/RefuelPassengerShuttle\");\n\n\tprivate static List tmpContainedThings = new List();\n\n\tpublic CompRefuelable RefuelableComp => cachedRefuelableComp ?? (cachedRefuelableComp = GetComp());\n\n\tpublic CompLaunchable LaunchableComp => cachedLaunchableComp ?? (cachedLaunchableComp = GetComp());\n\n\tpublic CompTransporter TransporterComp => cachedTransporterComp ?? (cachedTransporterComp = GetComp());\n\n\tpublic CompShuttle ShuttleComp => cachedShuttleComp ?? (cachedShuttleComp = GetComp());\n\n\tpublic string RenamableLabel\n\t{\n\t\tget\n\t\t{\n\t\t\treturn shuttleName ?? BaseLabel;\n\t\t}\n\t\tset\n\t\t{\n\t\t\tshuttleName = value;\n\t\t}\n\t}\n\n\tpublic string BaseLabel => def.LabelCap;\n\n\tpublic string InspectLabel => RenamableLabel;\nusing System.Collections.Generic;\nusing UnityEngine;\nusing Verse;\n\nnamespace RimWorld;\n\npublic class Building_PassengerShuttle : Building, IRenameable\n{\n\tprivate string shuttleName;\n\n\tprivate CompRefuelable cachedRefuelableComp;\n\n\tprivate CompLaunchable cachedLaunchableComp;\n\n\tprivate CompTransporter cachedTransporterComp;\n\n\tprivate CompShuttle cachedShuttleComp;\n\n\tpublic static CachedTexture RefuelFromCargoIcon = new CachedTexture(\"UI/Commands/RefuelPassengerShuttle\");\n\n\tprivate static List tmpContainedThings = new List();\n\n\tpublic CompRefuelable RefuelableComp => cachedRefuelableComp ?? (cachedRefuelableComp = GetComp());\n\n\tpublic CompLaunchable LaunchableComp => cachedLaunchableComp ?? (cachedLaunchableComp = GetComp());\n\n\tpublic CompTransporter TransporterComp => cachedTransporterComp ?? (cachedTransporterComp = GetComp());\n\n\tpublic CompShuttle ShuttleComp => cachedShuttleComp ?? (cachedShuttleComp = GetComp());\n\n\tpublic string RenamableLabel\n\t{\n\t\tget\n\t\t{\n\t\t\treturn shuttleName ?? BaseLabel;\n\t\t}\n\t\tset\n\t\t{\n\t\t\tshuttleName = value;\n\t\t}\n\t}\n\n\tpublic string BaseLabel => def.LabelCap;\n\n\tpublic string InspectLabel => RenamableLabel;\n\n\tpublic override string Label => RenamableLabel;\n\n\tpublic float FuelLevel => RefuelableComp.Fuel;\n\n\tpublic float MaxFuelLevel => RefuelableComp.Props.fuelCapacity;\n\n\tpublic override void SpawnSetup(Map map, bool respawningAfterLoad)\n\t{\n\t\tbase.SpawnSetup(map, respawningAfterLoad);\n\t\tif (!respawningAfterLoad)\n\t\t{\n\t\t\tShuttleComp.shipParent.Start();\n\t\t}\n\t}\n\n\tpublic override IEnumerable GetGizmos()\n\t{\n\t\tforeach (Gizmo gizmo in base.GetGizmos())\n\t\t{\n\t\t\tyield return gizmo;\n\t\t}\n\t\tfloat fuelInShuttle = FuelInShuttle();\n\t\tstring text = null;\n\t\tif (fuelInShuttle <= 0f)\n\t\t{\n\t\t\ttext = \"NoFuelInShuttle\".Translate();\n\t\t}\n\t\tif (Mathf.Approximately(FuelLevel, MaxFuelLevel))\n\t\t{\n\t\t\ttext = \"ShuttleFullyFueled\".Translate();\n\t\t}\n\t\tCommand_Action command_Action = new Command_Action();\n\t\tcommand_Action.defaultLabel = \"CommandRefuelShuttleFromCargo\".Translate();\n\t\tcommand_Action.defaultDesc = \"CommandRefuelShuttleFromCargoDesc\".Translate();\n\t\tcommand_Action.icon = RefuelFromCargoIcon.Texture;\n\t\tcommand_Action.action = delegate\n\t\t{\n\t\t\tint to = Mathf.FloorToInt(Mathf.Min(fuelInShuttle, MaxFuelLevel - FuelLevel));\n\t\t\tDialog_Slider window = new Dialog_Slider((int val) => \"RefuelShuttleCount\".Translate(val), 1, to, delegate(int count)\n\t\t\t{\n\t\t\t\tConsumeFuelFromInventory(count);\n\t\t\t\tRefuelableComp.Refuel(count);\n\t\t\t});\n\t\t\tFind.WindowStack.Add(window);\n\t\t};\n\t\tcommand_Action.Disabled = !text.NullOrEmpty();\n\t\tcommand_Action.disabledReason = text;\n\t\tyield return command_Action;\n\t}\n\n\tpublic override void ExposeData()\n\t{\n\t\tbase.ExposeData();\n\t\tScribe_Values.Look(ref shuttleName, \"shuttleName\");\n\t}\n\n\tprivate float FuelInShuttle()\n\t{\n\t\tfloat num = 0f;\n\t\tforeach (Thing item in (IEnumerable)TransporterComp.innerContainer)\n\t\t{\n\t\t\tif (RefuelableComp.Props.fuelFilter.Allows(item))\n\t\t\t{\n\t\t\t\tnum += (float)item.stackCount;\n\t\t\t}\n\t\t}\n\t\treturn num;\n\t}\n\n\tprivate void ConsumeFuelFromInventory(int fuelAmount)\n\t{\n\t\ttmpContainedThings.Clear();\n\t\ttmpContainedThings.AddRange(TransporterComp.innerContainer);\n\t\tint num = fuelAmount;\n\t\tint num2 = tmpContainedThings.Count - 1;\n\t\twhile (num2 >= 0)\n\t\t{\n\t\t\tThing thing = tmpContainedThings[num2];\n\t\t\tif (RefuelableComp.Props.fuelFilter.Allows(thing))\n\t\t\t{\n\t\t\t\tThing thing2 = thing.SplitOff(Mathf.Min(num, thing.stackCount));\n\t\t\t\tnum -= thing2.stackCount;\n\t\t\t}\n\t\t\tif (num > 0)\n\t\t\t{\n\t\t\t\tnum2--;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t}\n}\n\n\tpublic override string Label => RenamableLabel;\n\n\tpublic float FuelLevel => RefuelableComp.Fuel;\n\n\tpublic float MaxFuelLevel => RefuelableComp.Props.fuelCapacity;\n\n\tpublic override void SpawnSetup(Map map, bool respawningAfterLoad)\n\t{\n\t\tbase.SpawnSetup(map, respawningAfterLoad);\n\t\tif (!respawningAfterLoad)\n\t\t{\n\t\t\tShuttleComp.shipParent.Start();\n\t\t}\n\t}\n\n\tpublic override IEnumerable GetGizmos()\n\t{\n\t\tforeach (Gizmo gizmo in base.GetGizmos())\n\t\t{\n\t\t\tyield return gizmo;\n\t\t}\n\t\tfloat fuelInShuttle = FuelInShuttle();\n\t\tstring text = null;\n\t\tif (fuelInShuttle <= 0f)\n\t\t{\n\t\t\ttext = \"NoFuelInShuttle\".Translate();\n\t\t}\n\t\tif (Mathf.Approximately(FuelLevel, MaxFuelLevel))\n\t\t{\n\t\t\ttext = \"ShuttleFullyFueled\".Translate();\n\t\t}\n\t\tCommand_Action command_Action = new Command_Action();\n\t\tcommand_Action.defaultLabel = \"CommandRefuelShuttleFromCargo\".Translate();\n\t\tcommand_Action.defaultDesc = \"CommandRefuelShuttleFromCargoDesc\".Translate();\n\t\tcommand_Action.icon = RefuelFromCargoIcon.Texture;\n\t\tcommand_Action.action = delegate\n\t\t{\n\t\t\tint to = Mathf.FloorToInt(Mathf.Min(fuelInShuttle, MaxFuelLevel - FuelLevel));\n\t\t\tDialog_Slider window = new Dialog_Slider((int val) => \"RefuelShuttleCount\".Translate(val), 1, to, delegate(int count)\n\t\t\t{\n\t\t\t\tConsumeFuelFromInventory(count);\n\t\t\t\tRefuelableComp.Refuel(count);\n\t\t\t});\n\t\t\tFind.WindowStack.Add(window);\n\t\t};\n\t\tcommand_Action.Disabled = !text.NullOrEmpty();\n\t\tcommand_Action.disabledReason = text;\n\t\tyield return command_Action;\n\t}\n\n\tpublic override void ExposeData()\n\t{\n\t\tbase.ExposeData();\n\t\tScribe_Values.Look(ref shuttleName, \"shuttleName\");\n\t}\n\n\tprivate float FuelInShuttle()\n\t{\n\t\tfloat num = 0f;\n\t\tforeach (Thing item in (IEnumerable)TransporterComp.innerContainer)\n\t\t{\n\t\t\tif (RefuelableComp.Props.fuelFilter.Allows(item))\n\t\t\t{\n\t\t\t\tnum += (float)item.stackCount;\n\t\t\t}\n\t\t}\n\t\treturn num;\n\t}\n\n\tprivate void ConsumeFuelFromInventory(int fuelAmount)\n\t{\n\t\ttmpContainedThings.Clear();\n\t\ttmpContainedThings.AddRange(TransporterComp.innerContainer);\n\t\tint num = fuelAmount;\n\t\tint num2 = tmpContainedThings.Count - 1;\n\t\twhile (num2 >= 0)\n\t\t{\n\t\t\tThing thing = tmpContainedThings[num2];\n\t\t\tif (RefuelableComp.Props.fuelFilter.Allows(thing))\n\t\t\t{\n\t\t\t\tThing thing2 = thing.SplitOff(Mathf.Min(num, thing.stackCount));\n\t\t\t\tnum -= thing2.stackCount;\n\t\t\t}\n\t\t\tif (num > 0)\n\t\t\t{\n\t\t\t\tnum2--;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t}\n}\n\n", + "timestamp": "2025-08-28 12:23:14,275" + }, + "Building_Turret": { + "keywords": [ + "Building_Turret" + ], + "question": "Building_Turret class implementation", + "embedding": [ + -0.013562433421611786, + 0.03662826865911484, + 0.05311375856399536, + 0.015197128988802433, + 0.03829066827893257, + -0.060345206409692764, + 0.021528111770749092, + 0.033386580646038055, + 0.025254663079977036, + 0.06876804679632187, + -0.02903662994503975, + -0.0622846782207489, + -0.03790277615189552, + 0.009648860432207584, + 0.03635120019316673, + -0.016513196751475334, + -0.045854602009058, + -0.10489759594202042, + -0.06261716037988663, + -0.02197141945362091, + 0.02953534945845604, + 0.03840149566531181, + -0.004879843909293413, + 0.013022152706980705, + 0.01738595962524414, + -0.023827768862247467, + -0.016679437831044197, + 0.10151737183332443, + 0.023287488147616386, + -0.0508418083190918, + -0.003243416314944625, + -0.0203644298017025, + -0.012890545651316643, + -0.03834608197212219, + -0.008367425762116909, + 0.014109640382230282, + -0.003899719100445509, + -0.004097129218280315, + -0.010812542401254177, + 0.026307517662644386, + -0.03557541221380234, + -0.008471325971186161, + 0.01999039016664028, + -0.006992480251938105, + -0.008055725134909153, + 0.04034096747636795, + 0.022359313443303108, + -0.05757453665137291, + -0.03175188601016998, + 0.021652791649103165, + 0.018979094922542572, + 0.017067331820726395, + -0.05713123083114624, + -0.0049421838484704494, + 0.029147455468773842, + 0.010736349038779736, + 0.0069613102823495865, + 0.005454758182168007, + 0.001655475702136755, + -0.007757877930998802, + 0.002621747087687254, + 0.08849522471427917, + -0.04524505138397217, + -0.0025732603389769793, + 0.012641184963285923, + 0.011906957253813744, + -0.03261079266667366, + 0.02234545908868313, + 0.027886800467967987, + 0.0009948440128937364, + -0.05923693999648094, + 0.06483369320631027, + -0.04133840650320053, + -0.014698408544063568, + -0.03604642674326897, + 0.04169859364628792, + -0.023287488147616386, + 0.011138096451759338, + -0.022580966353416443, + 0.02645990625023842, + 0.01250957790762186, + -0.017219718545675278, + -0.012897471897304058, + -0.00896312016993761, + 0.03892792388796806, + 0.01298059243708849, + -0.027817534282803535, + -0.02030901610851288, + -0.021694350987672806, + -0.021140217781066895, + 0.043554943054914474, + -0.003681528614833951, + 0.028731854632496834, + -0.0270001869648695, + -0.03945435211062431, + -0.04746158793568611, + -0.03371906280517578, + -0.03200124576687813, + -0.014892355538904667, + 0.02747119963169098, + -0.02094626985490322, + -0.026667704805731773, + -0.011020342819392681, + 0.04707369580864906, + -0.017108891159296036, + -0.036933042109012604, + -0.025822650641202927, + 0.011539843864738941, + 0.0004381122998893261, + 0.05571818724274635, + 0.014324367977678776, + 0.00015238688501995057, + 0.014961621724069118, + 0.07009796798229218, + 0.03937122970819473, + 0.03887251019477844, + 0.0028693757485598326, + -0.008332791738212109, + 0.005163837689906359, + 0.02089085802435875, + 0.02133416384458542, + 0.007937971502542496, + -0.014642994850873947, + -0.0023775817826390266, + -0.008769173175096512, + 0.04807113856077194, + 0.0509803406894207, + 0.024437315762043, + -0.03457796946167946, + 0.018161745741963387, + 0.019242309033870697, + 0.053307704627513885, + -0.004329172894358635, + -0.05339082330465317, + -0.04241896793246269, + -0.021777471527457237, + 0.012627331539988518, + 0.036960747092962265, + -0.06998714059591293, + -0.030421964824199677, + -0.05167300999164581, + 0.04020243138074875, + 0.028898095712065697, + 0.02604430541396141, + 0.09675182402133942, + -0.004252979531884193, + -0.040534913539886475, + 0.007120623718947172, + -0.009835881181061268, + 0.003446021815761924, + -0.010978782549500465, + 0.0038754756096750498, + -0.03407924994826317, + 0.026847798377275467, + 0.06167513132095337, + -0.01831413432955742, + 0.01278664544224739, + -0.025739530101418495, + 0.0027949141804128885, + -0.06965465843677521, + -0.043056223541498184, + 0.02097397670149803, + -0.0062201558612287045, + -0.016485489904880524, + 0.03557541221380234, + -0.01120736263692379, + 0.05303063616156578, + 0.011498283594846725, + 0.009288673289120197, + -0.052254848182201385, + -0.05884904786944389, + 0.008000311441719532, + 0.0008883462869562209, + -0.02853790856897831, + 0.044081371277570724, + -0.006618439685553312, + -0.0007281668949872255, + 0.051700714975595474, + -0.0007394227432087064, + -0.07054127752780914, + 0.01942240260541439, + 0.0005255616270005703, + 0.03601871803402901, + -0.02501915581524372, + 0.03732093423604965, + -0.018757440149784088, + 0.01507244911044836, + -0.009794320911169052, + -0.012558065354824066, + 0.035991013050079346, + -0.00887999963015318, + 0.050675567239522934, + -0.00279837753623724, + -0.01120736263692379, + -0.07840998470783234, + 0.013957253657281399, + -0.029313696548342705, + 0.03222290053963661, + -0.061896782368421555, + 0.04743388295173645, + -0.01726127788424492, + -0.004696286749094725, + 0.04657497629523277, + 0.008609859272837639, + 0.0825105756521225, + -0.002140343189239502, + -0.006940530147403479, + -0.009738907217979431, + 0.010521622374653816, + 0.015709703788161278, + 0.05643856152892113, + 0.0012190950801596045, + -2.501450217096135e-05, + -0.005970795173197985, + 0.017732292413711548, + -0.007224523928016424, + -0.019034508615732193, + -0.016970358788967133, + 0.022193072363734245, + 0.02191600576043129, + -0.04740617424249649, + -0.012862838804721832, + 0.028676442801952362, + 0.00236892350949347, + 0.02657073177397251, + -2.539330489526037e-05, + -0.005330077838152647, + -0.04189253970980644, + -0.008291232399642467, + -0.014047300443053246, + -0.006185522302985191, + 0.0034165834076702595, + -0.026238251477479935, + 0.07442021369934082, + 0.06073310226202011, + -0.02550402469933033, + 0.0010866224765777588, + -0.027679000049829483, + 0.021112510934472084, + -0.006105865817517042, + -0.003236489836126566, + 0.018050920218229294, + 0.022622525691986084, + 0.04369347542524338, + 8.625876944279298e-05, + -0.011809984222054482, + -0.05042620748281479, + 0.0049421838484704494, + -0.010341528803110123, + 0.01735825277864933, + -0.011602183803915977, + -0.02389703504741192, + -0.004703213460743427, + -0.002469360362738371, + 0.04225272685289383, + -0.03000636398792267, + -0.005762995220720768, + 0.0004684165178332478, + -0.06461203843355179, + 0.0019256161758676171, + 0.00677428999915719, + -0.005967332050204277, + -0.039038751274347305, + 0.017219718545675278, + 0.013216099701821804, + 0.04854214936494827, + -0.06217385083436966, + -0.0005740483175031841, + -0.003910108935087919, + -0.03726552054286003, + 0.009212479926645756, + 0.04627020284533501, + 0.03155793994665146, + -0.004841747228056192, + -0.03147481754422188, + 0.027679000049829483, + 0.037459466606378555, + 0.01194851752370596, + -0.02242857962846756, + -0.007882557809352875, + -0.0053058345802128315, + -0.000704789359588176, + -0.0014996255049481988, + -0.0002690581022761762, + -0.008789952844381332, + 0.03842920437455177, + -0.018549639731645584, + 0.05463762581348419, + 0.015543462708592415, + 0.020793883129954338, + -0.02947993576526642, + 0.014449047856032848, + 0.020087363198399544, + 0.032943274825811386, + -0.005589828360825777, + 0.044136784970760345, + 0.025199249386787415, + 0.03255538269877434, + -0.005143057554960251, + -0.014449047856032848, + 0.011325116269290447, + -0.0013610919704660773, + -0.005569048225879669, + -0.004474633373320103, + 0.03524293005466461, + -0.005814945325255394, + -0.009461840614676476, + -0.09597603231668472, + -0.011747644282877445, + -0.06732729822397232, + 0.0039793760515749454, + 0.05009372532367706, + -0.010189141146838665, + 0.013811793178319931, + -0.030505085363984108, + 0.04693516343832016, + 0.004346489906311035, + 0.00012532956316135824, + -0.028704147785902023, + 0.08361884206533432, + -0.04477404057979584, + -0.024271074682474136, + -0.02244243212044239, + 0.034328609704971313, + 0.04754471033811569, + -0.012648112140595913, + 0.04746158793568611, + 0.016527051106095314, + 0.02554558403789997, + -0.0053058345802128315, + -0.010833322070538998, + -0.017095038667321205, + 0.006705023348331451, + 0.05214402452111244, + -0.008762245997786522, + -0.013687113299965858, + -0.004436536692082882, + 0.009219407103955746, + -0.01273815892636776, + 0.00741154421120882, + -0.034855037927627563, + 0.001998346298933029, + 0.02758202701807022, + 0.02087700366973877, + 0.050176847726106644, + 0.02453428879380226, + 0.018632760271430016, + 0.06339294463396072, + -0.014947768300771713, + 0.0026598440017551184, + -0.015903649851679802, + 0.004772480111569166, + -0.03125316649675369, + -0.005645241588354111, + -0.003425241680815816, + -0.04488486424088478, + -0.026626145467162132, + 0.0018892510561272502, + -0.021555818617343903, + -0.007321497425436974, + 0.013887986540794373, + -0.032887861132621765, + 0.01555731613188982, + 0.07004255801439285, + 0.04629790782928467, + 0.04380430281162262, + -0.008138845674693584, + 0.03873397782444954, + -0.022705646231770515, + 0.028399374336004257, + 0.034965865314006805, + -0.025781091302633286, + 0.033996131271123886, + 0.01836954616010189, + -0.04895775020122528, + 0.037431761622428894, + -0.0023619967978447676, + -0.00028983812080696225, + 0.022179219871759415, + -0.008893853053450584, + -0.027111012488603592, + 0.00318453973159194, + 0.010334601625800133, + -0.01792624033987522, + -0.03197354078292847, + -0.044053662568330765, + 0.0066496096551418304, + -0.04275145009160042, + 0.07840998470783234, + -0.023148953914642334, + 0.047129109501838684, + 0.05463762581348419, + -0.020641496405005455, + -0.003456411650404334, + 0.04521734640002251, + -0.004651263356208801, + 0.009108579717576504, + 0.020696910098195076, + 0.07901953160762787, + 0.01637466438114643, + 0.024395756423473358, + 0.006459126248955727, + -0.025351637974381447, + -0.010438501834869385, + 0.03006177768111229, + -0.0023775817826390266, + 0.03208436816930771, + 0.00920555368065834, + -0.0396760031580925, + -0.004045179113745689, + -0.035464584827423096, + -0.0031135412864387035, + 0.08627868443727493, + 0.006535319611430168, + -0.02295500598847866, + -0.03119775280356407, + 0.002119563054293394, + 0.009648860432207584, + 0.04801572486758232, + -0.0028589859139174223, + -0.02809460088610649, + 0.009738907217979431, + -0.013430826365947723, + 0.01170608401298523, + -0.022567113861441612, + 0.03360823541879654, + 0.002344680018723011, + -0.010493915528059006, + 0.0006428821943700314, + -0.0018892510561272502, + -0.02554558403789997, + -0.025351637974381447, + -0.05452679842710495, + 0.03316492959856987, + 0.04247438162565231, + 0.034439437091350555, + -0.05100804939866066, + 0.025739530101418495, + -0.017150452360510826, + -0.007847924716770649, + -0.11282171308994293, + -0.0071691107004880905, + 0.017690733075141907, + -0.03213978186249733, + -0.06400249153375626, + -0.04291769117116928, + 0.0044053662568330765, + -0.06134264916181564, + -0.017566053196787834, + -0.022844180464744568, + -0.01942240260541439, + 0.006635756231844425, + 0.022012978792190552, + -0.0021749765146523714, + 0.026432199403643608, + 0.028676442801952362, + -0.04336099699139595, + -0.02133416384458542, + -0.017095038667321205, + -0.0011446333955973387, + -0.011276629753410816, + 0.010106021538376808, + 0.037708830088377, + 0.035464584827423096, + 0.005856505129486322, + 0.004443462938070297, + 0.017676878720521927, + -0.00843669194728136, + 0.0006627963739447296, + -0.02237316593527794, + -0.025185396894812584, + -0.0038754756096750498, + 0.02493603713810444, + -0.021167924627661705, + 0.0316687673330307, + -0.03615725412964821, + -0.02903662994503975, + 0.02346758171916008, + 0.015640435740351677, + -0.06904511153697968, + 0.022802619263529778, + 0.03823525458574295, + -0.020170483738183975, + -0.0004736115224659443, + -0.14263412356376648, + -0.05868280678987503, + -0.030809858813881874, + -0.06239550560712814, + 0.019200747832655907, + 0.011470576748251915, + 0.012343337759375572, + 0.009281747043132782, + 0.009434133768081665, + -0.007300717290490866, + 0.01933928206562996, + 0.008505959063768387, + 0.03371906280517578, + 0.055773600935935974, + -0.009122433140873909, + -0.05718664452433586, + -0.03194583207368851, + 0.021763619035482407, + -0.02953534945845604, + -0.04624249413609505, + -0.013936473987996578, + 0.003986302297562361, + -0.026279812678694725, + -0.013797939755022526, + -0.014151200652122498, + 0.02906433492898941, + -0.013195319101214409, + -0.03227831423282623, + 0.006978626828640699, + 0.015501902438700199, + -0.003847768995910883, + 0.01677641086280346, + 0.04441385343670845, + 0.03158564493060112, + 0.005163837689906359, + 0.038484618067741394, + -0.011373603716492653, + -0.03277703374624252, + 0.0030841028783470392, + -0.012114757671952248, + 0.017053477466106415, + 0.0255594365298748, + 0.011768423952162266, + -0.02097397670149803, + 0.01507244911044836, + -0.02747119963169098, + -0.020128922536969185, + 0.020031949505209923, + -0.008859219960868359, + 0.0027377689257264137, + 0.06771519035100937, + -0.0470459870994091, + 0.03158564493060112, + 0.0027637439779937267, + -0.03914957866072655, + 0.06632985919713974, + -0.001238143420778215, + -0.006005428731441498, + 0.018037065863609314, + 0.010390015318989754, + 0.06588654965162277, + 0.012170171365141869, + -0.037985894829034805, + -0.057962432503700256, + 0.01121428981423378, + -0.019006801769137383, + 0.021777471527457237, + -0.021043244749307632, + 0.0021074414253234863, + -0.015197128988802433, + 0.059957314282655716, + -0.012253290973603725, + 0.030449671670794487, + 0.05552424117922783, + 0.02744349278509617, + 0.038567736744880676, + 0.029341403394937515, + -0.014781528152525425, + 0.045605238527059555, + -0.05153447389602661, + 0.0012043758761137724, + 0.04707369580864906, + -0.0004900624044239521, + 0.011990077793598175, + 0.007744024507701397, + -0.07403232157230377, + -0.03781965374946594, + 0.027637440711259842, + -0.02704174630343914, + 0.022608673200011253, + 0.026252105832099915, + 0.02446502260863781, + 0.004090202506631613, + 0.03125316649675369, + 0.04746158793568611, + 0.006365615874528885, + -0.014151200652122498, + 0.022290045395493507, + 0.02853790856897831, + 0.029978657141327858, + 0.0306159108877182, + 0.012869765050709248, + 0.0002792316663544625, + 0.0448017455637455, + 0.0048452103510499, + 0.007259157486259937, + 0.030200310051441193, + 0.057352885603904724, + -0.025185396894812584, + 0.018189452588558197, + 0.014109640382230282, + 0.050232261419296265, + 0.014213540591299534, + 0.02956305630505085, + -0.00018680380890145898, + 0.056272320449352264, + 0.017579905688762665, + -0.007570857647806406, + -0.014518314972519875, + -0.007068673614412546, + -0.030394257977604866, + -0.05208861082792282, + -0.014989328570663929, + -0.0357416532933712, + 0.02900892309844494, + 0.0089354133233428, + 0.039953071624040604, + 0.04441385343670845, + -0.0254209041595459, + 0.010410794988274574, + 0.014365927316248417, + 0.03612954542040825, + 0.003132589627057314, + 0.021057097241282463, + -0.027914507314562798, + -0.017552198842167854, + 0.03532605245709419, + -0.008893853053450584, + 0.025753384456038475, + -0.032943274825811386, + 0.007660904433578253, + 0.008055725134909153, + 0.008318939246237278, + -0.015515755861997604, + 0.0008182136807590723, + -0.0001063353120116517, + -0.03358053043484688, + 0.02147269807755947, + -0.0016883774660527706, + 0.002412215108051896, + 0.05411119759082794, + -0.0015359906246885657, + 0.050730980932712555, + 0.028731854632496834, + 0.011311262845993042, + -0.005756068509072065, + 0.017081184312701225, + 0.018979094922542572, + 0.0209601242095232, + 0.019657908007502556, + -0.012156317941844463, + -0.00559675507247448, + -0.08201185613870621, + -0.06549865752458572, + -0.010549329221248627, + 0.002420873614028096, + 0.03878939151763916, + -0.05192236974835396, + 0.032915569841861725, + -0.016056036576628685, + -0.011934664100408554, + -0.0017654367256909609, + -0.0591261126101017, + 0.009607301093637943, + 0.0005277261952869594, + 0.018591200932860374, + -0.03662826865911484, + 0.03299868851900101, + 0.032887861132621765, + 0.022733353078365326, + -0.017164304852485657, + -0.000302609201753512, + 0.005416661035269499, + -0.0449402779340744, + 0.028704147785902023, + -0.04225272685289383, + 0.028925802558660507, + 0.02956305630505085, + 0.027138719335198402, + -0.02747119963169098, + 0.008983899839222431, + -0.00991207454353571, + -0.07940742373466492, + -0.04524505138397217, + 0.05668792128562927, + -0.03527063876390457, + 0.045549824833869934, + 0.002245974959805608, + 0.008041871711611748, + -0.02964617684483528, + -0.073311947286129, + 0.04469091817736626, + -0.022276192903518677, + 0.03881709650158882, + -0.08633410185575485, + -0.0006130108959041536, + 0.04333328828215599, + -0.03854002803564072, + 0.010376161895692348, + -0.05269815772771835, + 0.0019931511487811804, + -0.0028693757485598326, + -0.047738656401634216, + -0.018023213371634483, + 0.03435631841421127, + 0.026335224509239197, + 0.075417660176754, + -0.03064361773431301, + 0.08151312917470932, + 0.01275893859565258, + 0.011990077793598175, + -0.02302427403628826, + -0.03172418102622032, + -0.010805616155266762, + -0.0028156940825283527, + 0.0037265520077198744, + -0.021832885220646858, + 0.011158876121044159, + 0.057352885603904724, + -0.010196068324148655, + -0.012128611095249653, + -0.021320311352610588, + 0.032361432909965515, + 0.014559874311089516, + -0.03934352472424507, + 0.01572355628013611, + -0.03355282172560692, + -0.012835131958127022, + -0.00016385919298045337, + -0.005340467672795057, + -0.01633310317993164, + 0.020045801997184753, + 0.006507612764835358, + -0.010549329221248627, + 0.0027169890236109495, + 0.04230814054608345, + -0.031280871480703354, + -0.011581403203308582, + -0.010715569369494915, + 0.02959076315164566, + -0.002834742423146963, + -0.03053279221057892, + -0.007958752103149891, + -0.021708205342292786, + 0.00039482058491557837, + 0.006770826410502195, + -0.002102246508002281, + -0.027928361669182777, + 0.05003831163048744, + -0.02353684790432453, + 0.023204367607831955, + -0.008803806267678738, + 0.04804342985153198, + 0.04272374138236046, + 0.06078851595520973, + -0.008062651380896568, + 0.06616361439228058, + 0.016693290323019028, + 0.0438874252140522, + -0.027180280536413193, + 0.027762120589613914, + 0.008346645161509514, + 0.03410695493221283, + 0.006930140312761068, + -0.021486550569534302, + 0.01528024859726429, + -0.023800062015652657, + -0.020045801997184753, + -0.001033806474879384, + 0.014075007289648056, + 0.011158876121044159, + 0.033386580646038055, + 0.028191573917865753, + 0.04194795340299606, + -0.010196068324148655, + -0.017940092831850052, + -0.015640435740351677, + -0.03313722088932991, + -0.037985894829034805, + 0.04119987413287163, + 0.03407924994826317, + 0.014601434580981731, + -0.013257659040391445, + 0.02655687928199768, + -0.026168985292315483, + -0.020198188722133636, + 0.029230576008558273, + -0.03912186995148659, + 0.0031828079372644424, + 0.022650232538580894, + 0.017039624974131584, + -0.003215709701180458, + 0.003491045208647847, + 0.03707157447934151, + 0.01219095103442669, + 0.0029040093068033457, + 0.0012294851476326585, + -0.020752323791384697, + 0.014656848274171352, + -0.02133416384458542, + -0.012080124579370022, + 0.06339294463396072, + 0.01888212002813816, + 0.027360374107956886, + 0.04945647343993187, + 0.04701828211545944, + -0.025143837556242943, + 0.008776099421083927, + 0.005014914087951183, + -0.05929235368967056, + 0.034855037927627563, + 0.020572230219841003, + -0.013444679789245129, + -0.038484618067741394, + -0.01404037419706583, + -0.025310076773166656, + 0.011913884431123734, + -0.03274932876229286, + 0.005904992111027241, + -0.007453104015439749, + 0.05253191664814949, + -0.00892848614603281, + -0.05303063616156578, + 0.009323307313024998, + -0.00790333840996027, + 0.0008952729986049235, + 0.0008827183628454804, + 0.05391725152730942, + 0.004627020098268986, + 0.016693290323019028, + 0.02702789194881916, + -0.04399825260043144, + 0.026307517662644386, + -0.012800498865544796, + 0.02947993576526642, + -0.006815849803388119, + -0.01248879823833704, + 0.03585248067975044, + -0.02249784581363201, + 0.03515981137752533, + -0.011789203621447086, + -0.01626383699476719, + -0.01379101350903511, + -0.008769173175096512, + 0.02138957753777504, + 0.07913035899400711, + 0.006227082572877407, + 0.002891887677833438, + -0.023869328200817108, + -0.02748505398631096, + -0.043167050927877426, + 0.008589079603552818, + 0.02705559879541397, + -0.03585248067975044, + 0.029923243448138237, + -0.07442021369934082, + 0.01986570842564106, + -0.007674757856875658, + 0.010313821956515312, + 0.004114446230232716, + 0.0009498205618001521, + 0.024589702486991882, + 0.0027550857048481703, + 0.004803650546818972, + -0.006819313392043114, + 0.023786207661032677, + -0.006396785844117403, + -0.002072808099910617, + 0.007176036946475506, + -0.0011723400093615055, + -0.008970046415925026, + 0.02492218278348446, + 0.019644055515527725, + 0.04987207427620888, + 0.019020654261112213, + -0.005555194802582264, + 0.06167513132095337, + 0.03585248067975044, + 0.03521522507071495, + -0.00035802260390482843, + 0.050730980932712555, + -0.015210982412099838, + -0.021251045167446136, + 0.043665770441293716, + 0.02343987487256527, + 0.010881809517741203, + -0.03319263458251953, + -0.03809672221541405, + 0.0013299220008775592, + -0.00013041633064858615, + 0.03227831423282623, + 0.009752760641276836, + 0.025587143376469612, + -0.01577896997332573, + -0.042557504028081894, + 0.046187080442905426, + 0.009503400884568691, + 0.003982839174568653, + 0.022636380046606064, + 0.03524293005466461, + 0.028759561479091644, + 0.009704274125397205, + -0.05297522246837616, + 0.002588845556601882, + 0.041504647582769394, + -0.02339831367135048, + 0.026335224509239197, + -0.06882346421480179, + 0.07187119871377945, + 0.018702026456594467, + 0.007473884150385857, + 0.017552198842167854, + -0.03809672221541405, + -0.003775038756430149, + -0.02593347802758217, + 0.0072868638671934605, + 0.009337160736322403, + -0.00306851789355278, + 0.0224701389670372, + 9.637821494834498e-05, + -0.007148330565541983, + -0.006635756231844425, + -0.00020563571888487786, + 0.10218233615159988, + 0.032444555312395096, + 0.03202895447611809, + 0.014449047856032848, + 0.030837565660476685, + -7.695105159655213e-05, + 0.015972916036844254, + 0.004135225899517536, + -0.011020342819392681, + 0.03721010684967041, + 0.056798748672008514, + -0.060954757034778595, + 0.009822027757763863, + -0.003018299350515008, + 0.018660467118024826, + 0.030726738274097443, + 0.037958189845085144, + 0.04596542567014694, + 0.003858159063383937, + -0.01586209051311016, + -0.00574221508577466, + -0.03308180719614029, + -0.025323931127786636, + -0.0011203900212422013, + -0.026653852313756943, + 0.014629141427576542, + 0.01734439842402935, + 0.011255850084125996, + -0.01789853349328041, + 0.0028641808312386274, + -0.050259966403245926, + 0.033940717577934265, + -0.008796879090368748, + -0.017704585567116737, + 0.007723244838416576, + -0.005243494175374508, + -0.014151200652122498, + -0.009919000789523125, + 0.0004485023091547191, + 0.03108692541718483, + -0.013202246278524399, + 0.02296886034309864, + -0.038041308522224426, + 0.04945647343993187, + 0.04383201152086258, + -0.011089609935879707, + -0.028676442801952362, + -0.004003619309514761, + -0.004557753447443247, + -0.014989328570663929, + -0.0027187205851078033, + 0.01734439842402935, + 0.009593447670340538, + -0.046076253056526184, + 0.03446714207530022, + -0.0049421838484704494, + -0.06073310226202011, + -0.023550700396299362, + -0.0187851469963789, + -0.020641496405005455, + -0.05469303950667381, + -0.017247425392270088, + 0.02906433492898941, + 0.01834183931350708, + 0.012184024788439274, + -0.005333540961146355, + 0.015349515713751316, + -0.006206302437931299, + -0.009898221120238304, + 0.005801091901957989, + -0.025171544402837753, + -0.0064764427952468395, + -0.01831413432955742, + 0.026113571599125862, + -0.035963304340839386, + 0.012100904248654842, + 0.05402807891368866, + -0.004748236853629351, + -0.02803918719291687, + -0.0012615210143849254, + 0.0012390093179419637, + 0.08916018158197403, + 0.05510864034295082, + -0.021625084802508354, + 0.01626383699476719, + 0.031391698867082596, + 0.01895138807594776, + 0.007300717290490866, + -0.024603556841611862, + -0.039038751274347305, + -0.007189890369772911, + -0.04078427329659462, + -0.021098658442497253, + 0.004921403713524342, + 0.03410695493221283, + 0.03521522507071495, + -0.030505085363984108, + 0.046131666749715805, + -0.004336099606007338, + -0.055385708808898926, + -0.005309297703206539, + 0.02596118487417698, + 0.020738469436764717, + -0.016707144677639008, + 0.02903662994503975, + 0.03998078033328056, + -0.0061162556521594524 + ], + "result": "--- 结果 1 (相似度: 1.000) ---\n文件路径: C:\\Steam\\steamapps\\common\\RimWorld\\Data\\dll1.6\\RimWorld\\Building_Turret.txt\n\npublic abstract class Building_Turret : Building, IAttackTarget, ILoadReferenceable, IAttackTargetSearcher\n{\n\tprotected LocalTargetInfo forcedTarget = LocalTargetInfo.Invalid;\n\n\tprivate LocalTargetInfo lastAttackedTarget;\n\n\tprivate int lastAttackTargetTick;\n\n\tprivate StunHandler stunner;\n\n\tprivate bool triedGettingStunner;\n\n\tprivate const float SightRadiusTurret = 13.4f;\n\n\tpublic abstract LocalTargetInfo CurrentTarget { get; }\n\n\tpublic abstract Verb AttackVerb { get; }\n\n\tpublic virtual Material TurretTopMaterial => def.building.turretTopMat;\n\n\tprotected bool IsStunned\n\t{\n\t\tget\n\t\t{\n\t\t\tif (!triedGettingStunner)\n\t\t\t{\n\t\t\t\tstunner = GetComp()?.StunHandler;\n\t\t\t\ttriedGettingStunner = true;\n\t\t\t}\n\t\t\tif (stunner != null)\n\t\t\t{\n\t\t\t\treturn stunner.Stunned;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tThing IAttackTarget.Thing => this;\n\n\tpublic LocalTargetInfo TargetCurrentlyAimingAt => CurrentTarget;\n\n\tThing IAttackTargetSearcher.Thing => this;\n\n\tpublic Verb CurrentEffectiveVerb => AttackVerb;\n\n\tpublic LocalTargetInfo LastAttackedTarget => lastAttackedTarget;\n\n\tpublic int LastAttackTargetTick => lastAttackTargetTick;\n\n\tpublic float TargetPriorityFactor => 1f;\n\n\tpublic LocalTargetInfo ForcedTarget => forcedTarget;\n\n\tpublic virtual bool IsEverThreat => true;\n\n\tprotected override void Tick()\n\t{\n\t\tbase.Tick();\n\t\tif (forcedTarget.HasThing && (!forcedTarget.Thing.Spawned || !base.Spawned || forcedTarget.Thing.Map != base.Map))\n\t\t{\n\t\t\tforcedTarget = LocalTargetInfo.Invalid;\n\t\t}\n\t}\n\n\tpublic override void ExposeData()\n\t{\n\t\tbase.ExposeData();\n\t\tScribe_TargetInfo.Look(ref forcedTarget, \"forcedTarget\");\n\t\tScribe_TargetInfo.Look(ref lastAttackedTarget, \"lastAttackedTarget\");\n\t\tScribe_Values.Look(ref lastAttackTargetTick, \"lastAttackTargetTick\", 0);\n\t}\n\n\tpublic override void PreApplyDamage(ref DamageInfo dinfo, out bool absorbed)\n\t{\n\t\tbase.PreApplyDamage(ref dinfo, out absorbed);\n\t\tif (!absorbed)\n\t\t{\n\t\t\tabsorbed = false;\n\t\t}\n\t}\n\n\tpublic abstract void OrderAttack(LocalTargetInfo targ);\n\n\tpublic bool ThreatDisabled(IAttackTargetSearcher disabledFor)\n\t{\n\t\tif (!IsEverThreat)\n\t\t{\n\t\t\treturn true;\n\t\t}\n\t\tCompPowerTrader comp = GetComp();\n\t\tif (comp != null && !comp.PowerOn)\n\t\t{\n\t\t\treturn true;\n\t\t}\n\t\tCompMannable comp2 = GetComp();\n\t\tif (comp2 != null && !comp2.MannedNow)\n\t\t{\n\t\t\treturn true;\n\t\t}\n\t\tCompCanBeDormant comp3 = GetComp();\n\t\tif (comp3 != null && !comp3.Awake)\n\t\t{\n\t\t\treturn true;\n\t\t}\n\t\tCompInitiatable comp4 = GetComp();\n\t\tif (comp4 != null && !comp4.Initiated)\n\t\t{\n\t\t\treturn true;\n\t\t}\n\t\tCompMechPowerCell comp5 = GetComp();\n\t\tif (comp5 != null && comp5.depleted)\n\t\t{\n\t\t\treturn true;\n\t\t}\n\t\tCompHackable comp6 = GetComp();\n\t\tif (comp6 != null && comp6.IsHacked)\n\t\t{\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tprotected void OnAttackedTarget(LocalTargetInfo target)\n\t{\n\t\tlastAttackTargetTick = Find.TickManager.TicksGame;\n\t\tlastAttackedTarget = target;\n\t}\n}\n\n", + "timestamp": "2025-08-28 12:23:26,593" } } \ No newline at end of file diff --git a/Source/WulaFallenEmpire/Patch_ArmedShuttle_ForceTargetable.cs b/Source/WulaFallenEmpire/Patch_ArmedShuttle_ForceTargetable.cs deleted file mode 100644 index c0f75cd2..00000000 --- a/Source/WulaFallenEmpire/Patch_ArmedShuttle_ForceTargetable.cs +++ /dev/null @@ -1,28 +0,0 @@ -using HarmonyLib; -using Verse; -using RimWorld; - -namespace WulaFallenEmpire -{ - [HarmonyPatch(typeof(Building_ArmedShuttle), "get_CanSetForcedTarget")] - public static class Patch_Building_ArmedShuttle_CanSetForcedTarget - { - /// - /// Postfix patch to allow armed shuttles with CompForceTargetable to be manually targeted. - /// - public static void Postfix(Building_ArmedShuttle __instance, ref bool __result) - { - // If the result is already true, no need to do anything. - if (__result) - { - return; - } - - // Check if the shuttle has our marker component and belongs to the player. - if (__instance.GetComp() != null && __instance.Faction == Faction.OfPlayer) - { - __result = true; - } - } - } -} \ No newline at end of file diff --git a/Source/WulaFallenEmpire/WULA_Shuttle/Building_ArmedShuttle.cs b/Source/WulaFallenEmpire/WULA_Shuttle/Building_ArmedShuttle.cs index 55f600ce..68a4216a 100644 --- a/Source/WulaFallenEmpire/WULA_Shuttle/Building_ArmedShuttle.cs +++ b/Source/WulaFallenEmpire/WULA_Shuttle/Building_ArmedShuttle.cs @@ -142,7 +142,7 @@ namespace WulaFallenEmpire public virtual Verb AttackVerb => GunCompEq.PrimaryVerb; public bool IsMannable => mannableComp != null; private bool PlayerControlled => (base.Faction == Faction.OfPlayer || MannedByColonist) && !MannedByNonColonist && !IsActivable; - protected virtual bool CanSetForcedTarget => mannableComp != null && PlayerControlled; + protected virtual bool CanSetForcedTarget => (mannableComp != null || GetComp() != null) && PlayerControlled; private bool CanToggleHoldFire => PlayerControlled; private bool IsMortar => def.building.IsMortar; private bool IsMortarOrProjectileFliesOverhead => AttackVerb.ProjectileFliesOverhead() || IsMortar; diff --git a/Source/WulaFallenEmpire/WulaFallenEmpire.csproj b/Source/WulaFallenEmpire/WulaFallenEmpire.csproj index 9b3c6f6d..3832c8f1 100644 --- a/Source/WulaFallenEmpire/WulaFallenEmpire.csproj +++ b/Source/WulaFallenEmpire/WulaFallenEmpire.csproj @@ -190,7 +190,6 @@ -