追猎种亚种,新资源活化钜菌
This commit is contained in:
Binary file not shown.
@@ -347,22 +347,21 @@
|
||||
<cooldownTicksRange>6000</cooldownTicksRange>
|
||||
<iconPath>ArachnaeSwarm/UI/Abilities/ARA_Toxic_Needle_Fire</iconPath>
|
||||
<verbProperties>
|
||||
<verbClass>Verb_AbilityShoot</verbClass>
|
||||
<defaultProjectile>Bullet_ARA_RW_Basic_Fist_Needle_Gun</defaultProjectile>
|
||||
<range>24.9</range>
|
||||
<verbClass>Verb_CastAbility</verbClass>
|
||||
<range>24</range>
|
||||
<warmupTime>1</warmupTime>
|
||||
<soundCast>Heatspikes_Shot</soundCast>
|
||||
<soundCastTail>Heatspikes_Tail</soundCastTail>
|
||||
<muzzleFlashScale>9</muzzleFlashScale>
|
||||
<ticksBetweenBurstShots>6</ticksBetweenBurstShots>
|
||||
<warmupTime>0</warmupTime>
|
||||
<burstShotCount>12</burstShotCount>
|
||||
<accuracyTouch>0.9</accuracyTouch>
|
||||
<accuracyShort>0.8</accuracyShort>
|
||||
<accuracyMedium>0.7</accuracyMedium>
|
||||
<accuracyLong>0.6</accuracyLong>
|
||||
<ai_IsWeapon>false</ai_IsWeapon>
|
||||
<violent>false</violent>
|
||||
<targetParams>
|
||||
<canTargetPawns>True</canTargetPawns>
|
||||
</targetParams>
|
||||
</verbProperties>
|
||||
<comps>
|
||||
<li Class="ArachnaeSwarm.CompProperties_AbilityLaunchMultiProjectile">
|
||||
<projectileDef>Bullet_ARA_RW_Basic_Fist_Needle_Gun</projectileDef>
|
||||
<numProjectiles>12</numProjectiles>
|
||||
</li>
|
||||
<li Class="ArachnaeSwarm.CompProperties_AbilityNeedCost">
|
||||
<needDef>Food</needDef>
|
||||
<needCost>0.1</needCost>
|
||||
@@ -776,4 +775,72 @@
|
||||
<speed>40</speed>
|
||||
</projectile>
|
||||
</ThingDef>
|
||||
|
||||
<AbilityDef>
|
||||
<defName>ARA_Fighter_Invisibility_jump</defName>
|
||||
<label>追猎种跳跃</label>
|
||||
<description>以强力的肌腱向目标地点跳跃,会暴露追猎种的身形。</description>
|
||||
<iconPath>UI/Abilities/Longjump</iconPath>
|
||||
<cooldownTicksRange>1000</cooldownTicksRange>
|
||||
<charges>3</charges>
|
||||
<cooldownPerCharge>true</cooldownPerCharge>
|
||||
<hostile>false</hostile>
|
||||
<casterMustBeCapableOfViolence>false</casterMustBeCapableOfViolence>
|
||||
<verbProperties>
|
||||
<verbClass>Verb_CastAbilityJump</verbClass>
|
||||
<violent>false</violent>
|
||||
<forceNormalTimeSpeed>false</forceNormalTimeSpeed>
|
||||
<!-- <warmupTime>0.5</warmupTime> -->
|
||||
<range>23</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>
|
||||
<AbilityDef>
|
||||
<defName>ARA_Fighter_Invisibility_Execution</defName>
|
||||
<label>巨镰处决</label>
|
||||
<description>追猎种挥动巨镰对敌人进行处决,造成一次高额伤害,处决完成后会暴露追猎种的身形。</description>
|
||||
<iconPath>UI/Abilities/Longjump</iconPath>
|
||||
<cooldownTicksRange>3800</cooldownTicksRange>
|
||||
<cooldownPerCharge>true</cooldownPerCharge>
|
||||
<hostile>false</hostile>
|
||||
<casterMustBeCapableOfViolence>false</casterMustBeCapableOfViolence>
|
||||
<stunTargetWhileCasting>true</stunTargetWhileCasting>
|
||||
<warmupMote>Mote_HoraxSmallSpellWarmup</warmupMote>
|
||||
<warmupEffecter>HoraxianAbilityCasting</warmupEffecter>
|
||||
<warmupSound>AnomalyAbilityWarmup</warmupSound>
|
||||
<jobDef>CastAbilityOnThingMelee</jobDef>
|
||||
<verbProperties>
|
||||
<verbClass>Verb_CastAbilityTouch</verbClass>
|
||||
<drawAimPie>false</drawAimPie>
|
||||
<range>-1</range>
|
||||
<warmupTime>1</warmupTime>
|
||||
<targetParams>
|
||||
<canTargetSelf>false</canTargetSelf>
|
||||
<canTargetMechs>false</canTargetMechs>
|
||||
<canTargetBuildings>false</canTargetBuildings>
|
||||
</targetParams>
|
||||
</verbProperties>
|
||||
<comps>
|
||||
<li Class="CompProperties_AbilityGiveHediff">
|
||||
<compClass>CompAbilityEffect_GiveHediff</compClass>
|
||||
<hediffDef>ARA_Fighter_Execution_Damage</hediffDef>
|
||||
<replaceExisting>true</replaceExisting>
|
||||
</li>
|
||||
</comps>
|
||||
</AbilityDef>
|
||||
</Defs>
|
||||
@@ -1,5 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<Defs>
|
||||
<!-- 女皇 -->
|
||||
<!-- T0 -->
|
||||
<HediffDef>
|
||||
<defName>ARA_Queen_0_Stage</defName>
|
||||
@@ -218,6 +219,7 @@
|
||||
</comps>
|
||||
</HediffDef>
|
||||
|
||||
<!-- 工艺 -->
|
||||
<!-- T0 -->
|
||||
<HediffDef>
|
||||
<defName>ARA_WeaponSmith_0_Stage</defName>
|
||||
@@ -356,6 +358,7 @@
|
||||
<description>这只阿拉克涅蜜罐种正在产出虫蜜,以滋养虫群。一只蜜罐种每天产出10份阿拉克涅虫蜜。</description>
|
||||
<descriptionHyperlinks>
|
||||
<ThingDef>ARA_InsectJelly</ThingDef>
|
||||
<HediffDef>ARA_Myrmecocystus_Production_Medicine</HediffDef>
|
||||
</descriptionHyperlinks>
|
||||
<hediffClass>HediffWithComps</hediffClass>
|
||||
<defaultLabelColor>(0.6, 0.4, 0.8)</defaultLabelColor>
|
||||
@@ -470,8 +473,8 @@
|
||||
</AbilityDef>
|
||||
<HediffDef>
|
||||
<defName>ARA_Myrmecocystus_Production_Medicine</defName>
|
||||
<label>医疗专精</label>
|
||||
<description>这只阿拉克涅蜜罐种已经获得拔耀,不再生产虫蜜,而是生产巢穴所稀缺的药物、化学品,并可以操纵拟线种。</description>
|
||||
<label>亚种-疗愈种</label>
|
||||
<description>这只阿拉克涅蜜罐种已经获得拔耀,不再生产虫蜜,而是生产巢穴所稀缺的药物、化学品,并可以操纵拟线种寄生虫。</description>
|
||||
<descriptionHyperlinks>
|
||||
<ThingDef>ARA_InsectJelly</ThingDef>
|
||||
</descriptionHyperlinks>
|
||||
@@ -497,4 +500,283 @@
|
||||
</li>
|
||||
</comps>
|
||||
</HediffDef>
|
||||
|
||||
<!-- 战士种 -->
|
||||
<HediffDef>
|
||||
<defName>ARA_Fighter_Base</defName>
|
||||
<label>虫巢战士</label>
|
||||
<description>阿拉克涅的战士虫们可以将身体变成自己的最强大的武装,随着科技的解锁,它们将获得繁多的技能以供使用。</description>
|
||||
<descriptionHyperlinks>
|
||||
<HediffDef>ARA_Fighter_Invisibility</HediffDef>
|
||||
</descriptionHyperlinks>
|
||||
<hediffClass>HediffWithComps</hediffClass>
|
||||
<defaultLabelColor>(0.6, 0.4, 0.8)</defaultLabelColor>
|
||||
<isBad>false</isBad>
|
||||
<scenarioCanAdd>false</scenarioCanAdd>
|
||||
<maxSeverity>1.0</maxSeverity>
|
||||
<!-- <stages>
|
||||
<li>
|
||||
<becomeVisible>ture</becomeVisible>
|
||||
</li>
|
||||
<li>
|
||||
<minSeverity>1.01</minSeverity>
|
||||
<becomeVisible>false</becomeVisible>
|
||||
</li>
|
||||
</stages> -->
|
||||
<comps>
|
||||
<li Class="HediffCompProperties_GiveAbility">
|
||||
<abilityDefs>
|
||||
<li>ARA_AcidSprayBurst</li>
|
||||
<li>ARA_Toxic_Needle_Fire</li>
|
||||
<li>ARA_Fighter_Invisibility</li>
|
||||
</abilityDefs>
|
||||
</li>
|
||||
<li Class="HediffCompProperties_RemoveIfOtherHediff">
|
||||
<hediffs>
|
||||
<li>ARA_Fighter_Invisibility</li>
|
||||
</hediffs>
|
||||
</li>
|
||||
</comps>
|
||||
</HediffDef>
|
||||
<AbilityDef>
|
||||
<defName>ARA_Fighter_Invisibility</defName>
|
||||
<label>战士种转换——隐形杀手</label>
|
||||
<description>使战士种发生内驱性进化,极大地损害其远程武器和特殊技能的使用能力,以换取近乎永久的隐形和强大的近战能力。\n\n该进化过程不可逆!</description>
|
||||
<iconPath>ArachnaeSwarm/UI/Abilities/ARA_Myrmecocystus_Production_Medicine</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_Fighter_Invisibility</hediffDef>
|
||||
<onlyApplyToSelf>True</onlyApplyToSelf>
|
||||
<replaceExisting>true</replaceExisting>
|
||||
<severity>1</severity>
|
||||
</li>
|
||||
<li Class="ArachnaeSwarm.CompProperties_AbilityResearchPrereq">
|
||||
<requiredResearch>ARA_Technology_1MED</requiredResearch>
|
||||
<failMessage>需要科技 节点MED-1"制药" 以解锁进化</failMessage>
|
||||
</li>
|
||||
</comps>
|
||||
</AbilityDef>
|
||||
<HediffDef>
|
||||
<defName>ARA_Fighter_Invisibility</defName>
|
||||
<hediffClass>HediffWithComps</hediffClass>
|
||||
<label>亚种-追猎种</label>
|
||||
<description>经过进化的战士种获得了特殊的覆盖全身的虹细胞,这些含纳米晶体的细胞可以折射各处的光线以达到永久隐身状态,直到其发起攻击。此外,它们也获得了更强大的近距离作战能力,缺点则是复眼的退化使其难以进行射击。</description>
|
||||
<isBad>false</isBad>
|
||||
<stages>
|
||||
<li>
|
||||
<minSeverity>0.01</minSeverity>
|
||||
<statFactors>
|
||||
<RangedCooldownFactor>2</RangedCooldownFactor>
|
||||
<ShootingAccuracyPawn>0.05</ShootingAccuracyPawn>
|
||||
<AimingDelayFactor>5</AimingDelayFactor>
|
||||
<StaggerDurationFactor>0</StaggerDurationFactor>
|
||||
</statFactors>
|
||||
</li>
|
||||
</stages>
|
||||
<comps>
|
||||
<li Class="HediffCompProperties_Invisibility">
|
||||
<visibleToPlayer>true</visibleToPlayer>
|
||||
<fadeDurationTicks>60</fadeDurationTicks>
|
||||
<recoverFromDisruptedTicks>90</recoverFromDisruptedTicks>
|
||||
</li>
|
||||
<li Class="HediffCompProperties_GiveAbility">
|
||||
<abilityDefs>
|
||||
<li>ARA_Fighter_Invisibility_Execution</li>
|
||||
<li>ARA_Fighter_Invisibility_jump</li>
|
||||
</abilityDefs>
|
||||
</li>
|
||||
<li Class="HediffCompProperties_DisappearsOnDeath" />
|
||||
</comps>
|
||||
</HediffDef>
|
||||
|
||||
<!-- 蜜罐种 -->
|
||||
<HediffDef>
|
||||
<defName>ARA_Smokepop_Base</defName>
|
||||
<label>活体烟罐</label>
|
||||
<description>迷雾种是阿拉克涅虫族中的大家伙,它们毕不仅拥有厚实的外壳,其灌满信息素浓烟的腹部可以喷出覆盖战场的气体,吸引那些较小的辅虫破土而出对敌方发起疯狂的攻击。</description>
|
||||
<descriptionHyperlinks>
|
||||
<HediffDef>ARA_Smokepop_Production_Bacterium</HediffDef>
|
||||
</descriptionHyperlinks>
|
||||
<hediffClass>HediffWithComps</hediffClass>
|
||||
<defaultLabelColor>(0.6, 0.4, 0.8)</defaultLabelColor>
|
||||
<isBad>false</isBad>
|
||||
<scenarioCanAdd>false</scenarioCanAdd>
|
||||
<maxSeverity>1.0</maxSeverity>
|
||||
<renderNodeProperties>
|
||||
<li>
|
||||
<nodeClass>PawnRenderNode_AttachmentHead</nodeClass>
|
||||
<workerClass>PawnRenderNodeWorker_FlipWhenCrawling</workerClass>
|
||||
<texPath>ArachnaeSwarm/Things/ARA_HiveNode/Addons/ArachnaeNode_Race_Addons_Smokepop_Armor</texPath>
|
||||
<parentTagDef>Body</parentTagDef>
|
||||
<useSkinShader>false</useSkinShader>
|
||||
<useRottenColor>false</useRottenColor>
|
||||
<rotDrawMode>Fresh, Rotting</rotDrawMode>
|
||||
<drawSize>0.85</drawSize>
|
||||
<drawData>
|
||||
<dataNorth>
|
||||
<offset>(0, 0, 0.2)</offset>
|
||||
</dataNorth>
|
||||
<dataEast>
|
||||
<offset>(0, 0, 0.2)</offset>
|
||||
</dataEast>
|
||||
<dataSouth>
|
||||
<offset>(0, 0, 0.2)</offset>
|
||||
</dataSouth>
|
||||
<dataWest>
|
||||
<offset>(0, 0, 0.2)</offset>
|
||||
</dataWest>
|
||||
<defaultData>
|
||||
<layer>800</layer>
|
||||
</defaultData>
|
||||
</drawData>
|
||||
</li>
|
||||
</renderNodeProperties>
|
||||
<stages>
|
||||
<li>
|
||||
<minSeverity>0</minSeverity>
|
||||
<statOffsets>
|
||||
<ArmorRating_Blunt>0.75</ArmorRating_Blunt>
|
||||
<ArmorRating_Sharp>0.8</ArmorRating_Sharp>
|
||||
</statOffsets>
|
||||
</li>
|
||||
</stages>
|
||||
<comps>
|
||||
<li Class="HediffCompProperties_GiveAbility">
|
||||
<abilityDefs>
|
||||
<li>ARA_Ability_Smokepop</li>
|
||||
<li>ARA_Smokepop_Production_Bacterium</li>
|
||||
</abilityDefs>
|
||||
</li>
|
||||
<li Class="HediffCompProperties_RemoveIfOtherHediff">
|
||||
<hediffs>
|
||||
<li>ARA_Smokepop_Production_Bacterium</li>
|
||||
</hediffs>
|
||||
</li>
|
||||
</comps>
|
||||
</HediffDef>
|
||||
<AbilityDef>
|
||||
<defName>ARA_Smokepop_Production_Bacterium</defName>
|
||||
<label>迷雾种转换——钜菌专精</label>
|
||||
<description>使迷雾种发生内驱性进化,以牺牲喷射信息素和降低护甲为代价,使其可以定期产出阿拉克涅虫族的高级材料——活化钜菌。\n\n该进化过程不可逆!</description>
|
||||
<iconPath>ArachnaeSwarm/UI/Abilities/ARA_Myrmecocystus_Production_Medicine</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_Smokepop_Production_Bacterium</hediffDef>
|
||||
<onlyApplyToSelf>True</onlyApplyToSelf>
|
||||
<replaceExisting>true</replaceExisting>
|
||||
<severity>1</severity>
|
||||
</li>
|
||||
<li Class="ArachnaeSwarm.CompProperties_AbilityResearchPrereq">
|
||||
<requiredResearch>ARA_Technology_1MED</requiredResearch>
|
||||
<failMessage>需要科技 节点MED-1"制药" 以解锁进化</failMessage>
|
||||
</li>
|
||||
</comps>
|
||||
</AbilityDef>
|
||||
<HediffDef>
|
||||
<defName>ARA_Smokepop_Production_Bacterium</defName>
|
||||
<label>亚种-育菌种</label>
|
||||
<description>这只阿拉克涅迷雾种已经获得拔耀,前部甲壳脱落且无法再喷射信息素,转而换取了生产活化钜菌的能力。</description>
|
||||
<descriptionHyperlinks>
|
||||
<ThingDef>ARA_Activated_Bacterium</ThingDef>
|
||||
</descriptionHyperlinks>
|
||||
<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>
|
||||
</li>
|
||||
</stages>
|
||||
<comps>
|
||||
<li Class="ArachnaeSwarm.MoharHediffs.HediffCompProperties_Spawner">
|
||||
<!--
|
||||
==================================================
|
||||
基础设置 (Basic Settings)
|
||||
==================================================
|
||||
-->
|
||||
<!-- [DEBUG] 如果为true,则为此组件启用详细的调试日志记录。 -->
|
||||
<debug>true</debug>
|
||||
<!-- 要生成的物品的ThingDef。 -->
|
||||
<thingToSpawn>ARA_Activated_Bacterium</thingToSpawn>
|
||||
<!-- 每次生成的基础物品数量。 -->
|
||||
<spawnCount>3</spawnCount>
|
||||
<!--
|
||||
==================================================
|
||||
生成周期 (Spawning Interval)
|
||||
==================================================
|
||||
-->
|
||||
<!-- 下一次生成事件发生前的最少天数。 -->
|
||||
<minDaysB4Next>1</minDaysB4Next>
|
||||
<!-- 下一次生成事件发生前的最大天数。 -->
|
||||
<maxDaysB4Next>1</maxDaysB4Next>
|
||||
<randomGrace>0</randomGrace>
|
||||
<!--
|
||||
==================================================
|
||||
与年龄相关的调整 (Age-Related Adjustments)
|
||||
==================================================
|
||||
-->
|
||||
<!-- 如果为true,生成数量将根据宿主的年龄进行调整。 -->
|
||||
<ageWeightedQuantity>false</ageWeightedQuantity>
|
||||
<!-- 如果为true且ageWeightedQuantity为true,则随着宿主年龄增长,生成数量变多。 -->
|
||||
<olderBiggerQuantity>true</olderBiggerQuantity>
|
||||
<!-- 如果为true且ageWeightedQuantity为true,则随年龄增长的数量缩放将是指数性的而非线性的。 -->
|
||||
<exponentialQuantity>true</exponentialQuantity>
|
||||
<!-- 指数级数量缩放的最大乘数,以防止出现荒谬的数字。 -->
|
||||
<exponentialRatioLimit>20</exponentialRatioLimit>
|
||||
<!--
|
||||
==================================================
|
||||
生成条件 (Spawning Conditions)
|
||||
==================================================
|
||||
-->
|
||||
<!-- 如果为true,当宿主Pawn饥饿时,生成将暂停。 -->
|
||||
<hungerRelative>true</hungerRelative>
|
||||
<!-- 如果为true,当宿主Pawn受伤时,生成将暂停。 -->
|
||||
<healthRelative>false</healthRelative>
|
||||
</li>
|
||||
</comps>
|
||||
</HediffDef>
|
||||
</Defs>
|
||||
@@ -196,4 +196,31 @@
|
||||
<li Class="HediffCompProperties_DisappearsOnDeath"/>
|
||||
</comps>
|
||||
</HediffDef>
|
||||
|
||||
<HediffDef>
|
||||
<defName>ARA_Fighter_Execution_Damage</defName>
|
||||
<label>处决</label>
|
||||
<description></description>
|
||||
<defaultLabelColor>(1, 1, 0.8)</defaultLabelColor>
|
||||
<hediffClass>ArachnaeSwarm.HediffCurseFlame</hediffClass>
|
||||
<comps>
|
||||
<li Class="HediffCompProperties_Disappears">
|
||||
<disappearsAfterTicks>2</disappearsAfterTicks>
|
||||
</li>
|
||||
<li Class="HediffCompProperties_DisappearsOnDeath"/>
|
||||
</comps>
|
||||
<modExtensions>
|
||||
<li Class="ArachnaeSwarm.CurseFlameModExt">
|
||||
<damageDefName>Cut</damageDefName>
|
||||
<damageRange>300</damageRange>
|
||||
<damageIntervalTicks>1</damageIntervalTicks>
|
||||
</li>
|
||||
</modExtensions>
|
||||
<stages>
|
||||
<li>
|
||||
<label>minor</label>
|
||||
<becomeVisible>false</becomeVisible>
|
||||
</li>
|
||||
</stages>
|
||||
</HediffDef>
|
||||
</Defs>
|
||||
@@ -196,6 +196,7 @@
|
||||
<defName>ArachnaeNode_Race_Fighter</defName>
|
||||
<label>阿拉克涅战士种</label>
|
||||
<race>ArachnaeNode_Race_Fighter</race>
|
||||
<collidesWithPawns>false</collidesWithPawns>
|
||||
<defaultFactionType>PlayerColony</defaultFactionType>
|
||||
<invNutrition>0</invNutrition>
|
||||
<backstoryFiltersOverride>
|
||||
@@ -208,8 +209,6 @@
|
||||
</backstoryFiltersOverride>
|
||||
<abilities>
|
||||
<li>ARA_BaseRace_Acid_Launcher</li>
|
||||
<li>ARA_AcidSprayBurst</li>
|
||||
<li>ARA_Toxic_Needle_Fire</li>
|
||||
</abilities>
|
||||
<apparelTags>
|
||||
</apparelTags>
|
||||
|
||||
@@ -1091,6 +1091,17 @@
|
||||
<tooltipOverride>阿拉克涅的督虫们生命如精密的发条般运转着。</tooltipOverride>
|
||||
<showGizmoOnNonPlayerControlled>true</showGizmoOnNonPlayerControlled>
|
||||
</li>
|
||||
<li Class="ArachnaeSwarm.CompProperties_HediffGiver">
|
||||
<hediffs>
|
||||
<li>ARA_Fighter_Base</li>
|
||||
</hediffs>
|
||||
<addChance>1.0</addChance>
|
||||
<allowDuplicates>false</allowDuplicates>
|
||||
</li>
|
||||
<li Class="ArachnaeSwarm.CompProperties_FighterInvisible">
|
||||
<InvisibilityDef>ARA_Fighter_Invisibility</InvisibilityDef>
|
||||
<stealthCooldownTicks>120</stealthCooldownTicks>
|
||||
</li>
|
||||
</comps>
|
||||
</AlienRace.ThingDef_AlienRace>
|
||||
<AlienRace.ThingDef_AlienRace ParentName="ARA_NodeBase">
|
||||
@@ -1230,8 +1241,8 @@
|
||||
<!-- <TradePriceImprovement>0.5</TradePriceImprovement> -->
|
||||
|
||||
<!-- 自带的甲壳可以防御外部攻击 -->
|
||||
<ArmorRating_Blunt>1</ArmorRating_Blunt>
|
||||
<ArmorRating_Sharp>1.2</ArmorRating_Sharp>
|
||||
<ArmorRating_Blunt>0.25</ArmorRating_Blunt>
|
||||
<ArmorRating_Sharp>0.4</ArmorRating_Sharp>
|
||||
<ArmorRating_Heat>0.75</ArmorRating_Heat>
|
||||
|
||||
</statBases>
|
||||
|
||||
@@ -119,4 +119,33 @@
|
||||
<allowedArchonexusCount>80</allowedArchonexusCount>
|
||||
<possessionCount>50</possessionCount>
|
||||
</ThingDef>
|
||||
|
||||
<ThingDef ParentName="ResourceBase">
|
||||
<defName>ARA_Activated_Bacterium</defName>
|
||||
<label>活化钜菌</label>
|
||||
<description>一种被阿拉克涅虫族驯化和改造的极端微生物菌落。它具有超强的生物催化能力和腐蚀同化能力,是不少虫族高级装备的必需品。</description>
|
||||
<graphicData>
|
||||
<texPath>ArachnaeSwarm/Item/ARA_Carapace</texPath>
|
||||
<graphicClass>Graphic_Single</graphicClass>
|
||||
</graphicData>
|
||||
<genericMarketSellable>false</genericMarketSellable>
|
||||
<soundInteract>Standard_Drop</soundInteract>
|
||||
<soundDrop>Standard_Drop</soundDrop>
|
||||
<useHitPoints>true</useHitPoints>
|
||||
<healthAffectsPrice>false</healthAffectsPrice>
|
||||
<stackLimit>30</stackLimit>
|
||||
<statBases>
|
||||
<MarketValue>1</MarketValue>
|
||||
<MaxHitPoints>50</MaxHitPoints>
|
||||
<Mass>0.01</Mass>
|
||||
</statBases>
|
||||
<thingCategories>
|
||||
<li>ResourcesRaw</li>
|
||||
</thingCategories>
|
||||
<burnableByRecipe>false</burnableByRecipe>
|
||||
<smeltable>false</smeltable>
|
||||
<terrainAffordanceNeeded>Medium</terrainAffordanceNeeded>
|
||||
<allowedArchonexusCount>80</allowedArchonexusCount>
|
||||
<possessionCount>50</possessionCount>
|
||||
</ThingDef>
|
||||
</Defs>
|
||||
Binary file not shown.
@@ -1,14 +1,14 @@
|
||||
{
|
||||
"Version": 1,
|
||||
"WorkspaceRootPath": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\",
|
||||
"WorkspaceRootPath": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\",
|
||||
"Documents": [
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|e:\\steamlibrary\\steamapps\\common\\rimworld\\mods\\arachnaeswarm\\source\\arachnaeswarm\\building_comps\\ara_compinteractiveproducer\\comprefuelablenutrition.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:building_comps\\ara_compinteractiveproducer\\comprefuelablenutrition.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\\pawn_comps\\ara_fighter_invisible\\compproperties_fighterinvisible.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:pawn_comps\\ara_fighter_invisible\\compproperties_fighterinvisible.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|e:\\steamlibrary\\steamapps\\common\\rimworld\\mods\\arachnaeswarm\\source\\arachnaeswarm\\abilities\\psychicbrainburn\\compproperties_psychicbrainburn.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:abilities\\psychicbrainburn\\compproperties_psychicbrainburn.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\\pawn_comps\\ara_fighter_invisible\\compfighterinvisible.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:pawn_comps\\ara_fighter_invisible\\compfighterinvisible.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
}
|
||||
],
|
||||
"DocumentGroupContainers": [
|
||||
@@ -18,7 +18,7 @@
|
||||
"DocumentGroups": [
|
||||
{
|
||||
"DockedWidth": 200,
|
||||
"SelectedChildIndex": 1,
|
||||
"SelectedChildIndex": 2,
|
||||
"Children": [
|
||||
{
|
||||
"$type": "Bookmark",
|
||||
@@ -26,28 +26,28 @@
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 0,
|
||||
"Title": "CompRefuelableNutrition.cs",
|
||||
"DocumentMoniker": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Building_Comps\\ARA_CompInteractiveProducer\\CompRefuelableNutrition.cs",
|
||||
"RelativeDocumentMoniker": "Building_Comps\\ARA_CompInteractiveProducer\\CompRefuelableNutrition.cs",
|
||||
"ToolTip": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Building_Comps\\ARA_CompInteractiveProducer\\CompRefuelableNutrition.cs*",
|
||||
"RelativeToolTip": "Building_Comps\\ARA_CompInteractiveProducer\\CompRefuelableNutrition.cs*",
|
||||
"ViewState": "AgIAAAAAAAAAAAAAAAAAABYAAAAkAAAAAAAAAA==",
|
||||
"DocumentIndex": 1,
|
||||
"Title": "CompFighterInvisible.cs",
|
||||
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Pawn_Comps\\ARA_Fighter_Invisible\\CompFighterInvisible.cs",
|
||||
"RelativeDocumentMoniker": "Pawn_Comps\\ARA_Fighter_Invisible\\CompFighterInvisible.cs",
|
||||
"ToolTip": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Pawn_Comps\\ARA_Fighter_Invisible\\CompFighterInvisible.cs",
|
||||
"RelativeToolTip": "Pawn_Comps\\ARA_Fighter_Invisible\\CompFighterInvisible.cs",
|
||||
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-09-20T17:59:02.999Z",
|
||||
"WhenOpened": "2025-09-22T01:22:42.97Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 1,
|
||||
"Title": "CompProperties_PsychicBrainburn.cs",
|
||||
"DocumentMoniker": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Abilities\\PsychicBrainburn\\CompProperties_PsychicBrainburn.cs",
|
||||
"RelativeDocumentMoniker": "Abilities\\PsychicBrainburn\\CompProperties_PsychicBrainburn.cs",
|
||||
"ToolTip": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Abilities\\PsychicBrainburn\\CompProperties_PsychicBrainburn.cs",
|
||||
"RelativeToolTip": "Abilities\\PsychicBrainburn\\CompProperties_PsychicBrainburn.cs",
|
||||
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAcAAAAgAAAAAAAAAA==",
|
||||
"DocumentIndex": 0,
|
||||
"Title": "CompProperties_FighterInvisible.cs",
|
||||
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Pawn_Comps\\ARA_Fighter_Invisible\\CompProperties_FighterInvisible.cs",
|
||||
"RelativeDocumentMoniker": "Pawn_Comps\\ARA_Fighter_Invisible\\CompProperties_FighterInvisible.cs",
|
||||
"ToolTip": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Pawn_Comps\\ARA_Fighter_Invisible\\CompProperties_FighterInvisible.cs",
|
||||
"RelativeToolTip": "Pawn_Comps\\ARA_Fighter_Invisible\\CompProperties_FighterInvisible.cs",
|
||||
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAwAAAAyAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-09-20T17:27:16.475Z",
|
||||
"WhenOpened": "2025-09-22T01:22:42.218Z",
|
||||
"EditorCaption": ""
|
||||
}
|
||||
]
|
||||
|
||||
@@ -161,6 +161,8 @@
|
||||
<Compile Include="Pawn_Comps\ARA_CompHediffGiver\CompProperties_HediffGiver.cs" />
|
||||
<Compile Include="Pawn_Comps\ARA_CompMilkableArachnae\CompMilkableArachnae.cs" />
|
||||
<Compile Include="Pawn_Comps\ARA_CompMilkableArachnae\CompProperties_MilkableArachnae.cs" />
|
||||
<Compile Include="Pawn_Comps\ARA_Fighter_Invisible\CompFighterInvisible.cs" />
|
||||
<Compile Include="Pawn_Comps\ARA_Fighter_Invisible\CompProperties_FighterInvisible.cs" />
|
||||
<Compile Include="Pawn_Comps\ARA_Flight\CompPawnFlight.cs" />
|
||||
<Compile Include="Pawn_Comps\ARA_Flight\CompProperties_PawnFlight.cs" />
|
||||
<Compile Include="Pawn_Comps\ARA_Flight\Pawn_FlightTrackerPatches.cs" />
|
||||
|
||||
@@ -0,0 +1,74 @@
|
||||
using RimWorld;
|
||||
using UnityEngine;
|
||||
using Verse;
|
||||
using Verse.AI.Group;
|
||||
using Verse.Sound;
|
||||
using static HarmonyLib.Code;
|
||||
|
||||
namespace ArachnaeSwarm
|
||||
{
|
||||
public class CompFighterInvisible : ThingComp
|
||||
{
|
||||
public CompProperties_FighterInvisible Props => (CompProperties_FighterInvisible)props;
|
||||
|
||||
[Unsaved(false)]
|
||||
private HediffComp_Invisibility invisibility;
|
||||
|
||||
private int lastDetectedTick = -99999;
|
||||
|
||||
private static float lastNotified = -99999f;
|
||||
|
||||
private const float NotifyCooldownSeconds = 60f;
|
||||
private Pawn Sightstealer => (Pawn)parent;
|
||||
|
||||
public HediffDef GetTargetInvisibilityDef()
|
||||
{
|
||||
return Props.InvisibilityDef;
|
||||
}
|
||||
|
||||
//检测是否拥有定义的InvisibilityDef
|
||||
private HediffComp_Invisibility Invisibility => invisibility ?? (invisibility = Sightstealer.health.hediffSet.GetFirstHediffOfDef(GetTargetInvisibilityDef())?.TryGetComp<HediffComp_Invisibility>());
|
||||
|
||||
//用于在存档储存lastDetectedTick
|
||||
public override void PostExposeData()
|
||||
{
|
||||
Scribe_Values.Look(ref lastDetectedTick, "lastDetectedTick", 0);
|
||||
}
|
||||
|
||||
public override void CompTick()
|
||||
{
|
||||
//蹒跚怪不会隐身
|
||||
if (Sightstealer.IsShambler)
|
||||
{
|
||||
return;
|
||||
}
|
||||
//如果没有定义的InvisibilityDef,则返回false
|
||||
if (Invisibility == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (!Sightstealer.Spawned)
|
||||
{
|
||||
return;
|
||||
}
|
||||
//进行隐身检查,如果超过定义的隐身恢复时间则切换为隐身
|
||||
if (Sightstealer.IsHashIntervalTick(7))
|
||||
{
|
||||
if (Find.TickManager.TicksGame > lastDetectedTick + Props.stealthCooldownTicks)
|
||||
{
|
||||
Invisibility.BecomeInvisible();
|
||||
}
|
||||
}
|
||||
}
|
||||
//在使用verb的时候,会强制显现
|
||||
public override void Notify_UsedVerb(Pawn pawn, Verb verb)
|
||||
{
|
||||
base.Notify_UsedVerb(pawn, verb);
|
||||
if (!Sightstealer.IsShambler)
|
||||
{
|
||||
Invisibility.BecomeVisible();
|
||||
lastDetectedTick = Find.TickManager.TicksGame;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
using RimWorld;
|
||||
using System.Collections.Generic;
|
||||
using Verse;
|
||||
|
||||
namespace ArachnaeSwarm
|
||||
{
|
||||
public class CompProperties_FighterInvisible : CompProperties
|
||||
{
|
||||
public float BaseVisibleRadius = 14f;
|
||||
|
||||
public int UndetectedTimeout = 120;
|
||||
|
||||
public int CheckDetectedIntervalTicks = 7;
|
||||
|
||||
public float FirstDetectedRadius = 30f;
|
||||
|
||||
public int RevealedLetterDelayTicks = 6;
|
||||
|
||||
public int AmbushCallMTBTicks = 600;
|
||||
|
||||
//修改:一个可定义的提供隐身的hediff
|
||||
public HediffDef InvisibilityDef;
|
||||
//隐身冷却
|
||||
public int stealthCooldownTicks = 1200;
|
||||
|
||||
public CompProperties_FighterInvisible()
|
||||
{
|
||||
compClass = typeof(CompFighterInvisible);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user