This commit is contained in:
2025-09-17 14:01:07 +08:00
parent 684a46df6c
commit ee9ada0edb
11 changed files with 443 additions and 101 deletions

Binary file not shown.

View File

@@ -93,11 +93,17 @@
<li>Foods</li>
</categories>
</fuelFilter>
<fuelCapacity>10.0</fuelCapacity>
<fuelCapacity>2.0</fuelCapacity>
<targetFuelLevelConfigurable>false</targetFuelLevelConfigurable>
<fuelGizmoLabel>营养</fuelGizmoLabel>
<outOfFuelMessage>没有营养</outOfFuelMessage>
</li>
<li Class="CompProperties_AffectedByFacilities">
<linkableFacilities>
<li>ARA_NutrientNetworkTower</li>
</linkableFacilities>
</li>
</comps>
</ThingDef>

View File

@@ -12,4 +12,15 @@
<showIfUndefined>false</showIfUndefined>
</StatDef>
<StatDef>
<defName>NutrientTransmissionEfficiency</defName>
<label>生物质传输效率</label>
<description>减少无线传输生物质时的燃料消耗。最终消耗量将乘以 (1 - 效率)。</description>
<category>Building</category>
<defaultBaseValue>0</defaultBaseValue>
<minValue>0</minValue>
<toStringStyle>PercentZero</toStringStyle>
<displayPriorityInCategory>8000</displayPriorityInCategory>
</StatDef>
</Defs>

View File

@@ -1,29 +1,71 @@
<?xml version="1.0" encoding="utf-8"?>
<Defs>
<!-- 1. 加成建筑 "孵化加速器" -->
<ThingDef ParentName="BuildingBase">
<defName>ARA_IncubationAccelerator</defName>
<label>孵化加速器</label>
<description>一个辅助性的生物机械装置,当放置在大型孵化池旁边时,可以加速其内部的孵化过程</description>
<defName>ARA_NutrientNetworkTower</defName>
<label>阿拉克涅营养供给塔</label>
<description>一个中央营养供给设施。它可以自动为链接到的、需要营养的建筑补充燃料。它本身需要被手动填充大量的生物质</description>
<size>(3,3)</size>
<graphicData>
<texPath>Things/Building/Misc/ToolCabinet</texPath>
<texPath>ArachnaeSwarm/Building/ARA_ResearchBench</texPath>
<graphicClass>Graphic_Multi</graphicClass>
<shadowData>
<volume>(0.7, 0.4, 0.7)</volume>
<offset>(0,0,-0.1)</offset>
</shadowData>
<shaderType>CutoutComplex</shaderType>
<drawSize>(3,4.5)</drawSize>
</graphicData>
<size>(1,1)</size>
<altitudeLayer>Building</altitudeLayer>
<passability>PassThroughOnly</passability>
<pathCost>70</pathCost>
<tickerType>Rare</tickerType>
<fillPercent>0.5</fillPercent>
<statBases>
<MaxHitPoints>300</MaxHitPoints>
<WorkToBuild>3000</WorkToBuild>
<Mass>20</Mass>
<Flammability>0.5</Flammability>
</statBases>
<costList>
<ARA_Carapace>50</ARA_Carapace>
</costList>
<comps>
<!-- 使用原版的 CompFacility -->
<li Class="CompProperties_Facility">
<statOffsets>
<!-- 提供我们自定义的孵化速度加成 -->
<ARA_IncubationSpeedFactor>0.60</ARA_IncubationSpeedFactor>
</statOffsets>
<!-- 供能核心组件 -->
<li Class="ArachnaeSwarm.CompProperties_NutrientProvider">
<linkableBuildings>
<!-- 这里列出所有可以被供能的建筑的 defName -->
<!-- 您之后可以手动添加,例如: -->
<li>ARA_BioforgeIncubator</li>
<li>ARA_BioforgeIncubator_Thing</li>
<li>ARA_JellyVat</li>
<li>ARA_GrowthVat</li>
<li>ARA_MorphableResearchBench</li>
</linkableBuildings>
<maxDistance>80</maxDistance> <!-- 供能范围 -->
</li>
<!-- 自身的燃料库 -->
<li Class="ArachnaeSwarm.CompProperties_RefuelableNutrition">
<fuelCapacity>1000.0</fuelCapacity>
<fuelFilter>
<categories>
<li>Foods</li>
<li>Corpses</li>
</categories>
</fuelFilter>
<fuelGizmoLabel>生物质</fuelGizmoLabel>
<showAllowAutoRefuelToggle>true</showAllowAutoRefuelToggle>
<targetFuelLevelConfigurable>true</targetFuelLevelConfigurable>
</li>
<!-- 开关 -->
<li Class="CompProperties_Flickable"/>
<!-- 接收增效器的加成 -->
<li Class="CompProperties_AffectedByFacilities">
<linkableFacilities>
<li>ARA_GrowthVat</li>
</linkableFacilities>
</li>
</comps>
<designationCategory>ARA_Buildings</designationCategory>
</ThingDef>
<!-- 3. 主建筑 "生物孵化池" -->
@@ -79,7 +121,7 @@
<productionQueueLimit>3</productionQueueLimit>
<minNutritionToStart>1.0</minNutritionToStart>
<whitelist>
<li>ArachnaeNode_Race_WeaponSmith</li> <!-- 示例:允许普通殖民者操作 -->
<li>ArachnaeNode_Race_WeaponSmith</li> <!-- 示例:允许普通殖民者操作 -->
</whitelist>
<!-- 质量系统设置 -->
@@ -146,7 +188,8 @@
<!-- c. 原版的设施链接接收组件 -->
<li Class="CompProperties_AffectedByFacilities">
<linkableFacilities>
<li>ARA_IncubationAccelerator</li>
<li>ARA_NutrientNetworkTower</li>
<li>ARA_GrowthVat</li>
</linkableFacilities>
</li>
</comps>
@@ -242,7 +285,8 @@
<!-- c. 原版的设施链接接收组件 -->
<li Class="CompProperties_AffectedByFacilities">
<linkableFacilities>
<li>ARA_IncubationAccelerator</li>
<li>ARA_NutrientNetworkTower</li>
<li>ARA_GrowthVat</li>
</linkableFacilities>
</li>
@@ -250,7 +294,7 @@
</ThingDef>
<ThingDef ParentName="BuildingBase">
<defName>ARA_JellyVat</defName> <!-- defName is changed to reflect its purpose -->
<defName>ARA_JellyVat</defName> <!-- defName is changed to reflect its purpose -->
<label>生物质酿造池</label>
<description>一个活体虫族器官,通过分别消化植物和肉类物质,来缓慢培育出营养丰富的阿拉克涅虫蜜。需要同时填充素食和肉类才能工作。</description>
<thingClass>Building</thingClass>
@@ -300,7 +344,7 @@
<li Class="ArachnaeSwarm.CompProperties_MultiFuelSpawner">
<spawnIntervalRange>
<min>120000</min> <!-- 2天 -->
<min>120000</min> <!-- 2天 -->
<max>120000</max>
</spawnIntervalRange>
<products>
@@ -325,7 +369,13 @@
<fuelConsumptionRate>12.5</fuelConsumptionRate>
<consumeFuelOnlyWhenUsed>true</consumeFuelOnlyWhenUsed>
</li>
<li Class="CompProperties_AffectedByFacilities">
<linkableFacilities>
<li>ARA_NutrientNetworkTower</li>
</linkableFacilities>
</li>
<!-- 燃料槽 2: 肉类 -->
<li Class="ArachnaeSwarm.CompProperties_RefuelableNutrition_WithKey">
<saveKeysPrefix>meat_vat</saveKeysPrefix>
@@ -343,4 +393,107 @@
</comps>
</ThingDef>
<ThingDef ParentName="BuildingBase">
<defName>ARA_GrowthVat</defName>
<label>阿拉克涅捕获茧</label>
<description>用来存放猎物的茧。</description>
<thingClass>ArachnaeSwarm.Building_NutrientVat</thingClass>
<containedPawnsSelectable>true</containedPawnsSelectable>
<tickerType>Normal</tickerType>
<graphicData>
<texPath>ArachnaeSwarm/Building/ARA_GrowthVat</texPath>
<graphicClass>Graphic_Single</graphicClass>
<shaderType>CutoutComplex</shaderType>
<drawSize>(2.5,2.5)</drawSize>
<shadowData>
<volume>(0.85, 0.3, 1.7)</volume>
</shadowData>
</graphicData>
<castEdgeShadows>true</castEdgeShadows>
<defaultPlacingRot>North</defaultPlacingRot>
<size>(1,2)</size>
<statBases>
<MaxHitPoints>500</MaxHitPoints>
<WorkToBuild>8000</WorkToBuild>
<Mass>30</Mass>
<Flammability>0.5</Flammability>
</statBases>
<costList>
<Steel>150</Steel>
<ComponentIndustrial>4</ComponentIndustrial>
</costList>
<altitudeLayer>Building</altitudeLayer>
<passability>PassThroughOnly</passability>
<pathCost>42</pathCost>
<blockWind>true</blockWind>
<drawerType>MapMeshAndRealTime</drawerType>
<fillPercent>0.5</fillPercent>
<canOverlapZones>false</canOverlapZones>
<designationCategory>ARA_Buildings</designationCategory>
<uiOrder>2200</uiOrder>
<hasInteractionCell>true</hasInteractionCell>
<interactionCellOffset>(0,0,-1)</interactionCellOffset>
<rotatable>false</rotatable>
<inspectorTabs>
<li>ITab_BiosculpterNutritionStorage</li>
<li>ITab_Genes</li>
</inspectorTabs>
<researchPrerequisites>
<li>GrowthVats</li>
</researchPrerequisites>
<building>
<ai_chillDestination>false</ai_chillDestination>
<haulToContainerDuration>120</haulToContainerDuration>
<workTableRoomRole>Laboratory</workTableRoomRole>
</building>
<constructionSkillPrerequisite>4</constructionSkillPrerequisite>
<!-- ... 其他建筑属性 ... -->
<comps>
<li Class="ArachnaeSwarm.CompProperties_RefuelableNutrition">
<fuelCapacity>100.0</fuelCapacity>
<fuelFilter>
<categories>
<li>Foods</li>
</categories>
</fuelFilter>
<fuelGizmoLabel>生物质</fuelGizmoLabel>
<showAllowAutoRefuelToggle>true</showAllowAutoRefuelToggle>
<targetFuelLevelConfigurable>true</targetFuelLevelConfigurable>
</li>
<li Class="ArachnaeSwarm.CompProperties_GrowthVatBooster">
<linkableBuildings>
<li>ARA_NutrientNetworkTower</li>
</linkableBuildings>
<statOffset>
<stat>NutrientTransmissionEfficiency</stat>
<value>0.05</value>
</statOffset>
</li>
<li Class="ArachnaeSwarm.CompProperties_GrowthVatBooster">
<linkableBuildings>
<li>ARA_BioforgeIncubator</li>
<li>ARA_BioforgeIncubator_Thing</li>
</linkableBuildings>
<statOffset>
<stat>ARA_IncubationSpeedFactor</stat>
<value>0.1</value>
</statOffset>
</li>
<li Class="CompProperties_AffectedByFacilities">
<linkableFacilities>
<li>ARA_NutrientNetworkTower</li>
</linkableFacilities>
</li>
</comps>
<modExtensions>
<li Class="ArachnaeSwarm.DefModExtension_NutrientVat">
<!-- 在这里配置您的顶部贴图 -->
<topGraphicPath>ArachnaeSwarm/Building/ARA_GrowthVatTop</topGraphicPath>
<!-- 如果是单张贴图,使用 Graphic_Single -->
<graphicClass>Graphic_Single</graphicClass>
</li>
</modExtensions>
</ThingDef>
</Defs>

View File

@@ -65,82 +65,4 @@
</comps>
</ThingDef>
<ThingDef ParentName="BuildingBase">
<defName>ARA_GrowthVat</defName>
<label>阿拉克涅捕获茧</label>
<description>用来存放猎物的茧。</description>
<thingClass>ArachnaeSwarm.Building_NutrientVat</thingClass>
<containedPawnsSelectable>true</containedPawnsSelectable>
<tickerType>Normal</tickerType>
<graphicData>
<texPath>ArachnaeSwarm/Building/ARA_GrowthVat</texPath>
<graphicClass>Graphic_Single</graphicClass>
<shaderType>CutoutComplex</shaderType>
<drawSize>(2.5,2.5)</drawSize>
<shadowData>
<volume>(0.85, 0.3, 1.7)</volume>
</shadowData>
</graphicData>
<castEdgeShadows>true</castEdgeShadows>
<defaultPlacingRot>North</defaultPlacingRot>
<size>(1,2)</size>
<statBases>
<MaxHitPoints>500</MaxHitPoints>
<WorkToBuild>8000</WorkToBuild>
<Mass>30</Mass>
<Flammability>0.5</Flammability>
</statBases>
<costList>
<Steel>150</Steel>
<ComponentIndustrial>4</ComponentIndustrial>
</costList>
<altitudeLayer>Building</altitudeLayer>
<passability>PassThroughOnly</passability>
<pathCost>42</pathCost>
<blockWind>true</blockWind>
<drawerType>MapMeshAndRealTime</drawerType>
<fillPercent>0.5</fillPercent>
<canOverlapZones>false</canOverlapZones>
<designationCategory>ARA_Buildings</designationCategory>
<uiOrder>2200</uiOrder>
<hasInteractionCell>true</hasInteractionCell>
<interactionCellOffset>(0,0,-1)</interactionCellOffset>
<rotatable>false</rotatable>
<inspectorTabs>
<li>ITab_BiosculpterNutritionStorage</li>
<li>ITab_Genes</li>
</inspectorTabs>
<researchPrerequisites>
<li>GrowthVats</li>
</researchPrerequisites>
<building>
<ai_chillDestination>false</ai_chillDestination>
<haulToContainerDuration>120</haulToContainerDuration>
<workTableRoomRole>Laboratory</workTableRoomRole>
</building>
<constructionSkillPrerequisite>4</constructionSkillPrerequisite>
<!-- ... 其他建筑属性 ... -->
<comps>
<li Class="ArachnaeSwarm.CompProperties_RefuelableNutrition">
<fuelCapacity>100.0</fuelCapacity>
<fuelFilter>
<categories>
<li>Foods</li>
</categories>
</fuelFilter>
<fuelGizmoLabel>生物质</fuelGizmoLabel>
<showAllowAutoRefuelToggle>true</showAllowAutoRefuelToggle>
<targetFuelLevelConfigurable>true</targetFuelLevelConfigurable>
</li>
</comps>
<modExtensions>
<li Class="ArachnaeSwarm.DefModExtension_NutrientVat">
<!-- 在这里配置您的顶部贴图 -->
<topGraphicPath>ArachnaeSwarm/Building/ARA_GrowthVatTop</topGraphicPath>
<!-- 如果是单张贴图,使用 Graphic_Single -->
<graphicClass>Graphic_Single</graphicClass>
</li>
</modExtensions>
</ThingDef>
</Defs>