This commit is contained in:
Tourswen
2025-12-15 00:05:32 +08:00
parent c1fbcd09a0
commit 79f461c9e3
18 changed files with 970 additions and 102 deletions

Binary file not shown.

View File

@@ -27,4 +27,15 @@
<reportString>将 TargetA 带到 TargetB.</reportString>
<suspendable>false</suspendable>
</JobDef>
<JobDef>
<defName>ARA_OperateIncubator</defName>
<driverClass>ArachnaeSwarm.JobDriver_OperateIncubator</driverClass>
<reportString>进入阿拉克涅卵鞘。</reportString>
<playerInterruptible>true</playerInterruptible>
<alwaysShowWeapon>false</alwaysShowWeapon>
<suspendable>true</suspendable>
<makeTargetPrisoner>false</makeTargetPrisoner>
<casualInterruptible>true</casualInterruptible>
</JobDef>
</Defs>

View File

@@ -454,6 +454,28 @@
</li>
</moveSpeedFactorByTerrainTag>
</PawnKindDef>
<PawnKindDef ParentName="ARA_InsectKindBase">
<defName>ArachnaeBase_Race_Larva</defName>
<label>阿拉克涅幼虫种</label>
<race>ArachnaeBase_Race_Larva</race>
<lifeStages>
<li>
<bodyGraphicData>
<texPath>ArachnaeSwarm/Things/ARA_Scavenger/Scavenger/Naked_Thin</texPath>
<drawSize>1</drawSize>
<color>(156,148,125)</color>
<shadowData>
<volume>(0.4, 0.5, 0.37)</volume>
<offset>(0,0,-0.15)</offset>
</shadowData>
</bodyGraphicData>
<dessicatedBodyGraphicData>
<texPath>Things/Pawn/Animal/Spelopede/Dessicated_Spelopede</texPath>
<drawSize>1</drawSize>
</dessicatedBodyGraphicData>
</li>
</lifeStages>
</PawnKindDef>
<PawnKindDef ParentName="ARA_InsectKindBase">
<defName>ArachnaeBase_Race_Scavenger</defName>
<label>阿拉克涅食腐种</label>

View File

@@ -0,0 +1,90 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<RoomRoleDef>
<defName>None</defName>
<label>none</label>
<workerClass>RoomRoleWorker_None</workerClass>
</RoomRoleDef>
<RoomRoleDef>
<defName>Room</defName>
<label>room</label>
<workerClass>RoomRoleWorker_Room</workerClass>
</RoomRoleDef>
<RoomRoleDef>
<defName>Bedroom</defName>
<label>bedroom</label>
<workerClass>RoomRoleWorker_Bedroom</workerClass>
<avoidViewingArtIfUnowned>true</avoidViewingArtIfUnowned>
<relatedStats>
<li>Beauty</li>
<li>Cleanliness</li>
<li>Wealth</li>
<li>Space</li>
<li>Impressiveness</li>
</relatedStats>
</RoomRoleDef>
<RoomRoleDef>
<defName>PrisonCell</defName>
<label>prison cell</label>
<workerClass>RoomRoleWorker_PrisonCell</workerClass>
<avoidViewingArtIfUnowned>true</avoidViewingArtIfUnowned>
<relatedStats>
<li>Beauty</li>
<li>Cleanliness</li>
<li>Wealth</li>
<li>Space</li>
<li>Impressiveness</li>
</relatedStats>
</RoomRoleDef>
<RoomRoleDef>
<defName>DiningRoom</defName>
<label>dining room</label>
<workerClass>RoomRoleWorker_DiningRoom</workerClass>
<relatedStats>
<li>Beauty</li>
<li>Cleanliness</li>
<li>Wealth</li>
<li>Space</li>
<li>Impressiveness</li>
</relatedStats>
</RoomRoleDef>
<RoomRoleDef>
<defName>RecRoom</defName>
<label>rec room</label>
<workerClass>RoomRoleWorker_RecRoom</workerClass>
<relatedStats>
<li>Beauty</li>
<li>Cleanliness</li>
<li>Wealth</li>
<li>Space</li>
<li>Impressiveness</li>
</relatedStats>
</RoomRoleDef>
<RoomRoleDef>
<defName>Hospital</defName>
<label>hospital</label>
<workerClass>RoomRoleWorker_Hospital</workerClass>
<avoidViewingArtIfUnowned>true</avoidViewingArtIfUnowned>
<relatedStats>
<li>Beauty</li>
<li>Cleanliness</li>
<li>Space</li>
</relatedStats>
</RoomRoleDef>
<RoomRoleDef>
<defName>Laboratory</defName>
<label>laboratory</label>
<workerClass>RoomRoleWorker_Laboratory</workerClass>
<relatedStats>
<li>Cleanliness</li>
</relatedStats>
</RoomRoleDef>
</Defs>

View File

@@ -0,0 +1,308 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<!--======= Primary stats (calcualated from physical conditions) =======-->
<RoomStatDef>
<defName>Impressiveness</defName>
<label>impressiveness</label>
<workerClass>RoomStatWorker_Impressiveness</workerClass>
<updatePriority>1</updatePriority>
<displayRounded>true</displayRounded>
<roomlessScore>0</roomlessScore>
<scoreStages>
<li>
<label>awful</label>
</li>
<li>
<minScore>20</minScore>
<label>dull</label>
</li>
<li>
<minScore>30</minScore>
<label>mediocre</label>
</li>
<li>
<minScore>40</minScore>
<label>decent</label>
</li>
<li>
<minScore>50</minScore>
<label>slightly impressive</label>
</li>
<li>
<minScore>65</minScore>
<label>somewhat impressive</label>
</li>
<li>
<minScore>85</minScore>
<label>very impressive</label>
</li>
<li>
<minScore>120</minScore>
<label>extremely impressive</label>
</li>
<li>
<minScore>170</minScore>
<label>unbelievably impressive</label>
</li>
<li>
<minScore>240</minScore>
<label>wondrously impressive</label>
</li>
</scoreStages>
</RoomStatDef>
<RoomStatDef>
<defName>Wealth</defName>
<label>wealth</label>
<workerClass>RoomStatWorker_Wealth</workerClass>
<updatePriority>2</updatePriority>
<displayRounded>true</displayRounded>
<roomlessScore>0</roomlessScore>
<scoreStages>
<li>
<label>impoverished</label>
</li>
<li>
<minScore>500</minScore>
<label>somewhat poor</label>
</li>
<li>
<minScore>700</minScore>
<label>mediocre</label>
</li>
<li>
<minScore>2000</minScore>
<label>somewhat rich</label>
</li>
<li>
<minScore>4000</minScore>
<label>rich</label>
</li>
<li>
<minScore>10000</minScore>
<label>luxurious</label>
</li>
<li>
<minScore>40000</minScore>
<label>very luxurious</label>
</li>
<li>
<minScore>100000</minScore>
<label>extremely luxurious</label>
</li>
<li>
<minScore>1000000</minScore>
<label>unbelievably luxurious</label>
</li>
</scoreStages>
</RoomStatDef>
<RoomStatDef>
<defName>Space</defName>
<label>space</label>
<workerClass>RoomStatWorker_Space</workerClass>
<updatePriority>2</updatePriority>
<displayRounded>true</displayRounded>
<roomlessScore>350</roomlessScore>
<scoreStages>
<li>
<label>cramped</label>
</li>
<li>
<minScore>12.5</minScore>
<label>rather tight</label>
</li>
<li>
<minScore>29</minScore>
<label>average-sized</label>
</li>
<li>
<minScore>55</minScore>
<label>somewhat spacious</label>
</li>
<li>
<minScore>70</minScore>
<label>quite spacious</label>
</li>
<li>
<minScore>130</minScore>
<label>very spacious</label>
</li>
<li>
<minScore>349.5</minScore>
<label>extremely spacious</label>
</li>
</scoreStages>
</RoomStatDef>
<RoomStatDef>
<defName>Beauty</defName>
<label>beauty</label>
<workerClass>RoomStatWorker_Beauty</workerClass>
<updatePriority>2</updatePriority>
<roomlessScore>0</roomlessScore>
<scoreStages>
<li>
<label>hideous</label>
</li>
<li>
<minScore>-3.5</minScore>
<label>ugly</label>
</li>
<li>
<minScore>0.0</minScore>
<label>neutral</label>
</li>
<li>
<minScore>2.4</minScore>
<label>pretty</label>
</li>
<li>
<minScore>5.0</minScore>
<label>beautiful</label>
</li>
<li>
<minScore>15.0</minScore>
<label>very beautiful</label>
</li>
<li>
<minScore>50.0</minScore>
<label>extremely beautiful</label>
</li>
<li>
<minScore>100.0</minScore>
<label>unbelievably beautiful</label>
</li>
</scoreStages>
</RoomStatDef>
<RoomStatDef>
<defName>Cleanliness</defName>
<label>cleanliness</label>
<workerClass>RoomStatWorker_Cleanliness</workerClass>
<updatePriority>2</updatePriority>
<roomlessScore>0</roomlessScore>
<scoreStages>
<li>
<label>very dirty</label>
</li>
<li>
<minScore>-1.1</minScore>
<label>dirty</label>
</li>
<li>
<minScore>-0.4</minScore>
<label>slightly dirty</label>
</li>
<li>
<minScore>-0.05</minScore>
<label>clean</label>
</li>
<li>
<minScore>0.4</minScore>
<label>sterile</label>
</li>
</scoreStages>
</RoomStatDef>
<RoomStatDef>
<defName>ReadingBonus</defName>
<label>reading bonus</label>
<workerClass>RoomStatWorker_ReadingBonus</workerClass>
<roomlessScore>1</roomlessScore>
<updatePriority>0</updatePriority>
<isHidden>true</isHidden>
</RoomStatDef>
<!--======= Dependent stats (calculated from other stats) =======-->
<RoomStatDef>
<defName>InfectionChanceFactor</defName>
<label>infection chance factor</label>
<workerClass>RoomStatWorker_FromStatByCurve</workerClass>
<updatePriority>0</updatePriority>
<isHidden>true</isHidden>
<roomlessScore>1.0</roomlessScore>
<inputStat>Cleanliness</inputStat>
<curve>
<points>
<li>(-5, 1.0)</li> <!-- Never worse than no tending at all -->
<li>( 0, 0.5)</li>
<li>( 1, 0.2)</li>
</points>
</curve>
</RoomStatDef>
<RoomStatDef>
<defName>SurgerySuccessChanceCleanlinessFactor</defName>
<label>surgery success chance cleanliness factor</label>
<workerClass>RoomStatWorker_FromStatByCurve</workerClass>
<updatePriority>0</updatePriority>
<isHidden>true</isHidden>
<roomlessScore>0.6</roomlessScore>
<inputStat>Cleanliness</inputStat>
<curve>
<points>
<li>(-5, 0.6)</li>
<li>( 0, 1.0)</li>
<li>( 1, 1.10)</li>
<li>( 5, 1.15)</li>
</points>
</curve>
</RoomStatDef>
<RoomStatDef>
<defName>ARA_ResearchSpeedFactor</defName>
<label>research speed factor</label>
<workerClass>RoomStatWorker_FromStatByCurve</workerClass>
<updatePriority>0</updatePriority>
<isHidden>true</isHidden>
<roomlessScore>0.75</roomlessScore>
<inputStat>Space</inputStat>
<curve>
<points>
<li>(-5.0, 0.75 )</li>
<li>(-2.5, 0.85 )</li>
<li>( 0.0, 1.00 )</li>
<li>( 1.0, 1.15 )</li>
</points>
</curve>
</RoomStatDef>
<RoomStatDef>
<defName>GraveVisitingJoyGainFactor</defName>
<label>grave visiting recreation factor</label>
<workerClass>RoomStatWorker_FromStatByCurve</workerClass>
<updatePriority>0</updatePriority>
<isHidden>true</isHidden>
<roomlessScore>1</roomlessScore>
<inputStat>Impressiveness</inputStat>
<curve>
<points>
<li>(-150, 1.0)</li>
<li>( 0, 1.0)</li>
<li>( 150, 1.4)</li>
</points>
</curve>
</RoomStatDef>
<RoomStatDef>
<defName>FoodPoisonChance</defName>
<label>food poison chance</label>
<workerClass>RoomStatWorker_FromStatByCurve</workerClass>
<updatePriority>0</updatePriority>
<isHidden>true</isHidden>
<roomlessScore>0.02</roomlessScore>
<inputStat>Cleanliness</inputStat>
<curve>
<points>
<li>(-5, 0.05)</li>
<li>(-3.5, 0.025)</li>
<li>(-2, 0)</li>
</points>
</curve>
</RoomStatDef>
</Defs>

View File

@@ -5,4 +5,9 @@
<label>阿拉克涅菌毯</label>
<order>3800</order>
</TerrainAffordanceDef>
<TerrainAffordanceDef>
<defName>ARA_Incubator_Nutrient_Solution</defName>
<label>阿拉克涅营养液</label>
<order>3801</order>
</TerrainAffordanceDef>
</Defs>

View File

@@ -68,12 +68,12 @@
</deathAction>
</race>
<comps>
<li Class="CompProperties_MechPowerCell">
<totalPowerTicks>240000</totalPowerTicks> <!-- 2 hours -->
<!-- <li Class="CompProperties_MechPowerCell">
<totalPowerTicks>240000</totalPowerTicks>
<labelOverride>寿命</labelOverride>
<tooltipOverride>这种特殊的阿拉克涅辅虫从出生起就走在死亡的道路上了——它们的寿命就是如此短暂。</tooltipOverride>
<showGizmoOnNonPlayerControlled>true</showGizmoOnNonPlayerControlled>
</li>
</li> -->
<li Class="ArachnaeSwarm.CompProperties_HediffGiver">
<hediffs>
<li>ARA_TemperatureRegulation</li>
@@ -84,6 +84,14 @@
</li>
</comps>
</ThingDef>
<ThingDef ParentName="ArachnaeBase_Race">
<defName>ArachnaeBase_Race_Larva</defName>
<label>阿拉克涅幼虫种</label>
<description>阿拉克涅辅虫之一,是虫族的根基。</description>
<race>
<thinkTreeMain>ARA_Larva_Thinktree</thinkTreeMain>
</race>
</ThingDef>
<ThingDef ParentName="ArachnaeBase_Race">
<defName>ArachnaeBase_Race_Scavenger</defName>
<label>阿拉克涅食腐种</label>

View File

@@ -355,6 +355,7 @@
<li>ARA_Pantyhose_Black</li>
<li>ARA_Pantyhose_White</li>
<li>ARA_SpiderOne_PowerArmor</li>
<li>ARA_Eveningdress</li>
</apparelList>
<blackApparelList>
<li>Apparel_AdvancedHelmet</li>

View File

@@ -733,6 +733,23 @@
<addChance>1.0</addChance>
<allowDuplicates>false</allowDuplicates>
</li>
<li Class="ArachnaeSwarm.CompProperties_AutoMechCarrier">
<freeProduction>true</freeProduction>
<disableHediff>ARA_RaceBaseSwarmProduceSwitchHediff</disableHediff>
<fixedIngredient>ARA_InsectJelly</fixedIngredient>
<maxIngredientCount>1</maxIngredientCount>
<startingIngredientCount>1</startingIngredientCount>
<costPerPawn>999</costPerPawn>
<cooldownTicks>9999</cooldownTicks>
<productionQueue>
<li>
<pawnKind>ArachnaeBase_Race_Larva</pawnKind>
<count>5</count>
<cooldownTicks>1000</cooldownTicks>
</li>
</productionQueue>
<spawnEffecter>CocoonDestroyed</spawnEffecter>
</li>
</comps>
</AlienRace.ThingDef_AlienRace>
</Defs>

View File

@@ -78,7 +78,7 @@
<description>什么这是个记录数量用的thingdef你不应该在任何场合下看到这个。</description>
<thingClass>Thing</thingClass>
</ThingDef>
<ThingDef ParentName="SkyfallerBase" Name="DropPodLeaving">
<ThingDef ParentName="SkyfallerBase">
<defName>ARA_HiveCorvette_Leaving</defName>
<label>天巫种兽虫 (起飞中)</label>
<thingClass>FlyShipLeaving</thingClass>

View File

@@ -590,6 +590,83 @@
</li>
</comps>
</ThingDef>
<ThingDef ParentName="ARA_ClothBase">
<defName>ARA_Eveningdress</defName>
<label>阿拉克涅晚礼服</label>
<description>阿拉克涅督虫们所着织物中的一种,高贵又富有魅力,蕴含着强大的灵能力量,这件织物能够增幅穿着者的灵能力量。</description>
<descriptionHyperlinks>
<ThingDef>ARA_Cocoon_Cloth_2Stage</ThingDef>
<AbilityDef>ARA_TerrainHeal_Ability</AbilityDef>
</descriptionHyperlinks>
<tickerType>Normal</tickerType>
<recipeMaker>
<recipeUsers Inherit="False" />
<researchPrerequisite>ARA_Technology_6DIL</researchPrerequisite>
<unfinishedThingDef>UnfinishedArmor</unfinishedThingDef>
</recipeMaker>
<costList Inherit="False">
<ARA_Carapace>25</ARA_Carapace>
</costList>
<statBases>
<ARA_IncubationCost>50</ARA_IncubationCost>
<ARA_IncubationTime>3</ARA_IncubationTime>
</statBases>
<graphicData>
<texPath>ArachnaeSwarm/Apparel/ARA_Evening_Dress_Thin_south</texPath>
</graphicData>
<apparel>
<bodyPartGroups>
<li>Torso</li>
<li>Shoulders</li>
<li>Arms</li>
<li>Legs</li>
</bodyPartGroups>
<layers>
<!-- <li>OnSkin</li> -->
<li>Middle</li>
</layers>
<wornGraphicPath>ArachnaeSwarm/Apparel/ARA_Evening_Dress</wornGraphicPath>
</apparel>
<equippedStatOffsets>
</equippedStatOffsets>
<costStuffCount>0</costStuffCount>
<comps>
<li Class="ArachnaeSwarm.CompProperties_ExtraIncubationInfo">
<cocoonDefs>
<li>ARA_Cocoon_Cloth_2Stage</li>
<li>ARA_Cocoon_Cloth_2Stage_From_Death</li>
<li>ARA_BioforgeIncubator_Thing</li>
</cocoonDefs>
</li>
<li Class="ArachnaeSwarm.CompProperties_ApparelInterceptor">
<!-- 基础功能 -->
<radius>3</radius> <!-- 护盾半径,决定了拦截范围 -->
<hitPoints>100</hitPoints> <!-- 护盾的生命值,每次拦截会消耗 -->
<rechargeDelay>2800</rechargeDelay> <!-- 护盾破裂后的冷却时间 (ticks) -->
<!-- 拦截类型 -->
<interceptGroundProjectiles>true</interceptGroundProjectiles> <!-- 是否拦截地面弹丸 (如子弹) -->
<interceptAirProjectiles>false</interceptAirProjectiles> <!-- 是否拦截空中弹丸 (如炮弹) -->
<interceptNonHostileProjectiles>true</interceptNonHostileProjectiles> <!-- 是否拦截非敌对弹丸 -->
<!-- 视觉与音效 -->
<color>(0.5, 0.3, 0.9, 0.5)</color> <!-- 护盾气泡的颜色 (RGBA) -->
<soundInterceptEffecter>Interceptor_BlockedProjectile</soundInterceptEffecter> <!-- 成功拦截时的音效 -->
<soundBreakEffecter>Shield_Break</soundBreakEffecter> <!-- 护盾破裂时的音效 -->
<reactivateEffect>BulletShieldGenerator_Reactivate</reactivateEffect> <!-- 护盾冷却结束后恢复的特效 -->
<!-- EMP 效果 -->
<isImmuneToEMP>true</isImmuneToEMP> <!-- 是否免疫EMP伤害 -->
<disarmedByEmpForTicks>0</disarmedByEmpForTicks> <!-- 被EMP击中后额外的眩晕/瘫痪时间 (ticks) -->
<!-- 被动恢复 -->
<rechargeHitPointsIntervalTicks>1</rechargeHitPointsIntervalTicks> <!-- 未破盾时每隔多少ticks恢复1点生命值 -->
</li>
</comps>
</ThingDef>
<!-- T3 -->
<ThingDef ParentName="ARA_ClothBase">
<defName>ARA_Wedding_Dress</defName>
@@ -696,83 +773,6 @@
</comps>
</ThingDef>
<ThingDef ParentName="ARA_ClothBase">
<defName>ARA_Eveningdress</defName>
<label>阿拉克涅晚礼服</label>
<description>阿拉克涅督虫们所着织物中的一种,高贵又富有魅力,蕴含着强大的灵能力量,这件织物能够增幅穿着者的灵能力量。</description>
<descriptionHyperlinks>
<ThingDef>ARA_Cocoon_Cloth_2Stage</ThingDef>
<AbilityDef>ARA_TerrainHeal_Ability</AbilityDef>
</descriptionHyperlinks>
<tickerType>Normal</tickerType>
<recipeMaker>
<recipeUsers Inherit="False" />
<researchPrerequisite>ARA_Technology_6DIL</researchPrerequisite>
<unfinishedThingDef>UnfinishedArmor</unfinishedThingDef>
</recipeMaker>
<costList Inherit="False">
<ARA_Carapace>25</ARA_Carapace>
</costList>
<statBases>
<ARA_IncubationCost>50</ARA_IncubationCost>
<ARA_IncubationTime>3</ARA_IncubationTime>
</statBases>
<graphicData>
<texPath>ArachnaeSwarm/Apparel/ARA_Evening_Dress_Thin_south</texPath>
</graphicData>
<apparel>
<bodyPartGroups>
<li>Torso</li>
<li>Shoulders</li>
<li>Arms</li>
<li>Legs</li>
</bodyPartGroups>
<layers>
<!-- <li>OnSkin</li> -->
<li>Middle</li>
</layers>
<wornGraphicPath>ArachnaeSwarm/Apparel/ARA_Evening_Dress</wornGraphicPath>
</apparel>
<equippedStatOffsets>
</equippedStatOffsets>
<costStuffCount>0</costStuffCount>
<comps>
<li Class="ArachnaeSwarm.CompProperties_ExtraIncubationInfo">
<cocoonDefs>
<li>ARA_Cocoon_Cloth_2Stage</li>
<li>ARA_Cocoon_Cloth_2Stage_From_Death</li>
<li>ARA_BioforgeIncubator_Thing</li>
</cocoonDefs>
</li>
<li Class="ArachnaeSwarm.CompProperties_ApparelInterceptor">
<!-- 基础功能 -->
<radius>3</radius> <!-- 护盾半径,决定了拦截范围 -->
<hitPoints>100</hitPoints> <!-- 护盾的生命值,每次拦截会消耗 -->
<rechargeDelay>2800</rechargeDelay> <!-- 护盾破裂后的冷却时间 (ticks) -->
<!-- 拦截类型 -->
<interceptGroundProjectiles>true</interceptGroundProjectiles> <!-- 是否拦截地面弹丸 (如子弹) -->
<interceptAirProjectiles>false</interceptAirProjectiles> <!-- 是否拦截空中弹丸 (如炮弹) -->
<interceptNonHostileProjectiles>true</interceptNonHostileProjectiles> <!-- 是否拦截非敌对弹丸 -->
<!-- 视觉与音效 -->
<color>(0.5, 0.3, 0.9, 0.5)</color> <!-- 护盾气泡的颜色 (RGBA) -->
<soundInterceptEffecter>Interceptor_BlockedProjectile</soundInterceptEffecter> <!-- 成功拦截时的音效 -->
<soundBreakEffecter>Shield_Break</soundBreakEffecter> <!-- 护盾破裂时的音效 -->
<reactivateEffect>BulletShieldGenerator_Reactivate</reactivateEffect> <!-- 护盾冷却结束后恢复的特效 -->
<!-- EMP 效果 -->
<isImmuneToEMP>true</isImmuneToEMP> <!-- 是否免疫EMP伤害 -->
<disarmedByEmpForTicks>0</disarmedByEmpForTicks> <!-- 被EMP击中后额外的眩晕/瘫痪时间 (ticks) -->
<!-- 被动恢复 -->
<rechargeHitPointsIntervalTicks>1</rechargeHitPointsIntervalTicks> <!-- 未破盾时每隔多少ticks恢复1点生命值 -->
</li>
</comps>
</ThingDef>
<ApparelLayerDef>
<defName>ARA_Shield</defName>

View File

@@ -0,0 +1,188 @@
<?xml version="1.0" encoding="utf-8"?>
<Defs>
<TerrainDef>
<defName>ARA_Incubator_Nutrient_Solution</defName>
<label>阿拉克涅营养液</label>
<description>阿拉克涅虫族孵化池的营养液。</description>
<renderPrecedence>395</renderPrecedence>
<texturePath>Terrain/Surfaces/WaterShallowRamp</texturePath>
<pollutedTexturePath>Terrain/Surfaces/WaterShallowRampPolluted</pollutedTexturePath>
<pollutionTintColor>(0.95, 0.95, 0.93, 1)</pollutionTintColor>
<pollutionColor>(240,240,240)</pollutionColor>
<color>(221, 224, 201)</color>
<forcePassableByFlyingPawns>true</forcePassableByFlyingPawns>
<gravshipReplacementTerrain>WaterShallow</gravshipReplacementTerrain>
<waterDepthShader>Map/WaterDepth</waterDepthShader>
<passability>Standable</passability>
<pathCost>80</pathCost>
<changeable>false</changeable>
<canFreeze>false</canFreeze>
<waterBodyType>Freshwater</waterBodyType>
<edgeType>Water</edgeType>
<fertility>0</fertility>
<natural>true</natural>
<avoidWander>true</avoidWander>
<holdSnowOrSand>false</holdSnowOrSand>
<takeSplashes>true</takeSplashes>
<extinguishesFire>true</extinguishesFire>
<extraDeteriorationFactor>3</extraDeteriorationFactor>
<traversedThought>SoakingWet</traversedThought>
<extraNonDraftedPerceivedPathCost>180</extraNonDraftedPerceivedPathCost>
<extraDraftedPerceivedPathCost>18</extraDraftedPerceivedPathCost>
<pollutionShaderType MayRequire="Ludeon.RimWorld.Biotech">TerrainWaterPolluted</pollutionShaderType>
<pollutionOverlayTexturePath>Terrain/Surfaces/MarshPollutionOverlay</pollutionOverlayTexturePath>
<designationCategory>ARA_Buildings</designationCategory>
<filthAcceptanceMask>
<li>None</li>
</filthAcceptanceMask>
<affordances>
<li>ShallowWater</li>
<li>WaterproofConduitable</li>
<li>Bridgeable</li>
<li>Walkable</li>
<li>ARA_Incubator_Nutrient_Solution</li>
</affordances>
<tags>
<li>ARA_Incubator_Nutrient_Solution</li>
</tags>
<tools>
<li>
<label>water</label>
<capacities>
<li>KickMaterialInEyes</li>
</capacities>
<hediff>WaterInEyes</hediff>
<cooldownTime>1.5</cooldownTime>
</li>
</tools>
</TerrainDef>
<ThingDef ParentName="BuildingNaturalBase">
<defName>ARA_Pawn_Ootheca</defName>
<label>阿拉克涅虫卵囊</label>
<description>一个脆弱、易燃、黏滑的囊状物,是阿拉克涅女皇种所诞之卵,内含哺育一只新督虫所需的营养和遗传物质。</description>
<statBases>
<MarketValue>1000</MarketValue>
</statBases>
<thingClass>ArachnaeSwarm.Building_Ootheca</thingClass>
<category>Building</category>
<size>(1,1)</size>
<designationCategory>ARA_Buildings</designationCategory>
<graphicData>
<texPath>ArachnaeSwarm/Building/ARA_EggSac</texPath>
<graphicClass>Graphic_Single</graphicClass>
<shadowData>
<volume>(0.8, 0.8, 0.3)</volume>
</shadowData>
</graphicData>
<altitudeLayer>Building</altitudeLayer>
<passability>PassThroughOnly</passability>
<fillPercent>0.3</fillPercent>
<rotatable>false</rotatable>
<tickerType>Normal</tickerType>
<generateCommonality>0</generateCommonality>
<tradeability>None</tradeability>
<thingSetMakerTags Inherit="False" />
<terrainAffordanceNeeded>ARA_Incubator_Nutrient_Solution</terrainAffordanceNeeded>
<!-- 交互设置 -->
<interactionCellOffset>(0, 0, 1)</interactionCellOffset>
<hasInteractionCell>true</hasInteractionCell>
<statBases>
<Mass>10</Mass>
<MaxHitPoints>20</MaxHitPoints>
<Flammability>1</Flammability>
<Beauty>-6</Beauty>
</statBases>
<building>
<isInert>true</isInert>
<!-- <claimable>false</claimable> -->
<deconstructible>false</deconstructible>
<repairable>false</repairable>
<isTargetable>true</isTargetable>
<expandHomeArea>false</expandHomeArea>
</building>
<!-- ITab配置 -->
<inspectorTabs>
<li>ArachnaeSwarm.ITab_Ootheca_Incubation</li>
</inspectorTabs>
<comps>
<li Class="ArachnaeSwarm.CompProperties_IncubatorData">
<!-- 按钮和菜单配置 -->
<defaultIndex>0</defaultIndex>
<buttonLabel>孵化···</buttonLabel>
<buttonDesc>选择孵化的阿拉克涅督虫···</buttonDesc>
<menuTitle>孵化菜单</menuTitle>
<defaultIconPath>UI/Commands/IncubatorSwitch</defaultIconPath>
<incubationConfigs>
<li>
<pawnKind>ArachnaeNode_Race_ShieldHead</pawnKind>
<daysRequired>2</daysRequired>
<buttonIconPath>UI/Buttons/IncubateUnitA</buttonIconPath>
</li>
<li>
<pawnKind>ArachnaeNode_Race_WeaponSmith</pawnKind>
<daysRequired>2</daysRequired>
<buttonIconPath>UI/Buttons/IncubateUnitA</buttonIconPath>
</li>
<li>
<pawnKind>ArachnaeNode_Race_Fighter</pawnKind>
<daysRequired>2</daysRequired>
<buttonIconPath>UI/Buttons/IncubateUnitA</buttonIconPath>
<!-- <requiredResearch>ARA_Technology_1KYC</requiredResearch> -->
</li>
<li>
<pawnKind>ArachnaeNode_Race_Myrmecocystus</pawnKind>
<daysRequired>3</daysRequired>
<buttonIconPath>UI/Buttons/IncubateUnitA</buttonIconPath>
</li>
<li>
<pawnKind>ArachnaeNode_Race_Facehugger</pawnKind>
<daysRequired>2</daysRequired>
<buttonIconPath>UI/Buttons/IncubateUnitA</buttonIconPath>
<requiredResearch>ARA_Technology_4KYC</requiredResearch>
</li>
<li>
<pawnKind>ARA_MimicNematodeShamblerSwarmer</pawnKind>
<daysRequired>1</daysRequired>
<buttonIconPath>UI/Buttons/IncubateUnitA</buttonIconPath>
<requiredResearch>ARA_Technology_6MEN</requiredResearch>
</li>
<li>
<pawnKind>ArachnaeNode_Race_Smokepop</pawnKind>
<daysRequired>6</daysRequired>
<buttonIconPath>UI/Buttons/IncubateUnitA</buttonIconPath>
<requiredResearch>ARA_Technology_5KYC</requiredResearch>
</li>
<li>
<pawnKind>ArachnaeNode_Race_NeuroSwarm</pawnKind>
<daysRequired>10</daysRequired>
<buttonIconPath>UI/Buttons/IncubateUnitA</buttonIconPath>
<requiredResearch>ARA_Technology_6KYC</requiredResearch>
</li>
<li>
<pawnKind>ArachnaeNode_Race_Skyraider</pawnKind>
<daysRequired>6</daysRequired>
<buttonIconPath>UI/Buttons/IncubateUnitA</buttonIconPath>
<requiredResearch>ARA_Technology_2KYC</requiredResearch>
</li>
<li>
<pawnKind>ArachnaeNode_Race_Praetorian</pawnKind>
<daysRequired>12</daysRequired>
<buttonIconPath>UI/Buttons/IncubateUnitA</buttonIconPath>
<requiredResearch>ARA_Technology_7KYC</requiredResearch>
</li>
</incubationConfigs>
</li>
<li Class="CompProperties_SpawnEffecterOnDestroy">
<effect>CocoonDestroyed</effect>
</li>
<li Class="CompProperties_Glower">
<glowRadius>6</glowRadius>
<glowColor>(113,141,117,0)</glowColor>
</li>
</comps>
</ThingDef>
</Defs>

View File

@@ -1,5 +1,76 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<ThinkTreeDef>
<defName>ARA_Larva_Thinktree</defName>
<thinkRoot Class="ThinkNode_Priority">
<subNodes>
<!-- Keep lying down if we have to -->
<li Class="ThinkNode_ConditionalMustKeepLyingDown">
<subNodes>
<!-- Do a queued job if possible -->
<!-- <li Class="ThinkNode_QueuedJob">
<inBedOnly>true</inBedOnly>
</li> -->
<!-- Keep lying down -->
<li Class="JobGiver_KeepLyingDown"/>
</subNodes>
</li>
<li Class="ThinkNode_Subtree">
<treeDef>Downed</treeDef>
</li>
<li Class="ThinkNode_Subtree">
<treeDef>BurningResponse</treeDef>
</li>
<li Class="ThinkNode_Subtree">
<treeDef>MentalStateCritical</treeDef>
</li>
<!-- Do a queued job -->
<li Class="ThinkNode_QueuedJob"/>
<!-- Mental state non critical -->
<li Class="ThinkNode_Subtree">
<treeDef>MentalStateNonCritical</treeDef>
</li>
<!-- Forced goto -->
<li Class="ThinkNode_ConditionalForcedGoto">
<subNodes>
<li Class="ThinkNode_Tagger">
<tagToGive>Misc</tagToGive>
<subNodes>
<li Class="JobGiver_ForcedGoto"/>
</subNodes>
</li>
</subNodes>
</li>
<!-- Wander -->
<li Class="ThinkNode_Tagger">
<tagToGive>Idle</tagToGive>
<subNodes>
<li Class="ThinkNode_ConditionalHerdAnimal">
<subNodes>
<li Class="JobGiver_WanderHerd">
<maxDanger>Deadly</maxDanger>
<ticksBetweenWandersRange>560~670</ticksBetweenWandersRange>
</li>
</subNodes>
</li>
<li Class="JobGiver_WanderAnywhere">
<maxDanger>Deadly</maxDanger>
<ticksBetweenWandersRange>560~670</ticksBetweenWandersRange>
</li>
</subNodes>
</li>
<li Class="JobGiver_IdleError"/>
</subNodes>
</thinkRoot>
</ThinkTreeDef>
<ThinkTreeDef>
<defName>ARA_Insect_WithPlanting</defName>
@@ -947,5 +1018,4 @@
</subNodes>
</thinkRoot>
</ThinkTreeDef>
</Defs>

View File

@@ -2,16 +2,48 @@
"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_ootheca\\itab_ootheca_incubation.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:buildings\\building_ootheca\\itab_ootheca_incubation.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\\buildings\\building_ootheca\\building_ootheca.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:buildings\\building_ootheca\\building_ootheca.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\\buildings\\building_ootheca\\compproperties_incubatordata.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:buildings\\building_ootheca\\compproperties_incubatordata.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\\buildings\\building_ootheca\\jobdriver_operateincubator.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:buildings\\building_ootheca\\jobdriver_operateincubator.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\\powerarmor\\jobdriver_enterpowerarmor.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:powerarmor\\jobdriver_enterpowerarmor.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}"
},
{
"AbsoluteMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|e:\\steamlibrary\\steamapps\\common\\rimworld\\mods\\arachnaeswarm\\source\\arachnaeswarm\\powerarmor\\ara_powerarmor.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:powerarmor\\ara_powerarmor.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\\buildings\\building_arachnaegravengine.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:buildings\\building_arachnaegravengine.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\\flyover\\ara_groundstrafing\\compgroundstrafing.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:flyover\\ara_groundstrafing\\compgroundstrafing.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\\flyover\\ara_sectorsurveillance\\compsectorsurveillance.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\\flyover\\ara_sectorsurveillance\\compsectorsurveillance.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:flyover\\ara_sectorsurveillance\\compsectorsurveillance.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\\flyover\\thingclassflyover.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\\flyover\\thingclassflyover.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:flyover\\thingclassflyover.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
@@ -54,15 +86,119 @@
"DocumentGroups": [
{
"DockedWidth": 200,
"SelectedChildIndex": 2,
"SelectedChildIndex": 1,
"Children": [
{
"$type": "Bookmark",
"Name": "ST:0:0:{1c4feeaa-4718-4aa9-859d-94ce25d182ba}"
},
{
"$type": "Document",
"DocumentIndex": 0,
"Title": "ITab_Ootheca_Incubation.cs",
"DocumentMoniker": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Buildings\\Building_Ootheca\\ITab_Ootheca_Incubation.cs",
"RelativeDocumentMoniker": "Buildings\\Building_Ootheca\\ITab_Ootheca_Incubation.cs",
"ToolTip": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Buildings\\Building_Ootheca\\ITab_Ootheca_Incubation.cs",
"RelativeToolTip": "Buildings\\Building_Ootheca\\ITab_Ootheca_Incubation.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAFQAAAAQAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-12-14T15:14:43.715Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 3,
"Title": "JobDriver_OperateIncubator.cs",
"DocumentMoniker": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Buildings\\Building_Ootheca\\JobDriver_OperateIncubator.cs",
"RelativeDocumentMoniker": "Buildings\\Building_Ootheca\\JobDriver_OperateIncubator.cs",
"ToolTip": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Buildings\\Building_Ootheca\\JobDriver_OperateIncubator.cs",
"RelativeToolTip": "Buildings\\Building_Ootheca\\JobDriver_OperateIncubator.cs",
"ViewState": "AgIAABQAAAAAAAAAAAA0wDgAAAAlAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-12-14T13:42:44.544Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 1,
"Title": "Building_Ootheca.cs",
"DocumentMoniker": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Buildings\\Building_Ootheca\\Building_Ootheca.cs",
"RelativeDocumentMoniker": "Buildings\\Building_Ootheca\\Building_Ootheca.cs",
"ToolTip": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Buildings\\Building_Ootheca\\Building_Ootheca.cs",
"RelativeToolTip": "Buildings\\Building_Ootheca\\Building_Ootheca.cs",
"ViewState": "AgIAABAAAAAAAAAAAAAAwMsBAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-12-14T13:27:29.463Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 2,
"Title": "CompProperties_IncubatorData.cs",
"DocumentMoniker": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Buildings\\Building_Ootheca\\CompProperties_IncubatorData.cs",
"RelativeDocumentMoniker": "Buildings\\Building_Ootheca\\CompProperties_IncubatorData.cs",
"ToolTip": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Buildings\\Building_Ootheca\\CompProperties_IncubatorData.cs",
"RelativeToolTip": "Buildings\\Building_Ootheca\\CompProperties_IncubatorData.cs",
"ViewState": "AgIAAFgAAAAAAAAAAIA+wJ8AAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-12-14T12:41:01.454Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 4,
"Title": "JobDriver_EnterPowerArmor.cs",
"DocumentMoniker": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\PowerArmor\\JobDriver_EnterPowerArmor.cs",
"RelativeDocumentMoniker": "PowerArmor\\JobDriver_EnterPowerArmor.cs",
"ToolTip": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\PowerArmor\\JobDriver_EnterPowerArmor.cs",
"RelativeToolTip": "PowerArmor\\JobDriver_EnterPowerArmor.cs",
"ViewState": "AgIAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-12-14T13:53:00.443Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 5,
"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": "AgIAAAAAAAAAAAAAAADwvxIAAAAkAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-12-14T13:29:05.1Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 6,
"Title": "ARA_PowerArmor.cs",
"DocumentMoniker": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\PowerArmor\\ARA_PowerArmor.cs",
"RelativeDocumentMoniker": "PowerArmor\\ARA_PowerArmor.cs",
"ToolTip": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\PowerArmor\\ARA_PowerArmor.cs",
"RelativeToolTip": "PowerArmor\\ARA_PowerArmor.cs",
"ViewState": "AgIAAAAAAAAAAAAAAADwvxAAAABMAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-12-14T12:42:55.951Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 7,
"Title": "Building_ArachnaeGravEngine.cs",
"DocumentMoniker": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Buildings\\Building_ArachnaeGravEngine.cs",
"RelativeDocumentMoniker": "Buildings\\Building_ArachnaeGravEngine.cs",
"ToolTip": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Buildings\\Building_ArachnaeGravEngine.cs",
"RelativeToolTip": "Buildings\\Building_ArachnaeGravEngine.cs",
"ViewState": "AgIAAAAAAAAAAAAAAADwvxcAAAAiAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-12-14T12:37:14.137Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 9,
"Title": "CompSectorSurveillance.cs",
"DocumentMoniker": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Flyover\\ARA_SectorSurveillance\\CompSectorSurveillance.cs",
"RelativeDocumentMoniker": "Flyover\\ARA_SectorSurveillance\\CompSectorSurveillance.cs",
@@ -70,25 +206,24 @@
"RelativeToolTip": "Flyover\\ARA_SectorSurveillance\\CompSectorSurveillance.cs",
"ViewState": "AgIAAPACAAAAAAAAAAAAABEDAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-10-30T13:52:54.896Z",
"EditorCaption": ""
"WhenOpened": "2025-10-30T13:52:54.896Z"
},
{
"$type": "Document",
"DocumentIndex": 0,
"DocumentIndex": 8,
"Title": "CompGroundStrafing.cs",
"DocumentMoniker": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Flyover\\ARA_GroundStrafing\\CompGroundStrafing.cs",
"RelativeDocumentMoniker": "Flyover\\ARA_GroundStrafing\\CompGroundStrafing.cs",
"ToolTip": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Flyover\\ARA_GroundStrafing\\CompGroundStrafing.cs",
"RelativeToolTip": "Flyover\\ARA_GroundStrafing\\CompGroundStrafing.cs",
"ViewState": "AgIAAGwBAAAAAAAAAAArwJABAAAEAAAAAAAAAA==",
"ViewState": "AgIAAAAAAAAAAAAAAAAAABsAAAAMAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-10-30T13:00:11.18Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 4,
"DocumentIndex": 12,
"Title": "CompAbilityEffect_GiveHediffWithSkillDuration.cs",
"DocumentMoniker": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Abilities\\ARA_GiveHediffWithSkillDuration\\CompAbilityEffect_GiveHediffWithSkillDuration.cs",
"RelativeDocumentMoniker": "Abilities\\ARA_GiveHediffWithSkillDuration\\CompAbilityEffect_GiveHediffWithSkillDuration.cs",
@@ -100,7 +235,7 @@
},
{
"$type": "Document",
"DocumentIndex": 5,
"DocumentIndex": 13,
"Title": "CompAbilityEffect_AbilityShowTemperatureRange.cs",
"DocumentMoniker": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Abilities\\ARA_ShowTemperatureRange\\CompAbilityEffect_AbilityShowTemperatureRange.cs",
"RelativeDocumentMoniker": "Abilities\\ARA_ShowTemperatureRange\\CompAbilityEffect_AbilityShowTemperatureRange.cs",
@@ -112,7 +247,7 @@
},
{
"$type": "Document",
"DocumentIndex": 3,
"DocumentIndex": 11,
"Title": "CompAbilityEffect_AircraftStrike.cs",
"DocumentMoniker": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Flyover\\ARA_AircraftHangar\\CompAbilityEffect_AircraftStrike.cs",
"RelativeDocumentMoniker": "Flyover\\ARA_AircraftHangar\\CompAbilityEffect_AircraftStrike.cs",
@@ -124,7 +259,7 @@
},
{
"$type": "Document",
"DocumentIndex": 2,
"DocumentIndex": 10,
"Title": "ThingclassFlyOver.cs",
"DocumentMoniker": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Flyover\\ThingclassFlyOver.cs",
"RelativeDocumentMoniker": "Flyover\\ThingclassFlyOver.cs",
@@ -132,12 +267,11 @@
"RelativeToolTip": "Flyover\\ThingclassFlyOver.cs",
"ViewState": "AgIAAIkCAAAAAAAAAAAawI8CAAANAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-10-29T14:17:06.867Z",
"EditorCaption": ""
"WhenOpened": "2025-10-29T14:17:06.867Z"
},
{
"$type": "Document",
"DocumentIndex": 6,
"DocumentIndex": 14,
"Title": "CompAbilityEffect_AbilityShowSpawnablePawns.cs",
"DocumentMoniker": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Abilities\\ARA_ShowSpawnablePawnsList\\CompAbilityEffect_AbilityShowSpawnablePawns.cs",
"RelativeDocumentMoniker": "Abilities\\ARA_ShowSpawnablePawnsList\\CompAbilityEffect_AbilityShowSpawnablePawns.cs",
@@ -149,7 +283,7 @@
},
{
"$type": "Document",
"DocumentIndex": 8,
"DocumentIndex": 16,
"Title": "CompAircraftHangar.cs",
"DocumentMoniker": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Flyover\\ARA_AircraftHangar\\CompAircraftHangar.cs",
"RelativeDocumentMoniker": "Flyover\\ARA_AircraftHangar\\CompAircraftHangar.cs",
@@ -161,7 +295,7 @@
},
{
"$type": "Document",
"DocumentIndex": 7,
"DocumentIndex": 15,
"Title": "CompAbilityEffect_SpawnFlyOver.cs",
"DocumentMoniker": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Flyover\\ARA_SpawnFlyOver\\CompAbilityEffect_SpawnFlyOver.cs",
"RelativeDocumentMoniker": "Flyover\\ARA_SpawnFlyOver\\CompAbilityEffect_SpawnFlyOver.cs",
@@ -173,7 +307,7 @@
},
{
"$type": "Document",
"DocumentIndex": 9,
"DocumentIndex": 17,
"Title": "WorldComponent_AircraftManager.cs",
"DocumentMoniker": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Flyover\\ARA_AircraftHangar\\WorldComponent_AircraftManager.cs",
"RelativeDocumentMoniker": "Flyover\\ARA_AircraftHangar\\WorldComponent_AircraftManager.cs",
@@ -185,7 +319,7 @@
},
{
"$type": "Document",
"DocumentIndex": 10,
"DocumentIndex": 18,
"Title": "CompProperties_FlyOverEscort.cs",
"DocumentMoniker": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Flyover\\ARA_FlyOverEscort\\CompProperties_FlyOverEscort.cs",
"RelativeDocumentMoniker": "Flyover\\ARA_FlyOverEscort\\CompProperties_FlyOverEscort.cs",

View File

@@ -15,4 +15,14 @@ namespace ArachnaeSwarm
DefOfHelper.EnsureInitializedInCtor(typeof(ARA_HediffDefOf));
}
}
}
[DefOf]
public static class ARA_JobDefOf
{
public static JobDef ARA_OperateIncubator;
static ARA_JobDefOf()
{
DefOfHelper.EnsureInitializedInCtor(typeof(ARA_JobDefOf));
}
}
}

View File

@@ -115,6 +115,10 @@
<Compile Include="Abilities\CompAbilityEffect_TransformCorpse.cs" />
<Compile Include="Buildings\Building_ArachnaeGravEngine.cs" />
<Compile Include="Buildings\Building_Incubatable.cs" />
<Compile Include="Buildings\Building_Ootheca\Building_Ootheca.cs" />
<Compile Include="Buildings\Building_Ootheca\CompProperties_IncubatorData.cs" />
<Compile Include="Buildings\Building_Ootheca\ITab_Ootheca_Incubation.cs" />
<Compile Include="Buildings\Building_Ootheca\JobDriver_OperateIncubator.cs" />
<Compile Include="Buildings\Building_TurretGunHasSpeed.cs" />
<Compile Include="Building_Comps\ARA_Building_RefuelingVat\Building_RefuelingVat.cs" />
<Compile Include="Building_Comps\ARA_Building_RefuelingVat\CompProperties_RefuelingVat.cs" />

View File

@@ -408,4 +408,4 @@ namespace ArachnaeSwarm
Random, // 随机
Sinusoidal // 正弦波(平滑波动)
}
}
}