fix: 把被两个提交“优化”坏的督虫出生链路修回来

- 恢复 NodeSwarm 基础种族的 ARA_HiveMindDrone 注入(撤销 d69dc3b 引入的回归)
- Ootheca 与队列孵化统一改为 forceGenerateNewPawn=true,绕开 redress 路径跳过 startingHediffs
- 新出生督虫稳定携带 ARA_HiveMindDrone,不再靠运气触发
This commit is contained in:
2026-02-10 17:47:15 +08:00
parent 3ee4a60c4b
commit 34548bba61
6 changed files with 135 additions and 123 deletions

View File

@@ -115,7 +115,10 @@ namespace ArachnaeSwarm
{
if (order.spawnUntilTick > 0 && Find.TickManager.TicksGame >= order.spawnUntilTick)
{
Pawn pawn = PawnGenerator.GeneratePawn(new PawnGenerationRequest(order.entry.pawnKind, parent.Faction));
Pawn pawn = PawnGenerator.GeneratePawn(new PawnGenerationRequest(
order.entry.pawnKind,
parent.Faction,
forceGenerateNewPawn: true));
if (pawn != null) GenPlace.TryPlaceThing(pawn, parent.Position, parent.Map, ThingPlaceMode.Near);
return true;
}
@@ -200,4 +203,4 @@ namespace ArachnaeSwarm
}
}
}
}
}

View File

@@ -355,7 +355,10 @@ namespace ArachnaeSwarm
{
if (order.config?.pawnKind == null) return;
Pawn pawn = PawnGenerator.GeneratePawn(new PawnGenerationRequest(order.config.pawnKind, parent.Faction));
Pawn pawn = PawnGenerator.GeneratePawn(new PawnGenerationRequest(
order.config.pawnKind,
parent.Faction,
forceGenerateNewPawn: true));
if (pawn != null)
{
ApplyQualityEffects(pawn, order.QualityPercent, order.config);

View File

@@ -339,7 +339,11 @@ namespace ArachnaeSwarm
if (incubatingPawnKind == null) return;
float finalQuality = QualityPercent;
var pawn = PawnGenerator.GeneratePawn(incubatingPawnKind, Faction);
var request = new PawnGenerationRequest(
incubatingPawnKind,
Faction,
forceGenerateNewPawn: true);
var pawn = PawnGenerator.GeneratePawn(request);
ApplyQualityEffects(pawn, finalQuality);
GenSpawn.Spawn(pawn, Position, Map);
@@ -564,6 +568,7 @@ namespace ArachnaeSwarm
// 首先添加中子通量Gizmo最重要的控制
if (Faction == Faction.OfPlayer)
{
yield return new Gizmo_PawnProgressBar(this);
yield return new Gizmo_NeutronFlux(this);
}
// 然后是基础Gizmo但过滤一些不需要的