改动一大堆
This commit is contained in:
Binary file not shown.
@@ -545,7 +545,7 @@
|
|||||||
<AbilityDef>
|
<AbilityDef>
|
||||||
<defName>ARA_Ability_Smokepop</defName>
|
<defName>ARA_Ability_Smokepop</defName>
|
||||||
<label>信息素浓雾释放</label>
|
<label>信息素浓雾释放</label>
|
||||||
<description>浓雾种将其腹部的大量释放阿拉克涅信息素烟雾,形成一大片足以遮蔽虫族身形的烟雾,并防止敌方使用火焰武器点燃虫族集群。这些信息素会吸引附近的阿拉克涅辅虫破土而出支援虫群,沾染信息素的目标越多(无论敌我),前来支援的虫族就越多。</description>
|
<description>浓雾种使用其腹部释放大量阿拉克涅信息素烟雾,形成一大片可以遮蔽虫族身形和阻燃的烟雾。这些信息素会吸引附近的阿拉克涅辅虫破土而出支援虫群,沾染信息素的目标越多(无论敌我),前来支援的虫族就越多。</description>
|
||||||
<iconPath>ArachnaeSwarm/UI/Abilities/ARA_Ability_Smokepop</iconPath>
|
<iconPath>ArachnaeSwarm/UI/Abilities/ARA_Ability_Smokepop</iconPath>
|
||||||
<cooldownTicksRange>6000</cooldownTicksRange>
|
<cooldownTicksRange>6000</cooldownTicksRange>
|
||||||
<targetRequired>false</targetRequired>
|
<targetRequired>false</targetRequired>
|
||||||
@@ -593,7 +593,7 @@
|
|||||||
<AbilityDef>
|
<AbilityDef>
|
||||||
<defName>ARA_Ability_TrackingCharge</defName>
|
<defName>ARA_Ability_TrackingCharge</defName>
|
||||||
<label>蛮力冲撞</label>
|
<label>蛮力冲撞</label>
|
||||||
<description>阿拉克涅盾头种对目标发起蓄势冲撞,对路径上的一切造成伤害。在冲击中途经的距离越远,伤害越高。</description>
|
<description>对目标发起蓄势冲撞,对路径上的一切造成伤害。在冲击中途经的距离越远,伤害越高。</description>
|
||||||
<iconPath>ArachnaeSwarm/UI/Abilities/ARA_Ability_TrackingCharge</iconPath> <!-- Placeholder Icon -->
|
<iconPath>ArachnaeSwarm/UI/Abilities/ARA_Ability_TrackingCharge</iconPath> <!-- Placeholder Icon -->
|
||||||
<cooldownTicksRange>6000</cooldownTicksRange>
|
<cooldownTicksRange>6000</cooldownTicksRange>
|
||||||
<charges>2</charges>
|
<charges>2</charges>
|
||||||
@@ -646,4 +646,71 @@
|
|||||||
<heightFactor>0</heightFactor>
|
<heightFactor>0</heightFactor>
|
||||||
</pawnFlyer>
|
</pawnFlyer>
|
||||||
</ThingDef>
|
</ThingDef>
|
||||||
|
|
||||||
|
<AbilityDef>
|
||||||
|
<defName>ARA_PsychicBrainburn</defName>
|
||||||
|
<label>心灵烧灼</label>
|
||||||
|
<description>以强大的纯净灵能直接冲击目标,烧毁目标的中枢神经系统——这会直接杀死目标。</description>
|
||||||
|
<iconPath>UI/Abilities/Slaughter</iconPath>
|
||||||
|
<cooldownTicksRange>18000</cooldownTicksRange>
|
||||||
|
<aiCanUse>false</aiCanUse>
|
||||||
|
<displayOrder>300</displayOrder>
|
||||||
|
<displayGizmoWhileUndrafted>true</displayGizmoWhileUndrafted>
|
||||||
|
<disableGizmoWhileUndrafted>false</disableGizmoWhileUndrafted>
|
||||||
|
<showPsycastEffects>false</showPsycastEffects>
|
||||||
|
<sendMessageOnCooldownComplete>true</sendMessageOnCooldownComplete>
|
||||||
|
<stunTargetWhileCasting>true</stunTargetWhileCasting>
|
||||||
|
<moteOffsetAmountTowardsTarget>0.5</moteOffsetAmountTowardsTarget>
|
||||||
|
<warmupMote>Mote_HoraxSmallSpellWarmup</warmupMote>
|
||||||
|
<warmupEffecter>HoraxianAbilityCasting</warmupEffecter>
|
||||||
|
<warmupSound>AnomalyAbilityWarmup</warmupSound>
|
||||||
|
<writeCombatLog>true</writeCombatLog>
|
||||||
|
<verbProperties>
|
||||||
|
<verbClass>Verb_CastAbility</verbClass>
|
||||||
|
<warmupTime>6</warmupTime>
|
||||||
|
<range>18</range>
|
||||||
|
<targetParams>
|
||||||
|
<canTargetPawns>true</canTargetPawns>
|
||||||
|
<canTargetBuildings>false</canTargetBuildings>
|
||||||
|
<canTargetSelf>false</canTargetSelf>
|
||||||
|
</targetParams>
|
||||||
|
</verbProperties>
|
||||||
|
<comps>
|
||||||
|
<li Class="ArachnaeSwarm.CompProperties_PsychicBrainburn">
|
||||||
|
<!-- 视觉效果 -->
|
||||||
|
<effecterDef>Skip_Entry</effecterDef>
|
||||||
|
|
||||||
|
<!-- 设为 true 则只能对血肉生物使用。设为 false 则也可以对机械体使用。 -->
|
||||||
|
<requiresFlesh>false</requiresFlesh>
|
||||||
|
</li>
|
||||||
|
</comps>
|
||||||
|
</AbilityDef>
|
||||||
|
<AbilityDef Name="LongJump">
|
||||||
|
<defName>ARA_NeuroSwarm_jump</defName>
|
||||||
|
<label>高空机动</label>
|
||||||
|
<description>增强用于使身体悬浮的力量快速进入较高的高度,然后飞到一处新的地点。</description>
|
||||||
|
<iconPath>UI/Abilities/Longjump</iconPath>
|
||||||
|
<cooldownTicksRange>5000</cooldownTicksRange>
|
||||||
|
<hostile>false</hostile>
|
||||||
|
<casterMustBeCapableOfViolence>false</casterMustBeCapableOfViolence>
|
||||||
|
<charges>1</charges>
|
||||||
|
<cooldownPerCharge>true</cooldownPerCharge>
|
||||||
|
<verbProperties>
|
||||||
|
<verbClass>Verb_CastAbilityJump</verbClass>
|
||||||
|
<label>jump</label>
|
||||||
|
<violent>false</violent>
|
||||||
|
<forceNormalTimeSpeed>false</forceNormalTimeSpeed>
|
||||||
|
<warmupTime>0</warmupTime>
|
||||||
|
<range>50</range>
|
||||||
|
<requireLineOfSight>true</requireLineOfSight>
|
||||||
|
<soundCast>Longjump_Jump</soundCast>
|
||||||
|
<soundLanding>Longjump_Land</soundLanding>
|
||||||
|
<targetParams>
|
||||||
|
<canTargetLocations>true</canTargetLocations>
|
||||||
|
<canTargetPawns>false</canTargetPawns>
|
||||||
|
<canTargetBuildings>false</canTargetBuildings>
|
||||||
|
</targetParams>
|
||||||
|
</verbProperties>
|
||||||
|
<jobDef>CastJump</jobDef>
|
||||||
|
</AbilityDef>
|
||||||
</Defs>
|
</Defs>
|
||||||
@@ -1,43 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8" ?>
|
|
||||||
<Defs>
|
|
||||||
|
|
||||||
<AbilityDef>
|
|
||||||
<defName>ARA_PsychicBrainburn</defName>
|
|
||||||
<label>心灵烧灼</label>
|
|
||||||
<description>通过一次强力的心灵冲击,直接摧毁目标生物的意识核心,使其永久失去知觉。</description>
|
|
||||||
<iconPath>UI/Abilities/Slaughter</iconPath>
|
|
||||||
<cooldownTicksRange>5000</cooldownTicksRange>
|
|
||||||
<aiCanUse>false</aiCanUse>
|
|
||||||
<displayOrder>300</displayOrder>
|
|
||||||
<displayGizmoWhileUndrafted>true</displayGizmoWhileUndrafted>
|
|
||||||
<disableGizmoWhileUndrafted>false</disableGizmoWhileUndrafted>
|
|
||||||
<showPsycastEffects>false</showPsycastEffects>
|
|
||||||
<sendMessageOnCooldownComplete>true</sendMessageOnCooldownComplete>
|
|
||||||
<stunTargetWhileCasting>true</stunTargetWhileCasting>
|
|
||||||
<moteOffsetAmountTowardsTarget>0.5</moteOffsetAmountTowardsTarget>
|
|
||||||
<warmupMote>Mote_HoraxSmallSpellWarmup</warmupMote>
|
|
||||||
<warmupEffecter>HoraxianAbilityCasting</warmupEffecter>
|
|
||||||
<warmupSound>AnomalyAbilityWarmup</warmupSound>
|
|
||||||
<writeCombatLog>true</writeCombatLog>
|
|
||||||
<verbProperties>
|
|
||||||
<verbClass>Verb_CastAbility</verbClass>
|
|
||||||
<warmupTime>1.5</warmupTime>
|
|
||||||
<range>25</range>
|
|
||||||
<targetParams>
|
|
||||||
<canTargetPawns>true</canTargetPawns>
|
|
||||||
<canTargetBuildings>false</canTargetBuildings>
|
|
||||||
<canTargetSelf>false</canTargetSelf>
|
|
||||||
</targetParams>
|
|
||||||
</verbProperties>
|
|
||||||
<comps>
|
|
||||||
<li Class="ArachnaeSwarm.CompProperties_PsychicBrainburn">
|
|
||||||
<!-- 视觉效果 -->
|
|
||||||
<effecterDef>Skip_Entry</effecterDef>
|
|
||||||
|
|
||||||
<!-- 设为 true 则只能对血肉生物使用。设为 false 则也可以对机械体使用。 -->
|
|
||||||
<requiresFlesh>false</requiresFlesh>
|
|
||||||
</li>
|
|
||||||
</comps>
|
|
||||||
</AbilityDef>
|
|
||||||
|
|
||||||
</Defs>
|
|
||||||
@@ -6,7 +6,7 @@
|
|||||||
<defName>ARA_Ability_Morph</defName>
|
<defName>ARA_Ability_Morph</defName>
|
||||||
<label>织域形态</label>
|
<label>织域形态</label>
|
||||||
<description>将自己转换为一个坚固的静态建筑形态,或从建筑形态恢复。</description>
|
<description>将自己转换为一个坚固的静态建筑形态,或从建筑形态恢复。</description>
|
||||||
<iconPath>UI/Commands/EggSpew</iconPath> <!-- TODO: 替换为你的图标路径 -->
|
<iconPath>UI/Commands/EggSpew</iconPath>
|
||||||
<cooldownTicksRange>6000</cooldownTicksRange>
|
<cooldownTicksRange>6000</cooldownTicksRange>
|
||||||
<hotKey>Misc12</hotKey>
|
<hotKey>Misc12</hotKey>
|
||||||
<targetRequired>false</targetRequired>
|
<targetRequired>false</targetRequired>
|
||||||
@@ -98,7 +98,6 @@
|
|||||||
<fuelGizmoLabel>虫蜜</fuelGizmoLabel>
|
<fuelGizmoLabel>虫蜜</fuelGizmoLabel>
|
||||||
<outOfFuelMessage>没有营养</outOfFuelMessage>
|
<outOfFuelMessage>没有营养</outOfFuelMessage>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<li Class="CompProperties_AffectedByFacilities">
|
<li Class="CompProperties_AffectedByFacilities">
|
||||||
<linkableFacilities>
|
<linkableFacilities>
|
||||||
<li>ARA_NutrientNetworkTower</li>
|
<li>ARA_NutrientNetworkTower</li>
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8" ?>
|
<?xml version="1.0" encoding="utf-8" ?>
|
||||||
<Defs>
|
<Defs>
|
||||||
|
<!-- 翅膀飞行 -->
|
||||||
<AnimationDef>
|
<AnimationDef>
|
||||||
<defName>ARA_FlyEast</defName>
|
<defName>ARA_FlyEast</defName>
|
||||||
<durationTicks>60</durationTicks>
|
<durationTicks>60</durationTicks>
|
||||||
@@ -30,7 +31,6 @@
|
|||||||
</li>
|
</li>
|
||||||
</keyframeParts>
|
</keyframeParts>
|
||||||
</AnimationDef>
|
</AnimationDef>
|
||||||
|
|
||||||
<AnimationDef>
|
<AnimationDef>
|
||||||
<defName>ARA_FlyNorth</defName>
|
<defName>ARA_FlyNorth</defName>
|
||||||
<durationTicks>60</durationTicks>
|
<durationTicks>60</durationTicks>
|
||||||
@@ -61,7 +61,6 @@
|
|||||||
</li>
|
</li>
|
||||||
</keyframeParts>
|
</keyframeParts>
|
||||||
</AnimationDef>
|
</AnimationDef>
|
||||||
|
|
||||||
<AnimationDef>
|
<AnimationDef>
|
||||||
<defName>ARA_FlySouth</defName>
|
<defName>ARA_FlySouth</defName>
|
||||||
<durationTicks>60</durationTicks>
|
<durationTicks>60</durationTicks>
|
||||||
@@ -92,4 +91,75 @@
|
|||||||
</li>
|
</li>
|
||||||
</keyframeParts>
|
</keyframeParts>
|
||||||
</AnimationDef>
|
</AnimationDef>
|
||||||
|
|
||||||
|
<!-- 灵能飞行 -->
|
||||||
|
<AnimationDef>
|
||||||
|
<defName>ARA_Psi_FlyEast</defName>
|
||||||
|
<durationTicks>60</durationTicks>
|
||||||
|
<keyframeParts>
|
||||||
|
<!-- <li>
|
||||||
|
<key>ARA_Flight_Attachment</key>
|
||||||
|
<value>
|
||||||
|
<keyframes>
|
||||||
|
<li><graphicState>ARA_FlyEast_0</graphicState><tick>6</tick></li>
|
||||||
|
<li><graphicState>ARA_FlyEast_1</graphicState><tick>12</tick></li>
|
||||||
|
</keyframes>
|
||||||
|
</value>
|
||||||
|
</li> -->
|
||||||
|
<li>
|
||||||
|
<key>Root</key>
|
||||||
|
<value><workerType>AnimationWorker_Keyframes</workerType><keyframes>
|
||||||
|
<li><tick>0</tick><offset>(0,0,-0.05)</offset></li>
|
||||||
|
<li><tick>30</tick><offset>(0,0,0.05)</offset></li>
|
||||||
|
<li><tick>60</tick><offset>(0,0,-0.05)</offset></li>
|
||||||
|
</keyframes></value>
|
||||||
|
</li>
|
||||||
|
</keyframeParts>
|
||||||
|
</AnimationDef>
|
||||||
|
<AnimationDef>
|
||||||
|
<defName>ARA_Psi_FlyNorth</defName>
|
||||||
|
<durationTicks>60</durationTicks>
|
||||||
|
<keyframeParts>
|
||||||
|
<!-- <li>
|
||||||
|
<key>ARA_Flight_Attachment</key>
|
||||||
|
<value>
|
||||||
|
<keyframes>
|
||||||
|
<li><graphicState>ARA_FlyNorth_0</graphicState><tick>6</tick></li>
|
||||||
|
<li><graphicState>ARA_FlyNorth_1</graphicState><tick>12</tick></li>
|
||||||
|
</keyframes>
|
||||||
|
</value>
|
||||||
|
</li> -->
|
||||||
|
<li>
|
||||||
|
<key>Root</key>
|
||||||
|
<value><workerType>AnimationWorker_Keyframes</workerType><keyframes>
|
||||||
|
<li><tick>0</tick><offset>(0,0,-0.05)</offset></li>
|
||||||
|
<li><tick>30</tick><offset>(0,0,0.05)</offset></li>
|
||||||
|
<li><tick>60</tick><offset>(0,0,-0.05)</offset></li>
|
||||||
|
</keyframes></value>
|
||||||
|
</li>
|
||||||
|
</keyframeParts>
|
||||||
|
</AnimationDef>
|
||||||
|
<AnimationDef>
|
||||||
|
<defName>ARA_Psi_FlySouth</defName>
|
||||||
|
<durationTicks>60</durationTicks>
|
||||||
|
<keyframeParts>
|
||||||
|
<!-- <li>
|
||||||
|
<key>ARA_Flight_Attachment</key>
|
||||||
|
<value>
|
||||||
|
<keyframes>
|
||||||
|
<li><graphicState>ARA_FlySouth_0</graphicState><tick>6</tick></li>
|
||||||
|
<li><graphicState>ARA_FlySouth_1</graphicState><tick>12</tick></li>
|
||||||
|
</keyframes>
|
||||||
|
</value>
|
||||||
|
</li> -->
|
||||||
|
<li>
|
||||||
|
<key>Root</key>
|
||||||
|
<value><workerType>AnimationWorker_Keyframes</workerType><keyframes>
|
||||||
|
<li><tick>0</tick><offset>(0,0,-0.05)</offset></li>
|
||||||
|
<li><tick>30</tick><offset>(0,0,0.05)</offset></li>
|
||||||
|
<li><tick>60</tick><offset>(0,0,-0.05)</offset></li>
|
||||||
|
</keyframes></value>
|
||||||
|
</li>
|
||||||
|
</keyframeParts>
|
||||||
|
</AnimationDef>
|
||||||
</Defs>
|
</Defs>
|
||||||
@@ -196,6 +196,4 @@
|
|||||||
<li Class="HediffCompProperties_DisappearsOnDeath"/>
|
<li Class="HediffCompProperties_DisappearsOnDeath"/>
|
||||||
</comps>
|
</comps>
|
||||||
</HediffDef>
|
</HediffDef>
|
||||||
|
|
||||||
|
|
||||||
</Defs>
|
</Defs>
|
||||||
@@ -85,6 +85,26 @@
|
|||||||
<isBad>false</isBad>
|
<isBad>false</isBad>
|
||||||
<scenarioCanAdd>false</scenarioCanAdd>
|
<scenarioCanAdd>false</scenarioCanAdd>
|
||||||
<comps>
|
<comps>
|
||||||
|
<li Class="ArachnaeSwarm.HediffCompProperties_GiveHediffsInRangeToRace">
|
||||||
|
<range>6</range>
|
||||||
|
<hediff>ARA_CreepyCrawly_Hediff</hediff>
|
||||||
|
|
||||||
|
<!-- 定义可以被影响的种族列表 -->
|
||||||
|
<targetRaces>
|
||||||
|
<li>Colonist</li>
|
||||||
|
</targetRaces>
|
||||||
|
|
||||||
|
<!-- 其他参数和原版一样 -->
|
||||||
|
<targetingParameters>
|
||||||
|
<canTargetBuildings>false</canTargetBuildings>
|
||||||
|
<canTargetAnimals>false</canTargetAnimals>
|
||||||
|
<canTargetMechs>false</canTargetMechs>
|
||||||
|
<canTargetSelf>false</canTargetSelf>
|
||||||
|
<onlyTargetColonists>true</onlyTargetColonists>
|
||||||
|
</targetingParameters>
|
||||||
|
<onlyPawnsInSameFaction>false</onlyPawnsInSameFaction>
|
||||||
|
<hideMoteWhenNotDrafted>true</hideMoteWhenNotDrafted>
|
||||||
|
</li>
|
||||||
</comps>
|
</comps>
|
||||||
<stages>
|
<stages>
|
||||||
<li>
|
<li>
|
||||||
@@ -98,29 +118,116 @@
|
|||||||
</HediffDef>
|
</HediffDef>
|
||||||
|
|
||||||
<HediffDef>
|
<HediffDef>
|
||||||
<defName>ARA_CreepyCrawly_Hediff</defName>
|
<defName>ARA_TemperatureRegulation</defName>
|
||||||
<label>原始恐惧</label>
|
<label>冷血动物</label>
|
||||||
<description>受不了了,快把这些虫子从我身边支开!</description>
|
<description>阿拉克涅虫族是冷血动物,这代表着她们对外界的温度变化更加敏感——在适宜温度下她们将变得敏捷而致命,在不适温度下她们将难以行动。\n\n此类阿拉克涅虫族可以接受在16~26°C的温度下活动,温度接近21°C时会获得额外的意识加成。</description>
|
||||||
<hediffClass>HediffWithComps</hediffClass>
|
<hediffClass>Hediff_High</hediffClass>
|
||||||
<defaultLabelColor>(0.52, 1, 0.95)</defaultLabelColor>
|
<defaultLabelColor>(0.6, 0.8, 0.9)</defaultLabelColor>
|
||||||
|
<maxSeverity>1.0</maxSeverity>
|
||||||
|
<minSeverity>-0.01</minSeverity>
|
||||||
|
<initialSeverity>0.5</initialSeverity>
|
||||||
<comps>
|
<comps>
|
||||||
<li Class="HediffCompProperties_Disappears">
|
<li Class="ArachnaeSwarm.HediffCompProperties_Temperature">
|
||||||
<disappearsAfterTicks>30</disappearsAfterTicks>
|
<minComfortableTemperature>16</minComfortableTemperature>
|
||||||
<showRemainingTime>false</showRemainingTime>
|
<maxComfortableTemperature>26</maxComfortableTemperature>
|
||||||
|
<severityChangeIn>0.01</severityChangeIn>
|
||||||
|
<severityChangeOut>-0.01</severityChangeOut>
|
||||||
</li>
|
</li>
|
||||||
<li Class="HediffCompProperties_DisappearsOnDeath"/>
|
<li Class="ArachnaeSwarm.HediffCompProperties_GiveHediffsInRangeToRace">
|
||||||
<li Class="HediffCompProperties_Link">
|
<range>6</range>
|
||||||
<requireLinkOnOtherPawn>false</requireLinkOnOtherPawn>
|
<hediff>ARA_CreepyCrawly_Hediff</hediff>
|
||||||
|
<mote>Mote_ARA_CreepyCrawly_HediffLinkLine</mote>
|
||||||
|
|
||||||
|
<!-- 定义可以被影响的种族列表 -->
|
||||||
|
<!-- <targetRaces>
|
||||||
|
<li>Human</li>
|
||||||
|
</targetRaces> -->
|
||||||
|
|
||||||
|
<!-- 其他参数和原版一样 -->
|
||||||
|
<targetingParameters>
|
||||||
|
<canTargetBuildings>false</canTargetBuildings>
|
||||||
|
<canTargetAnimals>false</canTargetAnimals>
|
||||||
|
<canTargetMechs>false</canTargetMechs>
|
||||||
|
<canTargetSelf>true</canTargetSelf>
|
||||||
|
<onlyTargetColonists>true</onlyTargetColonists>
|
||||||
|
</targetingParameters>
|
||||||
|
<onlyPawnsInSameFaction>false</onlyPawnsInSameFaction>
|
||||||
|
<hideMoteWhenNotDrafted>true</hideMoteWhenNotDrafted>
|
||||||
</li>
|
</li>
|
||||||
</comps>
|
</comps>
|
||||||
|
<stages>
|
||||||
|
<li>
|
||||||
|
<minSeverity>0</minSeverity>
|
||||||
|
<label>不适</label>
|
||||||
|
<capMods>
|
||||||
|
<li>
|
||||||
|
<capacity>Consciousness</capacity>
|
||||||
|
<offset>-0.5</offset>
|
||||||
|
</li>
|
||||||
|
</capMods>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<minSeverity>0.4</minSeverity>
|
||||||
|
<label>适应</label>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<minSeverity>0.8</minSeverity>
|
||||||
|
<label>舒适</label>
|
||||||
|
<capMods>
|
||||||
|
<li>
|
||||||
|
<capacity>Consciousness</capacity>
|
||||||
|
<offset>0.25</offset>
|
||||||
|
</li>
|
||||||
|
</capMods>
|
||||||
|
</li>
|
||||||
|
</stages>
|
||||||
|
</HediffDef>
|
||||||
|
<HediffDef>
|
||||||
|
<defName>ARA_CreepyCrawly_Hediff</defName>
|
||||||
|
<label>原始恐惧</label>
|
||||||
|
<description>快把这些虫子从我身边支开!</description>
|
||||||
|
<defaultLabelColor>(0.52, 1, 0.95)</defaultLabelColor>
|
||||||
|
<hediffClass>HediffWithComps</hediffClass>
|
||||||
|
<isBad>false</isBad>
|
||||||
|
<debugLabelExtra>other</debugLabelExtra>
|
||||||
|
<initialSeverity>1</initialSeverity> <!-- 初始层数设置为10 -->
|
||||||
|
<maxSeverity>1</maxSeverity> <!-- 最大层数,可以根据需要调整 -->
|
||||||
<stages>
|
<stages>
|
||||||
<li>
|
<li>
|
||||||
<minSeverity>0</minSeverity>
|
<minSeverity>0</minSeverity>
|
||||||
<becomeVisible>false</becomeVisible>
|
<becomeVisible>false</becomeVisible>
|
||||||
</li>
|
</li>
|
||||||
</stages>
|
</stages>
|
||||||
<isBad>false</isBad>
|
<comps>
|
||||||
|
<li Class="HediffCompProperties_Disappears">
|
||||||
|
<showRemainingTime>false</showRemainingTime>
|
||||||
|
</li>
|
||||||
|
<li Class="HediffCompProperties_DisappearsOnDeath"/>
|
||||||
|
<li Class="HediffCompProperties_Link">
|
||||||
|
<requireLinkOnOtherPawn>false</requireLinkOnOtherPawn>
|
||||||
|
<maxDistance>0</maxDistance>
|
||||||
|
<customMote>Mote_ARA_CreepyCrawly_HediffLinkLine</customMote>
|
||||||
|
</li>
|
||||||
|
</comps>
|
||||||
</HediffDef>
|
</HediffDef>
|
||||||
|
<ThingDef ParentName="MoteBase">
|
||||||
|
<defName>Mote_ARA_CreepyCrawly_HediffLinkLine</defName>
|
||||||
|
<thingClass>MoteDualAttached</thingClass>
|
||||||
|
<altitudeLayer>MoteLow</altitudeLayer>
|
||||||
|
<mote>
|
||||||
|
<fadeInTime>0.1</fadeInTime>
|
||||||
|
<fadeOutTime>0.1</fadeOutTime>
|
||||||
|
<solidTime>999999</solidTime>
|
||||||
|
<needsMaintenance>True</needsMaintenance>
|
||||||
|
<rotateTowardsTarget>True</rotateTowardsTarget>
|
||||||
|
<scaleToConnectTargets>True</scaleToConnectTargets>
|
||||||
|
</mote>
|
||||||
|
<graphicData>
|
||||||
|
<shaderType>MoteGlow</shaderType>
|
||||||
|
<texPath>Things/Mote/WorkCommandLinkLine</texPath>
|
||||||
|
<color>(0,0,0,0)</color>
|
||||||
|
</graphicData>
|
||||||
|
</ThingDef>
|
||||||
|
|
||||||
<HediffDef>
|
<HediffDef>
|
||||||
<defName>ARA_RaceBaseSwarmProduceSwitchHediff</defName>
|
<defName>ARA_RaceBaseSwarmProduceSwitchHediff</defName>
|
||||||
@@ -131,4 +238,41 @@
|
|||||||
<defaultLabelColor>(0.6, 0.6, 0.6)</defaultLabelColor>
|
<defaultLabelColor>(0.6, 0.6, 0.6)</defaultLabelColor>
|
||||||
<scenarioCanAdd>false</scenarioCanAdd>
|
<scenarioCanAdd>false</scenarioCanAdd>
|
||||||
</HediffDef>
|
</HediffDef>
|
||||||
|
|
||||||
|
<HediffDef ParentName="AddedBodyPartBase">
|
||||||
|
<defName>ARA_Psi_Conductor</defName>
|
||||||
|
<label>灵能导体</label>
|
||||||
|
<description>一只阿拉克涅织域种将这个殖民者的所有灵能抽出来,转化为可以</description>
|
||||||
|
<descriptionHyperlinks>
|
||||||
|
<ThingDef>WULA_Addons_Antenna_Shotgun</ThingDef>
|
||||||
|
<ThingDef>WULA_Addons_Antenna_Shotgun_Turret</ThingDef>
|
||||||
|
<RecipeDef>Install_WULA_Addons_Antenna_Shotgun</RecipeDef>
|
||||||
|
</descriptionHyperlinks>
|
||||||
|
<spawnThingOnRemoved>WULA_Addons_Antenna_Shield</spawnThingOnRemoved>
|
||||||
|
<addedPartProps>
|
||||||
|
<!-- <partEfficiency>1.5</partEfficiency> -->
|
||||||
|
<betterThanNatural>true</betterThanNatural>
|
||||||
|
</addedPartProps>
|
||||||
|
<stages>
|
||||||
|
<li>
|
||||||
|
<statOffsets>
|
||||||
|
<MechBandwidth>-2</MechBandwidth>
|
||||||
|
<MechControlGroups>-1</MechControlGroups>
|
||||||
|
</statOffsets>
|
||||||
|
<capMods>
|
||||||
|
<li>
|
||||||
|
<capacity>Consciousness</capacity>
|
||||||
|
<offset>-0.1</offset>
|
||||||
|
</li>
|
||||||
|
</capMods>
|
||||||
|
</li>
|
||||||
|
</stages>
|
||||||
|
<comps>
|
||||||
|
<li Class="WulaFallenEmpire.HediffCompProperties_TopTurret">
|
||||||
|
<turretDef>WULA_Addons_Antenna_Shotgun_Turret</turretDef>
|
||||||
|
<angleOffset>0</angleOffset>
|
||||||
|
<autoAttack>true</autoAttack>
|
||||||
|
</li>
|
||||||
|
</comps>
|
||||||
|
</HediffDef>
|
||||||
</Defs>
|
</Defs>
|
||||||
@@ -1,47 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8" ?>
|
|
||||||
<Defs>
|
|
||||||
<HediffDef>
|
|
||||||
<defName>ARA_TemperatureRegulation</defName>
|
|
||||||
<label>冷血动物</label>
|
|
||||||
<description>阿拉克涅虫族是冷血动物,这代表着她们对外界的温度变化更加敏感——在适宜温度下她们将变得敏捷而致命,在不适温度下她们将难以行动。\n\n此类阿拉克涅虫族可以接受在16~26°C的温度下活动,温度接近21°C时会获得额外的意识加成。</description>
|
|
||||||
<hediffClass>Hediff_High</hediffClass>
|
|
||||||
<defaultLabelColor>(0.6, 0.8, 0.9)</defaultLabelColor>
|
|
||||||
<maxSeverity>1.0</maxSeverity>
|
|
||||||
<minSeverity>-0.01</minSeverity>
|
|
||||||
<initialSeverity>0.5</initialSeverity>
|
|
||||||
<comps>
|
|
||||||
<li Class="ArachnaeSwarm.HediffCompProperties_Temperature">
|
|
||||||
<minComfortableTemperature>16</minComfortableTemperature>
|
|
||||||
<maxComfortableTemperature>26</maxComfortableTemperature>
|
|
||||||
<severityChangeIn>0.01</severityChangeIn>
|
|
||||||
<severityChangeOut>-0.01</severityChangeOut>
|
|
||||||
</li>
|
|
||||||
</comps>
|
|
||||||
<stages>
|
|
||||||
<li>
|
|
||||||
<minSeverity>0</minSeverity>
|
|
||||||
<label>不适</label>
|
|
||||||
<capMods>
|
|
||||||
<li>
|
|
||||||
<capacity>Consciousness</capacity>
|
|
||||||
<offset>-0.5</offset>
|
|
||||||
</li>
|
|
||||||
</capMods>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<minSeverity>0.4</minSeverity>
|
|
||||||
<label>适应</label>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<minSeverity>0.8</minSeverity>
|
|
||||||
<label>舒适</label>
|
|
||||||
<capMods>
|
|
||||||
<li>
|
|
||||||
<capacity>Consciousness</capacity>
|
|
||||||
<offset>0.25</offset>
|
|
||||||
</li>
|
|
||||||
</capMods>
|
|
||||||
</li>
|
|
||||||
</stages>
|
|
||||||
</HediffDef>
|
|
||||||
</Defs>
|
|
||||||
@@ -70,7 +70,7 @@
|
|||||||
<forceNormalGearQuality>true</forceNormalGearQuality>
|
<forceNormalGearQuality>true</forceNormalGearQuality>
|
||||||
<initialWillRange>99~99</initialWillRange>
|
<initialWillRange>99~99</initialWillRange>
|
||||||
<initialResistanceRange>99~99</initialResistanceRange>
|
<initialResistanceRange>99~99</initialResistanceRange>
|
||||||
<maxGenerationAge>0</maxGenerationAge>
|
<maxGenerationAge>0.01</maxGenerationAge>
|
||||||
<minGenerationAge>0</minGenerationAge>
|
<minGenerationAge>0</minGenerationAge>
|
||||||
<canBeScattered>false</canBeScattered>
|
<canBeScattered>false</canBeScattered>
|
||||||
<xenotypeSet>
|
<xenotypeSet>
|
||||||
@@ -285,7 +285,9 @@
|
|||||||
</li>
|
</li>
|
||||||
</backstoryFiltersOverride>
|
</backstoryFiltersOverride>
|
||||||
<abilities>
|
<abilities>
|
||||||
|
<li>ARA_PsychicBrainburn</li>
|
||||||
<li>ARA_Ability_Morph</li>
|
<li>ARA_Ability_Morph</li>
|
||||||
|
<li>ARA_NeuroSwarm_jump</li>
|
||||||
</abilities>
|
</abilities>
|
||||||
<apparelTags>
|
<apparelTags>
|
||||||
</apparelTags>
|
</apparelTags>
|
||||||
@@ -300,7 +302,7 @@
|
|||||||
<forceNoDeathNotification>true</forceNoDeathNotification>
|
<forceNoDeathNotification>true</forceNoDeathNotification>
|
||||||
<combatPower>75</combatPower>
|
<combatPower>75</combatPower>
|
||||||
<ecoSystemWeight>0</ecoSystemWeight>
|
<ecoSystemWeight>0</ecoSystemWeight>
|
||||||
<maxGenerationAge>0</maxGenerationAge>
|
<maxGenerationAge>0.01</maxGenerationAge>
|
||||||
<minGenerationAge>0</minGenerationAge>
|
<minGenerationAge>0</minGenerationAge>
|
||||||
<moveSpeedFactorByTerrainTag>
|
<moveSpeedFactorByTerrainTag>
|
||||||
<li>
|
<li>
|
||||||
|
|||||||
@@ -34,7 +34,6 @@
|
|||||||
<baseBodySize>0.5</baseBodySize>
|
<baseBodySize>0.5</baseBodySize>
|
||||||
<baseHealthScale>1</baseHealthScale>
|
<baseHealthScale>1</baseHealthScale>
|
||||||
<useMeatFrom>Megaspider</useMeatFrom>
|
<useMeatFrom>Megaspider</useMeatFrom>
|
||||||
<lifeExpectancy>0.1</lifeExpectancy>
|
|
||||||
<trainability>Advanced</trainability>
|
<trainability>Advanced</trainability>
|
||||||
<!-- <hasCorpse>false</hasCorpse> -->
|
<!-- <hasCorpse>false</hasCorpse> -->
|
||||||
<!-- <specialTrainables>
|
<!-- <specialTrainables>
|
||||||
|
|||||||
@@ -21,7 +21,6 @@
|
|||||||
<hasGenders>false</hasGenders>
|
<hasGenders>false</hasGenders>
|
||||||
<hasCorpse>false</hasCorpse>
|
<hasCorpse>false</hasCorpse>
|
||||||
<foodType>None</foodType>
|
<foodType>None</foodType>
|
||||||
<lifeExpectancy>2500</lifeExpectancy>
|
|
||||||
<bloodDef>Filth_BloodInsect</bloodDef>
|
<bloodDef>Filth_BloodInsect</bloodDef>
|
||||||
<disableIgniteVerb>true</disableIgniteVerb>
|
<disableIgniteVerb>true</disableIgniteVerb>
|
||||||
<trainability>None</trainability>
|
<trainability>None</trainability>
|
||||||
@@ -37,6 +36,14 @@
|
|||||||
</tools>
|
</tools>
|
||||||
<killedLeavings>
|
<killedLeavings>
|
||||||
</killedLeavings>
|
</killedLeavings>
|
||||||
|
<comps>
|
||||||
|
<li Class="CompProperties_MechPowerCell">
|
||||||
|
<totalPowerTicks>4400</totalPowerTicks> <!-- 2 hours -->
|
||||||
|
<labelOverride>寿命</labelOverride>
|
||||||
|
<tooltipOverride>这种特殊的阿拉克涅辅虫从出生起就走在死亡的道路上了——它们的寿命就是如此短暂。</tooltipOverride>
|
||||||
|
<showGizmoOnNonPlayerControlled>true</showGizmoOnNonPlayerControlled>
|
||||||
|
</li>
|
||||||
|
</comps>
|
||||||
</ThingDef>
|
</ThingDef>
|
||||||
<ThingDef ParentName="ARA_BaseDroneSwarm">
|
<ThingDef ParentName="ARA_BaseDroneSwarm">
|
||||||
<defName>ArachnaeBase_Race_Acid</defName>
|
<defName>ArachnaeBase_Race_Acid</defName>
|
||||||
@@ -61,14 +68,6 @@
|
|||||||
<statBases>
|
<statBases>
|
||||||
<MoveSpeed>6</MoveSpeed>
|
<MoveSpeed>6</MoveSpeed>
|
||||||
</statBases>
|
</statBases>
|
||||||
<comps>
|
|
||||||
<li Class="CompProperties_MechPowerCell">
|
|
||||||
<totalPowerTicks>4400</totalPowerTicks> <!-- 2 hours -->
|
|
||||||
<labelOverride>寿命</labelOverride>
|
|
||||||
<tooltipOverride>这种特殊的阿拉克涅辅虫从出生起就走在死亡的道路上了——它们的寿命就是如此短暂。</tooltipOverride>
|
|
||||||
<showGizmoOnNonPlayerControlled>true</showGizmoOnNonPlayerControlled>
|
|
||||||
</li>
|
|
||||||
</comps>
|
|
||||||
<tools Inherit="False">
|
<tools Inherit="False">
|
||||||
<li>
|
<li>
|
||||||
<label>酸性巨颚</label>
|
<label>酸性巨颚</label>
|
||||||
@@ -109,14 +108,6 @@
|
|||||||
<MaxFlightTime>9999</MaxFlightTime>
|
<MaxFlightTime>9999</MaxFlightTime>
|
||||||
<FlightCooldown>0</FlightCooldown>
|
<FlightCooldown>0</FlightCooldown>
|
||||||
</statBases>
|
</statBases>
|
||||||
<comps>
|
|
||||||
<li Class="CompProperties_MechPowerCell">
|
|
||||||
<totalPowerTicks>4400</totalPowerTicks> <!-- 2 hours -->
|
|
||||||
<labelOverride>寿命</labelOverride>
|
|
||||||
<tooltipOverride>这种特殊的阿拉克涅辅虫从出生起就走在死亡的道路上了——它们的寿命就是如此短暂。</tooltipOverride>
|
|
||||||
<showGizmoOnNonPlayerControlled>true</showGizmoOnNonPlayerControlled>
|
|
||||||
</li>
|
|
||||||
</comps>
|
|
||||||
<tools Inherit="False">
|
<tools Inherit="False">
|
||||||
<li>
|
<li>
|
||||||
<label>巨颚</label>
|
<label>巨颚</label>
|
||||||
@@ -130,11 +121,10 @@
|
|||||||
</li>
|
</li>
|
||||||
</tools>
|
</tools>
|
||||||
</ThingDef>
|
</ThingDef>
|
||||||
|
|
||||||
<ThingDef ParentName="ARA_BaseDroneSwarm">
|
<ThingDef ParentName="ARA_BaseDroneSwarm">
|
||||||
<defName>ArachnaeBase_Race_Acidling</defName>
|
<defName>ArachnaeBase_Race_Acidling</defName>
|
||||||
<label>阿拉克涅酸爆种</label>
|
<label>阿拉克涅爆裂种</label>
|
||||||
<description>阿拉克涅辅虫之一,智力低下,一般被作为自杀式无人机打出,靠近敌人后就会引爆酸囊产生危险的酸性雾气。</description>
|
<description>阿拉克涅辅虫之一,智力低下,一般以自杀式袭击的方式伤害敌军,靠近敌人后就会引爆酸囊产生危险的酸性雾气。</description>
|
||||||
<race>
|
<race>
|
||||||
<thinkTreeConstant>HunterDroneConstant</thinkTreeConstant>
|
<thinkTreeConstant>HunterDroneConstant</thinkTreeConstant>
|
||||||
<baseBodySize>0.5</baseBodySize>
|
<baseBodySize>0.5</baseBodySize>
|
||||||
@@ -155,12 +145,6 @@
|
|||||||
<MoveSpeed>6</MoveSpeed>
|
<MoveSpeed>6</MoveSpeed>
|
||||||
</statBases>
|
</statBases>
|
||||||
<comps>
|
<comps>
|
||||||
<li Class="CompProperties_MechPowerCell">
|
|
||||||
<totalPowerTicks>4400</totalPowerTicks> <!-- 2 hours -->
|
|
||||||
<labelOverride>寿命</labelOverride>
|
|
||||||
<tooltipOverride>这种特殊的阿拉克涅辅虫从出生起就走在死亡的道路上了——它们的寿命就是如此短暂。</tooltipOverride>
|
|
||||||
<showGizmoOnNonPlayerControlled>true</showGizmoOnNonPlayerControlled>
|
|
||||||
</li>
|
|
||||||
<li Class="ArachnaeSwarm.CompProperties_HunterExplosion">
|
<li Class="ArachnaeSwarm.CompProperties_HunterExplosion">
|
||||||
<explosionRadius>3.9</explosionRadius> <!-- Mapped from smokeRadius -->
|
<explosionRadius>3.9</explosionRadius> <!-- Mapped from smokeRadius -->
|
||||||
<explosionDamageType>ARA_AcidBurn</explosionDamageType>
|
<explosionDamageType>ARA_AcidBurn</explosionDamageType>
|
||||||
@@ -185,6 +169,7 @@
|
|||||||
</li>
|
</li>
|
||||||
</tools>
|
</tools>
|
||||||
</ThingDef>
|
</ThingDef>
|
||||||
|
|
||||||
<ToolCapacityDef>
|
<ToolCapacityDef>
|
||||||
<defName>ARA_AcidCut</defName>
|
<defName>ARA_AcidCut</defName>
|
||||||
<label>酸性撕咬</label>
|
<label>酸性撕咬</label>
|
||||||
@@ -202,7 +187,6 @@
|
|||||||
<combatLogRulesMiss>Maneuver_Slash_MeleeMiss</combatLogRulesMiss>
|
<combatLogRulesMiss>Maneuver_Slash_MeleeMiss</combatLogRulesMiss>
|
||||||
<combatLogRulesDodge>Maneuver_Slash_MeleeDodge</combatLogRulesDodge>
|
<combatLogRulesDodge>Maneuver_Slash_MeleeDodge</combatLogRulesDodge>
|
||||||
</ManeuverDef>
|
</ManeuverDef>
|
||||||
|
|
||||||
<ToolCapacityDef>
|
<ToolCapacityDef>
|
||||||
<defName>ARA_Bite</defName>
|
<defName>ARA_Bite</defName>
|
||||||
<label>撕咬</label>
|
<label>撕咬</label>
|
||||||
|
|||||||
@@ -536,7 +536,6 @@
|
|||||||
<baseHealthScale>1.5</baseHealthScale>
|
<baseHealthScale>1.5</baseHealthScale>
|
||||||
<!-- 解剖产物 -->
|
<!-- 解剖产物 -->
|
||||||
<leatherDef>ARA_Carapace</leatherDef>
|
<leatherDef>ARA_Carapace</leatherDef>
|
||||||
<lifeExpectancy>300</lifeExpectancy>
|
|
||||||
<!-- 身体类型 -->
|
<!-- 身体类型 -->
|
||||||
<body>Human</body>
|
<body>Human</body>
|
||||||
<lifeStageWorkSettings MayRequire="Ludeon.RimWorld.Biotech">
|
<lifeStageWorkSettings MayRequire="Ludeon.RimWorld.Biotech">
|
||||||
@@ -631,13 +630,6 @@
|
|||||||
<addChance>1.0</addChance>
|
<addChance>1.0</addChance>
|
||||||
<allowDuplicates>false</allowDuplicates>
|
<allowDuplicates>false</allowDuplicates>
|
||||||
</li>
|
</li>
|
||||||
<li Class="CompProperties_CauseHediff_AoE">
|
|
||||||
<hediff>ARA_CreepyCrawly_Hediff</hediff>
|
|
||||||
<range>6</range>
|
|
||||||
<canTargetSelf>false</canTargetSelf>
|
|
||||||
<drawLines>true</drawLines>
|
|
||||||
<ignoreMechs>true</ignoreMechs>
|
|
||||||
</li>
|
|
||||||
<!--<li>
|
<!--<li>
|
||||||
<compClass>FacialAnimation.EmotionControllerComp</compClass>
|
<compClass>FacialAnimation.EmotionControllerComp</compClass>
|
||||||
</li>
|
</li>
|
||||||
@@ -1766,23 +1758,22 @@
|
|||||||
</recipes>
|
</recipes>
|
||||||
|
|
||||||
<comps>
|
<comps>
|
||||||
<li Class="CompProperties_CauseHediff_AoE">
|
|
||||||
<hediff>ARA_CreepyCrawly_Hediff</hediff>
|
|
||||||
<range>6</range>
|
|
||||||
<canTargetSelf>false</canTargetSelf>
|
|
||||||
<drawLines>true</drawLines>
|
|
||||||
<ignoreMechs>true</ignoreMechs>
|
|
||||||
</li>
|
|
||||||
<!-- Add our new flight component here -->
|
<!-- Add our new flight component here -->
|
||||||
<li Class="ArachnaeSwarm.CompProperties_PawnFlight"> <!-- 2. 添加我们的飞行组件 -->
|
<li Class="ArachnaeSwarm.CompProperties_PawnFlight"> <!-- 2. 添加我们的飞行组件 -->
|
||||||
|
|
||||||
<!-- 飞行触发条件:仅在征召时飞行 -->
|
<!-- 飞行触发条件:仅在征召时飞行 -->
|
||||||
<flightCondition>Drafted</flightCondition>
|
<flightCondition>Drafted</flightCondition>
|
||||||
|
|
||||||
<!-- 链接到我们刚刚创建的 AnimationDef -->
|
<flyingAnimationNorth>ARA_Psi_FlyNorth</flyingAnimationNorth>
|
||||||
<!-- <flyingAnimationNorth>ARA_FlyNorth</flyingAnimationNorth>
|
<flyingAnimationEast>ARA_Psi_FlyEast</flyingAnimationEast>
|
||||||
<flyingAnimationEast>ARA_FlyEast</flyingAnimationEast>
|
<flyingAnimationSouth>ARA_Psi_FlySouth</flyingAnimationSouth>
|
||||||
<flyingAnimationSouth>ARA_FlySouth</flyingAnimationSouth> -->
|
</li>
|
||||||
|
<li Class="ArachnaeSwarm.CompProperties_HediffGiver">
|
||||||
|
<hediffs>
|
||||||
|
<li>ARA_HiveMindDrone</li>
|
||||||
|
</hediffs>
|
||||||
|
<addChance>1.0</addChance>
|
||||||
|
<allowDuplicates>false</allowDuplicates>
|
||||||
</li>
|
</li>
|
||||||
</comps>
|
</comps>
|
||||||
</AlienRace.ThingDef_AlienRace>
|
</AlienRace.ThingDef_AlienRace>
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
<thinkTreeConstant>HumanlikeConstant</thinkTreeConstant>
|
<thinkTreeConstant>HumanlikeConstant</thinkTreeConstant>
|
||||||
<intelligence>Humanlike</intelligence>
|
<intelligence>Humanlike</intelligence>
|
||||||
<makesFootprints>true</makesFootprints>
|
<makesFootprints>true</makesFootprints>
|
||||||
<lifeExpectancy>80</lifeExpectancy>
|
<lifeExpectancy>300</lifeExpectancy>
|
||||||
<bloodDef>Filth_Blood</bloodDef>
|
<bloodDef>Filth_Blood</bloodDef>
|
||||||
<bloodSmearDef>Filth_BloodSmear</bloodSmearDef>
|
<bloodSmearDef>Filth_BloodSmear</bloodSmearDef>
|
||||||
<leatherDef>Leather_Human</leatherDef>
|
<leatherDef>Leather_Human</leatherDef>
|
||||||
@@ -705,13 +705,6 @@
|
|||||||
<addChance>1.0</addChance>
|
<addChance>1.0</addChance>
|
||||||
<allowDuplicates>false</allowDuplicates>
|
<allowDuplicates>false</allowDuplicates>
|
||||||
</li>
|
</li>
|
||||||
<li Class="CompProperties_CauseHediff_AoE">
|
|
||||||
<hediff>ARA_CreepyCrawly_Hediff</hediff>
|
|
||||||
<range>6</range>
|
|
||||||
<canTargetSelf>false</canTargetSelf>
|
|
||||||
<drawLines>true</drawLines>
|
|
||||||
<ignoreMechs>true</ignoreMechs>
|
|
||||||
</li>
|
|
||||||
</comps>
|
</comps>
|
||||||
</AlienRace.ThingDef_AlienRace>
|
</AlienRace.ThingDef_AlienRace>
|
||||||
</Defs>
|
</Defs>
|
||||||
Binary file not shown.
|
Before Width: | Height: | Size: 389 KiB After Width: | Height: | Size: 338 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 389 KiB After Width: | Height: | Size: 338 KiB |
Binary file not shown.
@@ -3,16 +3,8 @@
|
|||||||
"WorkspaceRootPath": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\",
|
"WorkspaceRootPath": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\",
|
||||||
"Documents": [
|
"Documents": [
|
||||||
{
|
{
|
||||||
"AbsoluteMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|d:\\steamlibrary\\steamapps\\common\\rimworld\\mods\\arachnaeswarm\\source\\arachnaeswarm\\abilities\\ara_abilityswitch\\compabilityeffect_giveswitchhediff.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\\hediffs\\ara_hediffcomp_topturret\\hediffcomp_topturret.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||||
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:abilities\\ara_abilityswitch\\compabilityeffect_giveswitchhediff.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:hediffs\\ara_hediffcomp_topturret\\hediffcomp_topturret.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\\abilities\\ara_abilityswitch\\compabilityeffect_removeswitchhediff.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
|
||||||
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:abilities\\ara_abilityswitch\\compabilityeffect_removeswitchhediff.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\\abilities\\ara_abilityswitch\\weaponswitch.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
|
||||||
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:abilities\\ara_abilityswitch\\weaponswitch.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"DocumentGroupContainers": [
|
"DocumentGroupContainers": [
|
||||||
@@ -22,50 +14,24 @@
|
|||||||
"DocumentGroups": [
|
"DocumentGroups": [
|
||||||
{
|
{
|
||||||
"DockedWidth": 200,
|
"DockedWidth": 200,
|
||||||
"SelectedChildIndex": 3,
|
"SelectedChildIndex": 0,
|
||||||
"Children": [
|
"Children": [
|
||||||
{
|
|
||||||
"$type": "Bookmark",
|
|
||||||
"Name": "ST:0:0:{1c4feeaa-4718-4aa9-859d-94ce25d182ba}"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$type": "Document",
|
|
||||||
"DocumentIndex": 2,
|
|
||||||
"Title": "WeaponSwitch.cs",
|
|
||||||
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Abilities\\ARA_AbilitySwitch\\WeaponSwitch.cs",
|
|
||||||
"RelativeDocumentMoniker": "Abilities\\ARA_AbilitySwitch\\WeaponSwitch.cs",
|
|
||||||
"ToolTip": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Abilities\\ARA_AbilitySwitch\\WeaponSwitch.cs",
|
|
||||||
"RelativeToolTip": "Abilities\\ARA_AbilitySwitch\\WeaponSwitch.cs",
|
|
||||||
"ViewState": "AgIAAAAAAAAAAAAAAAAAAA4AAAAhAAAAAAAAAA==",
|
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
|
||||||
"WhenOpened": "2025-09-19T06:39:20.978Z",
|
|
||||||
"EditorCaption": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$type": "Document",
|
|
||||||
"DocumentIndex": 1,
|
|
||||||
"Title": "CompAbilityEffect_RemoveSwitchHediff.cs",
|
|
||||||
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Abilities\\ARA_AbilitySwitch\\CompAbilityEffect_RemoveSwitchHediff.cs",
|
|
||||||
"RelativeDocumentMoniker": "Abilities\\ARA_AbilitySwitch\\CompAbilityEffect_RemoveSwitchHediff.cs",
|
|
||||||
"ToolTip": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Abilities\\ARA_AbilitySwitch\\CompAbilityEffect_RemoveSwitchHediff.cs",
|
|
||||||
"RelativeToolTip": "Abilities\\ARA_AbilitySwitch\\CompAbilityEffect_RemoveSwitchHediff.cs",
|
|
||||||
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAMAAAAXAAAAAAAAAA==",
|
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
|
||||||
"WhenOpened": "2025-09-19T06:39:18.492Z",
|
|
||||||
"EditorCaption": ""
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 0,
|
"DocumentIndex": 0,
|
||||||
"Title": "CompAbilityEffect_GiveSwitchHediff.cs",
|
"Title": "HediffComp_TopTurret.cs",
|
||||||
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Abilities\\ARA_AbilitySwitch\\CompAbilityEffect_GiveSwitchHediff.cs",
|
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Hediffs\\ARA_HediffComp_TopTurret\\HediffComp_TopTurret.cs",
|
||||||
"RelativeDocumentMoniker": "Abilities\\ARA_AbilitySwitch\\CompAbilityEffect_GiveSwitchHediff.cs",
|
"RelativeDocumentMoniker": "Hediffs\\ARA_HediffComp_TopTurret\\HediffComp_TopTurret.cs",
|
||||||
"ToolTip": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Abilities\\ARA_AbilitySwitch\\CompAbilityEffect_GiveSwitchHediff.cs",
|
"ToolTip": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Hediffs\\ARA_HediffComp_TopTurret\\HediffComp_TopTurret.cs",
|
||||||
"RelativeToolTip": "Abilities\\ARA_AbilitySwitch\\CompAbilityEffect_GiveSwitchHediff.cs",
|
"RelativeToolTip": "Hediffs\\ARA_HediffComp_TopTurret\\HediffComp_TopTurret.cs",
|
||||||
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAMAAAAXAAAAAAAAAA==",
|
"ViewState": "AgIAAIUAAAAAAAAAAAAswAoAAAAFAAAAAAAAAA==",
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
"WhenOpened": "2025-09-19T06:39:09.674Z",
|
"WhenOpened": "2025-09-20T03:55:47.292Z",
|
||||||
"EditorCaption": ""
|
"EditorCaption": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Bookmark",
|
||||||
|
"Name": "ST:0:0:{1c4feeaa-4718-4aa9-859d-94ce25d182ba}"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -133,6 +133,7 @@
|
|||||||
<Compile Include="Hediffs\ARA_ConfigurableMutant\HediffComp_NecroticTransformation.cs" />
|
<Compile Include="Hediffs\ARA_ConfigurableMutant\HediffComp_NecroticTransformation.cs" />
|
||||||
<Compile Include="Hediffs\ARA_ConfigurableMutant\HediffComp_Symbiosis.cs" />
|
<Compile Include="Hediffs\ARA_ConfigurableMutant\HediffComp_Symbiosis.cs" />
|
||||||
<Compile Include="Hediffs\ARA_ConfigurableMutant\NecroticTransformationUtility.cs" />
|
<Compile Include="Hediffs\ARA_ConfigurableMutant\NecroticTransformationUtility.cs" />
|
||||||
|
<Compile Include="Hediffs\ARA_HediffComp_TopTurret\HediffComp_TopTurret.cs" />
|
||||||
<Compile Include="Hediffs\ARA_HiveMind\CompAbilityEffect_BindDrone.cs" />
|
<Compile Include="Hediffs\ARA_HiveMind\CompAbilityEffect_BindDrone.cs" />
|
||||||
<Compile Include="Hediffs\ARA_HiveMind\CompProperties_AbilityBindDrone.cs" />
|
<Compile Include="Hediffs\ARA_HiveMind\CompProperties_AbilityBindDrone.cs" />
|
||||||
<Compile Include="Hediffs\ARA_HiveMind\Hediff_HiveMindDrone.cs" />
|
<Compile Include="Hediffs\ARA_HiveMind\Hediff_HiveMindDrone.cs" />
|
||||||
|
|||||||
@@ -0,0 +1,268 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using UnityEngine;
|
||||||
|
using Verse;
|
||||||
|
using Verse.AI;
|
||||||
|
using RimWorld;
|
||||||
|
|
||||||
|
namespace ArachnaeSwarm
|
||||||
|
{
|
||||||
|
public class HediffCompProperties_TopTurret : HediffCompProperties
|
||||||
|
{
|
||||||
|
public HediffCompProperties_TopTurret()
|
||||||
|
{
|
||||||
|
this.compClass = typeof(HediffComp_TopTurret);
|
||||||
|
}
|
||||||
|
|
||||||
|
public ThingDef turretDef;
|
||||||
|
|
||||||
|
public float angleOffset;
|
||||||
|
|
||||||
|
public bool autoAttack = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
[StaticConstructorOnStartup]
|
||||||
|
public class HediffComp_TopTurret : HediffComp, IAttackTargetSearcher
|
||||||
|
{
|
||||||
|
public Thing Thing
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return this.Pawn;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private HediffCompProperties_TopTurret Props
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return (HediffCompProperties_TopTurret)this.props;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public Verb CurrentEffectiveVerb
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return this.AttackVerb;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public LocalTargetInfo LastAttackedTarget
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return this.lastAttackedTarget;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public int LastAttackTargetTick
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return this.lastAttackTargetTick;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public CompEquippable GunCompEq
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return this.gun.TryGetComp<CompEquippable>();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public Verb AttackVerb
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return this.GunCompEq.PrimaryVerb;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private bool WarmingUp
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return this.burstWarmupTicksLeft > 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private bool CanShoot
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
Pawn pawn;
|
||||||
|
if ((pawn = (this.Pawn)) != null)
|
||||||
|
{
|
||||||
|
if (!pawn.Spawned || pawn.Downed || pawn.Dead || !pawn.Awake())
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (pawn.stances.stunner.Stunned)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (this.TurretDestroyed)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (pawn.IsColonyMechPlayerControlled && !this.fireAtWill)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
CompCanBeDormant compCanBeDormant = this.Pawn.TryGetComp<CompCanBeDormant>();
|
||||||
|
return compCanBeDormant == null || compCanBeDormant.Awake;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public bool TurretDestroyed
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
Pawn pawn;
|
||||||
|
return (pawn = (this.Pawn)) != null && this.AttackVerb.verbProps.linkedBodyPartsGroup != null && this.AttackVerb.verbProps.ensureLinkedBodyPartsGroupAlwaysUsable && PawnCapacityUtility.CalculateNaturalPartsAverageEfficiency(pawn.health.hediffSet, this.AttackVerb.verbProps.linkedBodyPartsGroup) <= 0f;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private Material TurretMat
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
if (this.turretMat == null)
|
||||||
|
{
|
||||||
|
this.turretMat = MaterialPool.MatFrom(this.Props.turretDef.graphicData.texPath);
|
||||||
|
}
|
||||||
|
return this.turretMat;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public bool AutoAttack
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return this.Props.autoAttack;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void CompPostMake()
|
||||||
|
{
|
||||||
|
base.CompPostMake();
|
||||||
|
this.MakeGun();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void MakeGun()
|
||||||
|
{
|
||||||
|
this.gun = ThingMaker.MakeThing(this.Props.turretDef, null);
|
||||||
|
this.UpdateGunVerbs();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void UpdateGunVerbs()
|
||||||
|
{
|
||||||
|
List<Verb> allVerbs = this.gun.TryGetComp<CompEquippable>().AllVerbs;
|
||||||
|
for (int i = 0; i < allVerbs.Count; i++)
|
||||||
|
{
|
||||||
|
Verb verb = allVerbs[i];
|
||||||
|
verb.caster = this.Pawn;
|
||||||
|
verb.castCompleteCallback = delegate ()
|
||||||
|
{
|
||||||
|
this.burstCooldownTicksLeft = this.AttackVerb.verbProps.defaultCooldownTime.SecondsToTicks();
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public override void CompPostTick(ref float severityAdjustment)
|
||||||
|
{
|
||||||
|
base.CompPostTick(ref severityAdjustment);
|
||||||
|
if (!this.CanShoot)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (this.currentTarget.IsValid)
|
||||||
|
{
|
||||||
|
this.curRotation = (this.currentTarget.Cell.ToVector3Shifted() - this.Pawn.DrawPos).AngleFlat() + this.Props.angleOffset;
|
||||||
|
}
|
||||||
|
this.AttackVerb.VerbTick();
|
||||||
|
if (this.AttackVerb.state != VerbState.Bursting)
|
||||||
|
{
|
||||||
|
if (this.WarmingUp)
|
||||||
|
{
|
||||||
|
this.burstWarmupTicksLeft--;
|
||||||
|
if (this.burstWarmupTicksLeft == 0)
|
||||||
|
{
|
||||||
|
this.AttackVerb.TryStartCastOn(this.currentTarget, false, true, false, true);
|
||||||
|
this.lastAttackTargetTick = Find.TickManager.TicksGame;
|
||||||
|
this.lastAttackedTarget = this.currentTarget;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (this.burstCooldownTicksLeft > 0)
|
||||||
|
{
|
||||||
|
this.burstCooldownTicksLeft--;
|
||||||
|
}
|
||||||
|
if (this.burstCooldownTicksLeft <= 0 && this.Pawn.IsHashIntervalTick(10))
|
||||||
|
{
|
||||||
|
this.currentTarget = (Thing)AttackTargetFinder.BestShootTargetFromCurrentPosition(this, TargetScanFlags.NeedThreat | TargetScanFlags.NeedAutoTargetable, null, 0f, 9999f);
|
||||||
|
if (this.currentTarget.IsValid)
|
||||||
|
{
|
||||||
|
this.burstWarmupTicksLeft = 1;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
this.ResetCurrentTarget();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ResetCurrentTarget()
|
||||||
|
{
|
||||||
|
this.currentTarget = LocalTargetInfo.Invalid;
|
||||||
|
this.burstWarmupTicksLeft = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void CompExposeData()
|
||||||
|
{
|
||||||
|
base.CompExposeData();
|
||||||
|
Scribe_Values.Look<int>(ref this.burstCooldownTicksLeft, "burstCooldownTicksLeft", 0, false);
|
||||||
|
Scribe_Values.Look<int>(ref this.burstWarmupTicksLeft, "burstWarmupTicksLeft", 0, false);
|
||||||
|
Scribe_TargetInfo.Look(ref this.currentTarget, "currentTarget");
|
||||||
|
Scribe_Deep.Look<Thing>(ref this.gun, "gun", Array.Empty<object>());
|
||||||
|
Scribe_Values.Look<bool>(ref this.fireAtWill, "fireAtWill", true, false);
|
||||||
|
if (Scribe.mode == LoadSaveMode.PostLoadInit)
|
||||||
|
{
|
||||||
|
if (this.gun == null)
|
||||||
|
{
|
||||||
|
Log.Error("CompTurrentGun had null gun after loading. Recreating.");
|
||||||
|
this.MakeGun();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
this.UpdateGunVerbs();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private const int StartShootIntervalTicks = 10;
|
||||||
|
|
||||||
|
private static readonly CachedTexture ToggleTurretIcon = new CachedTexture("UI/Gizmos/ToggleTurret");
|
||||||
|
|
||||||
|
public Thing gun;
|
||||||
|
|
||||||
|
protected int burstCooldownTicksLeft;
|
||||||
|
|
||||||
|
protected int burstWarmupTicksLeft;
|
||||||
|
|
||||||
|
protected LocalTargetInfo currentTarget = LocalTargetInfo.Invalid;
|
||||||
|
|
||||||
|
private bool fireAtWill = true;
|
||||||
|
|
||||||
|
private LocalTargetInfo lastAttackedTarget = LocalTargetInfo.Invalid;
|
||||||
|
|
||||||
|
private int lastAttackTargetTick;
|
||||||
|
|
||||||
|
private float curRotation;
|
||||||
|
|
||||||
|
[Unsaved(false)]
|
||||||
|
public Material turretMat;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -31,11 +31,22 @@ namespace ArachnaeSwarm
|
|||||||
IReadOnlyList<Pawn> pawns = ((!Props.onlyPawnsInSameFaction || parent.pawn.Faction == null) ? parent.pawn.Map.mapPawns.AllPawnsSpawned : parent.pawn.Map.mapPawns.SpawnedPawnsInFaction(parent.pawn.Faction));
|
IReadOnlyList<Pawn> pawns = ((!Props.onlyPawnsInSameFaction || parent.pawn.Faction == null) ? parent.pawn.Map.mapPawns.AllPawnsSpawned : parent.pawn.Map.mapPawns.SpawnedPawnsInFaction(parent.pawn.Faction));
|
||||||
foreach (Pawn pawn in pawns)
|
foreach (Pawn pawn in pawns)
|
||||||
{
|
{
|
||||||
// 修改点:检查种族是否在我们的目标列表中,如果列表为空或null则不进行任何操作
|
// 检查种族是否在我们的目标列表中,如果列表为空或null则不进行任何操作
|
||||||
if ((Props.targetRaces.NullOrEmpty() || !Props.targetRaces.Contains(pawn.def)) || pawn.Dead || pawn.health == null || pawn == parent.pawn || !(pawn.Position.DistanceTo(parent.pawn.Position) <= Props.range) || !Props.targetingParameters.CanTarget(pawn))
|
if ( pawn.Dead || pawn.health == null || pawn == parent.pawn || !(pawn.Position.DistanceTo(parent.pawn.Position) <= Props.range) || !Props.targetingParameters.CanTarget(pawn))
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// 如果列表是空的或null,则默认对所有的pawn进行操作
|
||||||
|
if (Props.targetRaces.NullOrEmpty())
|
||||||
|
{
|
||||||
|
}
|
||||||
|
else if (!Props.targetRaces.Contains(pawn.def))
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
Hediff hediff = pawn.health.hediffSet.GetFirstHediffOfDef(Props.hediff);
|
Hediff hediff = pawn.health.hediffSet.GetFirstHediffOfDef(Props.hediff);
|
||||||
if (hediff == null)
|
if (hediff == null)
|
||||||
{
|
{
|
||||||
|
|||||||
BIN
非公开资源/Content/1.png
Normal file
BIN
非公开资源/Content/1.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 3.8 MiB |
Binary file not shown.
Reference in New Issue
Block a user