diff --git a/1.6/1.6/Assemblies/WulaFallenEmpire.dll b/1.6/1.6/Assemblies/WulaFallenEmpire.dll
index 2287f044..6e4a5d6e 100644
Binary files a/1.6/1.6/Assemblies/WulaFallenEmpire.dll and b/1.6/1.6/Assemblies/WulaFallenEmpire.dll differ
diff --git a/1.6/1.6/Defs/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 @@
-