fix: 把被两个提交“优化”坏的督虫出生链路修回来
- 恢复 NodeSwarm 基础种族的 ARA_HiveMindDrone 注入(撤销 d69dc3b 引入的回归)
- Ootheca 与队列孵化统一改为 forceGenerateNewPawn=true,绕开 redress 路径跳过 startingHediffs
- 新出生督虫稳定携带 ARA_HiveMindDrone,不再靠运气触发
This commit is contained in:
Binary file not shown.
@@ -64,87 +64,87 @@
|
||||
<li>ARA_TumorSpew</li>
|
||||
</abilities>
|
||||
</PawnKindDef>
|
||||
<AlienRace.RaceSettings>
|
||||
<defName>ARA_ArachnaeQueenSettings</defName>
|
||||
<pawnKindSettings>
|
||||
<startingColonists>
|
||||
<li>
|
||||
<pawnKindEntries>
|
||||
<li>
|
||||
<kindDefs>
|
||||
<li>ARA_ArachnaeQueen</li>
|
||||
</kindDefs>
|
||||
<chance>100.0</chance>
|
||||
</li>
|
||||
</pawnKindEntries>
|
||||
<factionDefs>
|
||||
<li>ARA_New_Hive</li>
|
||||
</factionDefs>
|
||||
</li>
|
||||
</startingColonists>
|
||||
<alienwandererkinds>
|
||||
<li>
|
||||
<pawnKindEntries>
|
||||
<li>
|
||||
<kindDefs>
|
||||
<li>ARA_ArachnaeQueen</li>
|
||||
<li>ArachnaeNode_Race_ShieldHead</li>
|
||||
<li>ArachnaeNode_Race_WeaponSmith</li>
|
||||
<li>ArachnaeNode_Race_Fighter</li>
|
||||
<li>ArachnaeNode_Race_Facehugger</li>
|
||||
<li>ArachnaeNode_Race_Myrmecocystus</li>
|
||||
<li>ArachnaeNode_Race_Smokepop</li>
|
||||
<li>ArachnaeNode_Race_NeuroSwarm</li>
|
||||
<li>ArachnaeNode_Race_Skyraider</li>
|
||||
<li>ArachnaeNode_Race_Praetorian</li>
|
||||
<li>ARA_MimicNematodeShamblerSwarmer</li>
|
||||
</kindDefs>
|
||||
<chance>0</chance>
|
||||
</li>
|
||||
</pawnKindEntries>
|
||||
<factionDefs>
|
||||
<li>ARA_New_Hive</li>
|
||||
</factionDefs>
|
||||
</li>
|
||||
</alienwandererkinds>
|
||||
<alienslavekinds>
|
||||
<li>
|
||||
<kindDefs>
|
||||
<li>ARA_ArachnaeQueen</li>
|
||||
<li>ArachnaeNode_Race_ShieldHead</li>
|
||||
<li>ArachnaeNode_Race_WeaponSmith</li>
|
||||
<li>ArachnaeNode_Race_Fighter</li>
|
||||
<li>ArachnaeNode_Race_Facehugger</li>
|
||||
<li>ArachnaeNode_Race_Myrmecocystus</li>
|
||||
<li>ArachnaeNode_Race_Smokepop</li>
|
||||
<li>ArachnaeNode_Race_NeuroSwarm</li>
|
||||
<li>ArachnaeNode_Race_Skyraider</li>
|
||||
<li>ArachnaeNode_Race_Praetorian</li>
|
||||
<li>ARA_MimicNematodeShamblerSwarmer</li>
|
||||
</kindDefs>
|
||||
<chance>0</chance>
|
||||
</li>
|
||||
</alienslavekinds>
|
||||
<alienrefugeekinds>
|
||||
<li>
|
||||
<kindDefs>
|
||||
<li>ARA_ArachnaeQueen</li>
|
||||
<li>ArachnaeNode_Race_ShieldHead</li>
|
||||
<li>ArachnaeNode_Race_WeaponSmith</li>
|
||||
<li>ArachnaeNode_Race_Fighter</li>
|
||||
<li>ArachnaeNode_Race_Facehugger</li>
|
||||
<li>ArachnaeNode_Race_Myrmecocystus</li>
|
||||
<li>ArachnaeNode_Race_Smokepop</li>
|
||||
<li>ArachnaeNode_Race_NeuroSwarm</li>
|
||||
<li>ArachnaeNode_Race_Skyraider</li>
|
||||
<li>ArachnaeNode_Race_Praetorian</li>
|
||||
<li>ARA_MimicNematodeShamblerSwarmer</li>
|
||||
</kindDefs>
|
||||
<chance>0</chance>
|
||||
</li>
|
||||
</alienrefugeekinds>
|
||||
</pawnKindSettings>
|
||||
</AlienRace.RaceSettings>
|
||||
<AlienRace.RaceSettings>
|
||||
<defName>ARA_ArachnaeQueenSettings</defName>
|
||||
<pawnKindSettings>
|
||||
<startingColonists>
|
||||
<li>
|
||||
<pawnKindEntries>
|
||||
<li>
|
||||
<kindDefs>
|
||||
<li>ARA_ArachnaeQueen</li>
|
||||
</kindDefs>
|
||||
<chance>100.0</chance>
|
||||
</li>
|
||||
</pawnKindEntries>
|
||||
<factionDefs>
|
||||
<li>ARA_New_Hive</li>
|
||||
</factionDefs>
|
||||
</li>
|
||||
</startingColonists>
|
||||
<alienwandererkinds>
|
||||
<li>
|
||||
<pawnKindEntries>
|
||||
<li>
|
||||
<kindDefs>
|
||||
<li>ARA_ArachnaeQueen</li>
|
||||
<li>ArachnaeNode_Race_ShieldHead</li>
|
||||
<li>ArachnaeNode_Race_WeaponSmith</li>
|
||||
<li>ArachnaeNode_Race_Fighter</li>
|
||||
<li>ArachnaeNode_Race_Facehugger</li>
|
||||
<li>ArachnaeNode_Race_Myrmecocystus</li>
|
||||
<li>ArachnaeNode_Race_Smokepop</li>
|
||||
<li>ArachnaeNode_Race_NeuroSwarm</li>
|
||||
<li>ArachnaeNode_Race_Skyraider</li>
|
||||
<li>ArachnaeNode_Race_Praetorian</li>
|
||||
<li>ARA_MimicNematodeShamblerSwarmer</li>
|
||||
</kindDefs>
|
||||
<chance>0</chance>
|
||||
</li>
|
||||
</pawnKindEntries>
|
||||
<factionDefs>
|
||||
<li>ARA_New_Hive</li>
|
||||
</factionDefs>
|
||||
</li>
|
||||
</alienwandererkinds>
|
||||
<alienslavekinds>
|
||||
<li>
|
||||
<kindDefs>
|
||||
<li>ARA_ArachnaeQueen</li>
|
||||
<li>ArachnaeNode_Race_ShieldHead</li>
|
||||
<li>ArachnaeNode_Race_WeaponSmith</li>
|
||||
<li>ArachnaeNode_Race_Fighter</li>
|
||||
<li>ArachnaeNode_Race_Facehugger</li>
|
||||
<li>ArachnaeNode_Race_Myrmecocystus</li>
|
||||
<li>ArachnaeNode_Race_Smokepop</li>
|
||||
<li>ArachnaeNode_Race_NeuroSwarm</li>
|
||||
<li>ArachnaeNode_Race_Skyraider</li>
|
||||
<li>ArachnaeNode_Race_Praetorian</li>
|
||||
<li>ARA_MimicNematodeShamblerSwarmer</li>
|
||||
</kindDefs>
|
||||
<chance>0</chance>
|
||||
</li>
|
||||
</alienslavekinds>
|
||||
<alienrefugeekinds>
|
||||
<li>
|
||||
<kindDefs>
|
||||
<li>ARA_ArachnaeQueen</li>
|
||||
<li>ArachnaeNode_Race_ShieldHead</li>
|
||||
<li>ArachnaeNode_Race_WeaponSmith</li>
|
||||
<li>ArachnaeNode_Race_Fighter</li>
|
||||
<li>ArachnaeNode_Race_Facehugger</li>
|
||||
<li>ArachnaeNode_Race_Myrmecocystus</li>
|
||||
<li>ArachnaeNode_Race_Smokepop</li>
|
||||
<li>ArachnaeNode_Race_NeuroSwarm</li>
|
||||
<li>ArachnaeNode_Race_Skyraider</li>
|
||||
<li>ArachnaeNode_Race_Praetorian</li>
|
||||
<li>ARA_MimicNematodeShamblerSwarmer</li>
|
||||
</kindDefs>
|
||||
<chance>0</chance>
|
||||
</li>
|
||||
</alienrefugeekinds>
|
||||
</pawnKindSettings>
|
||||
</AlienRace.RaceSettings>
|
||||
<PawnKindDef ParentName="ArachnaeQueenBasePawnKind">
|
||||
<defName>ArachnaeQueen_Race_Neurotyrant</defName>
|
||||
<label>阿拉克涅灵吸种</label>
|
||||
@@ -169,8 +169,8 @@
|
||||
</apparelTags>
|
||||
<apparelMoney>0</apparelMoney>
|
||||
<abilities>
|
||||
<li>ARA_Neurotyrant_Harvest</li>
|
||||
<li>ARA_Neurotyrant_PsychicLoadDump</li>
|
||||
<li>ARA_Neurotyrant_Harvest</li>
|
||||
<li>ARA_Neurotyrant_PsychicLoadDump</li>
|
||||
</abilities>
|
||||
</PawnKindDef>
|
||||
|
||||
@@ -213,9 +213,9 @@
|
||||
<li>Violent</li>
|
||||
</requiredWorkTags>
|
||||
<startingHediffs>
|
||||
<li>
|
||||
<def>ARA_HiveMindDrone</def>
|
||||
</li>
|
||||
<li>
|
||||
<def>ARA_HiveMindDrone</def>
|
||||
</li>
|
||||
</startingHediffs>
|
||||
<moveSpeedFactorByTerrainTag>
|
||||
<li>
|
||||
@@ -317,11 +317,11 @@
|
||||
</categories>
|
||||
</li>
|
||||
</backstoryFiltersOverride>
|
||||
<startingHediffs>
|
||||
<li>
|
||||
<def>ARA_RaceBaseSwarmProduceSwitchHediff</def>
|
||||
</li>
|
||||
</startingHediffs>
|
||||
<startingHediffs>
|
||||
<li>
|
||||
<def>ARA_RaceBaseSwarmProduceSwitchHediff</def>
|
||||
</li>
|
||||
</startingHediffs>
|
||||
<apparelTags>
|
||||
</apparelTags>
|
||||
<apparelMoney>0</apparelMoney>
|
||||
@@ -340,11 +340,11 @@
|
||||
</categories>
|
||||
</li>
|
||||
</backstoryFiltersOverride>
|
||||
<startingHediffs>
|
||||
<li>
|
||||
<def>ARA_RaceBaseSwarmProduceSwitchHediff</def>
|
||||
</li>
|
||||
</startingHediffs>
|
||||
<startingHediffs>
|
||||
<li>
|
||||
<def>ARA_RaceBaseSwarmProduceSwitchHediff</def>
|
||||
</li>
|
||||
</startingHediffs>
|
||||
<apparelMoney>0</apparelMoney>
|
||||
</PawnKindDef>
|
||||
<PawnKindDef Name="ArachnaeNode_Race_Skyraider" ParentName="ArachnaeNodeABasePawnKind">
|
||||
@@ -369,11 +369,11 @@
|
||||
<abilities>
|
||||
<li>ARA_Skyraider_jump</li>
|
||||
</abilities>
|
||||
<startingHediffs>
|
||||
<li>
|
||||
<def>ARA_RaceBaseSwarmProduceSwitchHediff</def>
|
||||
</li>
|
||||
</startingHediffs>
|
||||
<startingHediffs>
|
||||
<li>
|
||||
<def>ARA_RaceBaseSwarmProduceSwitchHediff</def>
|
||||
</li>
|
||||
</startingHediffs>
|
||||
<apparelMoney>0</apparelMoney>
|
||||
<modExtensions>
|
||||
<li Class="ArachnaeSwarm.SuperCarryExtension">
|
||||
@@ -428,11 +428,11 @@
|
||||
</categories>
|
||||
</li>
|
||||
</backstoryFiltersOverride>
|
||||
<startingHediffs>
|
||||
<li>
|
||||
<def>ARA_RaceBaseSwarmProduceSwitchHediff</def>
|
||||
</li>
|
||||
</startingHediffs>
|
||||
<startingHediffs>
|
||||
<li>
|
||||
<def>ARA_RaceBaseSwarmProduceSwitchHediff</def>
|
||||
</li>
|
||||
</startingHediffs>
|
||||
<apparelMoney>0</apparelMoney>
|
||||
</PawnKindDef>
|
||||
<PawnKindDef Name="ARA_MimicNematodeShamblerBase" ParentName="ArachnaeNodeABasePawnKind" Abstract="True">
|
||||
@@ -477,9 +477,9 @@
|
||||
<value>3.0</value>
|
||||
</li>
|
||||
</moveSpeedFactorByTerrainTag>
|
||||
<abilities>
|
||||
<li>ARA_Suicide_Fast_Ability</li>
|
||||
</abilities>
|
||||
<abilities>
|
||||
<li>ARA_Suicide_Fast_Ability</li>
|
||||
</abilities>
|
||||
</PawnKindDef>
|
||||
<PawnKindDef ParentName="ARA_InsectKindBase">
|
||||
<defName>ArachnaeBase_Race_Larva</defName>
|
||||
@@ -637,9 +637,9 @@
|
||||
</dessicatedBodyGraphicData>
|
||||
</li>
|
||||
</lifeStages>
|
||||
<abilities>
|
||||
<li>ARA_Baneling_Suicide_Ability</li>
|
||||
</abilities>
|
||||
<abilities>
|
||||
<li>ARA_Baneling_Suicide_Ability</li>
|
||||
</abilities>
|
||||
</PawnKindDef>
|
||||
<PawnKindDef ParentName="ARA_InsectKindBase">
|
||||
<defName>ArachnaeBase_Race_Empsuicider</defName>
|
||||
@@ -683,7 +683,7 @@
|
||||
</li>
|
||||
</lifeStages>
|
||||
<abilities>
|
||||
<li>ARA_Locust_AcidSprayBurst</li>
|
||||
<li>ARA_Locust_AcidSprayBurst</li>
|
||||
</abilities>
|
||||
</PawnKindDef>
|
||||
|
||||
@@ -694,8 +694,8 @@
|
||||
<defaultFactionType>PlayerColony</defaultFactionType>
|
||||
<forceDeathOnDowned>false</forceDeathOnDowned>
|
||||
<forceNoDeathNotification>false</forceNoDeathNotification>
|
||||
<immuneToGameConditionEffects>true</immuneToGameConditionEffects>
|
||||
<collidesWithPawns>false</collidesWithPawns>
|
||||
<immuneToGameConditionEffects>true</immuneToGameConditionEffects>
|
||||
<collidesWithPawns>false</collidesWithPawns>
|
||||
<combatPower>500</combatPower>
|
||||
<lifeStages>
|
||||
<li>
|
||||
@@ -713,8 +713,8 @@
|
||||
</dessicatedBodyGraphicData>
|
||||
</li>
|
||||
</lifeStages>
|
||||
<abilities>
|
||||
<li>ARA_Ability_SlayerCharge</li>
|
||||
</abilities>
|
||||
<abilities>
|
||||
<li>ARA_Ability_SlayerCharge</li>
|
||||
</abilities>
|
||||
</PawnKindDef>
|
||||
</Defs>
|
||||
@@ -648,6 +648,7 @@
|
||||
<comps>
|
||||
<li Class="ArachnaeSwarm.CompProperties_HediffGiver">
|
||||
<hediffs>
|
||||
<li>ARA_HiveMindDrone</li>
|
||||
<li>ARA_HiveStrength_Low</li>
|
||||
<li>ARA_Hive_Cannot_Speak</li>
|
||||
</hediffs>
|
||||
@@ -2064,4 +2065,4 @@
|
||||
<li Class="CompProperties_DrugAddict"/> -->
|
||||
</comps>
|
||||
</AlienRace.ThingDef_AlienRace>
|
||||
</Defs>
|
||||
</Defs>
|
||||
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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,但过滤一些不需要的
|
||||
|
||||
Reference in New Issue
Block a user