修改美容觉茧

This commit is contained in:
Tourswen
2025-09-24 23:42:16 +08:00
parent 992d1be5f1
commit 5c2de652b9
25 changed files with 318 additions and 270 deletions

Binary file not shown.

View File

@@ -47,7 +47,7 @@
<description>使拥有酸囊的虫族允许喷射强酸击退敌人。</description>
<baseCost>150</baseCost>
<researchViewX>1.00</researchViewX>
<researchViewY>0.20</researchViewY>
<researchViewY>0.90</researchViewY>
<requiredResearchBuilding>ARA_ResearchBench</requiredResearchBuilding>
<prerequisites>
<li>ARA_Base_Technology</li>
@@ -59,7 +59,7 @@
<description>允许工艺种孵化新的武器。</description>
<baseCost>150</baseCost>
<researchViewX>2.00</researchViewX>
<researchViewY>0.20</researchViewY>
<researchViewY>0.90</researchViewY>
<requiredResearchBuilding>ARA_ResearchBench</requiredResearchBuilding>
<prerequisites>
<li>ARA_Technology_6VXI</li>
@@ -71,10 +71,10 @@
<description>允许工艺种孵化新的武器。</description>
<baseCost>150</baseCost>
<researchViewX>5.50</researchViewX>
<researchViewY>0.30</researchViewY>
<researchViewY>0.90</researchViewY>
<requiredResearchBuilding>ARA_ResearchBench</requiredResearchBuilding>
<prerequisites>
<li>ARA_Technology_6VXI</li>
<li>ARA_Technology_7VXI</li>
<li>ARA_Technology_1WMT</li>
</prerequisites>
</ResearchProjectDef>
@@ -84,7 +84,7 @@
<description>允许工艺种孵化新的武器。</description>
<baseCost>150</baseCost>
<researchViewX>10.50</researchViewX>
<researchViewY>0.30</researchViewY>
<researchViewY>0.90</researchViewY>
<requiredResearchBuilding>ARA_ResearchBench</requiredResearchBuilding>
<prerequisites>
<li>ARA_Technology_8VXI</li>
@@ -97,7 +97,7 @@
<description>允许建造天灾酸烧炮组织,一种强大的防御设施,不仅能解决成片的来犯之敌,也可以跨越地图发起打击。</description>
<baseCost>150</baseCost>
<researchViewX>11.50</researchViewX>
<researchViewY>0.30</researchViewY>
<researchViewY>0.90</researchViewY>
<requiredResearchBuilding>ARA_ResearchBench</requiredResearchBuilding>
<prerequisites>
<li>ARA_Technology_9VXI</li>
@@ -134,7 +134,7 @@
<description>允许女皇种孵化新的虫族——原虫种,一种可以寄生在别的种族身上以控制它们的特殊督虫。</description>
<baseCost>150</baseCost>
<researchViewX>5.50</researchViewX>
<researchViewY>2.80</researchViewY>
<researchViewY>2.70</researchViewY>
<requiredResearchBuilding>ARA_ResearchBench</requiredResearchBuilding>
<prerequisites>
<li>ARA_Technology_1WMT</li>
@@ -172,7 +172,7 @@
<description>允许工艺种孵化织物茧,为虫族提供基础防具。</description>
<baseCost>150</baseCost>
<researchViewX>1.00</researchViewX>
<researchViewY>1.40</researchViewY>
<researchViewY>1.50</researchViewY>
<requiredResearchBuilding>ARA_ResearchBench</requiredResearchBuilding>
<prerequisites>
<li>ARA_Base_Technology</li>
@@ -185,7 +185,7 @@
<description>允许工艺种孵化新的武器,并允许部分带毒针的虫族进行毒针喷射。</description>
<baseCost>150</baseCost>
<researchViewX>1.00</researchViewX>
<researchViewY>0.80</researchViewY>
<researchViewY>0.30</researchViewY>
<requiredResearchBuilding>ARA_ResearchBench</requiredResearchBuilding>
<prerequisites>
<li>ARA_Base_Technology</li>
@@ -197,7 +197,7 @@
<description>允许工艺种孵化新的武器。</description>
<baseCost>150</baseCost>
<researchViewX>5.50</researchViewX>
<researchViewY>0.90</researchViewY>
<researchViewY>0.30</researchViewY>
<requiredResearchBuilding>ARA_ResearchBench</requiredResearchBuilding>
<prerequisites>
<li>ARA_Technology_5PAV</li>
@@ -210,7 +210,7 @@
<description>允许工艺种孵化新的武器。</description>
<baseCost>150</baseCost>
<researchViewX>10.50</researchViewX>
<researchViewY>0.90</researchViewY>
<researchViewY>0.30</researchViewY>
<requiredResearchBuilding>ARA_ResearchBench</requiredResearchBuilding>
<prerequisites>
<li>ARA_Technology_6PAV</li>
@@ -223,10 +223,9 @@
<description>允许虫族建造一种强大的防御设施,具有强大的穿甲能力和较高的射速,专擅于对抗重甲目标。</description>
<baseCost>150</baseCost>
<researchViewX>11.50</researchViewX>
<researchViewY>0.90</researchViewY>
<researchViewY>0.30</researchViewY>
<requiredResearchBuilding>ARA_ResearchBench</requiredResearchBuilding>
<prerequisites>
<li>ARA_Technology_2WMT</li>
<li>ARA_Technology_7PAV</li>
</prerequisites>
</ResearchProjectDef>
@@ -237,7 +236,7 @@
<description>允许工艺种孵化新的武器。</description>
<baseCost>150</baseCost>
<researchViewX>6.50</researchViewX>
<researchViewY>2.80</researchViewY>
<researchViewY>2.70</researchViewY>
<requiredResearchBuilding>ARA_ResearchBench</requiredResearchBuilding>
<prerequisites>
<li>ARA_Technology_1WMT</li>
@@ -249,7 +248,7 @@
<description>允许工艺种孵化新的武器。</description>
<baseCost>150</baseCost>
<researchViewX>10.50</researchViewX>
<researchViewY>2.80</researchViewY>
<researchViewY>2.70</researchViewY>
<requiredResearchBuilding>ARA_ResearchBench</requiredResearchBuilding>
<prerequisites>
<li>ARA_Technology_2WMT</li>
@@ -263,7 +262,7 @@
<description>允许虫族建造一种可以提供直射光源以供植物生长的特殊菌瘤。</description>
<baseCost>150</baseCost>
<researchViewX>1.00</researchViewX>
<researchViewY>2.00</researchViewY>
<researchViewY>2.10</researchViewY>
<requiredResearchBuilding>ARA_ResearchBench</requiredResearchBuilding>
<prerequisites>
<li>ARA_Base_Technology</li>
@@ -275,7 +274,7 @@
<description>允许虫族建造一种可以控制房间温度的特殊固定辅虫。</description>
<baseCost>150</baseCost>
<researchViewX>2.00</researchViewX>
<researchViewY>2.00</researchViewY>
<researchViewY>2.10</researchViewY>
<requiredResearchBuilding>ARA_ResearchBench</requiredResearchBuilding>
<prerequisites>
<li>ARA_Base_Technology</li>
@@ -287,13 +286,39 @@
<description>允许虫族建造一种可以通过挖掘地道连接两地的特殊固定辅虫,以在两地间快速传输人员和物资。</description>
<baseCost>150</baseCost>
<researchViewX>10.50</researchViewX>
<researchViewY>2.20</researchViewY>
<researchViewY>2.10</researchViewY>
<requiredResearchBuilding>ARA_ResearchBench</requiredResearchBuilding>
<prerequisites>
<li>ARA_Technology_2WMT</li>
<li>ARA_Technology_6SPV</li>
</prerequisites>
</ResearchProjectDef>
<ResearchProjectDef ParentName="ARA_techBase">
<defName>ARA_Technology_6GUT</defName>
<label>节点GUT-6"酿造"</label>
<description>允许虫族建造一种利用活体钜菌和生物质产出阿拉克涅虫蜜的建筑。</description>
<baseCost>150</baseCost>
<researchViewX>8.00</researchViewX>
<researchViewY>2.10</researchViewY>
<requiredResearchBuilding>ARA_ResearchBench</requiredResearchBuilding>
<prerequisites>
<li>ARA_Technology_8VXI</li>
<li>ARA_Technology_1BAC</li>
</prerequisites>
</ResearchProjectDef>
<ResearchProjectDef ParentName="ARA_techBase">
<defName>ARA_Technology_7GUT</defName>
<label>节点GUT-6"消化道"</label>
<description>允许虫族建造一种利用活体钜菌和生物质产出阿拉克涅虫蜜的建筑。</description>
<baseCost>150</baseCost>
<researchViewX>8.00</researchViewX>
<researchViewY>2.10</researchViewY>
<requiredResearchBuilding>ARA_ResearchBench</requiredResearchBuilding>
<prerequisites>
<li>ARA_Technology_8VXI</li>
<li>ARA_Technology_1BAC</li>
</prerequisites>
</ResearchProjectDef>
<!-- 子巢发展 -->
<ResearchProjectDef ParentName="ARA_techBase">
<defName>ARA_Technology_6SPV</defName>
@@ -305,7 +330,6 @@
<requiredResearchBuilding>ARA_ResearchBench</requiredResearchBuilding>
<prerequisites>
<li>ARA_Technology_1WMT</li>
<li>ARA_Technology_5PAV</li>
</prerequisites>
</ResearchProjectDef>
<ResearchProjectDef ParentName="ARA_techBase">
@@ -314,7 +338,7 @@
<description>允许虫族建造一种强大的防御设施,能够向进犯的敌军投射以自杀式袭击为核心的酸爆种辅虫。</description>
<baseCost>150</baseCost>
<researchViewX>10.50</researchViewX>
<researchViewY>1.60</researchViewY>
<researchViewY>1.50</researchViewY>
<requiredResearchBuilding>ARA_ResearchBench</requiredResearchBuilding>
<prerequisites>
<li>ARA_Technology_8VXI</li>
@@ -329,11 +353,11 @@
<description>允许蜜罐种使用拟线种寄生的能力,并在医药茧中解锁拟线种抑制剂的制作。</description>
<baseCost>150</baseCost>
<researchViewX>6.50</researchViewX>
<researchViewY>2.20</researchViewY>
<researchViewY>2.10</researchViewY>
<requiredResearchBuilding>ARA_ResearchBench</requiredResearchBuilding>
<prerequisites>
<li>ARA_Technology_1MED</li>
<li>ARA_Technology_5PAV</li>
<li>ARA_Technology_6SPV</li>
</prerequisites>
</ResearchProjectDef>
<!-- 进化发展 -->
@@ -356,7 +380,7 @@
<description>允许蜜罐种进行定向进化,以强化其自身的医疗能力并解锁孵化医药茧的技能。</description>
<baseCost>150</baseCost>
<researchViewX>5.50</researchViewX>
<researchViewY>2.20</researchViewY>
<researchViewY>2.10</researchViewY>
<requiredResearchBuilding>ARA_ResearchBench</requiredResearchBuilding>
<prerequisites>
<li>ARA_Technology_1WMT</li>

View File

@@ -14,7 +14,7 @@
<StatDef>
<defName>NutrientTransmissionEfficiency</defName>
<label>生物质传输效率</label>
<label>生物质传输损耗</label>
<description>减少无线传输生物质时的燃料消耗。最终消耗量将乘以 (1 - 效率)。</description>
<category>Building</category>
<defaultBaseValue>0</defaultBaseValue>

View File

@@ -140,8 +140,9 @@
<label>活化钜菌</label>
<description>一种被阿拉克涅虫族驯化和改造的极端微生物菌落。它具有超强的生物催化能力和腐蚀同化能力,是不少虫族高级装备的必需品。</description>
<graphicData>
<texPath>ArachnaeSwarm/Item/ARA_Carapace</texPath>
<texPath>ArachnaeSwarm/Item/ARA_Activated_Bacterium</texPath>
<graphicClass>Graphic_Single</graphicClass>
<drawSize>0.9</drawSize>
</graphicData>
<genericMarketSellable>false</genericMarketSellable>
<soundInteract>Standard_Drop</soundInteract>

View File

@@ -593,4 +593,103 @@
</li>
</comps>
</ThingDef>
<ThingDef ParentName="BuildingBase">
<defName>ARA_JellyVat</defName> <!-- defName is changed to reflect its purpose -->
<label>生物质酿造池</label>
<description>一个阿拉克涅虫族活体组织,可以充分利用活体钜菌的溶解能力,通过消化生物质,来分泌出营养丰富的阿拉克涅虫蜜。</description>
<thingClass>Building</thingClass>
<graphicData>
<texPath>ArachnaeSwarm/Building/ARA_JellyVat</texPath>
<graphicClass>Graphic_Single</graphicClass>
<shaderType>CutoutComplex</shaderType>
<drawSize>(2.2,2.2)</drawSize>
<shadowData>
<volume>(1.6, 0.5, 1.6)</volume>
<offset>(0,0,-0.1)</offset>
</shadowData>
</graphicData>
<researchPrerequisites>
<li>ARA_Technology_6GUT</li>
</researchPrerequisites>
<size>(2,2)</size>
<tickerType>Normal</tickerType>
<stuffCategories Inherit="False" />
<costStuffCount>0</costStuffCount>
<costList>
<ARA_Carapace>50</ARA_Carapace>
</costList>
<castEdgeShadows>false</castEdgeShadows>
<staticSunShadowHeight>0</staticSunShadowHeight>
<altitudeLayer>Building</altitudeLayer>
<passability>PassThroughOnly</passability>
<terrainAffordanceNeeded>ARA_Creep</terrainAffordanceNeeded>
<pathCost>50</pathCost>
<statBases>
<MaxHitPoints>250</MaxHitPoints>
<WorkToBuild>2800</WorkToBuild>
<Flammability>1.0</Flammability>
</statBases>
<placeWorkers>
<li>PlaceWorker_PreventInteractionSpotOverlap</li>
</placeWorkers>
<fillPercent>0.8</fillPercent>
<interactionCellOffset>(0,0,-1)</interactionCellOffset>
<hasInteractionCell>true</hasInteractionCell>
<designationCategory>ARA_Buildings</designationCategory>
<uiOrder>2600</uiOrder>
<surfaceType>Item</surfaceType>
<building>
<workTableRoomRole>Laboratory</workTableRoomRole>
<workTableNotInRoomRoleFactor>0.8</workTableNotInRoomRoleFactor>
</building>
<terrainAffordanceNeeded>ARA_Creep</terrainAffordanceNeeded>
<comps>
<li Class="CompProperties_Flickable"/>
<li Class="ArachnaeSwarm.CompProperties_MultiFuelSpawner">
<spawnIntervalRange>
<min>120000</min> <!-- 2天 -->
<max>120000</max>
</spawnIntervalRange>
<products>
<li>
<thingDef>ARA_InsectJelly</thingDef>
<count>60</count>
</li>
</products>
<showMessageIfOwned>true</showMessageIfOwned>
</li>
<li Class="ArachnaeSwarm.CompProperties_RefuelableNutrition_WithKey">
<saveKeysPrefix>Biomass</saveKeysPrefix>
<fuelLabel>生物质</fuelLabel>
<fuelFilter>
<categories>
<li>Foods</li>
</categories>
</fuelFilter>
<fuelCapacity>25</fuelCapacity>
<fuelConsumptionRate>25</fuelConsumptionRate>
<consumeFuelOnlyWhenUsed>true</consumeFuelOnlyWhenUsed>
</li>
<li Class="ArachnaeSwarm.CompProperties_RefuelableNutrition_WithKey">
<saveKeysPrefix>Bacterium</saveKeysPrefix>
<fuelLabel>活体钜菌</fuelLabel>
<fuelFilter>
<thingDefs>
<li>ARA_Activated_Bacterium</li>
</thingDefs>
</fuelFilter>
<fuelCapacity>25</fuelCapacity>
<fuelConsumptionRate>1</fuelConsumptionRate>
<consumeFuelOnlyWhenUsed>true</consumeFuelOnlyWhenUsed>
</li>
<li Class="ArachnaeSwarm.CompProperties_DelayedTerrainSpawn">
<terrainToSpawn>ARA_InsectCreep</terrainToSpawn>
<spawnRadius>6</spawnRadius>
</li>
</comps>
</ThingDef>
</Defs>

View File

@@ -42,7 +42,6 @@
<!-- 您之后可以手动添加,例如: -->
<li>ARA_BioforgeIncubator</li>
<li>ARA_BioforgeIncubator_Thing</li>
<li>ARA_JellyVat</li>
<li>ARA_GrowthVat</li>
<li>ARA_MorphableResearchBench</li>
<li>ARANutrientDispenser</li>
@@ -95,6 +94,10 @@
</linkableFacilities>
</li>
<li Class="ArachnaeSwarm.CompProperties_DelayedTerrainSpawn">
<terrainToSpawn>ARA_InsectCreep</terrainToSpawn>
<spawnRadius>18</spawnRadius>
</li>
</comps>
<designationCategory>ARA_Buildings</designationCategory>
</ThingDef>
@@ -108,10 +111,11 @@
<texPath>ArachnaeSwarm/Building/ARA_BioforgeIncubator</texPath>
<graphicClass>Graphic_Single</graphicClass>
<shaderType>CutoutComplex</shaderType>
<drawSize>(5,6)</drawSize>
<drawSize>(5.5,6.5)</drawSize>
<drawOffset>(0, 2, 0.5)</drawOffset>
<shadowData>
<volume>(4.0, 0.5, 4.0)</volume>
<offset>(0,0,-0.1)</offset>
<offset>(0,0,-0.3)</offset>
</shadowData>
</graphicData>
<size>(5,5)</size>
@@ -321,113 +325,24 @@
</li>
</comps>
</ThingDef>
<ThingDef ParentName="BuildingBase">
<defName>ARA_JellyVat</defName> <!-- defName is changed to reflect its purpose -->
<label>生物质酿造池</label>
<description>一个活体虫族器官,通过分别消化植物和肉类物质,来缓慢培育出营养丰富的阿拉克涅虫蜜。需要同时填充素食和肉类才能工作。</description>
<thingClass>Building</thingClass>
<graphicData>
<texPath>ArachnaeSwarm/Building/ARA_JellyVat</texPath>
<graphicClass>Graphic_Single</graphicClass>
<shaderType>CutoutComplex</shaderType>
<drawSize>(2.2,2.2)</drawSize>
<shadowData>
<volume>(1.6, 0.5, 1.6)</volume>
<offset>(0,0,-0.1)</offset>
</shadowData>
</graphicData>
<size>(2,2)</size>
<tickerType>Normal</tickerType>
<stuffCategories Inherit="False" />
<costStuffCount>0</costStuffCount>
<costList>
<ARA_Carapace>50</ARA_Carapace>
</costList>
<castEdgeShadows>false</castEdgeShadows>
<staticSunShadowHeight>0</staticSunShadowHeight>
<altitudeLayer>Building</altitudeLayer>
<passability>PassThroughOnly</passability>
<terrainAffordanceNeeded>ARA_Creep</terrainAffordanceNeeded>
<pathCost>50</pathCost>
<statBases>
<MaxHitPoints>250</MaxHitPoints>
<WorkToBuild>2800</WorkToBuild>
<Flammability>1.0</Flammability>
</statBases>
<placeWorkers>
<li>PlaceWorker_PreventInteractionSpotOverlap</li>
</placeWorkers>
<fillPercent>0.8</fillPercent>
<interactionCellOffset>(0,0,-1)</interactionCellOffset>
<hasInteractionCell>true</hasInteractionCell>
<designationCategory>ARA_Buildings</designationCategory>
<uiOrder>2600</uiOrder>
<surfaceType>Item</surfaceType>
<building>
<workTableRoomRole>Laboratory</workTableRoomRole>
<workTableNotInRoomRoleFactor>0.8</workTableNotInRoomRoleFactor>
</building>
<terrainAffordanceNeeded>ARA_Creep</terrainAffordanceNeeded>
<comps>
<li Class="CompProperties_Flickable"/>
<li Class="ArachnaeSwarm.CompProperties_MultiFuelSpawner">
<spawnIntervalRange>
<min>120000</min> <!-- 2天 -->
<max>120000</max>
</spawnIntervalRange>
<products>
<li>
<thingDef>ARA_InsectJelly</thingDef>
<count>150</count>
</li>
</products>
<showMessageIfOwned>true</showMessageIfOwned>
</li>
<!-- 燃料槽 1: 素食 -->
<li Class="ArachnaeSwarm.CompProperties_RefuelableNutrition_WithKey">
<saveKeysPrefix>bio</saveKeysPrefix>
<fuelLabel>生物质</fuelLabel>
<fuelFilter>
<categories>
<li>Foods</li>
<li>Corpses</li>
</categories>
</fuelFilter>
<fuelCapacity>25</fuelCapacity>
<fuelConsumptionRate>25</fuelConsumptionRate>
<consumeFuelOnlyWhenUsed>true</consumeFuelOnlyWhenUsed>
</li>
<li Class="CompProperties_AffectedByFacilities">
<linkableFacilities>
<li>ARA_NutrientNetworkTower</li>
</linkableFacilities>
</li>
</comps>
</ThingDef>
<ThingDef ParentName="BuildingBase">
<defName>ARA_GrowthVat</defName>
<label>阿拉克涅捕获</label>
<description>用来存放猎物的茧。</description>
<label>阿拉克涅消化</label>
<description>阿拉克涅虫群用来存放和消化猎物的茧,那些被扔进茧中的倒霉鬼将逐渐被酸蚀溶解,从而为阿拉克涅营养供给塔网络提供额外的生物质传输效率和孵化速度</description>
<thingClass>ArachnaeSwarm.Building_NutrientVat</thingClass>
<containedPawnsSelectable>true</containedPawnsSelectable>
<tickerType>Normal</tickerType>
<uiIconPath>ArachnaeSwarm/Building/ARA_GrowthVat_Icon</uiIconPath>
<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>
<size>(2,2)</size>
<statBases>
<MaxHitPoints>500</MaxHitPoints>
<WorkToBuild>8000</WorkToBuild>
@@ -498,6 +413,11 @@
<li>ARA_NutrientNetworkTower</li>
</linkableFacilities>
</li>
<li Class="ArachnaeSwarm.CompProperties_DelayedTerrainSpawn">
<terrainToSpawn>ARA_InsectCreep</terrainToSpawn>
<spawnRadius>6</spawnRadius>
</li>
</comps>
<modExtensions>
<li Class="ArachnaeSwarm.DefModExtension_NutrientVat">

View File

@@ -7,7 +7,7 @@
<possessionCount>2</possessionCount>
<graphicData>
<texPath>Things/Item/Resource/Shell/Shell_Toxic</texPath>
<graphicClass>Graphic_StackCount</graphicClass>
<graphicClass>Graphic_Single</graphicClass>
</graphicData>
<destroyOnDrop>true</destroyOnDrop>
<tradeability>None</tradeability>
@@ -521,7 +521,7 @@
<possessionCount>2</possessionCount>
<graphicData>
<texPath>ArachnaeSwarm/Mote/ARA_CatastropheMissile_Shell</texPath>
<graphicClass>Graphic_StackCount</graphicClass>
<graphicClass>Graphic_Single</graphicClass>
</graphicData>
<comps>
<li Class="CompProperties_Explosive">

View File

@@ -1,13 +1,14 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<WorldObjectDef>
<defName>CatastropheMissile_Flying</defName>
<label>巡航导弹</label>
<label>天灾酸烧导弹</label>
<worldObjectClass>ArachnaeSwarm.WorldObject_CatastropheMissile</worldObjectClass>
<texture>World/WorldObjects/Caravan</texture> <!-- Placeholder texture -->
<texture>ArachnaeSwarm/World/WorldObjects/Expanding/ARA_CatastropheMissile_Flying</texture> <!-- Placeholder texture -->
<expandingIcon>true</expandingIcon>
<useDynamicDrawer>true</useDynamicDrawer>
<expandingIconTexture>ArachnaeSwarm/World/WorldObjects/ARA_CatastropheMissile_Flying</expandingIconTexture>
<expandingIconPriority>100</expandingIconPriority>
<expandMore>true</expandMore>
</WorldObjectDef>
</Defs>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 167 KiB

After

Width:  |  Height:  |  Size: 110 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 171 KiB

After

Width:  |  Height:  |  Size: 125 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 126 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 185 KiB

After

Width:  |  Height:  |  Size: 177 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@@ -2,37 +2,13 @@
"Version": 1,
"WorkspaceRootPath": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\",
"Documents": [
{
"AbsoluteMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|e:\\steamlibrary\\steamapps\\common\\rimworld\\mods\\arachnaeswarm\\source\\arachnaeswarm\\buildings\\building_catastrophemissilesilo.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:buildings\\building_catastrophemissilesilo.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\building_comps\\ara_nutrientvat\\building_nutrientvat.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:building_comps\\ara_nutrientvat\\building_nutrientvat.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\wormhole\\complaunchablewormhole.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:wormhole\\complaunchablewormhole.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\wormhole\\building_wormholeportal_b.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:wormhole\\building_wormholeportal_b.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\wormhole\\travelingwormhole.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:wormhole\\travelingwormhole.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\wormhole\\jobdriver_deploywormhole.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:wormhole\\jobdriver_deploywormhole.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\wormhole\\defmodextension_travelingwormhole.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:wormhole\\defmodextension_travelingwormhole.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\wormhole\\building_wormholeportal_a.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:wormhole\\building_wormholeportal_a.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
"AbsoluteMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|e:\\steamlibrary\\steamapps\\common\\rimworld\\mods\\arachnaeswarm\\source\\arachnaeswarm\\ara_hediffdefof.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:ara_hediffdefof.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
}
],
"DocumentGroupContainers": [
@@ -51,99 +27,28 @@
{
"$type": "Document",
"DocumentIndex": 1,
"Title": "ARA_HediffDefOf.cs",
"DocumentMoniker": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\ARA_HediffDefOf.cs",
"RelativeDocumentMoniker": "ARA_HediffDefOf.cs",
"ToolTip": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\ARA_HediffDefOf.cs",
"RelativeToolTip": "ARA_HediffDefOf.cs",
"ViewState": "AgIAAAAAAAAAAAAAAADwvwcAAAAnAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-09-24T14:28:58.313Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 0,
"Title": "Building_NutrientVat.cs",
"DocumentMoniker": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Building_Comps\\ARA_NutrientVat\\Building_NutrientVat.cs",
"RelativeDocumentMoniker": "Building_Comps\\ARA_NutrientVat\\Building_NutrientVat.cs",
"ToolTip": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Building_Comps\\ARA_NutrientVat\\Building_NutrientVat.cs",
"RelativeToolTip": "Building_Comps\\ARA_NutrientVat\\Building_NutrientVat.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAQBAABVAAAAAAAAAA==",
"ViewState": "AgIAAFkAAAAAAAAAAAASwIsAAAAJAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-09-23T16:34:34.794Z"
},
{
"$type": "Document",
"DocumentIndex": 0,
"Title": "Building_CatastropheMissileSilo.cs",
"DocumentMoniker": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Buildings\\Building_CatastropheMissileSilo.cs",
"RelativeDocumentMoniker": "Buildings\\Building_CatastropheMissileSilo.cs",
"ToolTip": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Buildings\\Building_CatastropheMissileSilo.cs",
"RelativeToolTip": "Buildings\\Building_CatastropheMissileSilo.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAACQAAABJAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-09-23T16:30:21.768Z",
"WhenOpened": "2025-09-23T16:34:34.794Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 4,
"Title": "TravelingWormhole.cs",
"DocumentMoniker": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Wormhole\\TravelingWormhole.cs",
"RelativeDocumentMoniker": "Wormhole\\TravelingWormhole.cs",
"ToolTip": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Wormhole\\TravelingWormhole.cs",
"RelativeToolTip": "Wormhole\\TravelingWormhole.cs",
"ViewState": "AgIAABYAAAAAAAAAAAAywBQAAAA0AAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-09-23T14:38:30.02Z"
},
{
"$type": "Document",
"DocumentIndex": 5,
"Title": "JobDriver_DeployWormhole.cs",
"DocumentMoniker": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Wormhole\\JobDriver_DeployWormhole.cs",
"RelativeDocumentMoniker": "Wormhole\\JobDriver_DeployWormhole.cs",
"ToolTip": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Wormhole\\JobDriver_DeployWormhole.cs",
"RelativeToolTip": "Wormhole\\JobDriver_DeployWormhole.cs",
"ViewState": "AgIAAAAAAAAAAAAAAADwvxQAAAAdAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-09-23T14:38:27.332Z"
},
{
"$type": "Document",
"DocumentIndex": 3,
"Title": "Building_WormholePortal_B.cs",
"DocumentMoniker": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Wormhole\\Building_WormholePortal_B.cs",
"RelativeDocumentMoniker": "Wormhole\\Building_WormholePortal_B.cs",
"ToolTip": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Wormhole\\Building_WormholePortal_B.cs",
"RelativeToolTip": "Wormhole\\Building_WormholePortal_B.cs",
"ViewState": "AgIAAE0AAAAAAAAAAAAmwGcAAAAYAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-09-23T14:37:57.528Z"
},
{
"$type": "Document",
"DocumentIndex": 6,
"Title": "DefModExtension_TravelingWormhole.cs",
"DocumentMoniker": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Wormhole\\DefModExtension_TravelingWormhole.cs",
"RelativeDocumentMoniker": "Wormhole\\DefModExtension_TravelingWormhole.cs",
"ToolTip": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Wormhole\\DefModExtension_TravelingWormhole.cs",
"RelativeToolTip": "Wormhole\\DefModExtension_TravelingWormhole.cs",
"ViewState": "AgIAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-09-23T14:38:25.789Z"
},
{
"$type": "Document",
"DocumentIndex": 2,
"Title": "CompLaunchableWormhole.cs",
"DocumentMoniker": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Wormhole\\CompLaunchableWormhole.cs",
"RelativeDocumentMoniker": "Wormhole\\CompLaunchableWormhole.cs",
"ToolTip": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Wormhole\\CompLaunchableWormhole.cs",
"RelativeToolTip": "Wormhole\\CompLaunchableWormhole.cs",
"ViewState": "AgIAAAoAAAAAAAAAAIA2wCEAAABYAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-09-23T14:38:20.681Z"
},
{
"$type": "Document",
"DocumentIndex": 7,
"Title": "Building_WormholePortal_A.cs",
"DocumentMoniker": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Wormhole\\Building_WormholePortal_A.cs",
"RelativeDocumentMoniker": "Wormhole\\Building_WormholePortal_A.cs",
"ToolTip": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Wormhole\\Building_WormholePortal_A.cs",
"RelativeToolTip": "Wormhole\\Building_WormholePortal_A.cs",
"ViewState": "AgIAAIUAAAAAAAAAAAAIwJgAAAA5AAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-09-23T14:28:58.917Z"
}
]
}

View File

@@ -0,0 +1,19 @@
using RimWorld;
using Verse;
using Verse.Sound;
namespace ArachnaeSwarm
{
[DefOf]
public static class ARA_HediffDefOf
{
public static HediffDef ARA_AcidCoverd;
public static HediffDef ARA_HiveMindMaster;
public static HediffDef ARA_HiveMindDrone;
public static HediffDef ARA_HiveMindWorker;
static ARA_HediffDefOf()
{
DefOfHelper.EnsureInitializedInCtor(typeof(HediffDefOf));
}
}
}

View File

@@ -95,6 +95,7 @@
<Compile Include="Abilities\TrackingCharge\CompProperties_TrackingCharge.cs" />
<Compile Include="Abilities\TrackingCharge\PawnFlyer_TrackingCharge.cs" />
<Compile Include="Abilities\TrackingCharge\Verb_CastAbilityTrackingCharge.cs" />
<Compile Include="ARA_HediffDefOf.cs" />
<Compile Include="Building_Comps\ARA_BuildingTerrainSpawn\CompDelayedTerrainSpawn.cs" />
<Compile Include="Building_Comps\ARA_BuildingTerrainSpawn\CompProperties_DelayedTerrainSpawn.cs" />
<Compile Include="Building_Comps\ARA_CompInteractiveProducer\CompInteractiveProducer.cs" />

View File

@@ -23,7 +23,7 @@ namespace ArachnaeSwarm
StringBuilder sb = new StringBuilder();
float efficiency = Mathf.Clamp(parent.GetStatValue(StatDef.Named("NutrientTransmissionEfficiency")), 0f, Props.maxEfficiency);
sb.AppendLine("生物质传输效率".Translate() + ": " + efficiency.ToStringPercent());
sb.AppendLine("生物质传输效率".Translate() + ": +" + efficiency.ToStringPercent());
sb.AppendLine("链接的建筑".Translate() + ":");

View File

@@ -1,5 +1,7 @@
using RimWorld;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using UnityEngine;
using Verse;
@@ -104,6 +106,52 @@ namespace ArachnaeSwarm
base.DeSpawn(mode);
}
//修改点:对里面的人员进行酸蚀伤害
private Dictionary<Pawn, int> pawnTickCounters = new Dictionary<Pawn, int>();
private BodyPartRecord GetRandomBodyPart(Pawn pawn)
{
var parts = pawn.health.hediffSet.GetNotMissingParts().ToList();
return parts.Count > 0 ? parts.RandomElement() : pawn.RaceProps.body.corePart;
}
private void ApplyAcidDamage(Pawn pawn)
{
try
{
BodyPartRecord targetPart = GetRandomVulnerablePart(pawn);
DamageDef acidDamageDef = DefDatabase<DamageDef>.GetNamed("AcidBurn") ?? DamageDefOf.Burn;
DamageInfo acidDamage = new DamageInfo(
acidDamageDef,
1f, // 每次1点伤害
0.1f, // 轻微护甲穿透
-1f, // 随机角度
instigator: null,
hitPart: targetPart
);
// 应用伤害
pawn.TakeDamage(acidDamage);
}
catch (Exception ex)
{
Log.Error($"Error applying acid damage to {pawn}: {ex.Message}");
}
}
private BodyPartRecord GetRandomVulnerablePart(Pawn pawn)
{
// 优先选择外部身体部位
var vulnerableParts = pawn.health.hediffSet.GetNotMissingParts()
.Where(part => part.depth == BodyPartDepth.Outside &&
!part.def.conceptual &&
part.def.hitPoints > 0)
.ToList();
return vulnerableParts.Count > 0 ?
vulnerableParts.RandomElement() :
pawn.RaceProps.body.corePart;
}
protected override void Tick()
{
base.Tick();
@@ -116,6 +164,31 @@ namespace ArachnaeSwarm
if (base.Working && selectedPawn != null)
{
//修改点:对里面的人员进行酸蚀伤害
if (pawnTickCounters.TryGetValue(selectedPawn, out int tickCount))
{
tickCount++;
pawnTickCounters[selectedPawn] = tickCount;
if (tickCount >= 6000)
{
DamageInfo acidDamage = new DamageInfo(
DefDatabase<DamageDef>.GetNamed("AcidBurn") ?? DamageDefOf.Burn,
1f,
100f, // 完全护甲穿透
-1f,
instigator: null,
hitPart: GetRandomBodyPart(selectedPawn)
);
pawnTickCounters[selectedPawn] = 0;
ApplyAcidDamage(selectedPawn);
}
}
else
{
pawnTickCounters[selectedPawn] = 0;
}
// Update BioStarvation
float biostarvationOffset = BiostarvationDailyOffset / 60000f * HediffDefOf.BioStarvation.maxSeverity;
Hediff biostarvation = selectedPawn.health.hediffSet.GetFirstHediffOfDef(HediffDefOf.BioStarvation);
@@ -169,6 +242,11 @@ namespace ArachnaeSwarm
{
return "PawnBiostarving".Translate(pawn.Named("PAWN"));
}
//修改点:禁止置入虫群成员
if (pawn.health.hediffSet.HasHediff(ARA_HediffDefOf.ARA_HiveMindMaster) || pawn.health.hediffSet.HasHediff(ARA_HediffDefOf.ARA_HiveMindDrone) ||pawn.health.hediffSet.HasHediff(ARA_HediffDefOf.ARA_HiveMindWorker))
{
return "PawnIsHiveMember".Translate(pawn.Named("PAWN"));
}
return pawn.IsColonist && !pawn.IsQuestLodger();
}
@@ -235,40 +313,40 @@ namespace ArachnaeSwarm
{
yield return gizmo;
}
//修改点:删除了弹出功能
if (base.Working)
{
yield return new Command_Action
{
defaultLabel = "CommandCancelGrowth".Translate(), // Label can be changed
defaultDesc = "CommandCancelGrowthDesc".Translate(), // Desc can be changed
icon = ContentFinder<Texture2D>.Get("UI/Designators/Cancel"),
action = () =>
{
Finish();
innerContainer.TryDropAll(InteractionCell, base.Map, ThingPlaceMode.Near);
}
};
//yield return new Command_Action
//{
// defaultLabel = "CommandCancelGrowth".Translate(), // Label can be changed
// defaultDesc = "CommandCancelGrowthDesc".Translate(), // Desc can be changed
// icon = ContentFinder<Texture2D>.Get("UI/Designators/Cancel"),
// action = () =>
// {
// Finish();
// innerContainer.TryDropAll(InteractionCell, base.Map, ThingPlaceMode.Near);
// }
//};
}
else
{
if (selectedPawn != null)
{
yield return new Command_Action
{
defaultLabel = "CommandCancelLoad".Translate(),
defaultDesc = "CommandCancelLoadDesc".Translate(),
icon = ContentFinder<Texture2D>.Get("UI/Designators/Cancel"),
action = () =>
{
if (selectedPawn?.CurJobDef == JobDefOf.EnterBuilding)
{
selectedPawn.jobs.EndCurrentJob(JobCondition.InterruptForced);
}
OnStop();
}
};
}
//if (selectedPawn != null)
//{
// yield return new Command_Action
// {
// defaultLabel = "CommandCancelLoad".Translate(),
// defaultDesc = "CommandCancelLoadDesc".Translate(),
// icon = ContentFinder<Texture2D>.Get("UI/Designators/Cancel"),
// action = () =>
// {
// if (selectedPawn?.CurJobDef == JobDefOf.EnterBuilding)
// {
// selectedPawn.jobs.EndCurrentJob(JobCondition.InterruptForced);
// }
// OnStop();
// }
// };
//}
var command_Action = new Command_Action
{