This commit is contained in:
2025-09-03 11:57:11 +08:00
parent b3be9897df
commit 254a621c55
27 changed files with 298 additions and 772 deletions

Binary file not shown.

View File

@@ -79,7 +79,6 @@
<specialTrainables>
<li MayRequire="Ludeon.RimWorld.Odyssey">Dig</li>
<li>ARA_Sowing</li>
<li>ARA_PlantCutting</li>
</specialTrainables>
<lifeStageAges>
<li>
@@ -103,25 +102,20 @@
<deathAction Class="DeathActionProperties_Vanish">
<workerClass>DeathActionWorker_Vanish</workerClass>
</deathAction>
<mechEnabledWorkTypes Inherit="False">
<li>Hauling</li>
<li>Mining</li>
<li>Construction</li>
<li>Crafting</li>
<li>Smithing</li>
<li>Tailoring</li>
<li>Cooking</li>
<li>Research</li>
<li>PlantCutting</li>
<li>Growing</li>
<li>Cleaning</li>
<li>Doctor</li>
<li>Firefighter</li>
</mechEnabledWorkTypes>
<mechFixedSkillLevel>10</mechFixedSkillLevel>
</race>
<comps>
<li Class="ArachnaeSwarm.CompProperties_WorkForNonMechs"/>
<li Class="ArachnaeSwarm.CompProperties_AdvancedTraining">
<skillLevels>
<li>
<skill>Plants</skill>
<level>10</level> <!-- 动物生成时种植技能固定为8级 -->
</li>
</skillLevels>
<instantTrainables>
<li>ARA_Sowing</li> <!-- 动物生成时,立即完成播种训练 -->
</instantTrainables>
<disableAllSkillDecay>true</disableAllSkillDecay> <!-- 阻止这个动物的所有技能衰减 -->
</li>
</comps>
<tradeTags>
<li>AnimalInsect</li>

View File

@@ -324,44 +324,19 @@
</subNodes>
</li>
<!-- OUR CUSTOM LOGIC INJECTION FOR PLANT HARVESTING -->
<li Class="ThinkNode_ConditionalTrainableCompleted">
<trainable>ARA_Sowing</trainable> <!-- Harvesting is part of Sowing skill -->
<subNodes>
<li Class="ArachnaeSwarm.ThinkNode_ConditionalAnimalShouldSow">
<!-- OUR CUSTOM LOGIC INJECTION FOR PLANT HARVESTING -->
<li Class="ThinkNode_ConditionalTrainableCompleted">
<trainable>ARA_Sowing</trainable> <!-- Harvesting is part of Sowing skill -->
<subNodes>
<!-- 优先执行收割 -->
<li Class="ArachnaeSwarm.JobGiver_PlantHarvest" />
<!-- 统一的农业工作节点 -->
<li Class="ArachnaeSwarm.ThinkNode_ConditionalAnimalShouldDoGrowingWork">
<subNodes>
<!-- 统一的、智能的农业 JobGiver -->
<li Class="ArachnaeSwarm.JobGiver_Grower" />
</subNodes>
</li>
</subNodes>
</li>
</subNodes>
</li>
<!-- OUR CUSTOM LOGIC INJECTION FOR PLANT SOWING -->
<li Class="ThinkNode_ConditionalTrainableCompleted">
<trainable>ARA_Sowing</trainable>
<subNodes>
<li Class="ArachnaeSwarm.ThinkNode_ConditionalAnimalShouldSow">
<subNodes>
<!-- 然后执行播种 -->
<li Class="ArachnaeSwarm.JobGiver_PlantSow" />
</subNodes>
</li>
</subNodes>
</li>
<!-- OUR CUSTOM LOGIC INJECTION FOR PLANT CUTTING -->
<li Class="ThinkNode_ConditionalTrainableCompleted">
<trainable>ARA_PlantCutting</trainable>
<subNodes>
<li Class="ArachnaeSwarm.ThinkNode_ConditionalAnimalShouldPlantCut">
<subNodes>
<!-- 最后执行割除 -->
<li Class="ArachnaeSwarm.JobGiver_PlantCutting" />
</subNodes>
</li>
</subNodes>
</li>
</subNodes>
</li>

View File

@@ -1,19 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<TrainableDef>
<defName>ARA_PlantCutting</defName>
<label>植物割除</label>
<description>允许该生物执行植物割除任务。</description>
<specialTrainable>true</specialTrainable>
<difficulty>3</difficulty>
<requiredTrainability>Advanced</requiredTrainability>
<steps>1</steps>
<listPriority>99</listPriority>
</TrainableDef>
</Defs>

View File

@@ -3,8 +3,8 @@
<TrainableDef>
<defName>ARA_Sowing</defName>
<label></label>
<description>允许该生物执行种任务。</description>
<label></label>
<description>允许该生物执行种任务。</description>
<!-- 标记为特殊训练,这样它就会被 PawnColumnWorker_Trainable_Special 统一管理 -->
<specialTrainable>true</specialTrainable>
@@ -14,7 +14,7 @@
<requiredTrainability>Advanced</requiredTrainability>
<!-- 训练所需步骤 -->
<steps>1</steps>
<steps>3</steps>
<!-- 在UI中的排序 -->
<listPriority>100</listPriority>