训练台(未完成)

This commit is contained in:
2025-10-08 17:30:33 +08:00
parent 69e673477d
commit 5869706ffb
8 changed files with 403 additions and 100 deletions

View File

@@ -160,6 +160,8 @@
</verbProperties>
<comps>
<li Class="ArachnaeSwarm.CompProperties_AbilityNeedCost">
<customLabel>饮食</customLabel>
<showProgressBar>true</showProgressBar>
<needDef>Food</needDef>
<needCost>0.2</needCost>
<failMessage>营养值不足,需要进食</failMessage>
@@ -254,6 +256,8 @@
<ticksBetweenShots>3</ticksBetweenShots> <!-- 每次发射间隔12 Ticks (0.2秒) -->
</li>
<li Class="ArachnaeSwarm.CompProperties_AbilityNeedCost">
<customLabel>饮食</customLabel>
<showProgressBar>true</showProgressBar>
<needDef>Food</needDef>
<needCost>0.5</needCost>
<failMessage>营养值不足,需要进食</failMessage>
@@ -328,6 +332,8 @@
<ticksBetweenShots>3</ticksBetweenShots> <!-- 每次发射间隔12 Ticks (0.2秒) -->
</li>
<li Class="ArachnaeSwarm.CompProperties_AbilityNeedCost">
<customLabel>饮食</customLabel>
<showProgressBar>true</showProgressBar>
<needDef>Food</needDef>
<needCost>0.5</needCost>
<failMessage>营养值不足,需要进食</failMessage>
@@ -368,6 +374,8 @@
<numProjectiles>12</numProjectiles>
</li>
<li Class="ArachnaeSwarm.CompProperties_AbilityNeedCost">
<customLabel>饮食</customLabel>
<showProgressBar>true</showProgressBar>
<needDef>Food</needDef>
<needCost>0.1</needCost>
<failMessage>营养值不足,需要进食</failMessage>
@@ -411,6 +419,8 @@
<projectileDef>ArachnaeBase_Race_Acidcut_Proj</projectileDef>
</li>
<li Class="ArachnaeSwarm.CompProperties_AbilityNeedCost">
<customLabel>饮食</customLabel>
<showProgressBar>true</showProgressBar>
<needDef>Food</needDef>
<needCost>0.2</needCost>
<failMessage>营养值不足,需要进食</failMessage>
@@ -463,6 +473,8 @@
<numProjectiles>3</numProjectiles>
</li>
<li Class="ArachnaeSwarm.CompProperties_AbilityNeedCost">
<customLabel>饮食</customLabel>
<showProgressBar>true</showProgressBar>
<needDef>Food</needDef>
<needCost>0.2</needCost>
<failMessage>营养值不足,需要进食</failMessage>
@@ -498,6 +510,8 @@
<jobDef>CastJump</jobDef>
<comps>
<li Class="ArachnaeSwarm.CompProperties_AbilityNeedCost">
<customLabel>饮食</customLabel>
<showProgressBar>true</showProgressBar>
<needDef>Food</needDef>
<needCost>0.3</needCost>
<failMessage>营养值不足,需要进食</failMessage>
@@ -565,6 +579,8 @@
</verbProperties>
<comps>
<li Class="ArachnaeSwarm.CompProperties_AbilityNeedCost">
<customLabel>饮食</customLabel>
<showProgressBar>true</showProgressBar>
<needDef>Food</needDef>
<needCost>0.25</needCost>
<failMessage>营养值不足,需要进食</failMessage>
@@ -631,6 +647,8 @@
<maintainTicks>20</maintainTicks> <!-- Long enough for the "2nd wave" to spawn -->
</li>
<li Class="ArachnaeSwarm.CompProperties_AbilityNeedCost">
<customLabel>饮食</customLabel>
<showProgressBar>true</showProgressBar>
<needDef>Food</needDef>
<needCost>0.2</needCost>
<failMessage>营养值不足,需要进食</failMessage>
@@ -747,6 +765,8 @@
</verbProperties>
<comps>
<li Class="ArachnaeSwarm.CompProperties_AbilityNeedCost">
<customLabel>饮食</customLabel>
<showProgressBar>true</showProgressBar>
<needDef>Food</needDef>
<needCost>0.1</needCost>
<failMessage>营养值不足,需要进食</failMessage>
@@ -804,6 +824,8 @@
<jobDef>CastJump</jobDef>
<comps>
<li Class="ArachnaeSwarm.CompProperties_AbilityNeedCost">
<customLabel>饮食</customLabel>
<showProgressBar>true</showProgressBar>
<needDef>Food</needDef>
<needCost>0.05</needCost>
<failMessage>营养值不足,需要进食</failMessage>
@@ -872,6 +894,8 @@
</verbProperties>
<comps>
<li Class="ArachnaeSwarm.CompProperties_AbilityNeedCost">
<customLabel>饮食</customLabel>
<showProgressBar>true</showProgressBar>
<needDef>Food</needDef>
<needCost>0.2</needCost>
<failMessage>营养值不足,需要进食</failMessage>
@@ -936,6 +960,8 @@
</verbProperties>
<comps>
<li Class="ArachnaeSwarm.CompProperties_AbilityNeedCost">
<customLabel>饮食</customLabel>
<showProgressBar>true</showProgressBar>
<needDef>Food</needDef>
<needCost>0.2</needCost>
<failMessage>营养值不足,需要进食</failMessage>
@@ -995,6 +1021,8 @@
</verbProperties>
<comps>
<li Class="ArachnaeSwarm.CompProperties_AbilityNeedCost">
<customLabel>饮食</customLabel>
<showProgressBar>true</showProgressBar>
<needDef>Food</needDef>
<needCost>0.2</needCost>
<failMessage>营养值不足,需要进食</failMessage>
@@ -1043,6 +1071,8 @@
<jobDef>CastJump</jobDef>
<comps>
<li Class="ArachnaeSwarm.CompProperties_AbilityNeedCost">
<customLabel>饮食</customLabel>
<showProgressBar>true</showProgressBar>
<needDef>Food</needDef>
<needCost>0.1</needCost>
<failMessage>营养值不足,需要进食</failMessage>
@@ -1078,6 +1108,8 @@
<numProjectiles>3</numProjectiles>
</li>
<li Class="ArachnaeSwarm.CompProperties_AbilityNeedCost">
<customLabel>饮食</customLabel>
<showProgressBar>true</showProgressBar>
<needDef>Food</needDef>
<needCost>0.2</needCost>
<failMessage>营养值不足,需要进食</failMessage>
@@ -1116,6 +1148,8 @@
<projectileDef>ARA_Proj_Tumor</projectileDef>
</li>
<li Class="ArachnaeSwarm.CompProperties_AbilityNeedCost">
<customLabel>饮食</customLabel>
<showProgressBar>true</showProgressBar>
<needDef>Food</needDef>
<needCost>0.2</needCost>
<failMessage>营养值不足,需要进食</failMessage>
@@ -1158,6 +1192,8 @@
<numProjectiles>5</numProjectiles>
</li>
<li Class="ArachnaeSwarm.CompProperties_AbilityNeedCost">
<customLabel>饮食</customLabel>
<showProgressBar>true</showProgressBar>
<needDef>Food</needDef>
<needCost>0.25</needCost>
<failMessage>营养值不足,需要进食</failMessage>
@@ -1192,6 +1228,8 @@
<jobDef>CastJump</jobDef>
<comps>
<li Class="ArachnaeSwarm.CompProperties_AbilityNeedCost">
<customLabel>饮食</customLabel>
<showProgressBar>true</showProgressBar>
<needDef>Food</needDef>
<needCost>0.1</needCost>
<failMessage>营养值不足,需要进食</failMessage>

View File

@@ -0,0 +1,140 @@
<?xml version="1.0" encoding="utf-8"?>
<Defs>
<RecipeDef Name="ARA_SkillTraining_Abstract" Abstract="True">
<description>根据选择的技能进行等级训练,没有花销,也不会产出什么东西,仅仅是获得工作的经验值。</description>
<jobString>训练技能中。</jobString>
<workAmount>500</workAmount>
<workSpeedStat>GeneralLaborSpeed</workSpeedStat>
<ingredients>
</ingredients>
<products>
</products>
<effectWorking>Smith</effectWorking>
<soundWorking>Recipe_Surgery</soundWorking>
<workSkillLearnFactor>16</workSkillLearnFactor>
<recipeUsers>
<li>ARA_SkillTraining_Building</li>
</recipeUsers>
</RecipeDef>
<!-- 射击技能训练 -->
<RecipeDef ParentName="ARA_SkillTraining_Abstract">
<defName>ARA_TrainShooting</defName>
<label>技能训练(射击)</label>
<workSkill>Shooting</workSkill>
<workAmount>12000</workAmount>
<skillRequirements>
<Shooting>0</Shooting>
</skillRequirements>
</RecipeDef>
<!-- 近战技能训练 -->
<RecipeDef ParentName="ARA_SkillTraining_Abstract">
<defName>ARA_TrainMelee</defName>
<label>技能训练(近战)</label>
<workSkill>Melee</workSkill>
<workAmount>10000</workAmount>
<skillRequirements>
<Melee>0</Melee>
</skillRequirements>
</RecipeDef>
<!-- 建造技能训练 -->
<RecipeDef ParentName="ARA_SkillTraining_Abstract">
<defName>ARA_TrainConstruction</defName>
<label>技能训练(建造)</label>
<workSkill>Construction</workSkill>
<workAmount>15000</workAmount>
<skillRequirements>
<Construction>0</Construction>
</skillRequirements>
</RecipeDef>
<!-- 采矿技能训练 -->
<RecipeDef ParentName="ARA_SkillTraining_Abstract">
<defName>ARA_TrainMining</defName>
<label>技能训练(采矿)</label>
<workSkill>Mining</workSkill>
<workAmount>18000</workAmount>
<skillRequirements>
<Mining>0</Mining>
</skillRequirements>
</RecipeDef>
<!-- 烹饪技能训练 -->
<RecipeDef ParentName="ARA_SkillTraining_Abstract">
<defName>ARA_TrainCooking</defName>
<label>技能训练(烹饪)</label>
<workSkill>Cooking</workSkill>
<workAmount>8000</workAmount>
<skillRequirements>
<Cooking>0</Cooking>
</skillRequirements>
</RecipeDef>
<!-- 种植技能训练 -->
<RecipeDef ParentName="ARA_SkillTraining_Abstract">
<defName>ARA_TrainPlants</defName>
<label>技能训练(种植)</label>
<workSkill>Plants</workSkill>
<workAmount>14000</workAmount>
<skillRequirements>
<Plants>0</Plants>
</skillRequirements>
</RecipeDef>
<!-- 动物技能训练 -->
<RecipeDef ParentName="ARA_SkillTraining_Abstract">
<defName>ARA_TrainAnimals</defName>
<label>技能训练(驯兽)</label>
<workSkill>Animals</workSkill>
<workAmount>16000</workAmount>
<skillRequirements>
<Animals>0</Animals>
</skillRequirements>
</RecipeDef>
<!-- 医术技能训练 -->
<RecipeDef ParentName="ARA_SkillTraining_Abstract">
<defName>ARA_TrainMedicine</defName>
<label>技能训练(医疗)</label>
<workSkill>Medicine</workSkill>
<workAmount>12000</workAmount>
<skillRequirements>
<Medicine>0</Medicine>
</skillRequirements>
</RecipeDef>
<!-- 社交技能训练 -->
<RecipeDef ParentName="ARA_SkillTraining_Abstract">
<defName>ARA_TrainSocial</defName>
<label>技能训练(社交)</label>
<workSkill>Social</workSkill>
<workAmount>9000</workAmount>
<skillRequirements>
<Social>0</Social>
</skillRequirements>
</RecipeDef>
<!-- 手工技能训练 -->
<RecipeDef ParentName="ARA_SkillTraining_Abstract">
<defName>ARA_TrainCrafting</defName>
<label>技能训练(手工)</label>
<workSkill>Crafting</workSkill>
<workAmount>13000</workAmount>
<skillRequirements>
<Crafting>0</Crafting>
</skillRequirements>
</RecipeDef>
<!-- 艺术技能训练 -->
<RecipeDef ParentName="ARA_SkillTraining_Abstract">
<defName>ARA_TrainArtistic</defName>
<label>技能训练(艺术)</label>
<workSkill>Artistic</workSkill>
<workAmount>11000</workAmount>
<skillRequirements>
<Artistic>0</Artistic>
</skillRequirements>
</RecipeDef>
</Defs>

View File

@@ -849,4 +849,67 @@
</defaultStorageSettings>
</building>
</ThingDef>
<ThingDef ParentName="BenchBase">
<defName>ARA_SkillTraining_Building</defName>
<label>训练台</label>
<description>训练技能</description>
<thingClass>Building_WorkTable</thingClass>
<drawerType>MapMeshAndRealTime</drawerType>
<graphicData>
<texPath>ArachnaeSwarm/Building/ARA_Shelf</texPath>
<graphicClass>Graphic_Multi</graphicClass>
<drawSize>(2.25,2.5)</drawSize>
<drawOffset>(0,0,0.2)</drawOffset>
</graphicData>
<castEdgeShadows>true</castEdgeShadows>
<constructEffect>ConstructMetal</constructEffect>
<costList>
<Steel>100</Steel>
</costList>
<altitudeLayer>Building</altitudeLayer>
<fillPercent>0.5</fillPercent>
<useHitPoints>True</useHitPoints>
<researchPrerequisites Inherit="False">
<li>ARA_Base_Technology</li>
</researchPrerequisites>
<statBases>
<WorkToBuild>2000</WorkToBuild>
<MaxHitPoints>180</MaxHitPoints>
<Flammability>1.0</Flammability>
</statBases>
<size>(2,2)</size>
<hasInteractionCell>True</hasInteractionCell>
<interactionCellOffset>(0,0,-1)</interactionCellOffset>
<designationCategory>ARA_Buildings</designationCategory>
<uiOrder>2120</uiOrder>
<passability>PassThroughOnly</passability>
<pathCost>50</pathCost>
<surfaceType>Item</surfaceType>
<inspectorTabs>
<li>ITab_Bills</li>
</inspectorTabs>
<placeWorkers>
<li>PlaceWorker_PreventInteractionSpotOverlap</li>
</placeWorkers>
<building>
<spawnedConceptLearnOpportunity>BillsTab</spawnedConceptLearnOpportunity>
</building>
</ThingDef>
<WorkGiverDef>
<defName>ARA_SkillTraining_Building_Bills</defName>
<label>训练技能</label>
<giverClass>WorkGiver_DoBill</giverClass>
<workType>Smithing</workType>
<priorityInType>75</priorityInType>
<fixedBillGiverDefs>
<li>ARA_SkillTraining_Building</li>
</fixedBillGiverDefs>
<verb>训练于</verb>
<gerund>训练于</gerund>
<requiredCapacities>
<li>Manipulation</li>
</requiredCapacities>
<prioritizeSustains>true</prioritizeSustains>
</WorkGiverDef>
</Defs>