Merge branch 'master' of https://git.ra3battle.cn/Kalospacer/ArachnaeSwarm
This commit is contained in:
Binary file not shown.
@@ -891,7 +891,7 @@
|
||||
<AbilityDef>
|
||||
<defName>ARA_TerrainHeal_Ability</defName>
|
||||
<label>护士装疗愈</label>
|
||||
<description>从菌毯的营养管线抽取生物质,快速合成治愈素治疗目标,使其在一段时间内快速愈合。</description>
|
||||
<description>从菌毯的营养管线抽取生物质,快速合成治愈素治疗目标,使其在一段时间内快速愈合,只能对拥有自愈能力的阿拉克涅虫群单位使用。</description>
|
||||
<iconPath>ArachnaeSwarm/UI/Abilities/ARA_TerrainHeal_Ability</iconPath>
|
||||
<cooldownTicksRange>3800</cooldownTicksRange>
|
||||
<cooldownPerCharge>true</cooldownPerCharge>
|
||||
@@ -930,6 +930,47 @@
|
||||
<!-- <casterTerrainFailMessage>在阿拉克涅菌毯上才能使用此技能</casterTerrainFailMessage>
|
||||
<disabledReasonKey>不在阿拉克涅菌毯上</disabledReasonKey> -->
|
||||
</li>
|
||||
<li Class="ArachnaeSwarm.CompProperties_AbilityHediffRestriction">
|
||||
<requiredHediffs>
|
||||
<li>ARA_HiveStrength</li>
|
||||
<li>ARA_HiveStrength_Low</li>
|
||||
</requiredHediffs>
|
||||
<targetHediffFailMessage>目标必须是拥有自愈能力的阿拉克涅虫群</targetHediffFailMessage>
|
||||
<disabledReasonKey>只能对拥有自愈能力的阿拉克涅虫群单位使用</disabledReasonKey>
|
||||
</li>
|
||||
</comps>
|
||||
</AbilityDef>
|
||||
|
||||
<AbilityDef>
|
||||
<defName>ARA_Strengthening_Tendon_Jump</defName>
|
||||
<label>短距离跳跃</label>
|
||||
<description>受到强化的肌腱可以让阿拉克涅虫群进行较短距离的跳跃。</description>
|
||||
<iconPath>ArachnaeSwarm/UI/Abilities/ARA_Fighter_Invisibility_jump</iconPath>
|
||||
<cooldownTicksRange>6000</cooldownTicksRange>
|
||||
<hostile>false</hostile>
|
||||
<casterMustBeCapableOfViolence>false</casterMustBeCapableOfViolence>
|
||||
<verbProperties>
|
||||
<verbClass>Verb_CastAbilityJump</verbClass>
|
||||
<violent>false</violent>
|
||||
<forceNormalTimeSpeed>false</forceNormalTimeSpeed>
|
||||
<!-- <warmupTime>0.5</warmupTime> -->
|
||||
<range>6</range>
|
||||
<requireLineOfSight>false</requireLineOfSight>
|
||||
<soundCast>Longjump_Jump</soundCast>
|
||||
<soundLanding>Longjump_Land</soundLanding>
|
||||
<targetParams>
|
||||
<canTargetLocations>true</canTargetLocations>
|
||||
<canTargetPawns>false</canTargetPawns>
|
||||
<canTargetBuildings>false</canTargetBuildings>
|
||||
</targetParams>
|
||||
</verbProperties>
|
||||
<jobDef>CastJump</jobDef>
|
||||
<comps>
|
||||
<li Class="ArachnaeSwarm.CompProperties_AbilityNeedCost">
|
||||
<needDef>Food</needDef>
|
||||
<needCost>0.1</needCost>
|
||||
<failMessage>营养值不足,需要进食</failMessage>
|
||||
</li>
|
||||
</comps>
|
||||
</AbilityDef>
|
||||
</Defs>
|
||||
@@ -703,6 +703,14 @@
|
||||
<solid>false</solid>
|
||||
<bleedRate>0</bleedRate>
|
||||
</BodyPartDef>
|
||||
<BodyPartDef>
|
||||
<defName>ARA_Pouch</defName>
|
||||
<label>囊袋</label>
|
||||
<hitPoints>1</hitPoints>
|
||||
<skinCovered>true</skinCovered>
|
||||
<solid>false</solid>
|
||||
<bleedRate>0.01</bleedRate>
|
||||
</BodyPartDef>
|
||||
|
||||
<BodyPartGroupDef>
|
||||
<defName>ARA_Genitalias</defName>
|
||||
@@ -734,6 +742,11 @@
|
||||
<label>灵能神经束群</label>
|
||||
<listOrder>128</listOrder>
|
||||
</BodyPartGroupDef>
|
||||
<BodyPartGroupDef>
|
||||
<defName>ARA_Pouchs</defName>
|
||||
<label>囊袋</label>
|
||||
<listOrder>129</listOrder>
|
||||
</BodyPartGroupDef>
|
||||
|
||||
<BodyDef>
|
||||
<defName>ArachnaeMyrmecocystus_Body</defName>
|
||||
@@ -1103,6 +1116,15 @@
|
||||
<li>ARA_Toxic_Needles</li>
|
||||
</groups>
|
||||
</li>
|
||||
<!-- 囊袋 -->
|
||||
<li>
|
||||
<def>ARA_Pouch</def>
|
||||
<coverage>0.001</coverage>
|
||||
<depth>Inside</depth>
|
||||
<groups>
|
||||
<li>ARA_Pouchs</li>
|
||||
</groups>
|
||||
</li>
|
||||
</parts>
|
||||
</li>
|
||||
</parts>
|
||||
@@ -1469,6 +1491,15 @@
|
||||
</li>
|
||||
</parts>
|
||||
</li>
|
||||
<!-- 囊袋 -->
|
||||
<li>
|
||||
<def>ARA_Pouch</def>
|
||||
<coverage>0.001</coverage>
|
||||
<depth>Inside</depth>
|
||||
<groups>
|
||||
<li>ARA_Pouchs</li>
|
||||
</groups>
|
||||
</li>
|
||||
</parts>
|
||||
</corePart>
|
||||
</BodyDef>
|
||||
@@ -1836,6 +1867,15 @@
|
||||
<li>Arms</li>
|
||||
</groups>
|
||||
</li>
|
||||
<!-- 囊袋 -->
|
||||
<li>
|
||||
<def>ARA_Pouch</def>
|
||||
<coverage>0.001</coverage>
|
||||
<depth>Inside</depth>
|
||||
<groups>
|
||||
<li>ARA_Pouchs</li>
|
||||
</groups>
|
||||
</li>
|
||||
</parts>
|
||||
</li>
|
||||
</parts>
|
||||
@@ -2208,6 +2248,15 @@
|
||||
<li>ARA_Toxic_Needles</li>
|
||||
</groups>
|
||||
</li>
|
||||
<!-- 囊袋 -->
|
||||
<li>
|
||||
<def>ARA_Pouch</def>
|
||||
<coverage>0.001</coverage>
|
||||
<depth>Inside</depth>
|
||||
<groups>
|
||||
<li>ARA_Pouchs</li>
|
||||
</groups>
|
||||
</li>
|
||||
</parts>
|
||||
</li>
|
||||
<li>
|
||||
@@ -2998,6 +3047,15 @@
|
||||
<li>ARA_Smoke_Chambers</li>
|
||||
</groups>
|
||||
</li>
|
||||
<!-- 囊袋 -->
|
||||
<li>
|
||||
<def>ARA_Pouch</def>
|
||||
<coverage>0.001</coverage>
|
||||
<depth>Inside</depth>
|
||||
<groups>
|
||||
<li>ARA_Pouchs</li>
|
||||
</groups>
|
||||
</li>
|
||||
</parts>
|
||||
</li>
|
||||
</parts>
|
||||
@@ -3352,6 +3410,15 @@
|
||||
<li>Torso</li>
|
||||
</groups>
|
||||
</li>
|
||||
<!-- 囊袋 -->
|
||||
<li>
|
||||
<def>ARA_Pouch</def>
|
||||
<coverage>0.001</coverage>
|
||||
<depth>Inside</depth>
|
||||
<groups>
|
||||
<li>ARA_Pouchs</li>
|
||||
</groups>
|
||||
</li>
|
||||
</parts>
|
||||
</li>
|
||||
</parts>
|
||||
|
||||
@@ -1052,4 +1052,101 @@
|
||||
</li>
|
||||
</comps>
|
||||
</HediffDef>
|
||||
|
||||
<!-- 空天种 -->
|
||||
<HediffDef>
|
||||
<defName>ARA_Skyraider_Base</defName>
|
||||
<label>飞行巨兽</label>
|
||||
<description>阿拉克涅空天种是天空的统治者,她们身躯庞大但又敏捷致命,在携带大型武器的同时还拥有其他人难以企及的机动性。</description>
|
||||
<hediffClass>HediffWithComps</hediffClass>
|
||||
<defaultLabelColor>(0.6, 0.4, 0.8)</defaultLabelColor>
|
||||
<isBad>false</isBad>
|
||||
<scenarioCanAdd>false</scenarioCanAdd>
|
||||
<maxSeverity>1.0</maxSeverity>
|
||||
<stages>
|
||||
<li>
|
||||
<minSeverity>0</minSeverity>
|
||||
<statOffsets>
|
||||
<MoveSpeed>2</MoveSpeed>
|
||||
</statOffsets>
|
||||
</li>
|
||||
</stages>
|
||||
<comps>
|
||||
<li Class="HediffCompProperties_GiveAbility">
|
||||
<abilityDefs>
|
||||
<li>ARA_Skyraider_jump</li>
|
||||
<li>ARA_Skyraider_Hivelord</li>
|
||||
</abilityDefs>
|
||||
</li>
|
||||
<li Class="HediffCompProperties_RemoveIfOtherHediff">
|
||||
<hediffs>
|
||||
<li>ARA_Skyraider_Hivelord</li>
|
||||
</hediffs>
|
||||
</li>
|
||||
</comps>
|
||||
</HediffDef>
|
||||
<AbilityDef>
|
||||
<defName>ARA_Skyraider_Hivelord</defName>
|
||||
<label>空天种转换——巢虫之主</label>
|
||||
<description>使空天种发生内驱性进化,以降低机动力和失去高空机动能力为代价,使其获得向敌方自动投射各种辅虫的能力。\n\n该进化过程不可逆!</description>
|
||||
<iconPath>ArachnaeSwarm/UI/Abilities/ARA_ShieldHead_Protector</iconPath>
|
||||
<cooldownTicksRange>1800</cooldownTicksRange>
|
||||
<hostile>false</hostile>
|
||||
<groupAbility>true</groupAbility>
|
||||
<displayGizmoWhileUndrafted>true</displayGizmoWhileUndrafted>
|
||||
<disableGizmoWhileUndrafted>false</disableGizmoWhileUndrafted>
|
||||
<aiCanUse>true</aiCanUse>
|
||||
<ai_IsOffensive>true</ai_IsOffensive>
|
||||
<targetRequired>false</targetRequired>
|
||||
<jobDef>CastAbilityOnThing</jobDef>
|
||||
<verbProperties>
|
||||
<verbClass>Verb_CastAbility</verbClass>
|
||||
<range>1</range>
|
||||
<warmupTime>12</warmupTime>
|
||||
<soundCast>AcidSpray_Resolve</soundCast>
|
||||
<violent>false</violent>
|
||||
<targetable>false</targetable>
|
||||
<targetParams>
|
||||
<canTargetSelf>True</canTargetSelf>
|
||||
</targetParams>
|
||||
</verbProperties>
|
||||
<comps>
|
||||
<li Class="CompProperties_AbilityGiveHediff">
|
||||
<compClass>CompAbilityEffect_GiveHediff</compClass>
|
||||
<hediffDef>ARA_Skyraider_Hivelord</hediffDef>
|
||||
<onlyApplyToSelf>True</onlyApplyToSelf>
|
||||
<replaceExisting>true</replaceExisting>
|
||||
<severity>1</severity>
|
||||
</li>
|
||||
<li Class="ArachnaeSwarm.CompProperties_AbilityResearchPrereq">
|
||||
<requiredResearch>ARA_Technology_1VTE</requiredResearch>
|
||||
<failMessage>需要科技 节点VTE-1"护卫者" 以解锁进化</failMessage>
|
||||
</li>
|
||||
</comps>
|
||||
</AbilityDef>
|
||||
<HediffDef>
|
||||
<defName>ARA_Skyraider_Hivelord</defName>
|
||||
<label>亚种-领主种</label>
|
||||
<description>这只阿拉克涅空天种已经获得拔耀,在敌方靠近时,会对敌方投掷能够通过近战施加酸烧的酸噬种辅虫。</description>
|
||||
<hediffClass>HediffWithComps</hediffClass>
|
||||
<defaultLabelColor>(0.6, 0.4, 0.8)</defaultLabelColor>
|
||||
<isBad>false</isBad>
|
||||
<scenarioCanAdd>false</scenarioCanAdd>
|
||||
<maxSeverity>1.0</maxSeverity>
|
||||
<stages>
|
||||
<li>
|
||||
<minSeverity>0.01</minSeverity>
|
||||
<statOffsets>
|
||||
<MoveSpeed>1</MoveSpeed>
|
||||
</statOffsets>
|
||||
</li>
|
||||
</stages>
|
||||
<comps>
|
||||
<li Class="ArachnaeSwarm.HediffCompProperties_TopTurret">
|
||||
<turretDef>ARA_Skyraider_Hivelord_Turret</turretDef>
|
||||
<angleOffset>0</angleOffset>
|
||||
<autoAttack>true</autoAttack>
|
||||
</li>
|
||||
</comps>
|
||||
</HediffDef>
|
||||
</Defs>
|
||||
@@ -36,6 +36,7 @@
|
||||
</fixedIngredientFilter>
|
||||
</RecipeDef>
|
||||
|
||||
<!-- 甲壳 -->
|
||||
<RecipeDef ParentName="ARA_SurgeryInstallImplantBase">
|
||||
<defName>ARA_Surgery_Install_Plasteel</defName>
|
||||
<label>玻璃钢甲壳植入</label>
|
||||
@@ -64,7 +65,7 @@
|
||||
</fixedIngredientFilter>
|
||||
<addsHediff>ARA_Plasteel_Shell_Hediff</addsHediff>
|
||||
</RecipeDef>
|
||||
<HediffDef ParentName="ImplantHediffBase">
|
||||
<HediffDef ParentName="AddedBodyPartBase">
|
||||
<defName>ARA_Plasteel_Shell_Hediff</defName>
|
||||
<label>玻璃钢甲壳</label>
|
||||
<hediffClass>Hediff_Implant</hediffClass>
|
||||
@@ -88,13 +89,13 @@
|
||||
</li>
|
||||
</stages>
|
||||
</HediffDef>
|
||||
|
||||
<RecipeDef ParentName="ARA_SurgeryInstallImplantBase">
|
||||
<defName>ARA_Surgery_Install_Huge_Stomach</defName>
|
||||
<label>额外胃囊</label>
|
||||
<description>诱发阿拉克涅虫族的定向变异,使其储存营养的胃囊增大,以储存更多食物。</description>
|
||||
<defName>ARA_Surgery_Install_Shell_Thorn</defName>
|
||||
<label>甲壳棘刺植入</label>
|
||||
<description>为阿拉克涅虫族的甲壳植入两排棘刺腔管,它们是拥有半自主意识的器官,会对附近的敌军自动发射棘刺。此外,该变异也会加厚甲壳以获得更强的防御力。</description>
|
||||
<descriptionHyperlinks>
|
||||
<HediffDef>ARA_Huge_Stomach_Hediff</HediffDef>
|
||||
<HediffDef>ARA_Shell_Thorn_Hediff</HediffDef>
|
||||
<thingDef>ARA_Shell_Thorn_Turret</thingDef>
|
||||
</descriptionHyperlinks>
|
||||
<jobString>正在实施定向变异</jobString>
|
||||
<ingredients>
|
||||
@@ -107,9 +108,252 @@
|
||||
<count>6</count>
|
||||
</li>
|
||||
</ingredients>
|
||||
<appliedOnFixedBodyParts>
|
||||
<li>ARA_Chitin_Shell</li>
|
||||
</appliedOnFixedBodyParts>
|
||||
<fixedIngredientFilter>
|
||||
<thingDefs>
|
||||
<li>ARA_Activated_Bacterium</li>
|
||||
</thingDefs>
|
||||
</fixedIngredientFilter>
|
||||
<addsHediff>ARA_Shell_Thorn_Hediff</addsHediff>
|
||||
</RecipeDef>
|
||||
<HediffDef ParentName="AddedBodyPartBase">
|
||||
<defName>ARA_Shell_Thorn_Hediff</defName>
|
||||
<label>甲壳棘刺</label>
|
||||
<hediffClass>Hediff_Implant</hediffClass>
|
||||
<description>阿拉克涅虫族在甲壳上植入了两排棘刺腔管,只要不处于近战状态下,它们就会对靠近的敌人自动发射棘刺攻击对方。</description>
|
||||
<descriptionHyperlinks>
|
||||
<RecipeDef>ARA_Surgery_Install_Shell_Thorn</RecipeDef>
|
||||
<thingDef>ARA_Shell_Thorn_Turret</thingDef>
|
||||
</descriptionHyperlinks>
|
||||
<addedPartProps>
|
||||
<betterThanNatural>true</betterThanNatural>
|
||||
</addedPartProps>
|
||||
<stages>
|
||||
<li>
|
||||
<statOffsets>
|
||||
<ArmorRating_Sharp>0.2</ArmorRating_Sharp>
|
||||
<ArmorRating_Blunt>0.2</ArmorRating_Blunt>
|
||||
</statOffsets>
|
||||
</li>
|
||||
</stages>
|
||||
<comps>
|
||||
<li Class="ArachnaeSwarm.HediffCompProperties_TopTurret">
|
||||
<turretDef>ARA_Shell_Thorn_Turret</turretDef>
|
||||
<angleOffset>0</angleOffset>
|
||||
<autoAttack>true</autoAttack>
|
||||
</li>
|
||||
</comps>
|
||||
</HediffDef>
|
||||
<RecipeDef ParentName="ARA_SurgeryInstallImplantBase">
|
||||
<defName>ARA_Surgery_Install_Reactive_Shell</defName>
|
||||
<label>反应甲壳植入</label>
|
||||
<description>为阿拉克涅虫族的甲壳植入特殊的反应甲壳,它们是一次性的,可以在伤害袭来的时候弹出甲壳挡住伤害以免伤及本体。</description>
|
||||
<descriptionHyperlinks>
|
||||
<HediffDef>ARA_Reactive_Shell_Hediff</HediffDef>
|
||||
</descriptionHyperlinks>
|
||||
<jobString>正在实施定向变异</jobString>
|
||||
<ingredients>
|
||||
<li>
|
||||
<filter>
|
||||
<thingDefs>
|
||||
<li>ARA_Activated_Bacterium</li>
|
||||
</thingDefs>
|
||||
</filter>
|
||||
<count>6</count>
|
||||
</li>
|
||||
</ingredients>
|
||||
<fixedIngredientFilter>
|
||||
<thingDefs>
|
||||
<li>ARA_Activated_Bacterium</li>
|
||||
</thingDefs>
|
||||
</fixedIngredientFilter>
|
||||
<appliedOnFixedBodyParts>
|
||||
<li>ARA_Chitin_Shell</li>
|
||||
</appliedOnFixedBodyParts>
|
||||
<addsHediff>ARA_Reactive_Shell_Hediff</addsHediff>
|
||||
</RecipeDef>
|
||||
<HediffDef ParentName="AddedBodyPartBase">
|
||||
<defName>ARA_Reactive_Shell_Hediff</defName>
|
||||
<label>反应甲壳</label>
|
||||
<description>阿拉克涅虫族的反应甲壳可以使其免受一次外来伤害,但是随后这块甲片就会弹开,不再给予防御力。</description>
|
||||
<hediffClass>ArachnaeSwarm.Hediff_DamageShield</hediffClass>
|
||||
<defaultLabelColor>(0.52, 1, 0.95)</defaultLabelColor>
|
||||
<descriptionHyperlinks>
|
||||
<RecipeDef>ARA_Surgery_Install_Reactive_Shell</RecipeDef>
|
||||
</descriptionHyperlinks>
|
||||
<isBad>false</isBad>
|
||||
<debugLabelExtra>other</debugLabelExtra>
|
||||
<initialSeverity>1</initialSeverity> <!-- 初始层数设置为10 -->
|
||||
<maxSeverity>1</maxSeverity> <!-- 最大层数,可以根据需要调整 -->
|
||||
</HediffDef>
|
||||
|
||||
<!-- 腿部 -->
|
||||
<RecipeDef ParentName="ARA_SurgeryInstallImplantBase">
|
||||
<defName>ARA_Surgery_Install_Strengthening_Tendon</defName>
|
||||
<label>强化肌腱植入</label>
|
||||
<description>为阿拉克涅虫族的腿部植入强化肌腱,允许虫族以更高的速度移动并获得短距离跳跃的能力。</description>
|
||||
<descriptionHyperlinks>
|
||||
<HediffDef>ARA_Strengthening_Tendon_Hediff</HediffDef>
|
||||
</descriptionHyperlinks>
|
||||
<jobString>正在实施定向变异</jobString>
|
||||
<ingredients>
|
||||
<li>
|
||||
<filter>
|
||||
<thingDefs>
|
||||
<li>ARA_Activated_Bacterium</li>
|
||||
</thingDefs>
|
||||
</filter>
|
||||
<count>6</count>
|
||||
</li>
|
||||
</ingredients>
|
||||
<fixedIngredientFilter>
|
||||
<thingDefs>
|
||||
<li>ARA_Activated_Bacterium</li>
|
||||
</thingDefs>
|
||||
</fixedIngredientFilter>
|
||||
<appliedOnFixedBodyParts>
|
||||
<li>Leg</li>
|
||||
</appliedOnFixedBodyParts>
|
||||
<addsHediff>ARA_Strengthening_Tendon_Hediff</addsHediff>
|
||||
</RecipeDef>
|
||||
<HediffDef ParentName="AddedBodyPartBase">
|
||||
<defName>ARA_Strengthening_Tendon_Hediff</defName>
|
||||
<label>强化肌腱</label>
|
||||
<hediffClass>Hediff_Implant</hediffClass>
|
||||
<description>阿拉克涅虫族受到强化的肌腱使得她们能高速移动,同时获得跳跃能力。</description>
|
||||
<descriptionHyperlinks>
|
||||
<RecipeDef>ARA_Surgery_Install_Plasteel</RecipeDef>
|
||||
</descriptionHyperlinks>
|
||||
<addedPartProps>
|
||||
<betterThanNatural>true</betterThanNatural>
|
||||
</addedPartProps>
|
||||
<stages>
|
||||
<li>
|
||||
<minSeverity>0</minSeverity>
|
||||
<statOffsets>
|
||||
<MoveSpeed>0.5</MoveSpeed>
|
||||
</statOffsets>
|
||||
</li>
|
||||
</stages>
|
||||
<comps>
|
||||
<li Class="HediffCompProperties_GiveAbility">
|
||||
<abilityDefs>
|
||||
<li>ARA_Strengthening_Tendon_Jump</li>
|
||||
</abilityDefs>
|
||||
</li>
|
||||
</comps>
|
||||
</HediffDef>
|
||||
<RecipeDef ParentName="ARA_SurgeryInstallImplantBase">
|
||||
<defName>ARA_Surgery_Install_Slide_Patagium</defName>
|
||||
<label>滑行翼膜植入</label>
|
||||
<description>为阿拉克涅虫族的腿部植入滑行翼膜,允许虫族在菌毯上活动时获得极高的速度。</description>
|
||||
<descriptionHyperlinks>
|
||||
<HediffDef>ARA_Slide_Patagium_Hediff</HediffDef>
|
||||
</descriptionHyperlinks>
|
||||
<jobString>正在实施定向变异</jobString>
|
||||
<ingredients>
|
||||
<li>
|
||||
<filter>
|
||||
<thingDefs>
|
||||
<li>ARA_Activated_Bacterium</li>
|
||||
</thingDefs>
|
||||
</filter>
|
||||
<count>6</count>
|
||||
</li>
|
||||
</ingredients>
|
||||
<fixedIngredientFilter>
|
||||
<thingDefs>
|
||||
<li>ARA_Activated_Bacterium</li>
|
||||
</thingDefs>
|
||||
</fixedIngredientFilter>
|
||||
<appliedOnFixedBodyParts>
|
||||
<li>Leg</li>
|
||||
</appliedOnFixedBodyParts>
|
||||
<addsHediff>ARA_Slide_Patagium_Hediff</addsHediff>
|
||||
</RecipeDef>
|
||||
<HediffDef ParentName="AddedBodyPartBase">
|
||||
<defName>ARA_Slide_Patagium_Hediff</defName>
|
||||
<label>滑行翼膜</label>
|
||||
<hediffClass>Hediff_Implant</hediffClass>
|
||||
<description>阿拉克涅虫族腿部的滑行翼膜可以让她们在菌毯上快速移动,但是离开菌毯后加成将立刻失效。</description>
|
||||
<descriptionHyperlinks>
|
||||
<RecipeDef>ARA_Surgery_Install_Plasteel</RecipeDef>
|
||||
</descriptionHyperlinks>
|
||||
<addedPartProps>
|
||||
<betterThanNatural>true</betterThanNatural>
|
||||
</addedPartProps>
|
||||
<maxSeverity>1.0</maxSeverity>
|
||||
<minSeverity>0.01</minSeverity>
|
||||
<stages>
|
||||
<li>
|
||||
<becomeVisible>false</becomeVisible>
|
||||
<minSeverity>0</minSeverity>
|
||||
<label>无</label>
|
||||
</li>
|
||||
<li>
|
||||
<minSeverity>0.1</minSeverity>
|
||||
<statOffsets>
|
||||
<MoveSpeed>0.5</MoveSpeed>
|
||||
</statOffsets>
|
||||
</li>
|
||||
<li>
|
||||
<minSeverity>0.5</minSeverity>
|
||||
<statOffsets>
|
||||
<MoveSpeed>1</MoveSpeed>
|
||||
</statOffsets>
|
||||
</li>
|
||||
<li>
|
||||
<minSeverity>0.8</minSeverity>
|
||||
<statOffsets>
|
||||
<MoveSpeed>2</MoveSpeed>
|
||||
</statOffsets>
|
||||
</li>
|
||||
</stages>
|
||||
<comps>
|
||||
<li Class="ArachnaeSwarm.HediffCompProperties_TerrainBasedSeverity">
|
||||
<interval>180</interval>
|
||||
|
||||
<!-- 目标地形列表 -->
|
||||
<terrainDefs>
|
||||
<!--<li>SterileTile</li> 无菌地砖 -->
|
||||
<!-- 您可以在这里添加更多地形, 比如: -->
|
||||
<li>ARA_InsectCreep</li>
|
||||
<li>ARA_InsectCreepFloor</li>
|
||||
</terrainDefs>
|
||||
|
||||
<!-- 站在目标地形上时,每次检查的严重性变化量 -->
|
||||
<severityOnTerrain>0.05</severityOnTerrain>
|
||||
|
||||
<!-- 不在目标地形上时,每次检查的严重性变化量 (负数表示减少) -->
|
||||
<severityOffTerrain>-2</severityOffTerrain>
|
||||
</li>
|
||||
</comps>
|
||||
</HediffDef>
|
||||
|
||||
<!-- 胃 -->
|
||||
<RecipeDef ParentName="ARA_SurgeryInstallImplantBase">
|
||||
<defName>ARA_Surgery_Install_Huge_Stomach</defName>
|
||||
<label>额外胃囊</label>
|
||||
<description>诱发阿拉克涅虫族的定向变异,使其储存营养的胃囊增大,以储存更多食物。</description>
|
||||
<descriptionHyperlinks>
|
||||
<HediffDef>ARA_Huge_Stomach_Hediff</HediffDef>
|
||||
</descriptionHyperlinks>
|
||||
<jobString>正在实施定向变异</jobString>
|
||||
<appliedOnFixedBodyParts>
|
||||
<li>Stomach</li>
|
||||
</appliedOnFixedBodyParts>
|
||||
<ingredients>
|
||||
<li>
|
||||
<filter>
|
||||
<thingDefs>
|
||||
<li>ARA_Activated_Bacterium</li>
|
||||
</thingDefs>
|
||||
</filter>
|
||||
<count>6</count>
|
||||
</li>
|
||||
</ingredients>
|
||||
<fixedIngredientFilter>
|
||||
<thingDefs>
|
||||
<li>ARA_Activated_Bacterium</li>
|
||||
@@ -118,7 +362,7 @@
|
||||
<addsHediff>ARA_Huge_Stomach_Hediff</addsHediff>
|
||||
<researchPrerequisite>ARA_Technology_1EVO</researchPrerequisite>
|
||||
</RecipeDef>
|
||||
<HediffDef ParentName="ImplantHediffBase">
|
||||
<HediffDef ParentName="AddedBodyPartBase">
|
||||
<defName>ARA_Huge_Stomach_Hediff</defName>
|
||||
<label>额外胃囊</label>
|
||||
<hediffClass>Hediff_Implant</hediffClass>
|
||||
@@ -138,6 +382,7 @@
|
||||
</stages>
|
||||
</HediffDef>
|
||||
|
||||
<!-- 大脑 -->
|
||||
<RecipeDef ParentName="ARA_SurgeryInstallImplantBase">
|
||||
<defName>ARA_Surgery_Install_Cycle_Suppression</defName>
|
||||
<label>生命周期抑制</label>
|
||||
@@ -166,7 +411,7 @@
|
||||
</fixedIngredientFilter>
|
||||
<addsHediff>ARA_Cycle_Suppression_Hediff</addsHediff>
|
||||
</RecipeDef>
|
||||
<HediffDef ParentName="ImplantHediffBase">
|
||||
<HediffDef ParentName="AddedBodyPartBase">
|
||||
<defName>ARA_Cycle_Suppression_Hediff</defName>
|
||||
<label>生命周期抑制</label>
|
||||
<hediffClass>Hediff_Implant</hediffClass>
|
||||
|
||||
@@ -625,6 +625,10 @@
|
||||
<li>ARA_Surgery_Install_Plasteel</li>
|
||||
<li>ARA_Surgery_Install_Huge_Stomach</li>
|
||||
<li>ARA_Surgery_Install_Cycle_Suppression</li>
|
||||
<li>ARA_Surgery_Install_Shell_Thorn</li>
|
||||
<li>ARA_Surgery_Install_Reactive_Shell</li>
|
||||
<li>ARA_Surgery_Install_Strengthening_Tendon</li>
|
||||
<li>ARA_Surgery_Install_Slide_Patagium</li>
|
||||
</recipes>
|
||||
|
||||
<comps>
|
||||
@@ -1331,7 +1335,7 @@
|
||||
<!-- 基础属性设置 -->
|
||||
<statBases>
|
||||
<!-- 移动速度 -->
|
||||
<MoveSpeed>3</MoveSpeed>
|
||||
<MoveSpeed>2.5</MoveSpeed>
|
||||
|
||||
<MaxFlightTime>9999</MaxFlightTime>
|
||||
<FlightCooldown>0</FlightCooldown>
|
||||
@@ -1369,6 +1373,13 @@
|
||||
</race>
|
||||
|
||||
<comps>
|
||||
<li Class="ArachnaeSwarm.CompProperties_HediffGiver">
|
||||
<hediffs>
|
||||
<li>ARA_Skyraider_Base</li>
|
||||
</hediffs>
|
||||
<addChance>1.0</addChance>
|
||||
<allowDuplicates>false</allowDuplicates>
|
||||
</li>
|
||||
<!-- Add our new flight component here -->
|
||||
<li Class="ArachnaeSwarm.CompProperties_PawnFlight"> <!-- 2. 添加我们的飞行组件 -->
|
||||
|
||||
|
||||
@@ -1050,4 +1050,87 @@
|
||||
</shaderParameters>
|
||||
</graphicData>
|
||||
</ThingDef>
|
||||
<ThingDef ParentName="BaseWeaponTurret">
|
||||
<defName>ARA_Shell_Thorn_Turret</defName>
|
||||
<label>棘刺腔管</label>
|
||||
<description>阿拉克涅虫族甲壳上的半自主器官,可以自动发射。</description>
|
||||
<graphicData>
|
||||
<texPath>ArachnaeSwarm/Weapon/ARA_Weapon_Empty</texPath>
|
||||
<graphicClass>Graphic_Single</graphicClass>
|
||||
</graphicData>
|
||||
<descriptionHyperlinks>
|
||||
<HediffDef>ARA_Shell_Thorn_Hediff</HediffDef>
|
||||
</descriptionHyperlinks>
|
||||
<statBases>
|
||||
<AccuracyTouch>1</AccuracyTouch>
|
||||
<AccuracyShort>1</AccuracyShort>
|
||||
<AccuracyMedium>1</AccuracyMedium>
|
||||
<AccuracyLong>1</AccuracyLong>
|
||||
<Mass>0</Mass>
|
||||
</statBases>
|
||||
<verbs>
|
||||
<li>
|
||||
<verbClass>Verb_Shoot</verbClass>
|
||||
<hasStandardCommand>true</hasStandardCommand>
|
||||
<defaultProjectile>Bullet_ARA_Shell_Thorn_Turret</defaultProjectile>
|
||||
<range>8</range>
|
||||
<burstShotCount>12</burstShotCount>
|
||||
<ticksBetweenBurstShots>2</ticksBetweenBurstShots>
|
||||
<soundCast>Shot_TurretSniper</soundCast>
|
||||
<soundCastTail>GunTail_Medium</soundCastTail>
|
||||
<muzzleFlashScale>9</muzzleFlashScale>
|
||||
<defaultCooldownTime>4</defaultCooldownTime>
|
||||
</li>
|
||||
</verbs>
|
||||
</ThingDef>
|
||||
<ThingDef ParentName="BaseBullet">
|
||||
<defName>Bullet_ARA_Shell_Thorn_Turret</defName>
|
||||
<label>小型棘刺</label>
|
||||
<graphicData>
|
||||
<texPath>ArachnaeSwarm/Mote/ARA_Spike_Shell</texPath>
|
||||
<graphicClass>Graphic_Single_AgeSecs</graphicClass>
|
||||
<shaderType>MoteGlow</shaderType>
|
||||
<drawSize>(0.3,0.6)</drawSize>
|
||||
<color>(0.9,0.9,0.9,1)</color>
|
||||
</graphicData>
|
||||
<projectile>
|
||||
<damageDef>Bullet</damageDef>
|
||||
<damageAmountBase>3</damageAmountBase>
|
||||
<armorPenetrationBase>0.75</armorPenetrationBase>
|
||||
<speed>40</speed>
|
||||
</projectile>
|
||||
</ThingDef>
|
||||
<ThingDef ParentName="BaseWeaponTurret">
|
||||
<defName>ARA_Skyraider_Hivelord_Turret</defName>
|
||||
<label>食肉蜂巢</label>
|
||||
<description>阿拉克涅领主种身上的共生器官,会对敌方自动投射酸噬种辅虫。</description>
|
||||
<graphicData>
|
||||
<texPath>ArachnaeSwarm/Weapon/ARA_Weapon_Empty</texPath>
|
||||
<graphicClass>Graphic_Single</graphicClass>
|
||||
</graphicData>
|
||||
<descriptionHyperlinks>
|
||||
<HediffDef>ARA_Skyraider_Hivelord</HediffDef>
|
||||
</descriptionHyperlinks>
|
||||
<statBases>
|
||||
<AccuracyTouch>1</AccuracyTouch>
|
||||
<AccuracyShort>1</AccuracyShort>
|
||||
<AccuracyMedium>1</AccuracyMedium>
|
||||
<AccuracyLong>1</AccuracyLong>
|
||||
<Mass>0</Mass>
|
||||
</statBases>
|
||||
<verbs>
|
||||
<li>
|
||||
<verbClass>Verb_Shoot</verbClass>
|
||||
<hasStandardCommand>true</hasStandardCommand>
|
||||
<defaultProjectile>ArachnaeBase_Race_Acid_Proj</defaultProjectile>
|
||||
<range>32</range>
|
||||
<burstShotCount>2</burstShotCount>
|
||||
<ticksBetweenBurstShots>2</ticksBetweenBurstShots>
|
||||
<soundCast>Shot_TurretSniper</soundCast>
|
||||
<soundCastTail>GunTail_Medium</soundCastTail>
|
||||
<muzzleFlashScale>9</muzzleFlashScale>
|
||||
<defaultCooldownTime>6</defaultCooldownTime>
|
||||
</li>
|
||||
</verbs>
|
||||
</ThingDef>
|
||||
</Defs>
|
||||
@@ -167,7 +167,6 @@
|
||||
</placeWorkers>
|
||||
<designationHotKey>Misc2</designationHotKey>
|
||||
</ThingDef>
|
||||
|
||||
<ThingDef ParentName="BaseWeaponTurret">
|
||||
<defName>ARA_Gun_Beespikeshooter</defName>
|
||||
<label>蜂刺射手</label>
|
||||
@@ -476,7 +475,6 @@
|
||||
<defName>ArachnaeBase_Race_Acidling_Proj</defName>
|
||||
<label>阿拉克涅酸爆种</label>
|
||||
<thingClass>Projectile_SpawnsPawnZeroAge</thingClass>
|
||||
<uiIconPath>Wula/Things/WULA_Attack_Cat/WULA_Cat_Thin_south</uiIconPath>
|
||||
<graphicData>
|
||||
<texPath>Things/Pawn/Animal/Spelopede/Spelopede</texPath>
|
||||
<graphicClass>Graphic_Multi</graphicClass>
|
||||
|
||||
Binary file not shown.
@@ -1,32 +1,7 @@
|
||||
{
|
||||
"Version": 1,
|
||||
"WorkspaceRootPath": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\",
|
||||
"Documents": [
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|d:\\steamlibrary\\steamapps\\common\\rimworld\\mods\\arachnaeswarm\\source\\arachnaeswarm\\abilities\\ara_showtemperaturerange\\compabilityeffect_abilityshowtemperaturerange.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:abilities\\ara_showtemperaturerange\\compabilityeffect_abilityshowtemperaturerange.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\\ara_hediffdefof.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:ara_hediffdefof.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\mainharmony.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:mainharmony.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\\supercarryextension.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:supercarryextension.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\\floatmenuoptionprovider_supercarry.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:floatmenuoptionprovider_supercarry.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\\jobdriver_supercarry.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:jobdriver_supercarry.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
}
|
||||
],
|
||||
"Documents": [],
|
||||
"DocumentGroupContainers": [
|
||||
{
|
||||
"Orientation": 0,
|
||||
@@ -34,84 +9,11 @@
|
||||
"DocumentGroups": [
|
||||
{
|
||||
"DockedWidth": 200,
|
||||
"SelectedChildIndex": 1,
|
||||
"SelectedChildIndex": -1,
|
||||
"Children": [
|
||||
{
|
||||
"$type": "Bookmark",
|
||||
"Name": "ST:0:0:{1c4feeaa-4718-4aa9-859d-94ce25d182ba}"
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 0,
|
||||
"Title": "CompAbilityEffect_AbilityShowTemperatureRange.cs",
|
||||
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Abilities\\ARA_ShowTemperatureRange\\CompAbilityEffect_AbilityShowTemperatureRange.cs",
|
||||
"RelativeDocumentMoniker": "Abilities\\ARA_ShowTemperatureRange\\CompAbilityEffect_AbilityShowTemperatureRange.cs",
|
||||
"ToolTip": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Abilities\\ARA_ShowTemperatureRange\\CompAbilityEffect_AbilityShowTemperatureRange.cs",
|
||||
"RelativeToolTip": "Abilities\\ARA_ShowTemperatureRange\\CompAbilityEffect_AbilityShowTemperatureRange.cs",
|
||||
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAkAAAA9AAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-09-27T08:23:51.83Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 1,
|
||||
"Title": "ARA_HediffDefOf.cs",
|
||||
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\ARA_HediffDefOf.cs",
|
||||
"RelativeDocumentMoniker": "ARA_HediffDefOf.cs",
|
||||
"ToolTip": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\ARA_HediffDefOf.cs",
|
||||
"RelativeToolTip": "ARA_HediffDefOf.cs",
|
||||
"ViewState": "AgIAAAAAAAAAAAAAAAAAAA4AAAAJAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-09-27T03:14:05.334Z"
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 2,
|
||||
"Title": "MainHarmony.cs",
|
||||
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\MainHarmony.cs",
|
||||
"RelativeDocumentMoniker": "MainHarmony.cs",
|
||||
"ToolTip": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\MainHarmony.cs",
|
||||
"RelativeToolTip": "MainHarmony.cs",
|
||||
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-09-27T03:13:34.632Z"
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 3,
|
||||
"Title": "SuperCarryExtension.cs",
|
||||
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\SuperCarryExtension.cs",
|
||||
"RelativeDocumentMoniker": "SuperCarryExtension.cs",
|
||||
"ToolTip": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\SuperCarryExtension.cs",
|
||||
"RelativeToolTip": "SuperCarryExtension.cs",
|
||||
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-09-27T03:13:32.751Z"
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 4,
|
||||
"Title": "FloatMenuOptionProvider_SuperCarry.cs",
|
||||
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\FloatMenuOptionProvider_SuperCarry.cs",
|
||||
"RelativeDocumentMoniker": "FloatMenuOptionProvider_SuperCarry.cs",
|
||||
"ToolTip": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\FloatMenuOptionProvider_SuperCarry.cs",
|
||||
"RelativeToolTip": "FloatMenuOptionProvider_SuperCarry.cs",
|
||||
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-09-27T03:13:31.262Z"
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 5,
|
||||
"Title": "JobDriver_SuperCarry.cs",
|
||||
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\JobDriver_SuperCarry.cs",
|
||||
"RelativeDocumentMoniker": "JobDriver_SuperCarry.cs",
|
||||
"ToolTip": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\JobDriver_SuperCarry.cs",
|
||||
"RelativeToolTip": "JobDriver_SuperCarry.cs",
|
||||
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-09-27T03:13:30.358Z"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -0,0 +1,62 @@
|
||||
using RimWorld;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Verse;
|
||||
|
||||
namespace ArachnaeSwarm
|
||||
{
|
||||
public class CompAbilityEffect_DestroyOwnBodyPart : CompAbilityEffect
|
||||
{
|
||||
public new CompProperties_AbilityDestroyOwnBodyPart Props => (CompProperties_AbilityDestroyOwnBodyPart)props;
|
||||
|
||||
public override void Apply(LocalTargetInfo target, LocalTargetInfo dest)
|
||||
{
|
||||
base.Apply(target, dest);
|
||||
|
||||
Pawn caster = parent.pawn;
|
||||
if (caster == null || caster.Dead)
|
||||
return;
|
||||
|
||||
// 获取要破坏的身体部位
|
||||
List<BodyPartRecord> partsToDestroy = GetBodyPartsToDestroy(caster);
|
||||
|
||||
if (partsToDestroy.Count == 0)
|
||||
return;
|
||||
|
||||
// 对每个部位执行破坏
|
||||
foreach (BodyPartRecord part in partsToDestroy)
|
||||
{
|
||||
DestroyBodyPart(caster, part);
|
||||
}
|
||||
}
|
||||
|
||||
// 获取要破坏的身体部位列表
|
||||
private List<BodyPartRecord> GetBodyPartsToDestroy(Pawn pawn)
|
||||
{
|
||||
List<BodyPartRecord> validParts = new List<BodyPartRecord>();
|
||||
|
||||
// 获取指定的身体部位
|
||||
foreach (BodyPartDef partDef in Props.bodyPartsToDestroy)
|
||||
{
|
||||
var parts = pawn.RaceProps.body.GetPartsWithDef(partDef);
|
||||
foreach (BodyPartRecord part in parts)
|
||||
{
|
||||
// 检查部位是否已经缺失
|
||||
if (!pawn.health.hediffSet.PartIsMissing(part))
|
||||
{
|
||||
validParts.Add(part);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return validParts;
|
||||
}
|
||||
|
||||
// 实际执行身体部位的破坏
|
||||
private void DestroyBodyPart(Pawn pawn, BodyPartRecord part)
|
||||
{
|
||||
// 直接添加缺失部位hediff
|
||||
pawn.health.AddHediff(HediffDefOf.MissingBodyPart, part);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
using RimWorld;
|
||||
using System.Collections.Generic;
|
||||
using Verse;
|
||||
|
||||
namespace ArachnaeSwarm
|
||||
{
|
||||
public class CompProperties_AbilityDestroyOwnBodyPart : CompProperties_AbilityEffect
|
||||
{
|
||||
// 要破坏的身体部位列表
|
||||
public List<BodyPartDef> bodyPartsToDestroy;
|
||||
|
||||
public CompProperties_AbilityDestroyOwnBodyPart()
|
||||
{
|
||||
compClass = typeof(CompAbilityEffect_DestroyOwnBodyPart);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,146 @@
|
||||
using RimWorld;
|
||||
using Verse;
|
||||
|
||||
namespace ArachnaeSwarm
|
||||
{
|
||||
public class CompAbilityEffect_HediffRestriction : CompAbilityEffect
|
||||
{
|
||||
public new CompProperties_AbilityHediffRestriction Props => (CompProperties_AbilityHediffRestriction)props;
|
||||
|
||||
// 检查能力是否可用
|
||||
public override bool GizmoDisabled(out string reason)
|
||||
{
|
||||
if (!IsTargetValid(null)) // 对Gizmo检查,没有具体目标
|
||||
{
|
||||
reason = Props.disabledReasonKey.Translate(GetHediffList());
|
||||
return true;
|
||||
}
|
||||
reason = null;
|
||||
return false;
|
||||
}
|
||||
|
||||
// 验证目标是否有效
|
||||
public override bool Valid(LocalTargetInfo target, bool throwMessages = false)
|
||||
{
|
||||
if (!base.Valid(target, throwMessages))
|
||||
return false;
|
||||
|
||||
// 检查目标hediff条件
|
||||
if (!IsTargetValid(target))
|
||||
{
|
||||
if (throwMessages)
|
||||
{
|
||||
Messages.Message(Props.targetHediffFailMessage.Translate(GetHediffList()), parent.pawn, MessageTypeDefOf.RejectInput, historical: false);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
// 应用效果前的最终验证
|
||||
public override bool CanApplyOn(LocalTargetInfo target, LocalTargetInfo dest)
|
||||
{
|
||||
if (!IsTargetValid(target))
|
||||
{
|
||||
Messages.Message(Props.targetHediffFailMessage.Translate(GetHediffList()), parent.pawn, MessageTypeDefOf.RejectInput, historical: false);
|
||||
return false;
|
||||
}
|
||||
return base.CanApplyOn(target, dest);
|
||||
}
|
||||
|
||||
// 检查目标是否满足hediff条件
|
||||
private bool IsTargetValid(LocalTargetInfo target)
|
||||
{
|
||||
// 如果目标不是pawn,始终允许(如地面、物品等)
|
||||
Pawn targetPawn = target.Thing as Pawn;
|
||||
if (targetPawn == null)
|
||||
return true;
|
||||
|
||||
// 检查必须有的hediff
|
||||
if (Props.requiredHediff != null)
|
||||
{
|
||||
if (!targetPawn.health.hediffSet.HasHediff(Props.requiredHediff))
|
||||
return false;
|
||||
}
|
||||
|
||||
// 检查禁止的hediff
|
||||
if (Props.forbiddenHediff != null)
|
||||
{
|
||||
if (targetPawn.health.hediffSet.HasHediff(Props.forbiddenHediff))
|
||||
return false;
|
||||
}
|
||||
|
||||
// 检查必须有的hediff列表
|
||||
if (Props.requiredHediffs != null && Props.requiredHediffs.Count > 0)
|
||||
{
|
||||
bool hasAnyRequired = false;
|
||||
foreach (var hediff in Props.requiredHediffs)
|
||||
{
|
||||
if (targetPawn.health.hediffSet.HasHediff(hediff))
|
||||
{
|
||||
hasAnyRequired = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!hasAnyRequired)
|
||||
return false;
|
||||
}
|
||||
|
||||
// 检查禁止的hediff列表
|
||||
if (Props.forbiddenHediffs != null && Props.forbiddenHediffs.Count > 0)
|
||||
{
|
||||
foreach (var hediff in Props.forbiddenHediffs)
|
||||
{
|
||||
if (targetPawn.health.hediffSet.HasHediff(hediff))
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
// 获取hediff列表的字符串表示
|
||||
private string GetHediffList()
|
||||
{
|
||||
string hediffList = "";
|
||||
|
||||
// 添加必须有的hediff
|
||||
if (Props.requiredHediff != null)
|
||||
{
|
||||
hediffList += Props.requiredHediff.label;
|
||||
}
|
||||
else if (Props.requiredHediffs != null && Props.requiredHediffs.Count > 0)
|
||||
{
|
||||
foreach (var hediff in Props.requiredHediffs)
|
||||
{
|
||||
if (hediffList.Length > 0)
|
||||
hediffList += ", ";
|
||||
hediffList += hediff.label;
|
||||
}
|
||||
}
|
||||
|
||||
// 添加禁止的hediff
|
||||
if (Props.forbiddenHediff != null)
|
||||
{
|
||||
if (hediffList.Length > 0)
|
||||
hediffList += "; ";
|
||||
hediffList += "不能有: " + Props.forbiddenHediff.label;
|
||||
}
|
||||
else if (Props.forbiddenHediffs != null && Props.forbiddenHediffs.Count > 0)
|
||||
{
|
||||
if (hediffList.Length > 0)
|
||||
hediffList += "; ";
|
||||
hediffList += "不能有: ";
|
||||
foreach (var hediff in Props.forbiddenHediffs)
|
||||
{
|
||||
if (hediffList.EndsWith("不能有: "))
|
||||
hediffList += hediff.label;
|
||||
else
|
||||
hediffList += ", " + hediff.label;
|
||||
}
|
||||
}
|
||||
|
||||
return hediffList;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
using RimWorld;
|
||||
using System.Collections.Generic;
|
||||
using Verse;
|
||||
|
||||
namespace ArachnaeSwarm
|
||||
{
|
||||
public class CompProperties_AbilityHediffRestriction : CompProperties_AbilityEffect
|
||||
{
|
||||
// 必须有的hediff(单个)
|
||||
public HediffDef requiredHediff;
|
||||
|
||||
// 必须有的hediff(多个,满足任意一个即可)
|
||||
public List<HediffDef> requiredHediffs;
|
||||
|
||||
// 禁止的hediff(单个)
|
||||
public HediffDef forbiddenHediff;
|
||||
|
||||
// 禁止的hediff(多个,有任意一个就不行)
|
||||
public List<HediffDef> forbiddenHediffs;
|
||||
|
||||
// 失败消息配置
|
||||
[MustTranslate]
|
||||
public string targetHediffFailMessage = "AbilityTargetHediffRestriction";
|
||||
|
||||
[MustTranslate]
|
||||
public string disabledReasonKey = "AbilityDisabledHediffRestriction";
|
||||
|
||||
public CompProperties_AbilityHediffRestriction()
|
||||
{
|
||||
compClass = typeof(CompAbilityEffect_HediffRestriction);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -73,8 +73,12 @@
|
||||
<Compile Include="Abilities\ARA_AbilitySwitch\WeaponSwitch.cs" />
|
||||
<Compile Include="Abilities\ARA_AddExtraExp\CompAbilityEffect_AddExtraExp.cs" />
|
||||
<Compile Include="Abilities\ARA_AddExtraExp\CompProperties_AddExtraExp.cs" />
|
||||
<Compile Include="Abilities\ARA_DestroyOwnBodyPart\CompAbilityEffect_DestroyOwnBodyPart.cs" />
|
||||
<Compile Include="Abilities\ARA_DestroyOwnBodyPart\CompProperties_AbilityDestroyOwnBodyPart.cs" />
|
||||
<Compile Include="Abilities\ARA_GiveHediffWithSkillDuration\CompAbilityEffect_GiveHediffWithSkillDuration.cs" />
|
||||
<Compile Include="Abilities\ARA_GiveHediffWithSkillDuration\CompProperties_GiveHediffWithSkillDuration.cs" />
|
||||
<Compile Include="Abilities\ARA_HediffRestriction\CompAbilityEffect_HediffRestriction.cs" />
|
||||
<Compile Include="Abilities\ARA_HediffRestriction\CompProperties_AbilityHediffRestriction.cs" />
|
||||
<Compile Include="Abilities\ARA_HuggingFace\CompAbilityEffect_Possess.cs" />
|
||||
<Compile Include="Abilities\ARA_HuggingFace\CompProperties_AbilityPossess.cs" />
|
||||
<Compile Include="Abilities\ARA_HuggingFace\Hediff_Possession.cs" />
|
||||
|
||||
Reference in New Issue
Block a user