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 @@ -