各种描述修改,两个水货武器,科技调整,完善升级树,将武器标签系统搬过来
This commit is contained in:
Binary file not shown.
@@ -35,7 +35,21 @@
|
||||
<Intellectual>3</Intellectual>
|
||||
<Social>3</Social>
|
||||
</skillGains>
|
||||
<workDisables>ManualDumb,Mining,PlantWork,Animals,Crafting,Cooking,Constructing,Hunting</workDisables>
|
||||
<workDisables>
|
||||
<li>Cleaning</li>
|
||||
<li>Hauling</li>
|
||||
<li>Mining</li>
|
||||
<li>PlantWork</li>
|
||||
<li>Animals</li>
|
||||
<li>Hunting</li>
|
||||
<li>Crafting</li>
|
||||
<li>Cooking</li>
|
||||
<!-- <li>Constructing</li> -->
|
||||
<!-- <li>Caring</li> -->
|
||||
<!-- <li>Social</li> -->
|
||||
<!-- <li>Artistic</li> -->
|
||||
<!-- <li>Intellectual</li> -->
|
||||
</workDisables>
|
||||
|
||||
<spawnCategories>
|
||||
<li>ArachnaeQueen_spawnCategoriesB</li>
|
||||
|
||||
@@ -156,14 +156,14 @@
|
||||
<HediffDef>
|
||||
<defName>ARA_ReinforceGasCoverd</defName>
|
||||
<label>阿拉克涅信息素沾染</label>
|
||||
<description>你身上沾染了阿拉克涅信息素,有什么在地下前进。</description>
|
||||
<description>你身上沾染了阿拉克涅信息素,有什么正在从在地下袭来。</description>
|
||||
<!--<tendable>false</tendable> Must be removed via surgery -->
|
||||
<!--<displayWound>true</displayWound>-->
|
||||
<hediffClass>HediffWithComps</hediffClass>
|
||||
<defaultLabelColor>(0.6, 0.4, 0.8)</defaultLabelColor>
|
||||
<comps>
|
||||
<li Class="HediffCompProperties_Disappears">
|
||||
<disappearsAfterTicks>1200</disappearsAfterTicks>
|
||||
<disappearsAfterTicks>600</disappearsAfterTicks>
|
||||
<showRemainingTime>True</showRemainingTime>
|
||||
</li>
|
||||
<li Class="HediffCompProperties_DisappearsOnDeath"/>
|
||||
@@ -176,11 +176,10 @@
|
||||
</li>
|
||||
</comps>
|
||||
</HediffDef>
|
||||
|
||||
<HediffDef>
|
||||
<defName>ARA_Unburnable</defName>
|
||||
<label>阻燃烟雾</label>
|
||||
<description>不会着火.</description>
|
||||
<description>一种特殊的烟雾覆盖了这片地区,使得置身其中的殖民者难以被点着.</description>
|
||||
<hediffClass>HediffWithComps</hediffClass>
|
||||
<stages>
|
||||
<li>
|
||||
|
||||
@@ -159,12 +159,6 @@
|
||||
</categories>
|
||||
</li>
|
||||
</backstoryFiltersOverride>
|
||||
<abilities>
|
||||
<li>ARA_Cocoon_ClothBase</li>
|
||||
<li>ARA_Cocoon_AcidBase</li>
|
||||
<li>ARA_Cocoon_ToxicNeedleBase</li>
|
||||
<li>ARA_Cocoon_BoneBase</li>
|
||||
</abilities>
|
||||
<apparelTags>
|
||||
</apparelTags>
|
||||
<apparelMoney>0</apparelMoney>
|
||||
|
||||
@@ -217,10 +217,43 @@
|
||||
</comps>
|
||||
</HediffDef>
|
||||
|
||||
<!-- T0 -->
|
||||
<HediffDef>
|
||||
<defName>ARA_WeaponSmith_0_Stage</defName>
|
||||
<label>进化等级——无</label>
|
||||
<description>这只阿拉克涅工艺种尚未得到任何强化,只能孵化最普通的茧以生产一些早期装备。</description>
|
||||
<hediffClass>HediffWithComps</hediffClass>
|
||||
<defaultLabelColor>(0.6, 0.4, 0.8)</defaultLabelColor>
|
||||
<isBad>false</isBad>
|
||||
<scenarioCanAdd>false</scenarioCanAdd>
|
||||
<maxSeverity>2.0</maxSeverity>
|
||||
<!-- <stages>
|
||||
<li>
|
||||
<becomeVisible>ture</becomeVisible>
|
||||
</li>
|
||||
<li>
|
||||
<minSeverity>1.01</minSeverity>
|
||||
<becomeVisible>false</becomeVisible>
|
||||
</li>
|
||||
</stages> -->
|
||||
<comps>
|
||||
<li Class="HediffCompProperties_GiveAbility">
|
||||
<abilityDefs>
|
||||
<li>ARA_Cocoon_Cloth</li>
|
||||
<li>ARA_Cocoon_Weapon</li>
|
||||
</abilityDefs>
|
||||
</li>
|
||||
<li Class="HediffCompProperties_RemoveIfOtherHediff">
|
||||
<hediffs>
|
||||
<li>ARA_Queen_1_Stage_Transition_Period</li>
|
||||
</hediffs>
|
||||
</li>
|
||||
</comps>
|
||||
</HediffDef>
|
||||
<RecipeDef ParentName="SurgeryInstallBodyPartArtificialBase">
|
||||
<defName>ARA_Install_</defName>
|
||||
<label>安装暗物质能源炉</label>
|
||||
<description>为合成人安装暗物质能源炉。</description>
|
||||
<defName>ARA_WeaponSmith_Upgrade_1_Stage</defName>
|
||||
<label>工艺种进化——阶段1</label>
|
||||
<description>由阿拉科涅女皇种为该工艺种进行基因调整,以使其获得进化并得以孵化更多的武装器官和织物。</description>
|
||||
<descriptionHyperlinks>
|
||||
<ThingDef>WULA_Energy_Furnace_DM_Engine</ThingDef>
|
||||
<HediffDef>WULA_Energy_Furnace_Hediff_DM_Engine</HediffDef>
|
||||
@@ -251,4 +284,61 @@
|
||||
<li>ArachnaeNode_Race_WeaponSmith</li>
|
||||
</recipeUsers>
|
||||
</RecipeDef>
|
||||
<HediffDef>
|
||||
<defName>ARA_WeaponSmith_1_Stage_Transition_Period</defName>
|
||||
<label>工艺种进化——阶段1</label>
|
||||
<description>由阿拉科涅女皇种为该工艺种进行基因调整,以使其获得进化并得以孵化更多的武装器官和织物。</description>
|
||||
<!-- <hediffClass>HediffWithComps</hediffClass> -->
|
||||
<hediffClass>Hediff_High</hediffClass>
|
||||
<initialSeverity>1</initialSeverity>
|
||||
<maxSeverity>1.01</maxSeverity>
|
||||
<alwaysShowSeverity>true</alwaysShowSeverity>
|
||||
<defaultLabelColor>(0.6, 0.4, 0.8)</defaultLabelColor>
|
||||
<isBad>false</isBad>
|
||||
<scenarioCanAdd>false</scenarioCanAdd>
|
||||
<comps>
|
||||
<li Class="HediffCompProperties_ReplaceHediff">
|
||||
<hediffs>
|
||||
<li>
|
||||
<hediff>ARA_WeaponSmith_1_Stage</hediff>
|
||||
<severityRange>0.02~0.15</severityRange>
|
||||
</li>
|
||||
</hediffs>
|
||||
<message>{PAWN_nameDef} 通过女皇种的拔耀获得了更强大的孵化能力,现在她可以孕育更复杂的茧以获取强大的装备。</message>
|
||||
</li>
|
||||
</comps>
|
||||
</HediffDef>
|
||||
<!-- T1 -->
|
||||
<HediffDef>
|
||||
<defName>ARA_WeaponSmith_1_Stage</defName>
|
||||
<label>进化等级——等级1</label>
|
||||
<description>这只阿拉科涅工艺种通过女皇种的拔耀获得了更强大的孵化能力,现在她可以孕育更复杂的茧以获取强大的装备。</description>
|
||||
<hediffClass>HediffWithComps</hediffClass>
|
||||
<defaultLabelColor>(0.6, 0.4, 0.8)</defaultLabelColor>
|
||||
<isBad>false</isBad>
|
||||
<scenarioCanAdd>false</scenarioCanAdd>
|
||||
<maxSeverity>2.0</maxSeverity>
|
||||
<!-- <stages>
|
||||
<li>
|
||||
<becomeVisible>ture</becomeVisible>
|
||||
</li>
|
||||
<li>
|
||||
<minSeverity>1.01</minSeverity>
|
||||
<becomeVisible>false</becomeVisible>
|
||||
</li>
|
||||
</stages> -->
|
||||
<comps>
|
||||
<li Class="HediffCompProperties_GiveAbility">
|
||||
<abilityDefs>
|
||||
<li>ARA_Cocoon_Cloth_1Stage</li>
|
||||
<li>ARA_Cocoon_Weapon_1Stage</li>
|
||||
</abilityDefs>
|
||||
</li>
|
||||
<li Class="HediffCompProperties_RemoveIfOtherHediff">
|
||||
<hediffs>
|
||||
<li>ARA_Queen_1_Stage_Transition_Period</li>
|
||||
</hediffs>
|
||||
</li>
|
||||
</comps>
|
||||
</HediffDef>
|
||||
</Defs>
|
||||
@@ -55,7 +55,7 @@
|
||||
<ResearchProjectDef ParentName="ARA_techBase">
|
||||
<defName>ARA_Technology_7VXI</defName>
|
||||
<label>基因节点VXI-7"外置酸袋"</label>
|
||||
<description>允许工艺种孵化新的酸类武器茧</description>
|
||||
<description>允许工艺种孵化新的武器。</description>
|
||||
<baseCost>150</baseCost>
|
||||
<researchViewX>2.00</researchViewX>
|
||||
<researchViewY>0.20</researchViewY>
|
||||
@@ -113,7 +113,7 @@
|
||||
<li>ARA_Technology_1WMT</li>
|
||||
</prerequisites>
|
||||
</ResearchProjectDef>
|
||||
<!-- 硬壳发展 -->
|
||||
<!-- 织物发展 -->
|
||||
<ResearchProjectDef ParentName="ARA_techBase">
|
||||
<defName>ARA_Technology_4DIL</defName>
|
||||
<label>基因节点DIL-4"编织"</label>
|
||||
@@ -126,18 +126,6 @@
|
||||
<li>ARA_Base_Technology</li>
|
||||
</prerequisites>
|
||||
</ResearchProjectDef>
|
||||
<ResearchProjectDef ParentName="ARA_techBase">
|
||||
<defName>ARA_Technology_5DIL</defName>
|
||||
<label>基因节点DIL-5"骨刀"</label>
|
||||
<description>允许工艺种孵化骨刃茧,为虫族提供基础近战武器。</description>
|
||||
<baseCost>150</baseCost>
|
||||
<researchViewX>2.00</researchViewX>
|
||||
<researchViewY>5.10</researchViewY>
|
||||
<requiredResearchBuilding>ARA_ResearchBench</requiredResearchBuilding>
|
||||
<prerequisites>
|
||||
<li>ARA_Technology_4DIL</li>
|
||||
</prerequisites>
|
||||
</ResearchProjectDef>
|
||||
<!-- 毒类发展 -->
|
||||
<ResearchProjectDef ParentName="ARA_techBase">
|
||||
<defName>ARA_Technology_5PAV</defName>
|
||||
@@ -151,7 +139,6 @@
|
||||
<li>ARA_Base_Technology</li>
|
||||
</prerequisites>
|
||||
</ResearchProjectDef>
|
||||
<!-- 工艺种进化 -->
|
||||
<!-- 建筑发展 -->
|
||||
<ResearchProjectDef ParentName="ARA_techBase">
|
||||
<defName>ARA_Technology_5SHL</defName>
|
||||
@@ -165,4 +152,17 @@
|
||||
<li>ARA_Base_Technology</li>
|
||||
</prerequisites>
|
||||
</ResearchProjectDef>
|
||||
<!-- 子巢发展 -->
|
||||
<ResearchProjectDef ParentName="ARA_techBase">
|
||||
<defName>ARA_Technology_6SPV</defName>
|
||||
<label>基因节点SPV-6"天巢种之巢"</label>
|
||||
<description>允许工艺种孵化新的武器。</description>
|
||||
<baseCost>150</baseCost>
|
||||
<researchViewX>1.00</researchViewX>
|
||||
<researchViewY>2.20</researchViewY>
|
||||
<requiredResearchBuilding>ARA_ResearchBench</requiredResearchBuilding>
|
||||
<prerequisites>
|
||||
<li>ARA_Technology_1WMT</li>
|
||||
</prerequisites>
|
||||
</ResearchProjectDef>
|
||||
</Defs>
|
||||
@@ -428,6 +428,12 @@
|
||||
<!-- 生育能力 -->
|
||||
<onlyReproduceWithRestrictedRaces>true</onlyReproduceWithRestrictedRaces>
|
||||
<canReproduce>false</canReproduce>
|
||||
<!-- 允许操纵的配方 -->
|
||||
<recipeList>
|
||||
<li>ARA_WeaponSmith_Upgrade_1_Stage</li>
|
||||
<!-- <li>ARA_WeaponSmith_Upgrade_2_Stage</li> -->
|
||||
<!-- <li>ARA_WeaponSmith_Upgrade_3_Stage</li> -->
|
||||
</recipeList>
|
||||
<!-- 允许的工作台类型,放开以供其他种族使用 -->
|
||||
<!-- <workGiverList>
|
||||
<li>WULA_Large_Mechine_proudctor_Bills</li>
|
||||
|
||||
@@ -63,116 +63,6 @@
|
||||
<WorkToMake>3000</WorkToMake>
|
||||
</statBases>
|
||||
</ThingDef>
|
||||
<AbilityDef ParentName="ARA_CocoonSpew_Base">
|
||||
<defName>ARA_Cocoon_ClothBase</defName>
|
||||
<label>投放孵化茧 基础织物</label>
|
||||
<description>投放一枚织物茧,内含可以孵化一套基础织物的营养和遗传物质——参阅茧的超链接,了解其能生产的所有装备的特点。</description>
|
||||
<iconPath>UI/Commands/EggSpew</iconPath>
|
||||
<comps>
|
||||
<li Class="CompProperties_AbilityLaunchProjectile">
|
||||
<projectileDef>ARA_Cocoon_ClothBase_Proj</projectileDef>
|
||||
</li>
|
||||
<li Class="ArachnaeSwarm.CompProperties_AbilityResearchPrereq">
|
||||
<requiredResearch>ARA_Technology_4DIL</requiredResearch>
|
||||
<failMessage>需要科技 基因节点DIL-4"编织" 以解锁此孵化路径</failMessage>
|
||||
</li>
|
||||
</comps>
|
||||
</AbilityDef>
|
||||
<ThingDef ParentName="ARA_CocoonSpew_Base_Proj">
|
||||
<defName>ARA_Cocoon_ClothBase_Proj</defName>
|
||||
<projectile>
|
||||
<spawnsThingDef>ARA_Cocoon_ClothBase</spawnsThingDef>
|
||||
</projectile>
|
||||
</ThingDef>
|
||||
<ThingDef ParentName="ARA_Cocoon_Base">
|
||||
<defName>ARA_Cocoon_ClothBase</defName>
|
||||
<label>阿拉克涅孵化茧 基础织物</label>
|
||||
<description>一个脆弱、易燃、黏滑的囊状物,是阿拉克涅工艺种所诞之卵,内含孵化一套基础织物装备的营养物质,可以通过阿拉克涅工艺种的交互完成激活进程——参阅茧的超链接,了解其能生产的所有装备的特点。\n\n孵化茧对温度极度敏感(该类型的茧适温为-30~55°C),需要小心保护!</description>
|
||||
<descriptionHyperlinks>
|
||||
<ThingDef>ARA_Bodystocking_White</ThingDef>
|
||||
<ThingDef>ARA_Bodystocking_Black</ThingDef>
|
||||
</descriptionHyperlinks>
|
||||
<researchPrerequisites>
|
||||
<li>ARA_Technology_4DIL</li>
|
||||
</researchPrerequisites>
|
||||
|
||||
<comps>
|
||||
<!-- The new, GrowthVat-style fuel component -->
|
||||
<li Class="ArachnaeSwarm.CompProperties_RefuelableNutrition">
|
||||
<fuelCapacity>10</fuelCapacity>
|
||||
<fuelLabel>营养</fuelLabel>
|
||||
<fuelFilter>
|
||||
<categories>
|
||||
<li>Foods</li>
|
||||
</categories>
|
||||
</fuelFilter>
|
||||
<fuelConsumptionRate>0</fuelConsumptionRate> <!-- IMPORTANT: Disable base class consumption -->
|
||||
<showAllowAutoRefuelToggle>true</showAllowAutoRefuelToggle>
|
||||
<initialFuelPercent>1</initialFuelPercent>
|
||||
<autoRefuelPercent>1</autoRefuelPercent>
|
||||
</li>
|
||||
<!-- The refactored producer component -->
|
||||
<li Class="ArachnaeSwarm.CompProperties_InteractiveProducer">
|
||||
<processes>
|
||||
<li>
|
||||
<thingDef>ARA_Bodystocking_White</thingDef>
|
||||
<productionTicks>6000</productionTicks>
|
||||
<totalNutritionNeeded>1</totalNutritionNeeded>
|
||||
</li>
|
||||
<li>
|
||||
<thingDef>ARA_Bodystocking_Black</thingDef>
|
||||
<productionTicks>6000</productionTicks>
|
||||
<totalNutritionNeeded>1</totalNutritionNeeded>
|
||||
</li>
|
||||
</processes>
|
||||
|
||||
<whitelist>
|
||||
<li>ArachnaeNode_Race_WeaponSmith</li>
|
||||
</whitelist>
|
||||
<spawnCount>1</spawnCount>
|
||||
<destroyOnSpawn>True</destroyOnSpawn>
|
||||
<minSafeTemperature>-30</minSafeTemperature>
|
||||
<maxSafeTemperature>55</maxSafeTemperature>
|
||||
<penaltyPerDegreePerTick>0.00001</penaltyPerDegreePerTick>
|
||||
<damagePerTickWhenUnfueled>0.2</damagePerTickWhenUnfueled>
|
||||
<minNutritionToStart>1.0</minNutritionToStart>
|
||||
|
||||
<qualityThresholds>
|
||||
<li>
|
||||
<quality>Legendary</quality>
|
||||
<threshold>0.99</threshold>
|
||||
</li>
|
||||
<li>
|
||||
<quality>Masterwork</quality>
|
||||
<threshold>0.90</threshold>
|
||||
</li>
|
||||
<li>
|
||||
<quality>Excellent</quality>
|
||||
<threshold>0.70</threshold>
|
||||
</li>
|
||||
<li>
|
||||
<quality>Good</quality>
|
||||
<threshold>0.50</threshold>
|
||||
</li>
|
||||
<li>
|
||||
<quality>Normal</quality>
|
||||
<threshold>0.20</threshold>
|
||||
</li>
|
||||
<li>
|
||||
<quality>Poor</quality>
|
||||
<threshold>0.10</threshold>
|
||||
</li>
|
||||
</qualityThresholds>
|
||||
</li>
|
||||
<li Class="ArachnaeSwarm.CompProperties_TemperatureRuinableDamage">
|
||||
<minSafeTemperature>-30</minSafeTemperature>
|
||||
<maxSafeTemperature>55</maxSafeTemperature>
|
||||
<progressPerDegreePerTick>0.00005</progressPerDegreePerTick>
|
||||
<damagePerTick>0.005</damagePerTick>
|
||||
<recoveryRate>0.001</recoveryRate>
|
||||
</li>
|
||||
</comps>
|
||||
</ThingDef>
|
||||
|
||||
<ApparelLayerDef>
|
||||
<defName>Shield</defName>
|
||||
|
||||
@@ -1,110 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<Defs>
|
||||
|
||||
<ThingDef ParentName="BaseHumanMakeableGun">
|
||||
<defName>ARA_RW_Basic_SkyHive_Gun</defName>
|
||||
<label>天巢种喷射巢</label>
|
||||
<description>阿拉克涅虫群督虫使用基础远程武装器官,可以通过肌肉的瞬间加压喷出一团包含阿拉克涅酸液的液体团。这种酸液团的飞行速度很慢,但是能在目标地点炸开,并灼烧所有粘上酸液的敌人。</description>
|
||||
<tickerType>Normal</tickerType>
|
||||
<techLevel>Animal</techLevel>
|
||||
<graphicData>
|
||||
<texPath>ArachnaeSwarm/Weapon/ARA_RW_Basic_Acid_Bladder_Gun</texPath>
|
||||
<graphicClass>Graphic_Single</graphicClass>
|
||||
<drawSize>1.2</drawSize>
|
||||
</graphicData>
|
||||
<soundInteract>SpitterSpawn</soundInteract>
|
||||
<recipeMaker>
|
||||
<recipeUsers Inherit="False" />
|
||||
<researchPrerequisite Inherit="False" />
|
||||
<unfinishedThingDef>UnfinishedWeapon</unfinishedThingDef>
|
||||
</recipeMaker>
|
||||
<statBases>
|
||||
<WorkToMake>1300</WorkToMake>
|
||||
<!-- <MarketValue>370</MarketValue> -->
|
||||
<Mass>3.5</Mass>
|
||||
<AccuracyTouch>0.5</AccuracyTouch>
|
||||
<AccuracyShort>0.6</AccuracyShort>
|
||||
<AccuracyMedium>0.45</AccuracyMedium>
|
||||
<AccuracyLong>0.3</AccuracyLong>
|
||||
<RangedWeapon_Cooldown>2.5</RangedWeapon_Cooldown>
|
||||
</statBases>
|
||||
<verbs>
|
||||
<li>
|
||||
<verbClass>ArachnaeSwarm.Verb_ShootShotgun</verbClass>
|
||||
<hasStandardCommand>true</hasStandardCommand>
|
||||
<forceNormalTimeSpeed>false</forceNormalTimeSpeed>
|
||||
<warmupTime>1.0</warmupTime>
|
||||
<defaultProjectile>Bullet_ARA_RW_Basic_SkyHive_Gun</defaultProjectile>
|
||||
<isMortar>true</isMortar>
|
||||
<requireLineOfSight>false</requireLineOfSight>
|
||||
<minRange>3</minRange>
|
||||
<range>28</range>
|
||||
<burstShotCount>1</burstShotCount>
|
||||
<soundCast>SpitterSpit</soundCast>
|
||||
<targetParams>
|
||||
<canTargetLocations>true</canTargetLocations>
|
||||
</targetParams>
|
||||
</li>
|
||||
</verbs>
|
||||
<costList Inherit="False">
|
||||
<ARA_Carapace>50</ARA_Carapace>
|
||||
</costList>
|
||||
<weaponTags>
|
||||
<li>ARA_Armed_Organ</li>
|
||||
<li>ARA_Armed_Organ_Ranged</li>
|
||||
<li>ARA_Armed_Organ_T1</li>
|
||||
</weaponTags>
|
||||
<thingSetMakerTags>
|
||||
<li>RewardStandardQualitySuper</li>
|
||||
</thingSetMakerTags>
|
||||
</ThingDef>
|
||||
<ThingDef ParentName="BaseBullet">
|
||||
<defName>Bullet_ARA_RW_Basic_SkyHive_Gun</defName>
|
||||
<label>天巢种</label>
|
||||
<graphicData>
|
||||
<graphicClass>Graphic_Single_AgeSecs</graphicClass>
|
||||
<texPath>Things/Pawn/Insect/Locust/Locust_north</texPath>
|
||||
<color>(156,148,125)</color>
|
||||
<drawSize>(1,1)</drawSize>
|
||||
<shaderType>TransparentPostLight</shaderType>
|
||||
</graphicData>
|
||||
<uiIconScale>0.8</uiIconScale>
|
||||
<thingClass>ArachnaeSwarm.Projectile_TrackingBullet</thingClass>
|
||||
<projectile>
|
||||
<useGraphicClass>True</useGraphicClass>
|
||||
<shadowSize>1</shadowSize>
|
||||
<damageDef>ARA_SkyhiveBite</damageDef>
|
||||
<damageAmountBase>10</damageAmountBase>
|
||||
<speed>25</speed>
|
||||
<arcHeightFactor>1</arcHeightFactor>
|
||||
<flyOverhead>true</flyOverhead>
|
||||
</projectile>
|
||||
<modExtensions>
|
||||
<li Class="ArachnaeSwarm.TrackingBulletDef">
|
||||
<!-- 追踪速度,数值越高,转向越快,追踪能力越强 -->
|
||||
<homingSpeed>0.75</homingSpeed>
|
||||
|
||||
<!-- 初始发射时的随机散射角度(左右各多少度) -->
|
||||
<initRotateAngle>35</initRotateAngle>
|
||||
|
||||
<!-- 失去目标后多少 Tick 后自毁,可以是一个范围,如 "120~180" -->
|
||||
<destroyTicksAfterLosingTrack>150</destroyTicksAfterLosingTrack>
|
||||
|
||||
<!-- 子弹离目标多近时就直接判定为命中 -->
|
||||
<impactThreshold>2.1</impactThreshold>
|
||||
</li>
|
||||
<li Class="ArachnaeSwarm.ShotgunExtension">
|
||||
<pelletCount>3</pelletCount>
|
||||
</li>
|
||||
</modExtensions>
|
||||
<comps>
|
||||
<li Class="CompProperties_ProjectileEffecter">
|
||||
<effecterDef>Shell_AcidSpitStream</effecterDef>
|
||||
</li>
|
||||
<li Class="CompProperties_ProjectileEffecter">
|
||||
<effecterDef>Shell_AcidSpitLaunched</effecterDef>
|
||||
</li>
|
||||
</comps>
|
||||
</ThingDef>
|
||||
|
||||
</Defs>
|
||||
@@ -1,5 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<Defs>
|
||||
<!-- 骨 -->
|
||||
<ThingDef ParentName="BaseMeleeWeapon_Sharp_Quality">
|
||||
<defName>ARA_MW_Bone_Sword</defName>
|
||||
<label>武装器官"骨刃"</label>
|
||||
@@ -63,111 +64,8 @@
|
||||
<li>RewardStandardQualitySuper</li>
|
||||
</thingSetMakerTags>
|
||||
</ThingDef>
|
||||
<AbilityDef ParentName="ARA_CocoonSpew_Base">
|
||||
<defName>ARA_Cocoon_BoneBase</defName>
|
||||
<label>投放孵化茧 骨刃器官</label>
|
||||
<description>投放一枚武装器官茧,内含可以孵化一套基础骨刃武装器官的营养和遗传物质——参阅茧的超链接,了解其能生产的所有装备的特点。</description>
|
||||
<iconPath>UI/Commands/EggSpew</iconPath>
|
||||
<comps>
|
||||
<li Class="CompProperties_AbilityLaunchProjectile">
|
||||
<projectileDef>ARA_Cocoon_BoneBase_Proj</projectileDef>
|
||||
</li>
|
||||
<li Class="ArachnaeSwarm.CompProperties_AbilityResearchPrereq">
|
||||
<requiredResearch>ARA_Technology_5DIL</requiredResearch>
|
||||
<failMessage>需要科技 基因节点DIL-5"骨刀" 以解锁此孵化路径</failMessage>
|
||||
</li>
|
||||
</comps>
|
||||
</AbilityDef>
|
||||
<ThingDef ParentName="ARA_CocoonSpew_Base_Proj">
|
||||
<defName>ARA_Cocoon_BoneBase_Proj</defName>
|
||||
<projectile>
|
||||
<spawnsThingDef>ARA_Cocoon_BoneBase</spawnsThingDef>
|
||||
</projectile>
|
||||
</ThingDef>
|
||||
<ThingDef ParentName="ARA_Cocoon_Base">
|
||||
<defName>ARA_Cocoon_BoneBase</defName>
|
||||
<label>阿拉克涅孵化茧 基础骨片装备</label>
|
||||
<description>一个脆弱、易燃、黏滑的囊状物,是阿拉克涅工艺种所诞之卵,内含孵化一个骨片武装器官的营养物质,可以通过阿拉克涅工艺种的交互完成激活进程——参阅茧的超链接,了解其能生产的所有装备的特点。\n\n孵化茧对温度极度敏感(该类型的茧适温为-20~35°C),需要小心保护!</description>
|
||||
<descriptionHyperlinks>
|
||||
<ThingDef>ARA_MW_Bone_Sword</ThingDef>
|
||||
</descriptionHyperlinks>
|
||||
<researchPrerequisites>
|
||||
<li>ARA_Technology_5DIL</li>
|
||||
</researchPrerequisites>
|
||||
|
||||
<comps>
|
||||
<!-- The new, GrowthVat-style fuel component -->
|
||||
<li Class="ArachnaeSwarm.CompProperties_RefuelableNutrition">
|
||||
<fuelCapacity>10</fuelCapacity>
|
||||
<fuelLabel>营养</fuelLabel>
|
||||
<fuelFilter>
|
||||
<categories>
|
||||
<li>Foods</li>
|
||||
</categories>
|
||||
</fuelFilter>
|
||||
<fuelConsumptionRate>0</fuelConsumptionRate> <!-- IMPORTANT: Disable base class consumption -->
|
||||
<showAllowAutoRefuelToggle>true</showAllowAutoRefuelToggle>
|
||||
<initialFuelPercent>1</initialFuelPercent>
|
||||
<autoRefuelPercent>1</autoRefuelPercent>
|
||||
</li>
|
||||
<!-- The refactored producer component -->
|
||||
<li Class="ArachnaeSwarm.CompProperties_InteractiveProducer">
|
||||
<processes>
|
||||
<li>
|
||||
<thingDef>ARA_MW_Bone_Sword</thingDef>
|
||||
<productionTicks>60000</productionTicks>
|
||||
<totalNutritionNeeded>15</totalNutritionNeeded>
|
||||
</li>
|
||||
</processes>
|
||||
|
||||
<whitelist>
|
||||
<li>ArachnaeNode_Race_WeaponSmith</li>
|
||||
</whitelist>
|
||||
<spawnCount>1</spawnCount>
|
||||
<destroyOnSpawn>True</destroyOnSpawn>
|
||||
<minSafeTemperature>-20</minSafeTemperature>
|
||||
<maxSafeTemperature>35</maxSafeTemperature>
|
||||
<penaltyPerDegreePerTick>0.00001</penaltyPerDegreePerTick>
|
||||
<damagePerTickWhenUnfueled>0.2</damagePerTickWhenUnfueled>
|
||||
<minNutritionToStart>1.0</minNutritionToStart>
|
||||
|
||||
<qualityThresholds>
|
||||
<li>
|
||||
<quality>Legendary</quality>
|
||||
<threshold>0.99</threshold>
|
||||
</li>
|
||||
<li>
|
||||
<quality>Masterwork</quality>
|
||||
<threshold>0.90</threshold>
|
||||
</li>
|
||||
<li>
|
||||
<quality>Excellent</quality>
|
||||
<threshold>0.70</threshold>
|
||||
</li>
|
||||
<li>
|
||||
<quality>Good</quality>
|
||||
<threshold>0.50</threshold>
|
||||
</li>
|
||||
<li>
|
||||
<quality>Normal</quality>
|
||||
<threshold>0.20</threshold>
|
||||
</li>
|
||||
<li>
|
||||
<quality>Poor</quality>
|
||||
<threshold>0.10</threshold>
|
||||
</li>
|
||||
</qualityThresholds>
|
||||
</li>
|
||||
<li Class="ArachnaeSwarm.CompProperties_TemperatureRuinableDamage">
|
||||
<minSafeTemperature>-20</minSafeTemperature>
|
||||
<maxSafeTemperature>35</maxSafeTemperature>
|
||||
<progressPerDegreePerTick>0.00005</progressPerDegreePerTick>
|
||||
<damagePerTick>0.005</damagePerTick>
|
||||
<recoveryRate>0.001</recoveryRate>
|
||||
</li>
|
||||
</comps>
|
||||
</ThingDef>
|
||||
|
||||
<!-- 针 -->
|
||||
<ThingDef ParentName="BaseHumanMakeableGun">
|
||||
<defName>ARA_RW_Basic_Fist_Needle_Gun</defName>
|
||||
<label>武装器官"拳针枪"</label>
|
||||
@@ -183,7 +81,7 @@
|
||||
<soundInteract>SpitterSpawn</soundInteract>
|
||||
<recipeMaker>
|
||||
<recipeUsers Inherit="False" />
|
||||
<researchPrerequisite Inherit="False" />
|
||||
<researchPrerequisite>ARA_Technology_5PAV</researchPrerequisite>
|
||||
<unfinishedThingDef>UnfinishedWeapon</unfinishedThingDef>
|
||||
</recipeMaker>
|
||||
<statBases>
|
||||
@@ -240,6 +138,17 @@
|
||||
</extraMeleeDamages>
|
||||
</li>
|
||||
</tools>
|
||||
<comps>
|
||||
<li Class="WulaFallenEmpire.CompProperties_CustomUniqueWeapon" MayRequire="Ludeon.RimWorld.Odyssey">
|
||||
<forcedTraits>
|
||||
<li>ARA_Weapon_Damage_Toxid</li>
|
||||
</forcedTraits>
|
||||
<numTraitsRange>
|
||||
<min>1</min>
|
||||
<max>1</max>
|
||||
</numTraitsRange>
|
||||
</li>
|
||||
</comps>
|
||||
</ThingDef>
|
||||
<ThingDef ParentName="BaseBullet">
|
||||
<defName>Bullet_ARA_RW_Basic_Fist_Needle_Gun</defName>
|
||||
@@ -255,112 +164,75 @@
|
||||
<speed>40</speed>
|
||||
</projectile>
|
||||
</ThingDef>
|
||||
<AbilityDef ParentName="ARA_CocoonSpew_Base">
|
||||
<defName>ARA_Cocoon_ToxicNeedleBase</defName>
|
||||
<label>投放孵化茧 毒针器官</label>
|
||||
<description>投放一枚武装器官茧,内含可以孵化一套基础毒针武装器官的营养和遗传物质——参阅茧的超链接,了解其能生产的所有装备的特点。</description>
|
||||
<iconPath>UI/Commands/EggSpew</iconPath>
|
||||
<ThingDef ParentName="BaseHumanMakeableGun">
|
||||
<defName>ARA_RW_Toxic_Needle_MG</defName>
|
||||
<label>武装器官"风暴刺针枪"</label>
|
||||
<description>阿拉克涅虫群督虫所使用的武装器官,拥有四排刺针管道,可以在联结神经束的指挥下交替发射大量的毒针,虽然准度较差但是威力不逊色于人类所使用的机枪。</description>
|
||||
<tickerType>Normal</tickerType>
|
||||
<techLevel>Animal</techLevel>
|
||||
<graphicData>
|
||||
<texPath>ArachnaeSwarm/Weapon/ARA_RW_Basic_Fist_Needle_Gun</texPath>
|
||||
<graphicClass>Graphic_Single</graphicClass>
|
||||
<drawSize>0.75</drawSize>
|
||||
</graphicData>
|
||||
<uiIconScale>1.3</uiIconScale>
|
||||
<soundInteract>SpitterSpawn</soundInteract>
|
||||
<recipeMaker>
|
||||
<recipeUsers Inherit="False" />
|
||||
<researchPrerequisite>ARA_Technology_5PAV</researchPrerequisite>
|
||||
<unfinishedThingDef>UnfinishedWeapon</unfinishedThingDef>
|
||||
</recipeMaker>
|
||||
<statBases>
|
||||
<WorkToMake>1300</WorkToMake>
|
||||
<!-- <MarketValue>370</MarketValue> -->
|
||||
<Mass>4</Mass>
|
||||
<AccuracyTouch>0.5</AccuracyTouch>
|
||||
<AccuracyShort>0.4</AccuracyShort>
|
||||
<AccuracyMedium>0.35</AccuracyMedium>
|
||||
<AccuracyLong>0.3</AccuracyLong>
|
||||
<RangedWeapon_Cooldown>2.5</RangedWeapon_Cooldown>
|
||||
</statBases>
|
||||
<verbs>
|
||||
<li>
|
||||
<verbClass>Verb_Shoot</verbClass>
|
||||
<hasStandardCommand>true</hasStandardCommand>
|
||||
<forceNormalTimeSpeed>false</forceNormalTimeSpeed>
|
||||
<warmupTime>0.8</warmupTime>
|
||||
<defaultProjectile>Bullet_ARA_RW_Basic_Fist_Needle_Gun</defaultProjectile>
|
||||
<range>22</range>
|
||||
<burstShotCount>32</burstShotCount>
|
||||
<ticksBetweenBurstShots>2</ticksBetweenBurstShots>
|
||||
<soundCast>SpitterSpit</soundCast>
|
||||
<targetParams>
|
||||
<canTargetLocations>true</canTargetLocations>
|
||||
</targetParams>
|
||||
</li>
|
||||
</verbs>
|
||||
<costList Inherit="False">
|
||||
<ARA_Carapace>25</ARA_Carapace>
|
||||
</costList>
|
||||
<weaponTags>
|
||||
<li>ARA_Armed_Organ</li>
|
||||
<li>ARA_Armed_Organ_Ranged</li>
|
||||
<li>ARA_Armed_Organ_T2</li>
|
||||
</weaponTags>
|
||||
<thingSetMakerTags>
|
||||
<li>RewardStandardQualitySuper</li>
|
||||
</thingSetMakerTags>
|
||||
<comps>
|
||||
<li Class="CompProperties_AbilityLaunchProjectile">
|
||||
<projectileDef>ARA_Cocoon_ToxicNeedleBase_Proj</projectileDef>
|
||||
</li>
|
||||
<li Class="ArachnaeSwarm.CompProperties_AbilityResearchPrereq">
|
||||
<requiredResearch>ARA_Technology_5PAV</requiredResearch>
|
||||
<failMessage>需要科技 基因节点PAV-5"毒刺" 以解锁此孵化路径</failMessage>
|
||||
</li>
|
||||
</comps>
|
||||
</AbilityDef>
|
||||
<ThingDef ParentName="ARA_CocoonSpew_Base_Proj">
|
||||
<defName>ARA_Cocoon_ToxicNeedleBase_Proj</defName>
|
||||
<projectile>
|
||||
<spawnsThingDef>ARA_Cocoon_ToxicNeedleBase</spawnsThingDef>
|
||||
</projectile>
|
||||
</ThingDef>
|
||||
<ThingDef ParentName="ARA_Cocoon_Base">
|
||||
<defName>ARA_Cocoon_ToxicNeedleBase</defName>
|
||||
<label>阿拉克涅孵化茧 基础毒针武器</label>
|
||||
<description>一个脆弱、易燃、黏滑的囊状物,是阿拉克涅工艺种所诞之卵,内含孵化一个毒针武装器官的营养物质,可以通过阿拉克涅工艺种的交互完成激活进程——参阅茧的超链接,了解其能生产的所有装备的特点。\n\n孵化茧对温度极度敏感(该类型的茧适温为0~22°C),需要小心保护!</description>
|
||||
<descriptionHyperlinks>
|
||||
<ThingDef>ARA_RW_Basic_Fist_Needle_Gun</ThingDef>
|
||||
</descriptionHyperlinks>
|
||||
<researchPrerequisites>
|
||||
<li>ARA_Technology_5PAV</li>
|
||||
</researchPrerequisites>
|
||||
|
||||
<comps>
|
||||
<!-- The new, GrowthVat-style fuel component -->
|
||||
<li Class="ArachnaeSwarm.CompProperties_RefuelableNutrition">
|
||||
<fuelCapacity>10</fuelCapacity>
|
||||
<fuelLabel>营养</fuelLabel>
|
||||
<fuelFilter>
|
||||
<categories>
|
||||
<li>Foods</li>
|
||||
</categories>
|
||||
</fuelFilter>
|
||||
<fuelConsumptionRate>0</fuelConsumptionRate> <!-- IMPORTANT: Disable base class consumption -->
|
||||
<showAllowAutoRefuelToggle>true</showAllowAutoRefuelToggle>
|
||||
<initialFuelPercent>1</initialFuelPercent>
|
||||
<autoRefuelPercent>1</autoRefuelPercent>
|
||||
</li>
|
||||
<!-- The refactored producer component -->
|
||||
<li Class="ArachnaeSwarm.CompProperties_InteractiveProducer">
|
||||
<processes>
|
||||
<li>
|
||||
<thingDef>ARA_RW_Basic_Fist_Needle_Gun</thingDef>
|
||||
<productionTicks>40000</productionTicks>
|
||||
<totalNutritionNeeded>10</totalNutritionNeeded>
|
||||
<!--<requiredResearch>ARA_Technology_5PAV</requiredResearch>-->
|
||||
</li>
|
||||
</processes>
|
||||
|
||||
<whitelist>
|
||||
<li>ArachnaeNode_Race_WeaponSmith</li>
|
||||
</whitelist>
|
||||
<spawnCount>1</spawnCount>
|
||||
<destroyOnSpawn>True</destroyOnSpawn>
|
||||
<minSafeTemperature>0</minSafeTemperature>
|
||||
<maxSafeTemperature>22</maxSafeTemperature>
|
||||
<penaltyPerDegreePerTick>0.00001</penaltyPerDegreePerTick>
|
||||
<damagePerTickWhenUnfueled>0.2</damagePerTickWhenUnfueled>
|
||||
<minNutritionToStart>1.0</minNutritionToStart>
|
||||
|
||||
<qualityThresholds>
|
||||
<li>
|
||||
<quality>Legendary</quality>
|
||||
<threshold>0.99</threshold>
|
||||
</li>
|
||||
<li>
|
||||
<quality>Masterwork</quality>
|
||||
<threshold>0.90</threshold>
|
||||
</li>
|
||||
<li>
|
||||
<quality>Excellent</quality>
|
||||
<threshold>0.70</threshold>
|
||||
</li>
|
||||
<li>
|
||||
<quality>Good</quality>
|
||||
<threshold>0.50</threshold>
|
||||
</li>
|
||||
<li>
|
||||
<quality>Normal</quality>
|
||||
<threshold>0.20</threshold>
|
||||
</li>
|
||||
<li>
|
||||
<quality>Poor</quality>
|
||||
<threshold>0.10</threshold>
|
||||
</li>
|
||||
</qualityThresholds>
|
||||
</li>
|
||||
<li Class="ArachnaeSwarm.CompProperties_TemperatureRuinableDamage">
|
||||
<minSafeTemperature>0</minSafeTemperature>
|
||||
<maxSafeTemperature>22</maxSafeTemperature>
|
||||
<progressPerDegreePerTick>0.00005</progressPerDegreePerTick>
|
||||
<damagePerTick>0.005</damagePerTick>
|
||||
<recoveryRate>0.001</recoveryRate>
|
||||
<li Class="WulaFallenEmpire.CompProperties_CustomUniqueWeapon" MayRequire="Ludeon.RimWorld.Odyssey">
|
||||
<forcedTraits>
|
||||
<li>ARA_Weapon_Damage_Toxid</li>
|
||||
</forcedTraits>
|
||||
<numTraitsRange>
|
||||
<min>1</min>
|
||||
<max>1</max>
|
||||
</numTraitsRange>
|
||||
</li>
|
||||
</comps>
|
||||
</ThingDef>
|
||||
|
||||
<!-- 酸 -->
|
||||
<ThingDef ParentName="BaseHumanMakeableGun">
|
||||
<defName>ARA_RW_Basic_Acid_Bladder_Gun</defName>
|
||||
<label>武装器官"酸液枪"</label>
|
||||
@@ -375,7 +247,7 @@
|
||||
<soundInteract>SpitterSpawn</soundInteract>
|
||||
<recipeMaker>
|
||||
<recipeUsers Inherit="False" />
|
||||
<researchPrerequisite Inherit="False" />
|
||||
<researchPrerequisite>ARA_Technology_7VXI</researchPrerequisite>
|
||||
<unfinishedThingDef>UnfinishedWeapon</unfinishedThingDef>
|
||||
</recipeMaker>
|
||||
<statBases>
|
||||
@@ -418,6 +290,17 @@
|
||||
<thingSetMakerTags>
|
||||
<li>RewardStandardQualitySuper</li>
|
||||
</thingSetMakerTags>
|
||||
<comps>
|
||||
<li Class="WulaFallenEmpire.CompProperties_CustomUniqueWeapon" MayRequire="Ludeon.RimWorld.Odyssey">
|
||||
<forcedTraits>
|
||||
<li>ARA_Weapon_Damage_Acid</li>
|
||||
</forcedTraits>
|
||||
<numTraitsRange>
|
||||
<min>1</min>
|
||||
<max>1</max>
|
||||
</numTraitsRange>
|
||||
</li>
|
||||
</comps>
|
||||
</ThingDef>
|
||||
<ThingDef ParentName="BaseBullet">
|
||||
<defName>Bullet_ARA_RW_Basic_Acid_Bladder_Gun</defName>
|
||||
@@ -448,176 +331,236 @@
|
||||
<doExplosionVFX>false</doExplosionVFX>
|
||||
</projectile>
|
||||
<comps>
|
||||
<li Class="CompProperties_ProjectileEffecter">
|
||||
<effecterDef>Shell_AcidSpitStream</effecterDef>
|
||||
</li>
|
||||
<li Class="CompProperties_ProjectileEffecter">
|
||||
<effecterDef>Shell_AcidSpitLaunched</effecterDef>
|
||||
</li>
|
||||
<li Class="CompProperties_ProjectileEffecter">
|
||||
<effecterDef>Shell_AcidSpitStream</effecterDef>
|
||||
</li>
|
||||
<li Class="CompProperties_ProjectileEffecter">
|
||||
<effecterDef>Shell_AcidSpitLaunched</effecterDef>
|
||||
</li>
|
||||
</comps>
|
||||
</ThingDef>
|
||||
<AbilityDef ParentName="ARA_CocoonSpew_Base">
|
||||
<defName>ARA_Cocoon_AcidBase</defName>
|
||||
<label>投放孵化茧 酸液器官</label>
|
||||
<description>投放一枚武装器官茧,内含可以孵化一套基础酸液武装器官的营养和遗传物质——参阅茧的超链接,了解其能生产的所有装备的特点。</description>
|
||||
<iconPath>UI/Commands/EggSpew</iconPath>
|
||||
<comps>
|
||||
<li Class="ArachnaeSwarm.CompProperties_AbilityResearchPrereq">
|
||||
<requiredResearch>ARA_Technology_7VXI</requiredResearch>
|
||||
<failMessage>需要科技 基因节点VXI-7"外置酸袋" 以解锁此孵化路径</failMessage>
|
||||
<ThingDef ParentName="BaseHumanMakeableGun">
|
||||
<defName>ARA_RW_Acid_Mortar</defName>
|
||||
<label>武装器官"腐蚀臼炮"</label>
|
||||
<description>阿拉克涅虫群督虫使用大型远程武装器官,膛内布满了强健的肌肉组织,可以在一瞬间的收缩后将一团酸液发射到空中,以在安全距离下对敌人的集群进行轰炸。</description>
|
||||
<tickerType>Normal</tickerType>
|
||||
<techLevel>Animal</techLevel>
|
||||
<graphicData>
|
||||
<texPath>ArachnaeSwarm/Weapon/ARA_RW_Basic_Acid_Bladder_Gun</texPath>
|
||||
<graphicClass>Graphic_Single</graphicClass>
|
||||
<drawSize>1.2</drawSize>
|
||||
</graphicData>
|
||||
<soundInteract>SpitterSpawn</soundInteract>
|
||||
<recipeMaker>
|
||||
<recipeUsers Inherit="False" />
|
||||
<researchPrerequisite>ARA_Technology_7VXI</researchPrerequisite>
|
||||
<unfinishedThingDef>UnfinishedWeapon</unfinishedThingDef>
|
||||
</recipeMaker>
|
||||
<statBases>
|
||||
<WorkToMake>1300</WorkToMake>
|
||||
<!-- <MarketValue>370</MarketValue> -->
|
||||
<Mass>3.5</Mass>
|
||||
<AccuracyTouch>0.3</AccuracyTouch>
|
||||
<AccuracyShort>0.3</AccuracyShort>
|
||||
<AccuracyMedium>0.25</AccuracyMedium>
|
||||
<AccuracyLong>0.1</AccuracyLong>
|
||||
<RangedWeapon_Cooldown>3.5</RangedWeapon_Cooldown>
|
||||
</statBases>
|
||||
<verbs>
|
||||
<li>
|
||||
<verbClass>Verb_Shoot</verbClass>
|
||||
<hasStandardCommand>true</hasStandardCommand>
|
||||
<forceNormalTimeSpeed>false</forceNormalTimeSpeed>
|
||||
<warmupTime>1.5</warmupTime>
|
||||
<forcedMissRadius>3</forcedMissRadius>
|
||||
<defaultProjectile>Bullet_ARA_RW_Acid_Mortar</defaultProjectile>
|
||||
<isMortar>true</isMortar>
|
||||
<requireLineOfSight>false</requireLineOfSight>
|
||||
<minRange>5</minRange>
|
||||
<range>120</range>
|
||||
<burstShotCount>1</burstShotCount>
|
||||
<soundCast>SpitterSpit</soundCast>
|
||||
<targetParams>
|
||||
<canTargetLocations>true</canTargetLocations>
|
||||
</targetParams>
|
||||
</li>
|
||||
<li Class="CompProperties_AbilityLaunchProjectile">
|
||||
<projectileDef>ARA_Cocoon_AcidBase_Proj</projectileDef>
|
||||
</verbs>
|
||||
<costList Inherit="False">
|
||||
<ARA_Carapace>50</ARA_Carapace>
|
||||
</costList>
|
||||
<weaponTags>
|
||||
<li>ARA_Armed_Organ</li>
|
||||
<li>ARA_Armed_Organ_Ranged</li>
|
||||
<li>ARA_Armed_Organ_T2</li>
|
||||
</weaponTags>
|
||||
<thingSetMakerTags>
|
||||
<li>RewardStandardQualitySuper</li>
|
||||
</thingSetMakerTags>
|
||||
<comps>
|
||||
<li Class="WulaFallenEmpire.CompProperties_CustomUniqueWeapon" MayRequire="Ludeon.RimWorld.Odyssey">
|
||||
<forcedTraits>
|
||||
<li>ARA_Huge_Weapon</li>
|
||||
<li>ARA_Weapon_Damage_Acid</li>
|
||||
</forcedTraits>
|
||||
<numTraitsRange>
|
||||
<min>2</min>
|
||||
<max>2</max>
|
||||
</numTraitsRange>
|
||||
</li>
|
||||
</comps>
|
||||
</AbilityDef>
|
||||
<ThingDef ParentName="ARA_CocoonSpew_Base_Proj">
|
||||
<defName>ARA_Cocoon_AcidBase_Proj</defName>
|
||||
</ThingDef>
|
||||
<ThingDef ParentName="BaseBullet">
|
||||
<defName>Bullet_ARA_RW_Acid_Mortar</defName>
|
||||
<label>大型酸液团</label>
|
||||
<graphicData>
|
||||
<graphicClass>Graphic_Single_AgeSecs</graphicClass>
|
||||
<texPath>Things/Projectile/FleshmassSpitterProjectileSheet</texPath>
|
||||
<drawSize>(.75, .75)</drawSize>
|
||||
<shaderType>MoteGlow</shaderType>
|
||||
</graphicData>
|
||||
<uiIconScale>0.8</uiIconScale>
|
||||
<thingClass>Projectile_Explosive</thingClass>
|
||||
<projectile>
|
||||
<spawnsThingDef>ARA_Cocoon_AcidBase</spawnsThingDef>
|
||||
<useGraphicClass>True</useGraphicClass>
|
||||
<shadowSize>1</shadowSize>
|
||||
<damageDef>ARA_AcidBurn</damageDef>
|
||||
<spinRate>15</spinRate>
|
||||
<damageAmountBase>50</damageAmountBase>
|
||||
<speed>15</speed>
|
||||
<arcHeightFactor>1</arcHeightFactor>
|
||||
<explosionRadius>3.5</explosionRadius>
|
||||
<flyOverhead>true</flyOverhead>
|
||||
<soundExplode>SpitterSpitLands</soundExplode>
|
||||
<filth>Filth_SpentAcid</filth>
|
||||
<filthCount>4</filthCount>
|
||||
<explosionEffect>Shell_AcidSpitImpact</explosionEffect>
|
||||
<explosionEffectLifetimeTicks>60</explosionEffectLifetimeTicks>
|
||||
<doExplosionVFX>false</doExplosionVFX>
|
||||
</projectile>
|
||||
</ThingDef>
|
||||
<ThingDef ParentName="ARA_Cocoon_Base">
|
||||
<defName>ARA_Cocoon_AcidBase</defName>
|
||||
<label>阿拉克涅孵化茧 基础酸性武器</label>
|
||||
<description>一个脆弱、易燃、黏滑的囊状物,是阿拉克涅工艺种所诞之卵,内含孵化一个酸性武装器官的营养物质,可以通过阿拉克涅工艺种的交互完成激活进程——参阅茧的超链接,了解其能生产的所有装备的特点。\n\n孵化茧对温度极度敏感(该类型的茧适温为10~28°C),需要小心保护!</description>
|
||||
<descriptionHyperlinks>
|
||||
<ThingDef>ARA_RW_Basic_Acid_Bladder_Gun</ThingDef>
|
||||
</descriptionHyperlinks>
|
||||
<researchPrerequisites>
|
||||
<li>ARA_Technology_7VXI</li>
|
||||
</researchPrerequisites>
|
||||
|
||||
<comps>
|
||||
<!-- The new, GrowthVat-style fuel component -->
|
||||
<li Class="ArachnaeSwarm.CompProperties_RefuelableNutrition">
|
||||
<fuelCapacity>10</fuelCapacity>
|
||||
<fuelLabel>营养</fuelLabel>
|
||||
<fuelFilter>
|
||||
<categories>
|
||||
<li>Foods</li>
|
||||
</categories>
|
||||
</fuelFilter>
|
||||
<fuelConsumptionRate>0</fuelConsumptionRate> <!-- IMPORTANT: Disable base class consumption -->
|
||||
<showAllowAutoRefuelToggle>true</showAllowAutoRefuelToggle>
|
||||
<initialFuelPercent>1</initialFuelPercent>
|
||||
<autoRefuelPercent>1</autoRefuelPercent>
|
||||
<li Class="CompProperties_ProjectileEffecter">
|
||||
<effecterDef>Shell_AcidSpitStream</effecterDef>
|
||||
</li>
|
||||
<!-- The refactored producer component -->
|
||||
<li Class="ArachnaeSwarm.CompProperties_InteractiveProducer">
|
||||
<processes>
|
||||
<li>
|
||||
<thingDef>ARA_RW_Basic_Acid_Bladder_Gun</thingDef>
|
||||
<productionTicks>80000</productionTicks>
|
||||
<totalNutritionNeeded>30</totalNutritionNeeded>
|
||||
<!--<requiredResearch>ARA_Technology_7VXI</requiredResearch>-->
|
||||
</li>
|
||||
</processes>
|
||||
|
||||
<whitelist>
|
||||
<li>ArachnaeNode_Race_WeaponSmith</li>
|
||||
</whitelist>
|
||||
<spawnCount>1</spawnCount>
|
||||
<destroyOnSpawn>True</destroyOnSpawn>
|
||||
<minSafeTemperature>10</minSafeTemperature>
|
||||
<maxSafeTemperature>28</maxSafeTemperature>
|
||||
<penaltyPerDegreePerTick>0.00001</penaltyPerDegreePerTick>
|
||||
<damagePerTickWhenUnfueled>0.2</damagePerTickWhenUnfueled>
|
||||
<minNutritionToStart>1.0</minNutritionToStart>
|
||||
|
||||
<qualityThresholds>
|
||||
<li>
|
||||
<quality>Legendary</quality>
|
||||
<threshold>0.99</threshold>
|
||||
</li>
|
||||
<li>
|
||||
<quality>Masterwork</quality>
|
||||
<threshold>0.90</threshold>
|
||||
</li>
|
||||
<li>
|
||||
<quality>Excellent</quality>
|
||||
<threshold>0.70</threshold>
|
||||
</li>
|
||||
<li>
|
||||
<quality>Good</quality>
|
||||
<threshold>0.50</threshold>
|
||||
</li>
|
||||
<li>
|
||||
<quality>Normal</quality>
|
||||
<threshold>0.20</threshold>
|
||||
</li>
|
||||
<li>
|
||||
<quality>Poor</quality>
|
||||
<threshold>0.10</threshold>
|
||||
</li>
|
||||
</qualityThresholds>
|
||||
<!--
|
||||
当一个生产流程完成时,系统会通过以下三个步骤来确定最终的物品品质:
|
||||
|
||||
第 1 步: 计算“基础品质分” (Base Quality Score)
|
||||
基础品质分代表了在整个生产过程中,理想条件所占的比例。理想条件被严格定义为:燃料充足 且 温度适宜。
|
||||
|
||||
公式:
|
||||
|
||||
基础品质分 = 在理想条件下度过的时间(ticks) / 生产总需时间(ticks)
|
||||
|
||||
C# 代码对应:
|
||||
baseQuality = (_selectedProcess.productionTicks > 0) ? (float)ticksUnderOptimalConditions / _selectedProcess.productionTicks : 0f;
|
||||
|
||||
说明:
|
||||
|
||||
ticksUnderOptimalConditions 是一个计数器,只有在同时满足燃料充足和温度安全这两个条件的游戏刻(Tick),它才会加 1。
|
||||
_selectedProcess.productionTicks 是在 XML 中为该产品定义的总生产时间。
|
||||
这个得分的范围是 0.0 (0%) 到 1.0 (100%)。如果整个过程都完美无缺,这个分数就是 1.0。
|
||||
第 2 步: 计算“温度惩罚分” (Temperature Penalty Score)
|
||||
温度惩罚分是一个独立累加的负面分数。它只在环境温度超出安全范围时才会累积。
|
||||
|
||||
公式:
|
||||
|
||||
每刻惩罚增加量 = 超出安全范围的度数 × penaltyPerDegreePerTick
|
||||
温度惩罚分 = 所有惩罚增加量的总和
|
||||
|
||||
C# 代码对应:
|
||||
temperaturePenaltyPercent = Mathf.Min(1f, temperaturePenaltyPercent + tempDelta * Props.penaltyPerDegreePerTick);
|
||||
|
||||
说明:
|
||||
|
||||
penaltyPerDegreePerTick 是一个可在 XML 中配置的系数,代表每超出1度、每刻所产生的惩罚量。
|
||||
这个惩罚是不可逆的。即使温度恢复正常,已经累积的惩罚也不会减少。
|
||||
它的最大值被限制在 1.0 (100%),以防止无限累加。
|
||||
第 3 步: 计算“最终品质分”并映射到品质等级
|
||||
最终品质分由基础分减去惩罚分得出,这个分数将直接决定物品的品质等级。
|
||||
|
||||
公式:
|
||||
|
||||
最终品质分 = 基础品质分 - 温度惩罚分
|
||||
|
||||
C# 代码对应:
|
||||
finalQualityScore = Mathf.Clamp01(baseQuality - temperaturePenaltyPercent);
|
||||
|
||||
映射到品质等级:
|
||||
得到 finalQualityScore (一个 0.0 到 1.0 之间的值) 后,系统会通过一系列 if-else if 判断,将其映射到游戏中的 QualityCategory (品质等级)。例如,在我们的代码中:
|
||||
|
||||
>= 0.99 -> 传说 (Legendary)
|
||||
>= 0.90 -> 杰作 (Masterwork)
|
||||
>= 0.70 -> 优秀 (Excellent)
|
||||
>= 0.50 -> 良好 (Good)
|
||||
>= 0.20 -> 普通 (Normal)
|
||||
>= 0.10 -> 差 (Poor)
|
||||
< 0.10 -> 劣质 (Awful)
|
||||
总结
|
||||
这个系统的核心在于,它鼓励玩家全程维持最佳生产环境。
|
||||
仅仅保持燃料充足或温度适宜是不够的,必须两者兼顾才能提高“基础品质分”。
|
||||
同时,必须极力避免温度超出安全范围,因为“温度惩罚分”是纯粹的惩罚,它只会单方面地拉低最终品质,且无法挽回。
|
||||
这种设计为玩家提供了一个清晰的目标和富有挑战性的过程管理,而不是一个简单的“放置-等待”式生产。
|
||||
-->
|
||||
<li Class="CompProperties_ProjectileEffecter">
|
||||
<effecterDef>Shell_AcidSpitLaunched</effecterDef>
|
||||
</li>
|
||||
<li Class="ArachnaeSwarm.CompProperties_TemperatureRuinableDamage">
|
||||
<minSafeTemperature>10</minSafeTemperature>
|
||||
<maxSafeTemperature>28</maxSafeTemperature>
|
||||
<progressPerDegreePerTick>0.00005</progressPerDegreePerTick>
|
||||
<damagePerTick>0.005</damagePerTick>
|
||||
<recoveryRate>0.001</recoveryRate>
|
||||
</comps>
|
||||
</ThingDef>
|
||||
|
||||
<!-- spawn -->
|
||||
<ThingDef ParentName="BaseHumanMakeableGun">
|
||||
<defName>ARA_RW_Basic_SkyHive_Gun</defName>
|
||||
<label>武装器官"天巢种之巢"</label>
|
||||
<description>阿拉科涅虫群的生物武器</description>
|
||||
<tickerType>Normal</tickerType>
|
||||
<techLevel>Animal</techLevel>
|
||||
<graphicData>
|
||||
<texPath>ArachnaeSwarm/Weapon/ARA_RW_Basic_Acid_Bladder_Gun</texPath>
|
||||
<graphicClass>Graphic_Single</graphicClass>
|
||||
<drawSize>1.2</drawSize>
|
||||
</graphicData>
|
||||
<soundInteract>SpitterSpawn</soundInteract>
|
||||
<recipeMaker>
|
||||
<recipeUsers Inherit="False" />
|
||||
<researchPrerequisite>ARA_Technology_6SPV</researchPrerequisite>
|
||||
<unfinishedThingDef>UnfinishedWeapon</unfinishedThingDef>
|
||||
</recipeMaker>
|
||||
<statBases>
|
||||
<WorkToMake>1300</WorkToMake>
|
||||
<!-- <MarketValue>370</MarketValue> -->
|
||||
<Mass>3.5</Mass>
|
||||
<AccuracyTouch>0.5</AccuracyTouch>
|
||||
<AccuracyShort>0.6</AccuracyShort>
|
||||
<AccuracyMedium>0.45</AccuracyMedium>
|
||||
<AccuracyLong>0.3</AccuracyLong>
|
||||
<RangedWeapon_Cooldown>2.5</RangedWeapon_Cooldown>
|
||||
</statBases>
|
||||
<verbs>
|
||||
<li>
|
||||
<verbClass>ArachnaeSwarm.Verb_ShootShotgun</verbClass>
|
||||
<hasStandardCommand>true</hasStandardCommand>
|
||||
<forceNormalTimeSpeed>false</forceNormalTimeSpeed>
|
||||
<warmupTime>1.0</warmupTime>
|
||||
<defaultProjectile>Bullet_ARA_RW_Basic_SkyHive_Gun</defaultProjectile>
|
||||
<isMortar>true</isMortar>
|
||||
<requireLineOfSight>false</requireLineOfSight>
|
||||
<minRange>3</minRange>
|
||||
<range>28</range>
|
||||
<burstShotCount>1</burstShotCount>
|
||||
<soundCast>SpitterSpit</soundCast>
|
||||
<targetParams>
|
||||
<canTargetLocations>true</canTargetLocations>
|
||||
</targetParams>
|
||||
</li>
|
||||
</verbs>
|
||||
<costList Inherit="False">
|
||||
<ARA_Carapace>50</ARA_Carapace>
|
||||
</costList>
|
||||
<weaponTags>
|
||||
<li>ARA_Armed_Organ</li>
|
||||
<li>ARA_Armed_Organ_Ranged</li>
|
||||
<li>ARA_Armed_Organ_T1</li>
|
||||
</weaponTags>
|
||||
<thingSetMakerTags>
|
||||
<li>RewardStandardQualitySuper</li>
|
||||
</thingSetMakerTags>
|
||||
<comps>
|
||||
<li Class="WulaFallenEmpire.CompProperties_CustomUniqueWeapon" MayRequire="Ludeon.RimWorld.Odyssey">
|
||||
<forcedTraits>
|
||||
<li>ARA_Weapon_Damage_Spawn</li>
|
||||
</forcedTraits>
|
||||
<numTraitsRange>
|
||||
<min>1</min>
|
||||
<max>1</max>
|
||||
</numTraitsRange>
|
||||
</li>
|
||||
</comps>
|
||||
</ThingDef>
|
||||
<ThingDef ParentName="BaseBullet">
|
||||
<defName>Bullet_ARA_RW_Basic_SkyHive_Gun</defName>
|
||||
<label>天巢种</label>
|
||||
<graphicData>
|
||||
<graphicClass>Graphic_Single_AgeSecs</graphicClass>
|
||||
<texPath>Things/Pawn/Insect/Locust/Locust_north</texPath>
|
||||
<color>(156,148,125)</color>
|
||||
<drawSize>(1,1)</drawSize>
|
||||
<shaderType>TransparentPostLight</shaderType>
|
||||
</graphicData>
|
||||
<uiIconScale>0.8</uiIconScale>
|
||||
<thingClass>ArachnaeSwarm.Projectile_TrackingBullet</thingClass>
|
||||
<projectile>
|
||||
<useGraphicClass>True</useGraphicClass>
|
||||
<shadowSize>1</shadowSize>
|
||||
<damageDef>ARA_SkyhiveBite</damageDef>
|
||||
<damageAmountBase>10</damageAmountBase>
|
||||
<speed>25</speed>
|
||||
<arcHeightFactor>1</arcHeightFactor>
|
||||
<flyOverhead>true</flyOverhead>
|
||||
</projectile>
|
||||
<modExtensions>
|
||||
<li Class="ArachnaeSwarm.TrackingBulletDef">
|
||||
<!-- 追踪速度,数值越高,转向越快,追踪能力越强 -->
|
||||
<homingSpeed>0.75</homingSpeed>
|
||||
|
||||
<!-- 初始发射时的随机散射角度(左右各多少度) -->
|
||||
<initRotateAngle>35</initRotateAngle>
|
||||
|
||||
<!-- 失去目标后多少 Tick 后自毁,可以是一个范围,如 "120~180" -->
|
||||
<destroyTicksAfterLosingTrack>150</destroyTicksAfterLosingTrack>
|
||||
|
||||
<!-- 子弹离目标多近时就直接判定为命中 -->
|
||||
<impactThreshold>2.1</impactThreshold>
|
||||
</li>
|
||||
<li Class="ArachnaeSwarm.ShotgunExtension">
|
||||
<pelletCount>3</pelletCount>
|
||||
</li>
|
||||
</modExtensions>
|
||||
<comps>
|
||||
<li Class="CompProperties_ProjectileEffecter">
|
||||
<effecterDef>Shell_AcidSpitStream</effecterDef>
|
||||
</li>
|
||||
<li Class="CompProperties_ProjectileEffecter">
|
||||
<effecterDef>Shell_AcidSpitLaunched</effecterDef>
|
||||
</li>
|
||||
</comps>
|
||||
</ThingDef>
|
||||
|
||||
@@ -38,4 +38,230 @@
|
||||
</li>
|
||||
</comps>
|
||||
</ThingDef>
|
||||
|
||||
<!-- T0 -->
|
||||
<AbilityDef ParentName="ARA_CocoonSpew_Base">
|
||||
<defName>ARA_Cocoon_Cloth</defName>
|
||||
<label>投放织物孵化茧</label>
|
||||
<description>投放一枚织物茧,内含可以孵化一套基础织物的营养和遗传物质——参阅茧的超链接,了解其能生产的所有装备的特点。</description>
|
||||
<iconPath>UI/Commands/EggSpew</iconPath>
|
||||
<comps>
|
||||
<li Class="CompProperties_AbilityLaunchProjectile">
|
||||
<projectileDef>ARA_Cocoon_Cloth_Proj</projectileDef>
|
||||
</li>
|
||||
<li Class="ArachnaeSwarm.CompProperties_AbilityResearchPrereq">
|
||||
<requiredResearch>ARA_Technology_4DIL</requiredResearch>
|
||||
<failMessage>需要科技 基因节点DIL-4"编织" 以解锁此孵化路径</failMessage>
|
||||
</li>
|
||||
</comps>
|
||||
</AbilityDef>
|
||||
<ThingDef ParentName="ARA_CocoonSpew_Base_Proj">
|
||||
<defName>ARA_Cocoon_Cloth_Proj</defName>
|
||||
<projectile>
|
||||
<spawnsThingDef>ARA_Cocoon_Cloth</spawnsThingDef>
|
||||
</projectile>
|
||||
</ThingDef>
|
||||
<ThingDef ParentName="ARA_Cocoon_Base">
|
||||
<defName>ARA_Cocoon_Cloth</defName>
|
||||
<label>阿拉克涅孵化茧 基础织物</label>
|
||||
<description>一个脆弱、易燃、黏滑的囊状物,是阿拉克涅工艺种所诞之卵,内含孵化一套基础织物装备的营养物质,可以通过阿拉克涅工艺种的交互完成激活进程——参阅茧的超链接,了解其能生产的所有装备的特点。\n\n孵化茧对温度极度敏感(该类型的茧适温为-30~55°C),需要小心保护!</description>
|
||||
<descriptionHyperlinks>
|
||||
<ThingDef>ARA_Bodystocking_White</ThingDef>
|
||||
<ThingDef>ARA_Bodystocking_Black</ThingDef>
|
||||
</descriptionHyperlinks>
|
||||
<researchPrerequisites>
|
||||
<li>ARA_Technology_4DIL</li>
|
||||
</researchPrerequisites>
|
||||
|
||||
<comps>
|
||||
<!-- The new, GrowthVat-style fuel component -->
|
||||
<li Class="ArachnaeSwarm.CompProperties_RefuelableNutrition">
|
||||
<fuelCapacity>10</fuelCapacity>
|
||||
<fuelLabel>营养</fuelLabel>
|
||||
<fuelFilter>
|
||||
<categories>
|
||||
<li>Foods</li>
|
||||
</categories>
|
||||
</fuelFilter>
|
||||
<fuelConsumptionRate>0</fuelConsumptionRate> <!-- IMPORTANT: Disable base class consumption -->
|
||||
<showAllowAutoRefuelToggle>true</showAllowAutoRefuelToggle>
|
||||
<initialFuelPercent>1</initialFuelPercent>
|
||||
<autoRefuelPercent>1</autoRefuelPercent>
|
||||
</li>
|
||||
<!-- The refactored producer component -->
|
||||
<li Class="ArachnaeSwarm.CompProperties_InteractiveProducer">
|
||||
<processes>
|
||||
<li>
|
||||
<thingDef>ARA_Bodystocking_White</thingDef>
|
||||
<productionTicks>6000</productionTicks>
|
||||
<totalNutritionNeeded>1</totalNutritionNeeded>
|
||||
</li>
|
||||
<li>
|
||||
<thingDef>ARA_Bodystocking_Black</thingDef>
|
||||
<productionTicks>6000</productionTicks>
|
||||
<totalNutritionNeeded>1</totalNutritionNeeded>
|
||||
</li>
|
||||
</processes>
|
||||
|
||||
<whitelist>
|
||||
<li>ArachnaeNode_Race_WeaponSmith</li>
|
||||
</whitelist>
|
||||
<spawnCount>1</spawnCount>
|
||||
<destroyOnSpawn>True</destroyOnSpawn>
|
||||
<minSafeTemperature>-30</minSafeTemperature>
|
||||
<maxSafeTemperature>55</maxSafeTemperature>
|
||||
<penaltyPerDegreePerTick>0.00001</penaltyPerDegreePerTick>
|
||||
<damagePerTickWhenUnfueled>0.2</damagePerTickWhenUnfueled>
|
||||
<minNutritionToStart>1.0</minNutritionToStart>
|
||||
|
||||
<qualityThresholds>
|
||||
<li>
|
||||
<quality>Legendary</quality>
|
||||
<threshold>0.99</threshold>
|
||||
</li>
|
||||
<li>
|
||||
<quality>Masterwork</quality>
|
||||
<threshold>0.90</threshold>
|
||||
</li>
|
||||
<li>
|
||||
<quality>Excellent</quality>
|
||||
<threshold>0.70</threshold>
|
||||
</li>
|
||||
<li>
|
||||
<quality>Good</quality>
|
||||
<threshold>0.50</threshold>
|
||||
</li>
|
||||
<li>
|
||||
<quality>Normal</quality>
|
||||
<threshold>0.20</threshold>
|
||||
</li>
|
||||
<li>
|
||||
<quality>Poor</quality>
|
||||
<threshold>0.10</threshold>
|
||||
</li>
|
||||
</qualityThresholds>
|
||||
</li>
|
||||
<li Class="ArachnaeSwarm.CompProperties_TemperatureRuinableDamage">
|
||||
<minSafeTemperature>-30</minSafeTemperature>
|
||||
<maxSafeTemperature>55</maxSafeTemperature>
|
||||
<progressPerDegreePerTick>0.00005</progressPerDegreePerTick>
|
||||
<damagePerTick>0.005</damagePerTick>
|
||||
<recoveryRate>0.001</recoveryRate>
|
||||
</li>
|
||||
</comps>
|
||||
</ThingDef>
|
||||
<AbilityDef ParentName="ARA_CocoonSpew_Base">
|
||||
<defName>ARA_Cocoon_Wepaon</defName>
|
||||
<label>投放武装器官孵化茧</label>
|
||||
<description>投放一枚武装器官茧,内含可以孵化一套基础武装器官的营养和遗传物质——参阅茧的超链接,了解其能生产的所有装备的特点。</description>
|
||||
<iconPath>UI/Commands/EggSpew</iconPath>
|
||||
<comps>
|
||||
<li Class="CompProperties_AbilityLaunchProjectile">
|
||||
<projectileDef>ARA_Cocoon_Wepaon_Proj</projectileDef>
|
||||
</li>
|
||||
</comps>
|
||||
</AbilityDef>
|
||||
<ThingDef ParentName="ARA_CocoonSpew_Base_Proj">
|
||||
<defName>ARA_Cocoon_Wepaon_Proj</defName>
|
||||
<projectile>
|
||||
<spawnsThingDef>ARA_Cocoon_Wepaon</spawnsThingDef>
|
||||
</projectile>
|
||||
</ThingDef>
|
||||
<ThingDef ParentName="ARA_Cocoon_Base">
|
||||
<defName>ARA_Cocoon_Wepaon</defName>
|
||||
<label>阿拉克涅孵化茧 武装器官</label>
|
||||
<description>一个布满尖刺的囊状物,是阿拉克涅工艺种所诞之卵,内含孵化一个武装器官的营养物质,可以通过阿拉克涅工艺种的交互完成激活进程——参阅茧的超链接,了解其能生产的所有装备的特点。\n\n孵化茧对温度极度敏感(该类型的茧适温为-20~35°C),需要小心保护!</description>
|
||||
<descriptionHyperlinks>
|
||||
<ThingDef>ARA_MW_Bone_Sword</ThingDef>
|
||||
<ThingDef>ARA_RW_Basic_Acid_Bladder_Gun</ThingDef>
|
||||
<ThingDef>ARA_RW_Basic_Fist_Needle_Gun</ThingDef>
|
||||
</descriptionHyperlinks>
|
||||
<researchPrerequisites>
|
||||
<li>ARA_Technology_5DIL</li>
|
||||
</researchPrerequisites>
|
||||
|
||||
<comps>
|
||||
<!-- The new, GrowthVat-style fuel component -->
|
||||
<li Class="ArachnaeSwarm.CompProperties_RefuelableNutrition">
|
||||
<fuelCapacity>10</fuelCapacity>
|
||||
<fuelLabel>营养</fuelLabel>
|
||||
<fuelFilter>
|
||||
<categories>
|
||||
<li>Foods</li>
|
||||
</categories>
|
||||
</fuelFilter>
|
||||
<fuelConsumptionRate>0</fuelConsumptionRate> <!-- IMPORTANT: Disable base class consumption -->
|
||||
<showAllowAutoRefuelToggle>true</showAllowAutoRefuelToggle>
|
||||
<initialFuelPercent>1</initialFuelPercent>
|
||||
<autoRefuelPercent>1</autoRefuelPercent>
|
||||
</li>
|
||||
<!-- The refactored producer component -->
|
||||
<li Class="ArachnaeSwarm.CompProperties_InteractiveProducer">
|
||||
<processes>
|
||||
<li>
|
||||
<thingDef>ARA_MW_Bone_Sword</thingDef>
|
||||
<productionTicks>60000</productionTicks>
|
||||
<totalNutritionNeeded>15</totalNutritionNeeded>
|
||||
</li>
|
||||
<li>
|
||||
<thingDef>ARA_RW_Basic_Fist_Needle_Gun</thingDef>
|
||||
<productionTicks>40000</productionTicks>
|
||||
<totalNutritionNeeded>10</totalNutritionNeeded>
|
||||
<requiredResearch>ARA_Technology_5PAV</requiredResearch>
|
||||
</li>
|
||||
<li>
|
||||
<thingDef>ARA_RW_Basic_Acid_Bladder_Gun</thingDef>
|
||||
<productionTicks>80000</productionTicks>
|
||||
<totalNutritionNeeded>30</totalNutritionNeeded>
|
||||
<requiredResearch>ARA_Technology_7VXI</requiredResearch>
|
||||
</li>
|
||||
</processes>
|
||||
|
||||
<whitelist>
|
||||
<li>ArachnaeNode_Race_WeaponSmith</li>
|
||||
</whitelist>
|
||||
<spawnCount>1</spawnCount>
|
||||
<destroyOnSpawn>True</destroyOnSpawn>
|
||||
<minSafeTemperature>-20</minSafeTemperature>
|
||||
<maxSafeTemperature>35</maxSafeTemperature>
|
||||
<penaltyPerDegreePerTick>0.00001</penaltyPerDegreePerTick>
|
||||
<damagePerTickWhenUnfueled>0.2</damagePerTickWhenUnfueled>
|
||||
<minNutritionToStart>1.0</minNutritionToStart>
|
||||
|
||||
<qualityThresholds>
|
||||
<li>
|
||||
<quality>Legendary</quality>
|
||||
<threshold>0.99</threshold>
|
||||
</li>
|
||||
<li>
|
||||
<quality>Masterwork</quality>
|
||||
<threshold>0.90</threshold>
|
||||
</li>
|
||||
<li>
|
||||
<quality>Excellent</quality>
|
||||
<threshold>0.70</threshold>
|
||||
</li>
|
||||
<li>
|
||||
<quality>Good</quality>
|
||||
<threshold>0.50</threshold>
|
||||
</li>
|
||||
<li>
|
||||
<quality>Normal</quality>
|
||||
<threshold>0.20</threshold>
|
||||
</li>
|
||||
<li>
|
||||
<quality>Poor</quality>
|
||||
<threshold>0.10</threshold>
|
||||
</li>
|
||||
</qualityThresholds>
|
||||
</li>
|
||||
<li Class="ArachnaeSwarm.CompProperties_TemperatureRuinableDamage">
|
||||
<minSafeTemperature>-20</minSafeTemperature>
|
||||
<maxSafeTemperature>35</maxSafeTemperature>
|
||||
<progressPerDegreePerTick>0.00005</progressPerDegreePerTick>
|
||||
<damagePerTick>0.005</damagePerTick>
|
||||
<recoveryRate>0.001</recoveryRate>
|
||||
</li>
|
||||
</comps>
|
||||
</ThingDef>
|
||||
</Defs>
|
||||
13
1.6/1.6/Defs/WeaponTraitDefs/ARA_WeaponCategoryDefs.xml
Normal file
13
1.6/1.6/Defs/WeaponTraitDefs/ARA_WeaponCategoryDefs.xml
Normal file
@@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<Defs>
|
||||
<WeaponCategoryDef>
|
||||
<defName>ARA_Huge_Weapon_Category</defName>
|
||||
<label>大型武装器官</label>
|
||||
<description>这种武装器官相当巨大,只有那些大型阿拉克涅督虫(体型大于2.0)才能使用此武器。</description>
|
||||
</WeaponCategoryDef>
|
||||
<WeaponCategoryDef>
|
||||
<defName>ARA_Weapon_Damage_Category</defName>
|
||||
<label>特殊武装器官</label>
|
||||
<description>这种武装器官除了造成常规伤害外,还能引起其他的效果。</description>
|
||||
</WeaponCategoryDef>
|
||||
</Defs>
|
||||
47
1.6/1.6/Defs/WeaponTraitDefs/ARA_WeaponTraitDefs.xml
Normal file
47
1.6/1.6/Defs/WeaponTraitDefs/ARA_WeaponTraitDefs.xml
Normal file
@@ -0,0 +1,47 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<Defs>
|
||||
<WeaponTraitDef>
|
||||
<defName>ARA_Huge_Weapon</defName>
|
||||
<label>大型武装器官</label>
|
||||
<description>这种武装器官相当巨大,只有那些大型阿拉克涅督虫(体型大于2.0)才能使用此武器。</description>
|
||||
<commonality>1</commonality>
|
||||
<weaponCategory>ARA_Huge_Weapon_Category</weaponCategory>
|
||||
<statOffsets>
|
||||
</statOffsets>
|
||||
<statFactors>
|
||||
</statFactors>
|
||||
</WeaponTraitDef>
|
||||
<WeaponTraitDef>
|
||||
<defName>ARA_Weapon_Damage_Acid</defName>
|
||||
<label>阿拉克涅酸液</label>
|
||||
<description>这种武装器官的射弹命中敌人时,会在对方身上留下造成持续性伤害的酸液。</description>
|
||||
<commonality>1</commonality>
|
||||
<weaponCategory>ARA_Weapon_Damage_Category</weaponCategory>
|
||||
<statOffsets>
|
||||
</statOffsets>
|
||||
<statFactors>
|
||||
</statFactors>
|
||||
</WeaponTraitDef>
|
||||
<WeaponTraitDef>
|
||||
<defName>ARA_Weapon_Damage_Toxid</defName>
|
||||
<label>阿拉克涅毒素</label>
|
||||
<description>这种武装器官的射弹命中敌人时,会向对方体内注入毒素使其中毒。</description>
|
||||
<commonality>1</commonality>
|
||||
<weaponCategory>ARA_Weapon_Damage_Category</weaponCategory>
|
||||
<statOffsets>
|
||||
</statOffsets>
|
||||
<statFactors>
|
||||
</statFactors>
|
||||
</WeaponTraitDef>
|
||||
<WeaponTraitDef>
|
||||
<defName>ARA_Weapon_Damage_Spawn</defName>
|
||||
<label>阿拉克涅子巢</label>
|
||||
<description>这种武装器官的主要攻击方式是释放辅虫,其中一些会直接把辅虫往敌人中投掷,另一些则会使辅虫跟踪和吸附敌军以造成伤害。</description>
|
||||
<commonality>1</commonality>
|
||||
<weaponCategory>ARA_Weapon_Damage_Category</weaponCategory>
|
||||
<statOffsets>
|
||||
</statOffsets>
|
||||
<statFactors>
|
||||
</statFactors>
|
||||
</WeaponTraitDef>
|
||||
</Defs>
|
||||
Binary file not shown.
@@ -7,7 +7,7 @@
|
||||
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:verb\\verb_shootmeltbeam.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|d:\\steamlibrary\\steamapps\\common\\rimworld\\mods\\arachnaeswarm\\source\\arachnaeswarm\\verb\\compcleave.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"AbsoluteMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\verb\\compcleave.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:verb\\compcleave.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
}
|
||||
],
|
||||
@@ -18,8 +18,12 @@
|
||||
"DocumentGroups": [
|
||||
{
|
||||
"DockedWidth": 200,
|
||||
"SelectedChildIndex": 0,
|
||||
"SelectedChildIndex": 1,
|
||||
"Children": [
|
||||
{
|
||||
"$type": "Bookmark",
|
||||
"Name": "ST:0:0:{1c4feeaa-4718-4aa9-859d-94ce25d182ba}"
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 0,
|
||||
@@ -33,10 +37,6 @@
|
||||
"WhenOpened": "2025-09-09T03:04:00.299Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Bookmark",
|
||||
"Name": "ST:0:0:{1c4feeaa-4718-4aa9-859d-94ce25d182ba}"
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 1,
|
||||
@@ -47,8 +47,7 @@
|
||||
"RelativeToolTip": "Verb\\CompCleave.cs",
|
||||
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAwAAAAmAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-09-09T03:03:30.118Z",
|
||||
"EditorCaption": ""
|
||||
"WhenOpened": "2025-09-09T03:03:30.118Z"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -0,0 +1,154 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using UnityEngine;
|
||||
using Verse;
|
||||
using RimWorld;
|
||||
|
||||
namespace WulaFallenEmpire
|
||||
{
|
||||
public class CompCustomUniqueWeapon : CompUniqueWeapon
|
||||
{
|
||||
// 使用 'new' 关键字来明确隐藏基类成员,解决 CS0108 警告
|
||||
public new CompProperties_CustomUniqueWeapon Props => (CompProperties_CustomUniqueWeapon)props;
|
||||
|
||||
private List<WeaponTraitDef> customTraits = new List<WeaponTraitDef>();
|
||||
|
||||
// 使用 'new' 关键字隐藏基类属性,解决 CS0506 错误
|
||||
public new List<WeaponTraitDef> TraitsListForReading => customTraits;
|
||||
|
||||
// PostExposeData 是 virtual 的,保留 override
|
||||
public override void PostExposeData()
|
||||
{
|
||||
base.PostExposeData();
|
||||
Scribe_Collections.Look(ref customTraits, "customTraits", LookMode.Def);
|
||||
if (Scribe.mode == LoadSaveMode.PostLoadInit)
|
||||
{
|
||||
if (customTraits == null) customTraits = new List<WeaponTraitDef>();
|
||||
SetupCustomTraits(fromSave: true);
|
||||
}
|
||||
}
|
||||
|
||||
// PostPostMake 是 virtual 的,保留 override
|
||||
public override void PostPostMake()
|
||||
{
|
||||
InitializeCustomTraits();
|
||||
if (parent.TryGetComp<CompQuality>(out var comp))
|
||||
{
|
||||
comp.SetQuality(QualityUtility.GenerateQuality(QualityGenerator.Super), ArtGenerationContext.Outsider);
|
||||
}
|
||||
}
|
||||
|
||||
private void InitializeCustomTraits()
|
||||
{
|
||||
if (customTraits == null) customTraits = new List<WeaponTraitDef>();
|
||||
customTraits.Clear();
|
||||
|
||||
if (Props.forcedTraits != null)
|
||||
{
|
||||
foreach (var traitToForce in Props.forcedTraits)
|
||||
{
|
||||
if (customTraits.All(t => !t.Overlaps(traitToForce)))
|
||||
{
|
||||
customTraits.Add(traitToForce);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
IntRange traitRange = Props.numTraitsRange ?? new IntRange(1, 3);
|
||||
int totalTraitsTarget = Mathf.Max(customTraits.Count, traitRange.RandomInRange);
|
||||
int missingTraits = totalTraitsTarget - customTraits.Count;
|
||||
|
||||
if (missingTraits > 0)
|
||||
{
|
||||
// CanAddTrait 现在是我们自己的 'new' 方法
|
||||
IEnumerable<WeaponTraitDef> possibleTraits = DefDatabase<WeaponTraitDef>.AllDefs.Where(CanAddTrait);
|
||||
for (int i = 0; i < missingTraits; i++)
|
||||
{
|
||||
if (!possibleTraits.Any()) break;
|
||||
|
||||
var chosenTrait = possibleTraits.RandomElementByWeight(t => t.commonality);
|
||||
customTraits.Add(chosenTrait);
|
||||
|
||||
possibleTraits = possibleTraits.Where(t => t != chosenTrait && !t.Overlaps(chosenTrait));
|
||||
}
|
||||
}
|
||||
|
||||
SetupCustomTraits(fromSave: false);
|
||||
}
|
||||
|
||||
private void SetupCustomTraits(bool fromSave)
|
||||
{
|
||||
foreach (WeaponTraitDef trait in customTraits)
|
||||
{
|
||||
if (trait.abilityProps != null && parent.GetComp<CompEquippableAbilityReloadable>() is CompEquippableAbilityReloadable comp)
|
||||
{
|
||||
comp.props = trait.abilityProps;
|
||||
if (!fromSave)
|
||||
{
|
||||
comp.Notify_PropsChanged();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 使用 'new' 关键字隐藏基类方法,解决 CS0506 错误
|
||||
public new bool CanAddTrait(WeaponTraitDef trait)
|
||||
{
|
||||
if (customTraits.Any(t => t == trait || t.Overlaps(t)))
|
||||
return false;
|
||||
|
||||
if (Props.weaponCategories != null && Props.weaponCategories.Any() && !Props.weaponCategories.Contains(trait.weaponCategory))
|
||||
return false;
|
||||
|
||||
if (customTraits.Count == 0 && !trait.canGenerateAlone)
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
// --- 下面的方法都是 virtual 的,保留 override ---
|
||||
|
||||
public override string TransformLabel(string label) => label;
|
||||
public override Color? ForceColor() => null;
|
||||
|
||||
public override float GetStatOffset(StatDef stat) => customTraits.Sum(t => t.statOffsets.GetStatOffsetFromList(stat));
|
||||
public override float GetStatFactor(StatDef stat) => customTraits.Aggregate(1f, (current, t) => current * t.statFactors.GetStatFactorFromList(stat));
|
||||
|
||||
public override string CompInspectStringExtra()
|
||||
{
|
||||
if (customTraits.NullOrEmpty()) return null;
|
||||
return "WeaponTraits".Translate() + ": " + customTraits.Select(t => t.label).ToCommaList().CapitalizeFirst();
|
||||
}
|
||||
|
||||
public override string CompTipStringExtra()
|
||||
{
|
||||
if (customTraits.NullOrEmpty()) return base.CompTipStringExtra();
|
||||
return "WeaponTraits".Translate() + ": " + customTraits.Select(t => t.label).ToCommaList().CapitalizeFirst();
|
||||
}
|
||||
|
||||
public override IEnumerable<StatDrawEntry> SpecialDisplayStats()
|
||||
{
|
||||
if (customTraits.NullOrEmpty()) yield break;
|
||||
|
||||
var builder = new StringBuilder();
|
||||
builder.AppendLine("Stat_ThingUniqueWeaponTrait_Desc".Translate());
|
||||
builder.AppendLine();
|
||||
|
||||
for (int i = 0; i < customTraits.Count; i++)
|
||||
{
|
||||
WeaponTraitDef trait = customTraits[i];
|
||||
builder.AppendLine(trait.LabelCap.Colorize(ColorLibrary.Yellow));
|
||||
builder.AppendLine(trait.description);
|
||||
if (i < customTraits.Count - 1) builder.AppendLine();
|
||||
}
|
||||
|
||||
yield return new StatDrawEntry(
|
||||
parent.def.IsMeleeWeapon ? StatCategoryDefOf.Weapon_Melee : StatCategoryDefOf.Weapon_Ranged,
|
||||
"Stat_ThingUniqueWeaponTrait_Label".Translate(),
|
||||
customTraits.Select(t => t.label).ToCommaList().CapitalizeFirst(),
|
||||
builder.ToString(),
|
||||
1104);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
using System.Collections.Generic;
|
||||
using Verse;
|
||||
using RimWorld;
|
||||
|
||||
namespace WulaFallenEmpire
|
||||
{
|
||||
public class CompProperties_CustomUniqueWeapon : CompProperties_UniqueWeapon
|
||||
{
|
||||
// A list of traits that will always be added to the weapon.
|
||||
public List<WeaponTraitDef> forcedTraits;
|
||||
|
||||
// The range of traits to randomly add. If not defined in XML, a default of 1-3 will be used.
|
||||
public IntRange? numTraitsRange;
|
||||
|
||||
public CompProperties_CustomUniqueWeapon()
|
||||
{
|
||||
// Point to the implementation of our custom logic.
|
||||
this.compClass = typeof(CompCustomUniqueWeapon);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -68,6 +68,8 @@
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="ARA_CustomUniqueWeapon\CompCustomUniqueWeapon.cs" />
|
||||
<Compile Include="ARA_CustomUniqueWeapon\CompProperties_CustomUniqueWeapon.cs" />
|
||||
<Compile Include="ARA_GiveHediffsInRangeToRace\HediffCompProperties_GiveHediffsInRangeToRace.cs" />
|
||||
<Compile Include="ARA_GiveHediffsInRangeToRace\HediffComp_GiveHediffsInRangeToRace.cs" />
|
||||
<Compile Include="ARA_SpawnPawnFromList\CompProperties_SpawnPawnFromList.cs" />
|
||||
@@ -157,7 +159,6 @@
|
||||
<Compile Include="OPToxicGas.cs" />
|
||||
<Compile Include="PawnRenderNodeWorker_AttachmentBody_NoFlight.cs" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Compile Include="CompAbilityEffect_LaunchMultiProjectile.cs" />
|
||||
</ItemGroup>
|
||||
@@ -171,7 +172,6 @@
|
||||
<ItemGroup>
|
||||
<Compile Include="HediffComp_SpawnPawnOnRemoved.cs" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Compile Include="Projectiles\BulletWithTrail.cs" />
|
||||
<Compile Include="Projectiles\ExplosiveTrackingBulletDef.cs" />
|
||||
|
||||
Reference in New Issue
Block a user