From aabe7e95417931e88c62a502edcdb01cbb723890 Mon Sep 17 00:00:00 2001 From: "ProjectKoi-Kalo\\Kalo" Date: Sat, 6 Sep 2025 13:52:16 +0800 Subject: [PATCH] =?UTF-8?q?=E8=87=AA=E5=8A=A8=E7=BB=91=E5=AE=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 1.6/1.6/Assemblies/ArachnaeSwarm.dll | Bin 78336 -> 80896 bytes .../Defs/HediffDefs/ARA_Hediffs_HiveMind.xml | 5 ++ .../Keyed/ArachnaeSwarm_Keys.xml | 11 ++++ .../Keyed/ArachnaeSwarm_Keys.xml | 9 --- .../ARA_HiveMind/HediffComp_HiveMindMaster.cs | 44 +++++++++++++ .../ARA_HiveMind/Hediff_HiveMindDrone.cs | 11 ++++ .../ARA_HiveMind/Hediff_HiveMindMaster.cs | 61 +++++++++++++++++- Source/ArachnaeSwarm/ArachnaeSwarm.csproj | 1 + 8 files changed, 132 insertions(+), 10 deletions(-) delete mode 100644 Languages/ChineseSimplified/Keyed/ArachnaeSwarm_Keys.xml create mode 100644 Source/ArachnaeSwarm/ARA_HiveMind/HediffComp_HiveMindMaster.cs diff --git a/1.6/1.6/Assemblies/ArachnaeSwarm.dll b/1.6/1.6/Assemblies/ArachnaeSwarm.dll index d1be993d41f7deedafe9d1ca57a1e449d3d7758b..9473f9b95c5ff714e12beea1a65b1dc039dcb77e 100644 GIT binary patch literal 80896 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 An*aa+ delta 39372 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 false 100 + +
  • + 3200 +
  • +
  • diff --git a/1.6/1.6/Languages/ChineseSimplified (简体中文)/Keyed/ArachnaeSwarm_Keys.xml b/1.6/1.6/Languages/ChineseSimplified (简体中文)/Keyed/ArachnaeSwarm_Keys.xml index 443c05a..c1cb40f 100644 --- a/1.6/1.6/Languages/ChineseSimplified (简体中文)/Keyed/ArachnaeSwarm_Keys.xml +++ b/1.6/1.6/Languages/ChineseSimplified (简体中文)/Keyed/ArachnaeSwarm_Keys.xml @@ -10,5 +10,16 @@ 目标 {0} 没有“ARA_HiveMindDrone”的 hediff。 目标 {0} 已绑定到 {1}。 施法者 {0} 没有“ARA_HiveMindMaster”的 hediff。 + + + 目标必须是类人生物。 + {0} 已被寄生。 + 无法寄生 {0} 种族。 + + + 链接至: {0} + 未链接至任何女皇种。 + 控制的虫族: + 尚未绑定任何虫族。 \ No newline at end of file diff --git a/Languages/ChineseSimplified/Keyed/ArachnaeSwarm_Keys.xml b/Languages/ChineseSimplified/Keyed/ArachnaeSwarm_Keys.xml deleted file mode 100644 index 9a71c32..0000000 --- a/Languages/ChineseSimplified/Keyed/ArachnaeSwarm_Keys.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - 目标必须是类人生物。 - {0} 已被夺舍。 - 无法夺舍 {0} 种族。 - - \ No newline at end of file diff --git a/Source/ArachnaeSwarm/ARA_HiveMind/HediffComp_HiveMindMaster.cs b/Source/ArachnaeSwarm/ARA_HiveMind/HediffComp_HiveMindMaster.cs new file mode 100644 index 0000000..15b900e --- /dev/null +++ b/Source/ArachnaeSwarm/ARA_HiveMind/HediffComp_HiveMindMaster.cs @@ -0,0 +1,44 @@ +using Verse; + +namespace ArachnaeSwarm +{ + public class HediffCompProperties_HiveMindMaster : HediffCompProperties + { + public int scanIntervalTicks = 60; // Default to 1 second + + public HediffCompProperties_HiveMindMaster() + { + this.compClass = typeof(HediffComp_HiveMindMaster); + } + } + + public class HediffComp_HiveMindMaster : HediffComp + { + private Hediff_HiveMindMaster parentHediff; + + private HediffCompProperties_HiveMindMaster Props => (HediffCompProperties_HiveMindMaster)this.props; + + public override void CompPostMake() + { + base.CompPostMake(); + parentHediff = (Hediff_HiveMindMaster)this.parent; + // Immediately try to bind drones when the hediff is first applied. + parentHediff.TryBindAllAvailableDrones(); + } + + public override void CompPostTick(ref float severityAdjustment) + { + base.CompPostTick(ref severityAdjustment); + + // Periodically check for new unbound drones based on XML value. + if (Find.TickManager.TicksGame % Props.scanIntervalTicks == 0) + { + if (parentHediff == null) + { + parentHediff = (Hediff_HiveMindMaster)this.parent; + } + parentHediff.TryBindAllAvailableDrones(); + } + } + } +} \ No newline at end of file diff --git a/Source/ArachnaeSwarm/ARA_HiveMind/Hediff_HiveMindDrone.cs b/Source/ArachnaeSwarm/ARA_HiveMind/Hediff_HiveMindDrone.cs index 6a141f8..e1ad738 100644 --- a/Source/ArachnaeSwarm/ARA_HiveMind/Hediff_HiveMindDrone.cs +++ b/Source/ArachnaeSwarm/ARA_HiveMind/Hediff_HiveMindDrone.cs @@ -56,6 +56,17 @@ namespace ArachnaeSwarm masterHediff?.DeregisterDrone(this.pawn); } } + public override string TipStringExtra + { + get + { + if (this.target is Pawn master && master != null) + { + return "ARA_TipString_LinkedTo".Translate(master.LabelShortCap); + } + return "ARA_TipString_NotLinked".Translate(); + } + } // PostTick logic moved to HediffComp_HiveMindDrone } } \ No newline at end of file diff --git a/Source/ArachnaeSwarm/ARA_HiveMind/Hediff_HiveMindMaster.cs b/Source/ArachnaeSwarm/ARA_HiveMind/Hediff_HiveMindMaster.cs index 50f49f2..bced785 100644 --- a/Source/ArachnaeSwarm/ARA_HiveMind/Hediff_HiveMindMaster.cs +++ b/Source/ArachnaeSwarm/ARA_HiveMind/Hediff_HiveMindMaster.cs @@ -5,7 +5,7 @@ using Verse; namespace ArachnaeSwarm { - public class Hediff_HiveMindMaster : Hediff + public class Hediff_HiveMindMaster : HediffWithComps { private List drones = new List(); @@ -13,6 +13,30 @@ namespace ArachnaeSwarm public override bool ShouldRemove => false; + public override string TipStringExtra + { + get + { + if (drones.NullOrEmpty()) + { + return "\n" + "ARA_TipString_NoDronesBound".Translate().Colorize(ColoredText.SubtleGrayColor); + } + + System.Text.StringBuilder stringBuilder = new System.Text.StringBuilder(); + stringBuilder.AppendLine("\n" + "ARA_TipString_ControlledDrones".Translate().Colorize(ColoredText.TipSectionTitleColor)); + foreach (var drone in drones) + { + string backstoryInfo = ""; + if (drone.story?.TitleShort is string adulthoodTitle && !adulthoodTitle.NullOrEmpty()) + { + backstoryInfo = $" ({adulthoodTitle.Colorize(ColoredText.SubtleGrayColor)})"; + } + stringBuilder.AppendLine($" - {drone.LabelShortCap}{backstoryInfo}"); + } + return stringBuilder.ToString(); + } + } + public override void ExposeData() { base.ExposeData(); @@ -57,6 +81,41 @@ namespace ArachnaeSwarm return true; } + public void TryBindAllAvailableDrones() + { + if (this.pawn?.Map == null) return; + + // First, clean up any dead, despawned, or destroyed drones from the list. + int removedCount = drones.RemoveAll(drone => drone == null || drone.Dead || drone.Destroyed); + + // Find all pawns on the map that could be potential drones + List potentialDrones = this.pawn.Map.mapPawns.AllPawnsSpawned + .Where(p => p.health.hediffSet.HasHediff(HediffDef.Named("ARA_HiveMindDrone"))) + .ToList(); + + int boundCount = 0; + + foreach (var drone in potentialDrones) + { + Hediff_HiveMindDrone droneHediff = drone.health.hediffSet.GetFirstHediffOfDef(HediffDef.Named("ARA_HiveMindDrone")) as Hediff_HiveMindDrone; + + // Check if the drone is unlinked (target is null) and not already in our list + if (droneHediff != null && droneHediff.target == null && !drones.Contains(drone)) + { + droneHediff.target = this.pawn; // Set the drone's target to this master + drones.Add(drone); + Log.Message($"[ArachnaeSwarm] Master {this.pawn.LabelShort} automatically bound drone {drone.LabelShort}."); + boundCount++; + } + } + + // Update severity if anything changed (drones were added or removed) + if (boundCount > 0 || removedCount > 0) + { + UpdateSeverity(); + } + } + public void DeregisterDrone(Pawn drone) { if (drones.Contains(drone)) diff --git a/Source/ArachnaeSwarm/ArachnaeSwarm.csproj b/Source/ArachnaeSwarm/ArachnaeSwarm.csproj index 8b68949..2929c0b 100644 --- a/Source/ArachnaeSwarm/ArachnaeSwarm.csproj +++ b/Source/ArachnaeSwarm/ArachnaeSwarm.csproj @@ -80,6 +80,7 @@ +