diff --git a/1.6/1.6/Assemblies/ArachnaeSwarm.dll b/1.6/1.6/Assemblies/ArachnaeSwarm.dll index affc0b5..c5f20f1 100644 Binary files a/1.6/1.6/Assemblies/ArachnaeSwarm.dll and b/1.6/1.6/Assemblies/ArachnaeSwarm.dll differ diff --git a/1.6/1.6/Defs/PawnKindDef/ARA_PawnKinds.xml b/1.6/1.6/Defs/PawnKindDef/ARA_PawnKinds.xml index 8ec7aed..55bd28d 100644 --- a/1.6/1.6/Defs/PawnKindDef/ARA_PawnKinds.xml +++ b/1.6/1.6/Defs/PawnKindDef/ARA_PawnKinds.xml @@ -64,87 +64,87 @@
  • ARA_TumorSpew
  • - - ARA_ArachnaeQueenSettings - - -
  • - -
  • - -
  • ARA_ArachnaeQueen
  • - - 100.0 - - - -
  • ARA_New_Hive
  • -
    - -
    - -
  • - -
  • - -
  • ARA_ArachnaeQueen
  • -
  • ArachnaeNode_Race_ShieldHead
  • -
  • ArachnaeNode_Race_WeaponSmith
  • -
  • ArachnaeNode_Race_Fighter
  • -
  • ArachnaeNode_Race_Facehugger
  • -
  • ArachnaeNode_Race_Myrmecocystus
  • -
  • ArachnaeNode_Race_Smokepop
  • -
  • ArachnaeNode_Race_NeuroSwarm
  • -
  • ArachnaeNode_Race_Skyraider
  • -
  • ArachnaeNode_Race_Praetorian
  • -
  • ARA_MimicNematodeShamblerSwarmer
  • - - 0 - - - -
  • ARA_New_Hive
  • -
    - -
    - -
  • - -
  • ARA_ArachnaeQueen
  • -
  • ArachnaeNode_Race_ShieldHead
  • -
  • ArachnaeNode_Race_WeaponSmith
  • -
  • ArachnaeNode_Race_Fighter
  • -
  • ArachnaeNode_Race_Facehugger
  • -
  • ArachnaeNode_Race_Myrmecocystus
  • -
  • ArachnaeNode_Race_Smokepop
  • -
  • ArachnaeNode_Race_NeuroSwarm
  • -
  • ArachnaeNode_Race_Skyraider
  • -
  • ArachnaeNode_Race_Praetorian
  • -
  • ARA_MimicNematodeShamblerSwarmer
  • - - 0 - -
    - -
  • - -
  • ARA_ArachnaeQueen
  • -
  • ArachnaeNode_Race_ShieldHead
  • -
  • ArachnaeNode_Race_WeaponSmith
  • -
  • ArachnaeNode_Race_Fighter
  • -
  • ArachnaeNode_Race_Facehugger
  • -
  • ArachnaeNode_Race_Myrmecocystus
  • -
  • ArachnaeNode_Race_Smokepop
  • -
  • ArachnaeNode_Race_NeuroSwarm
  • -
  • ArachnaeNode_Race_Skyraider
  • -
  • ArachnaeNode_Race_Praetorian
  • -
  • ARA_MimicNematodeShamblerSwarmer
  • - - 0 - -
    -
    -
    + + ARA_ArachnaeQueenSettings + + +
  • + +
  • + +
  • ARA_ArachnaeQueen
  • + + 100.0 + + + +
  • ARA_New_Hive
  • +
    + +
    + +
  • + +
  • + +
  • ARA_ArachnaeQueen
  • +
  • ArachnaeNode_Race_ShieldHead
  • +
  • ArachnaeNode_Race_WeaponSmith
  • +
  • ArachnaeNode_Race_Fighter
  • +
  • ArachnaeNode_Race_Facehugger
  • +
  • ArachnaeNode_Race_Myrmecocystus
  • +
  • ArachnaeNode_Race_Smokepop
  • +
  • ArachnaeNode_Race_NeuroSwarm
  • +
  • ArachnaeNode_Race_Skyraider
  • +
  • ArachnaeNode_Race_Praetorian
  • +
  • ARA_MimicNematodeShamblerSwarmer
  • + + 0 + + + +
  • ARA_New_Hive
  • +
    + +
    + +
  • + +
  • ARA_ArachnaeQueen
  • +
  • ArachnaeNode_Race_ShieldHead
  • +
  • ArachnaeNode_Race_WeaponSmith
  • +
  • ArachnaeNode_Race_Fighter
  • +
  • ArachnaeNode_Race_Facehugger
  • +
  • ArachnaeNode_Race_Myrmecocystus
  • +
  • ArachnaeNode_Race_Smokepop
  • +
  • ArachnaeNode_Race_NeuroSwarm
  • +
  • ArachnaeNode_Race_Skyraider
  • +
  • ArachnaeNode_Race_Praetorian
  • +
  • ARA_MimicNematodeShamblerSwarmer
  • + + 0 + +
    + +
  • + +
  • ARA_ArachnaeQueen
  • +
  • ArachnaeNode_Race_ShieldHead
  • +
  • ArachnaeNode_Race_WeaponSmith
  • +
  • ArachnaeNode_Race_Fighter
  • +
  • ArachnaeNode_Race_Facehugger
  • +
  • ArachnaeNode_Race_Myrmecocystus
  • +
  • ArachnaeNode_Race_Smokepop
  • +
  • ArachnaeNode_Race_NeuroSwarm
  • +
  • ArachnaeNode_Race_Skyraider
  • +
  • ArachnaeNode_Race_Praetorian
  • +
  • ARA_MimicNematodeShamblerSwarmer
  • + + 0 + +
    +
    +
    ArachnaeQueen_Race_Neurotyrant @@ -169,8 +169,8 @@ 0 -
  • ARA_Neurotyrant_Harvest
  • -
  • ARA_Neurotyrant_PsychicLoadDump
  • +
  • ARA_Neurotyrant_Harvest
  • +
  • ARA_Neurotyrant_PsychicLoadDump
  • @@ -213,9 +213,9 @@
  • Violent
  • -
  • - ARA_HiveMindDrone -
  • +
  • + ARA_HiveMindDrone +
  • @@ -317,11 +317,11 @@
  • - -
  • - ARA_RaceBaseSwarmProduceSwitchHediff -
  • -
    + +
  • + ARA_RaceBaseSwarmProduceSwitchHediff +
  • +
    0 @@ -340,11 +340,11 @@ - -
  • - ARA_RaceBaseSwarmProduceSwitchHediff -
  • -
    + +
  • + ARA_RaceBaseSwarmProduceSwitchHediff +
  • +
    0 @@ -369,11 +369,11 @@
  • ARA_Skyraider_jump
  • - -
  • - ARA_RaceBaseSwarmProduceSwitchHediff -
  • -
    + +
  • + ARA_RaceBaseSwarmProduceSwitchHediff +
  • +
    0
  • @@ -428,11 +428,11 @@
  • - -
  • - ARA_RaceBaseSwarmProduceSwitchHediff -
  • -
    + +
  • + ARA_RaceBaseSwarmProduceSwitchHediff +
  • +
    0
    @@ -477,9 +477,9 @@ 3.0
    - -
  • ARA_Suicide_Fast_Ability
  • -
    + +
  • ARA_Suicide_Fast_Ability
  • +
    ArachnaeBase_Race_Larva @@ -637,9 +637,9 @@ - -
  • ARA_Baneling_Suicide_Ability
  • -
    + +
  • ARA_Baneling_Suicide_Ability
  • +
    ArachnaeBase_Race_Empsuicider @@ -683,7 +683,7 @@ -
  • ARA_Locust_AcidSprayBurst
  • +
  • ARA_Locust_AcidSprayBurst
  • @@ -694,8 +694,8 @@ PlayerColony false false - true - false + true + false 500
  • @@ -713,8 +713,8 @@
  • - -
  • ARA_Ability_SlayerCharge
  • -
    + +
  • ARA_Ability_SlayerCharge
  • +
    \ No newline at end of file diff --git a/1.6/1.6/Defs/ThingDef_Races/ARA_RaceNodeSwarm.xml b/1.6/1.6/Defs/ThingDef_Races/ARA_RaceNodeSwarm.xml index a47ae7c..f51f553 100644 --- a/1.6/1.6/Defs/ThingDef_Races/ARA_RaceNodeSwarm.xml +++ b/1.6/1.6/Defs/ThingDef_Races/ARA_RaceNodeSwarm.xml @@ -648,6 +648,7 @@
  • +
  • ARA_HiveMindDrone
  • ARA_HiveStrength_Low
  • ARA_Hive_Cannot_Speak
  • @@ -2064,4 +2065,4 @@
  • --> - \ No newline at end of file + diff --git a/Source/ArachnaeSwarm/Building_Comps/ARA_SpawnPawnFromList/CompQueuedPawnSpawner.cs b/Source/ArachnaeSwarm/Building_Comps/ARA_SpawnPawnFromList/CompQueuedPawnSpawner.cs index e7e5739..f24ee22 100644 --- a/Source/ArachnaeSwarm/Building_Comps/ARA_SpawnPawnFromList/CompQueuedPawnSpawner.cs +++ b/Source/ArachnaeSwarm/Building_Comps/ARA_SpawnPawnFromList/CompQueuedPawnSpawner.cs @@ -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 } } } -} \ No newline at end of file +} diff --git a/Source/ArachnaeSwarm/Building_Comps/ARA_SpawnPawnFromList/CompQueuedPawnSpawnerWithFlux.cs b/Source/ArachnaeSwarm/Building_Comps/ARA_SpawnPawnFromList/CompQueuedPawnSpawnerWithFlux.cs index 5295c93..3c999f1 100644 --- a/Source/ArachnaeSwarm/Building_Comps/ARA_SpawnPawnFromList/CompQueuedPawnSpawnerWithFlux.cs +++ b/Source/ArachnaeSwarm/Building_Comps/ARA_SpawnPawnFromList/CompQueuedPawnSpawnerWithFlux.cs @@ -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); diff --git a/Source/ArachnaeSwarm/Buildings/Building_Ootheca/Building_Ootheca.cs b/Source/ArachnaeSwarm/Buildings/Building_Ootheca/Building_Ootheca.cs index ac1b535..4043da0 100644 --- a/Source/ArachnaeSwarm/Buildings/Building_Ootheca/Building_Ootheca.cs +++ b/Source/ArachnaeSwarm/Buildings/Building_Ootheca/Building_Ootheca.cs @@ -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,但过滤一些不需要的