This commit is contained in:
2025-12-17 17:32:25 +08:00
parent 15f6985623
commit 72be6db0c2
17 changed files with 485 additions and 695 deletions

Binary file not shown.

View File

@@ -39,18 +39,23 @@
<li Class="ScenPart_StartingThing_Defined">
<def>StartingThing_Defined</def>
<thingDef>ARA_InsectJelly</thingDef>
<count>200</count>
<count>300</count>
</li>
<li Class="ScenPart_StartingThing_Defined">
<def>StartingThing_Defined</def>
<thingDef>ARA_Medicine</thingDef>
<count>10</count>
<count>30</count>
</li>
<li Class="ScenPart_StartingThing_Defined">
<def>StartingThing_Defined</def>
<thingDef>ARA_InteractiveEggSac_Start</thingDef>
<count>4</count>
</li>
<li Class="ScenPart_StartingThing_Defined">
<def>StartingThing_Defined</def>
<thingDef>ARA_Gene_Essence</thingDef>
<count>20</count>
</li>
<!-- <li Class="ScenPart_StartingThing_Defined">
<def>StartingThing_Defined</def>
<thingDef>ARA_Guide_Pheromone</thingDef>

View File

@@ -624,7 +624,7 @@
<comps>
<li Class="ArachnaeSwarm.CompProperties_SwarmMaintenance">
<maxMaintenance>100</maxMaintenance>
<maintenanceDecayPerDay>85</maintenanceDecayPerDay>
<maintenanceDecayPerDay>45</maintenanceDecayPerDay>
<damagePerSecondWhenEmpty>2</damagePerSecondWhenEmpty>
<warningThreshold>0.2</warningThreshold>
<assignJobCheckInterval>1800</assignJobCheckInterval>
@@ -694,7 +694,7 @@
<comps Inherit="False">
<li Class="ArachnaeSwarm.CompProperties_SwarmMaintenance">
<maxMaintenance>100</maxMaintenance>
<maintenanceDecayPerDay>85</maintenanceDecayPerDay>
<maintenanceDecayPerDay>45</maintenanceDecayPerDay>
<damagePerSecondWhenEmpty>2</damagePerSecondWhenEmpty>
<warningThreshold>0.2</warningThreshold>
<assignJobCheckInterval>1800</assignJobCheckInterval>
@@ -770,7 +770,7 @@
<comps>
<li Class="ArachnaeSwarm.CompProperties_SwarmMaintenance">
<maxMaintenance>100</maxMaintenance>
<maintenanceDecayPerDay>85</maintenanceDecayPerDay>
<maintenanceDecayPerDay>45</maintenanceDecayPerDay>
<damagePerSecondWhenEmpty>2</damagePerSecondWhenEmpty>
<warningThreshold>0.2</warningThreshold>
<assignJobCheckInterval>1800</assignJobCheckInterval>
@@ -841,7 +841,7 @@
<comps>
<li Class="ArachnaeSwarm.CompProperties_SwarmMaintenance">
<maxMaintenance>100</maxMaintenance>
<maintenanceDecayPerDay>85</maintenanceDecayPerDay>
<maintenanceDecayPerDay>45</maintenanceDecayPerDay>
<damagePerSecondWhenEmpty>2</damagePerSecondWhenEmpty>
<warningThreshold>0.2</warningThreshold>
<assignJobCheckInterval>1800</assignJobCheckInterval>
@@ -916,7 +916,7 @@
<comps>
<li Class="ArachnaeSwarm.CompProperties_SwarmMaintenance">
<maxMaintenance>100</maxMaintenance>
<maintenanceDecayPerDay>85</maintenanceDecayPerDay>
<maintenanceDecayPerDay>45</maintenanceDecayPerDay>
<damagePerSecondWhenEmpty>2</damagePerSecondWhenEmpty>
<warningThreshold>0.2</warningThreshold>
<assignJobCheckInterval>1800</assignJobCheckInterval>
@@ -997,99 +997,7 @@
<comps>
<li Class="ArachnaeSwarm.CompProperties_SwarmMaintenance">
<maxMaintenance>100</maxMaintenance>
<maintenanceDecayPerDay>85</maintenanceDecayPerDay>
<damagePerSecondWhenEmpty>2</damagePerSecondWhenEmpty>
<warningThreshold>0.2</warningThreshold>
<assignJobCheckInterval>1800</assignJobCheckInterval>
<maintenanceThresholdForJob>0.5</maintenanceThresholdForJob>
<allowedRaces>
<li>ArachnaeNode_Race_WeaponSmith</li>
</allowedRaces>
</li>
<li Class="CompProperties_Glower">
<glowRadius>7</glowRadius>
<glowColor>(220,210,171,0)</glowColor>
</li>
</comps>
</ThingDef>
<ThingDef ParentName="BuildingBase">
<defName>ARA_Research_Vat</defName>
<label>阿拉克涅进化腔</label>
<description>阿拉克涅虫群中由触手长成的活体组织,可以支撑屋顶不至于倒塌,发出较大范围的光亮,并且比普通的支撑柱结实很多。</description>
<terrainAffordanceNeeded>ARA_Creep</terrainAffordanceNeeded>
<thingClass>ArachnaeSwarm.Building_ResearchBlueprintReader</thingClass>
<designationCategory>ARA_Buildings</designationCategory>
<tickerType>Normal</tickerType>
<uiOrder>2040</uiOrder>
<altitudeLayer>Building</altitudeLayer>
<passability>PassThroughOnly</passability>
<fillPercent>0.25</fillPercent>
<pathCost>0</pathCost>
<uiIconScale>0.8</uiIconScale>
<graphicData>
<drawSize>(1.25,1.25)</drawSize>
<drawOffset>(0,0,0.2)</drawOffset>
<texPath>ArachnaeSwarm/Building/ARA_Column</texPath>
<graphicClass>Graphic_Single</graphicClass>
<shaderType>CutoutComplex</shaderType>
<shadowData>
<volume>(0.3, 0.5, 0.3)</volume>
<offset>(0,0,-0.23)</offset>
</shadowData>
<damageData>
<rect>(0.2,0.2,0.6,0.6)</rect>
</damageData>
</graphicData>
<statBases>
<MaxHitPoints>1000</MaxHitPoints>
<WorkToBuild>750</WorkToBuild>
<Mass>10</Mass>
<Flammability>1.0</Flammability>
<Beauty>1</Beauty>
<StyleDominance MayRequire="Ludeon.RimWorld.Ideology">10</StyleDominance>
</statBases>
<researchPrerequisites>
<li>ARA_Base_Technology</li>
</researchPrerequisites>
<stuffCategories Inherit="False"/>
<costStuffCount>10</costStuffCount>
<stuffCategories Inherit="False">
<li>Woody</li>
<li>Stony</li>
<li>Metallic</li>
</stuffCategories>
<!-- 添加 ModExtension 配置 -->
<modExtensions>
<li Class="ArachnaeSwarm.ResearchBlueprintReaderExtension">
<researchSpeed>1</researchSpeed>
</li>
</modExtensions>
<costList>
<ARA_Carapace>2</ARA_Carapace>
</costList>
<holdsRoof>true</holdsRoof>
<canOverlapZones>false</canOverlapZones>
<rotatable>false</rotatable>
<fertility>0</fertility>
<specialDisplayRadius>6.9</specialDisplayRadius> <!-- must be kept in sync with roof hold-up radius -->
<building>
<isInert>true</isInert>
<ai_chillDestination>false</ai_chillDestination>
<paintable>true</paintable>
<relatedTerrain>
<li>ARA_InsectCreep</li>
</relatedTerrain>
</building>
<placeWorkers>
<li>PlaceWorker_GlowRadius</li>
</placeWorkers>
<comps>
<li Class="ArachnaeSwarm.CompProperties_SwarmMaintenance">
<maxMaintenance>100</maxMaintenance>
<maintenanceDecayPerDay>85</maintenanceDecayPerDay>
<maintenanceDecayPerDay>45</maintenanceDecayPerDay>
<damagePerSecondWhenEmpty>2</damagePerSecondWhenEmpty>
<warningThreshold>0.2</warningThreshold>
<assignJobCheckInterval>1800</assignJobCheckInterval>
@@ -1255,7 +1163,7 @@
<comps>
<li Class="ArachnaeSwarm.CompProperties_SwarmMaintenance">
<maxMaintenance>100</maxMaintenance>
<maintenanceDecayPerDay>85</maintenanceDecayPerDay>
<maintenanceDecayPerDay>45</maintenanceDecayPerDay>
<damagePerSecondWhenEmpty>2</damagePerSecondWhenEmpty>
<warningThreshold>0.2</warningThreshold>
<assignJobCheckInterval>1800</assignJobCheckInterval>
@@ -1311,7 +1219,7 @@
<comps Inherit="False">
<li Class="ArachnaeSwarm.CompProperties_SwarmMaintenance">
<maxMaintenance>100</maxMaintenance>
<maintenanceDecayPerDay>85</maintenanceDecayPerDay>
<maintenanceDecayPerDay>45</maintenanceDecayPerDay>
<damagePerSecondWhenEmpty>2</damagePerSecondWhenEmpty>
<warningThreshold>0.2</warningThreshold>
<assignJobCheckInterval>1800</assignJobCheckInterval>

View File

@@ -48,7 +48,7 @@
<comps>
<li Class="ArachnaeSwarm.CompProperties_SwarmMaintenance">
<maxMaintenance>100</maxMaintenance>
<maintenanceDecayPerDay>85</maintenanceDecayPerDay>
<maintenanceDecayPerDay>45</maintenanceDecayPerDay>
<damagePerSecondWhenEmpty>2</damagePerSecondWhenEmpty>
<warningThreshold>0.2</warningThreshold>
<assignJobCheckInterval>1800</assignJobCheckInterval>

View File

@@ -38,7 +38,7 @@
<comps>
<li Class="ArachnaeSwarm.CompProperties_SwarmMaintenance">
<maxMaintenance>100</maxMaintenance>
<maintenanceDecayPerDay>85</maintenanceDecayPerDay>
<maintenanceDecayPerDay>45</maintenanceDecayPerDay>
<damagePerSecondWhenEmpty>2</damagePerSecondWhenEmpty>
<warningThreshold>0.2</warningThreshold>
<assignJobCheckInterval>1800</assignJobCheckInterval>
@@ -173,7 +173,7 @@
<comps>
<li Class="ArachnaeSwarm.CompProperties_SwarmMaintenance">
<maxMaintenance>100</maxMaintenance>
<maintenanceDecayPerDay>85</maintenanceDecayPerDay>
<maintenanceDecayPerDay>45</maintenanceDecayPerDay>
<damagePerSecondWhenEmpty>2</damagePerSecondWhenEmpty>
<warningThreshold>0.2</warningThreshold>
<assignJobCheckInterval>1800</assignJobCheckInterval>
@@ -467,7 +467,7 @@
<li Class="ArachnaeSwarm.CompProperties_SwarmMaintenance">
<maxMaintenance>100</maxMaintenance>
<maintenanceDecayPerDay>85</maintenanceDecayPerDay>
<maintenanceDecayPerDay>45</maintenanceDecayPerDay>
<damagePerSecondWhenEmpty>2</damagePerSecondWhenEmpty>
<warningThreshold>0.2</warningThreshold>
<assignJobCheckInterval>1800</assignJobCheckInterval>
@@ -674,7 +674,7 @@
<li Class="ArachnaeSwarm.CompProperties_SwarmMaintenance">
<maxMaintenance>100</maxMaintenance>
<maintenanceDecayPerDay>85</maintenanceDecayPerDay>
<maintenanceDecayPerDay>45</maintenanceDecayPerDay>
<damagePerSecondWhenEmpty>2</damagePerSecondWhenEmpty>
<warningThreshold>0.2</warningThreshold>
<assignJobCheckInterval>1800</assignJobCheckInterval>

View File

@@ -155,7 +155,7 @@
<comps>
<li Class="ArachnaeSwarm.CompProperties_SwarmMaintenance">
<maxMaintenance>100</maxMaintenance>
<maintenanceDecayPerDay>85</maintenanceDecayPerDay>
<maintenanceDecayPerDay>45</maintenanceDecayPerDay>
<damagePerSecondWhenEmpty>2</damagePerSecondWhenEmpty>
<warningThreshold>0.2</warningThreshold>
<assignJobCheckInterval>1800</assignJobCheckInterval>
@@ -377,11 +377,6 @@
<glowRadius>6</glowRadius>
<glowColor>(113,141,117,0)</glowColor>
</li>
<li Class="ArachnaeSwarm.CompProperties_TemperatureRuinableDamage">
<minSafeTemperature>6</minSafeTemperature>
<maxSafeTemperature>36</maxSafeTemperature>
<damagePerTick>0.015</damagePerTick>
</li>
</comps>
</ThingDef>
@@ -474,7 +469,7 @@
<comps>
<li Class="ArachnaeSwarm.CompProperties_SwarmMaintenance">
<maxMaintenance>100</maxMaintenance>
<maintenanceDecayPerDay>85</maintenanceDecayPerDay>
<maintenanceDecayPerDay>45</maintenanceDecayPerDay>
<damagePerSecondWhenEmpty>2</damagePerSecondWhenEmpty>
<warningThreshold>0.2</warningThreshold>
<assignJobCheckInterval>1800</assignJobCheckInterval>
@@ -502,39 +497,34 @@
<glowRadius>6</glowRadius>
<glowColor>(113,141,117,0)</glowColor>
</li>
<li Class="ArachnaeSwarm.CompProperties_TemperatureRuinableDamage">
<minSafeTemperature>6</minSafeTemperature>
<maxSafeTemperature>36</maxSafeTemperature>
<damagePerTick>0.015</damagePerTick>
</li>
</comps>
</ThingDef>
<ThingDef ParentName="BuildingNaturalBase">
<defName>ARA_InteractiveEggSac_Techprint</defName>
<label>阿拉克涅基因试验卵</label>
<description>一个内部近乎无序发育的卵,无法孵化任何虫族,主要用于实验变异方向,可以产出阿拉克涅虫族科技的蓝图,阿拉克涅女皇种可以通过与其交互将其激活。\n\n该虫卵需要使用大量精华素维持工作并且能研究的项目以其落地时的研究完成度为准那些尚未解锁的科技将无法孵化其蓝图。</description>
<thingClass>Building</thingClass>
<description>一个内部近乎无序发育的卵,无法孵化任何虫族,主要用于实验变异方向,必须在零下环境中储存。\n\n需要蓝图的阿拉克涅科技只能由基因试验卵完成完成时科技的基因信息会被储存在卵中一旦所有储存同一科技的基因试验卵损坏则该科技将丢失</description>
<thingClass>ArachnaeSwarm.Building_ResearchBlueprintReader</thingClass>
<graphicData>
<texPath>ArachnaeSwarm/Building/ARA_InteractiveEggSac_Techprint</texPath>
<graphicClass>Graphic_Single</graphicClass>
<drawSize>(1.1,1.1)</drawSize>
<drawSize>(2,2)</drawSize>
<shadowData>
<volume>(0.7, 0.4, 0.7)</volume>
<offset>(0,0,-0.1)</offset>
</shadowData>
</graphicData>
<size>(1,1)</size>
<size>(2,2)</size>
<designationCategory>ARA_Buildings</designationCategory>
<altitudeLayer>Building</altitudeLayer>
<passability>PassThroughOnly</passability>
<fillPercent>0.3</fillPercent>
<rotatable>false</rotatable>
<tickerType>Normal</tickerType>
<terrainAffordanceNeeded>ARA_Incubator_Nutrient_Solution</terrainAffordanceNeeded>
<terrainAffordanceNeeded>ARA_Creep</terrainAffordanceNeeded>
<statBases>
<MarketValue>2000</MarketValue>
<MaxHitPoints>50</MaxHitPoints>
<MaxHitPoints>250</MaxHitPoints>
<Flammability>1</Flammability>
</statBases>
<building>
@@ -547,48 +537,29 @@
<costList>
<ARA_InsectJelly>25</ARA_InsectJelly>
<ARA_Gene_Essence>20</ARA_Gene_Essence>
</costList>
<comps>
<!-- The new, GrowthVat-style fuel component -->
<li Class="ArachnaeSwarm.CompProperties_RefuelableNutrition">
<fuelCapacity>100</fuelCapacity>
<fuelLabel>精华素</fuelLabel>
<fuelFilter>
<thingDefs>
<li>ARA_Gene_Essence</li>
</thingDefs>
</fuelFilter>
<fuelConsumptionRate>0</fuelConsumptionRate> <!-- IMPORTANT: Disable base class consumption -->
<showAllowAutoRefuelToggle>false</showAllowAutoRefuelToggle>
<initialFuelPercent>0.02</initialFuelPercent>
<autoRefuelPercent>1</autoRefuelPercent>
<initialConfigurableTargetFuelLevel>0</initialConfigurableTargetFuelLevel>
<modExtensions>
<li Class="ArachnaeSwarm.ResearchBlueprintReaderExtension">
<researchSpeed>1</researchSpeed>
</li>
</modExtensions>
<comps>
<li Class="CompProperties_SpawnEffecterOnDestroy">
<effect>CocoonDestroyed</effect>
</li>
<!-- 研究生产组件 -->
<li Class="ArachnaeSwarm.CompProperties_ResearchProducer">
<whitelist>
<li>ARA_ArachnaeQueen</li>
</whitelist>
<destroyOnSpawn>true</destroyOnSpawn>
<damagePerTickWhenUnfueled>0.2</damagePerTickWhenUnfueled>
<minNutritionToStart>1.0</minNutritionToStart>
<nutritionPerResearchPoint>0.06</nutritionPerResearchPoint>
<productionTicksPerResearchPoint>30</productionTicksPerResearchPoint>
</li>
<li Class="ArachnaeSwarm.CompProperties_TemperatureRuinableDamage">
<minSafeTemperature>6</minSafeTemperature>
<maxSafeTemperature>36</maxSafeTemperature>
<minSafeTemperature>-200</minSafeTemperature>
<maxSafeTemperature>0</maxSafeTemperature>
<progressPerDegreePerTick>0.00005</progressPerDegreePerTick>
<damagePerTick>0.005</damagePerTick>
<recoveryRate>0.001</recoveryRate>
</li>
<li Class="ArachnaeSwarm.CompProperties_SwarmMaintenance">
<maxMaintenance>100</maxMaintenance>
<maintenanceDecayPerDay>85</maintenanceDecayPerDay>
<maintenanceDecayPerDay>45</maintenanceDecayPerDay>
<damagePerSecondWhenEmpty>2</damagePerSecondWhenEmpty>
<warningThreshold>0.2</warningThreshold>
<assignJobCheckInterval>1800</assignJobCheckInterval>

View File

@@ -65,7 +65,7 @@
<comps>
<li Class="ArachnaeSwarm.CompProperties_SwarmMaintenance">
<maxMaintenance>100</maxMaintenance>
<maintenanceDecayPerDay>85</maintenanceDecayPerDay>
<maintenanceDecayPerDay>45</maintenanceDecayPerDay>
<damagePerSecondWhenEmpty>2</damagePerSecondWhenEmpty>
<warningThreshold>0.2</warningThreshold>
<assignJobCheckInterval>1800</assignJobCheckInterval>

View File

@@ -290,7 +290,7 @@
<comps>
<li Class="ArachnaeSwarm.CompProperties_SwarmMaintenance">
<maxMaintenance>100</maxMaintenance>
<maintenanceDecayPerDay>85</maintenanceDecayPerDay>
<maintenanceDecayPerDay>45</maintenanceDecayPerDay>
<damagePerSecondWhenEmpty>2</damagePerSecondWhenEmpty>
<warningThreshold>0.2</warningThreshold>
<assignJobCheckInterval>1800</assignJobCheckInterval>
@@ -439,7 +439,7 @@
<comps>
<li Class="ArachnaeSwarm.CompProperties_SwarmMaintenance">
<maxMaintenance>100</maxMaintenance>
<maintenanceDecayPerDay>85</maintenanceDecayPerDay>
<maintenanceDecayPerDay>45</maintenanceDecayPerDay>
<damagePerSecondWhenEmpty>2</damagePerSecondWhenEmpty>
<warningThreshold>0.2</warningThreshold>
<assignJobCheckInterval>1800</assignJobCheckInterval>
@@ -611,7 +611,7 @@
<comps>
<li Class="ArachnaeSwarm.CompProperties_SwarmMaintenance">
<maxMaintenance>100</maxMaintenance>
<maintenanceDecayPerDay>85</maintenanceDecayPerDay>
<maintenanceDecayPerDay>45</maintenanceDecayPerDay>
<damagePerSecondWhenEmpty>2</damagePerSecondWhenEmpty>
<warningThreshold>0.2</warningThreshold>
<assignJobCheckInterval>1800</assignJobCheckInterval>

View File

@@ -41,7 +41,7 @@
<comps>
<li Class="ArachnaeSwarm.CompProperties_SwarmMaintenance">
<maxMaintenance>100</maxMaintenance>
<maintenanceDecayPerDay>85</maintenanceDecayPerDay>
<maintenanceDecayPerDay>45</maintenanceDecayPerDay>
<damagePerSecondWhenEmpty>2</damagePerSecondWhenEmpty>
<warningThreshold>0.2</warningThreshold>
<assignJobCheckInterval>1800</assignJobCheckInterval>

View File

@@ -929,6 +929,29 @@
<li Class="ThinkNode_SubtreesByTag">
<insertTag>Humanlike_PreMain</insertTag>
</li>
<!-- 挤蜜 -->
<li Class="ThinkNode_ConditionalPawnKind">
<pawnKind>ArachnaeNode_Race_Myrmecocystus</pawnKind>
<subNodes>
<li Class="ArachnaeSwarm.ThinkNode_JobGiver_ExtractHoney" />
</subNodes>
</li>
<!-- 脱壳 -->
<li Class="ThinkNode_ConditionalHasHediff">
<hediff>ARA_HiveMindMaster</hediff>
<severityRange>0~5</severityRange>
<subNodes>
<li Class="ArachnaeSwarm.ThinkNode_JobGiver_StripChitin" />
</subNodes>
</li>
<li Class="ThinkNode_ConditionalHasHediff">
<hediff>ARA_HiveMindDrone</hediff>
<severityRange>0~5</severityRange>
<subNodes>
<li Class="ArachnaeSwarm.ThinkNode_JobGiver_StripChitin" />
</subNodes>
</li>
<!-- Main colonist behavior core -->
<li Class="ThinkNode_ConditionalColonist">
@@ -947,28 +970,6 @@
<li Class="ArachnaeSwarm.ThinkNode_JobGiver_FeedWithHoney" />
</subNodes>
</li>
<li Class="ThinkNode_ConditionalPawnKind">
<pawnKind>ArachnaeNode_Race_Myrmecocystus</pawnKind>
<subNodes>
<li Class="ArachnaeSwarm.ThinkNode_JobGiver_ExtractHoney" />
</subNodes>
</li>
<!-- 脱壳 -->
<li Class="ThinkNode_ConditionalHasHediff">
<hediff>ARA_HiveMindMaster</hediff>
<severityRange>0~5</severityRange>
<subNodes>
<li Class="ArachnaeSwarm.ThinkNode_JobGiver_StripChitin" />
</subNodes>
</li>
<li Class="ThinkNode_ConditionalHasHediff">
<hediff>ARA_HiveMindDrone</hediff>
<severityRange>0~5</severityRange>
<subNodes>
<li Class="ArachnaeSwarm.ThinkNode_JobGiver_StripChitin" />
</subNodes>
</li>
<!-- Main wild man behavior core -->
<li Class="ThinkNode_ConditionalPawnKind">