各种描述修改,两个水货武器,科技调整,完善升级树,将武器标签系统搬过来
This commit is contained in:
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user