Merge branch 'master' of https://git.ra3battle.cn/Kalospacer/ArachnaeSwarm
This commit is contained in:
@@ -347,22 +347,21 @@
|
|||||||
<cooldownTicksRange>6000</cooldownTicksRange>
|
<cooldownTicksRange>6000</cooldownTicksRange>
|
||||||
<iconPath>ArachnaeSwarm/UI/Abilities/ARA_Toxic_Needle_Fire</iconPath>
|
<iconPath>ArachnaeSwarm/UI/Abilities/ARA_Toxic_Needle_Fire</iconPath>
|
||||||
<verbProperties>
|
<verbProperties>
|
||||||
<verbClass>Verb_AbilityShoot</verbClass>
|
<verbClass>Verb_CastAbility</verbClass>
|
||||||
<defaultProjectile>Bullet_ARA_RW_Basic_Fist_Needle_Gun</defaultProjectile>
|
<range>24</range>
|
||||||
<range>24.9</range>
|
<warmupTime>1</warmupTime>
|
||||||
<soundCast>Heatspikes_Shot</soundCast>
|
<soundCast>Heatspikes_Shot</soundCast>
|
||||||
<soundCastTail>Heatspikes_Tail</soundCastTail>
|
<soundCastTail>Heatspikes_Tail</soundCastTail>
|
||||||
<muzzleFlashScale>9</muzzleFlashScale>
|
<violent>false</violent>
|
||||||
<ticksBetweenBurstShots>6</ticksBetweenBurstShots>
|
<targetParams>
|
||||||
<warmupTime>0</warmupTime>
|
<canTargetPawns>True</canTargetPawns>
|
||||||
<burstShotCount>12</burstShotCount>
|
</targetParams>
|
||||||
<accuracyTouch>0.9</accuracyTouch>
|
|
||||||
<accuracyShort>0.8</accuracyShort>
|
|
||||||
<accuracyMedium>0.7</accuracyMedium>
|
|
||||||
<accuracyLong>0.6</accuracyLong>
|
|
||||||
<ai_IsWeapon>false</ai_IsWeapon>
|
|
||||||
</verbProperties>
|
</verbProperties>
|
||||||
<comps>
|
<comps>
|
||||||
|
<li Class="ArachnaeSwarm.CompProperties_AbilityLaunchMultiProjectile">
|
||||||
|
<projectileDef>Bullet_ARA_RW_Basic_Fist_Needle_Gun</projectileDef>
|
||||||
|
<numProjectiles>12</numProjectiles>
|
||||||
|
</li>
|
||||||
<li Class="ArachnaeSwarm.CompProperties_AbilityNeedCost">
|
<li Class="ArachnaeSwarm.CompProperties_AbilityNeedCost">
|
||||||
<needDef>Food</needDef>
|
<needDef>Food</needDef>
|
||||||
<needCost>0.1</needCost>
|
<needCost>0.1</needCost>
|
||||||
@@ -776,4 +775,72 @@
|
|||||||
<speed>40</speed>
|
<speed>40</speed>
|
||||||
</projectile>
|
</projectile>
|
||||||
</ThingDef>
|
</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>
|
</Defs>
|
||||||
@@ -1,5 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8" ?>
|
<?xml version="1.0" encoding="utf-8" ?>
|
||||||
<Defs>
|
<Defs>
|
||||||
|
<!-- 女皇 -->
|
||||||
<!-- T0 -->
|
<!-- T0 -->
|
||||||
<HediffDef>
|
<HediffDef>
|
||||||
<defName>ARA_Queen_0_Stage</defName>
|
<defName>ARA_Queen_0_Stage</defName>
|
||||||
@@ -218,6 +219,7 @@
|
|||||||
</comps>
|
</comps>
|
||||||
</HediffDef>
|
</HediffDef>
|
||||||
|
|
||||||
|
<!-- 工艺 -->
|
||||||
<!-- T0 -->
|
<!-- T0 -->
|
||||||
<HediffDef>
|
<HediffDef>
|
||||||
<defName>ARA_WeaponSmith_0_Stage</defName>
|
<defName>ARA_WeaponSmith_0_Stage</defName>
|
||||||
@@ -356,6 +358,7 @@
|
|||||||
<description>这只阿拉克涅蜜罐种正在产出虫蜜,以滋养虫群。一只蜜罐种每天产出10份阿拉克涅虫蜜。</description>
|
<description>这只阿拉克涅蜜罐种正在产出虫蜜,以滋养虫群。一只蜜罐种每天产出10份阿拉克涅虫蜜。</description>
|
||||||
<descriptionHyperlinks>
|
<descriptionHyperlinks>
|
||||||
<ThingDef>ARA_InsectJelly</ThingDef>
|
<ThingDef>ARA_InsectJelly</ThingDef>
|
||||||
|
<HediffDef>ARA_Myrmecocystus_Production_Medicine</HediffDef>
|
||||||
</descriptionHyperlinks>
|
</descriptionHyperlinks>
|
||||||
<hediffClass>HediffWithComps</hediffClass>
|
<hediffClass>HediffWithComps</hediffClass>
|
||||||
<defaultLabelColor>(0.6, 0.4, 0.8)</defaultLabelColor>
|
<defaultLabelColor>(0.6, 0.4, 0.8)</defaultLabelColor>
|
||||||
@@ -470,8 +473,8 @@
|
|||||||
</AbilityDef>
|
</AbilityDef>
|
||||||
<HediffDef>
|
<HediffDef>
|
||||||
<defName>ARA_Myrmecocystus_Production_Medicine</defName>
|
<defName>ARA_Myrmecocystus_Production_Medicine</defName>
|
||||||
<label>医疗专精</label>
|
<label>亚种-疗愈种</label>
|
||||||
<description>这只阿拉克涅蜜罐种已经获得拔耀,不再生产虫蜜,而是生产巢穴所稀缺的药物、化学品,并可以操纵拟线种。</description>
|
<description>这只阿拉克涅蜜罐种已经获得拔耀,不再生产虫蜜,而是生产巢穴所稀缺的药物、化学品,并可以操纵拟线种寄生虫。</description>
|
||||||
<descriptionHyperlinks>
|
<descriptionHyperlinks>
|
||||||
<ThingDef>ARA_InsectJelly</ThingDef>
|
<ThingDef>ARA_InsectJelly</ThingDef>
|
||||||
</descriptionHyperlinks>
|
</descriptionHyperlinks>
|
||||||
@@ -497,4 +500,283 @@
|
|||||||
</li>
|
</li>
|
||||||
</comps>
|
</comps>
|
||||||
</HediffDef>
|
</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>
|
</Defs>
|
||||||
@@ -253,4 +253,31 @@
|
|||||||
</li>
|
</li>
|
||||||
</stages>
|
</stages>
|
||||||
</HediffDef>
|
</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>
|
</Defs>
|
||||||
@@ -196,6 +196,7 @@
|
|||||||
<defName>ArachnaeNode_Race_Fighter</defName>
|
<defName>ArachnaeNode_Race_Fighter</defName>
|
||||||
<label>阿拉克涅战士种</label>
|
<label>阿拉克涅战士种</label>
|
||||||
<race>ArachnaeNode_Race_Fighter</race>
|
<race>ArachnaeNode_Race_Fighter</race>
|
||||||
|
<collidesWithPawns>false</collidesWithPawns>
|
||||||
<defaultFactionType>PlayerColony</defaultFactionType>
|
<defaultFactionType>PlayerColony</defaultFactionType>
|
||||||
<invNutrition>0</invNutrition>
|
<invNutrition>0</invNutrition>
|
||||||
<backstoryFiltersOverride>
|
<backstoryFiltersOverride>
|
||||||
@@ -208,8 +209,6 @@
|
|||||||
</backstoryFiltersOverride>
|
</backstoryFiltersOverride>
|
||||||
<abilities>
|
<abilities>
|
||||||
<li>ARA_BaseRace_Acid_Launcher</li>
|
<li>ARA_BaseRace_Acid_Launcher</li>
|
||||||
<li>ARA_AcidSprayBurst</li>
|
|
||||||
<li>ARA_Toxic_Needle_Fire</li>
|
|
||||||
</abilities>
|
</abilities>
|
||||||
<apparelTags>
|
<apparelTags>
|
||||||
</apparelTags>
|
</apparelTags>
|
||||||
|
|||||||
@@ -1091,6 +1091,17 @@
|
|||||||
<tooltipOverride>阿拉克涅的督虫们生命如精密的发条般运转着。</tooltipOverride>
|
<tooltipOverride>阿拉克涅的督虫们生命如精密的发条般运转着。</tooltipOverride>
|
||||||
<showGizmoOnNonPlayerControlled>true</showGizmoOnNonPlayerControlled>
|
<showGizmoOnNonPlayerControlled>true</showGizmoOnNonPlayerControlled>
|
||||||
</li>
|
</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>
|
</comps>
|
||||||
</AlienRace.ThingDef_AlienRace>
|
</AlienRace.ThingDef_AlienRace>
|
||||||
<AlienRace.ThingDef_AlienRace ParentName="ARA_NodeBase">
|
<AlienRace.ThingDef_AlienRace ParentName="ARA_NodeBase">
|
||||||
@@ -1230,8 +1241,8 @@
|
|||||||
<!-- <TradePriceImprovement>0.5</TradePriceImprovement> -->
|
<!-- <TradePriceImprovement>0.5</TradePriceImprovement> -->
|
||||||
|
|
||||||
<!-- 自带的甲壳可以防御外部攻击 -->
|
<!-- 自带的甲壳可以防御外部攻击 -->
|
||||||
<ArmorRating_Blunt>1</ArmorRating_Blunt>
|
<ArmorRating_Blunt>0.25</ArmorRating_Blunt>
|
||||||
<ArmorRating_Sharp>1.2</ArmorRating_Sharp>
|
<ArmorRating_Sharp>0.4</ArmorRating_Sharp>
|
||||||
<ArmorRating_Heat>0.75</ArmorRating_Heat>
|
<ArmorRating_Heat>0.75</ArmorRating_Heat>
|
||||||
|
|
||||||
</statBases>
|
</statBases>
|
||||||
|
|||||||
@@ -119,4 +119,33 @@
|
|||||||
<allowedArchonexusCount>80</allowedArchonexusCount>
|
<allowedArchonexusCount>80</allowedArchonexusCount>
|
||||||
<possessionCount>50</possessionCount>
|
<possessionCount>50</possessionCount>
|
||||||
</ThingDef>
|
</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>
|
</Defs>
|
||||||
Binary file not shown.
@@ -1,14 +1,14 @@
|
|||||||
{
|
{
|
||||||
"Version": 1,
|
"Version": 1,
|
||||||
"WorkspaceRootPath": "E:\\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|e:\\steamlibrary\\steamapps\\common\\rimworld\\mods\\arachnaeswarm\\source\\arachnaeswarm\\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:building_comps\\ara_compinteractiveproducer\\comprefuelablenutrition.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}",
|
"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:abilities\\psychicbrainburn\\compproperties_psychicbrainburn.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": [
|
"DocumentGroupContainers": [
|
||||||
@@ -18,7 +18,7 @@
|
|||||||
"DocumentGroups": [
|
"DocumentGroups": [
|
||||||
{
|
{
|
||||||
"DockedWidth": 200,
|
"DockedWidth": 200,
|
||||||
"SelectedChildIndex": 1,
|
"SelectedChildIndex": 2,
|
||||||
"Children": [
|
"Children": [
|
||||||
{
|
{
|
||||||
"$type": "Bookmark",
|
"$type": "Bookmark",
|
||||||
@@ -26,28 +26,28 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 0,
|
"DocumentIndex": 1,
|
||||||
"Title": "CompRefuelableNutrition.cs",
|
"Title": "CompFighterInvisible.cs",
|
||||||
"DocumentMoniker": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Building_Comps\\ARA_CompInteractiveProducer\\CompRefuelableNutrition.cs",
|
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Pawn_Comps\\ARA_Fighter_Invisible\\CompFighterInvisible.cs",
|
||||||
"RelativeDocumentMoniker": "Building_Comps\\ARA_CompInteractiveProducer\\CompRefuelableNutrition.cs",
|
"RelativeDocumentMoniker": "Pawn_Comps\\ARA_Fighter_Invisible\\CompFighterInvisible.cs",
|
||||||
"ToolTip": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Building_Comps\\ARA_CompInteractiveProducer\\CompRefuelableNutrition.cs*",
|
"ToolTip": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Pawn_Comps\\ARA_Fighter_Invisible\\CompFighterInvisible.cs",
|
||||||
"RelativeToolTip": "Building_Comps\\ARA_CompInteractiveProducer\\CompRefuelableNutrition.cs*",
|
"RelativeToolTip": "Pawn_Comps\\ARA_Fighter_Invisible\\CompFighterInvisible.cs",
|
||||||
"ViewState": "AgIAAAAAAAAAAAAAAAAAABYAAAAkAAAAAAAAAA==",
|
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAA==",
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
"WhenOpened": "2025-09-20T17:59:02.999Z",
|
"WhenOpened": "2025-09-22T01:22:42.97Z",
|
||||||
"EditorCaption": ""
|
"EditorCaption": ""
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 1,
|
"DocumentIndex": 0,
|
||||||
"Title": "CompProperties_PsychicBrainburn.cs",
|
"Title": "CompProperties_FighterInvisible.cs",
|
||||||
"DocumentMoniker": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Abilities\\PsychicBrainburn\\CompProperties_PsychicBrainburn.cs",
|
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Pawn_Comps\\ARA_Fighter_Invisible\\CompProperties_FighterInvisible.cs",
|
||||||
"RelativeDocumentMoniker": "Abilities\\PsychicBrainburn\\CompProperties_PsychicBrainburn.cs",
|
"RelativeDocumentMoniker": "Pawn_Comps\\ARA_Fighter_Invisible\\CompProperties_FighterInvisible.cs",
|
||||||
"ToolTip": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Abilities\\PsychicBrainburn\\CompProperties_PsychicBrainburn.cs",
|
"ToolTip": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Pawn_Comps\\ARA_Fighter_Invisible\\CompProperties_FighterInvisible.cs",
|
||||||
"RelativeToolTip": "Abilities\\PsychicBrainburn\\CompProperties_PsychicBrainburn.cs",
|
"RelativeToolTip": "Pawn_Comps\\ARA_Fighter_Invisible\\CompProperties_FighterInvisible.cs",
|
||||||
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAcAAAAgAAAAAAAAAA==",
|
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAwAAAAyAAAAAAAAAA==",
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
"WhenOpened": "2025-09-20T17:27:16.475Z",
|
"WhenOpened": "2025-09-22T01:22:42.218Z",
|
||||||
"EditorCaption": ""
|
"EditorCaption": ""
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -162,6 +162,8 @@
|
|||||||
<Compile Include="Pawn_Comps\ARA_CompHediffGiver\CompProperties_HediffGiver.cs" />
|
<Compile Include="Pawn_Comps\ARA_CompHediffGiver\CompProperties_HediffGiver.cs" />
|
||||||
<Compile Include="Pawn_Comps\ARA_CompMilkableArachnae\CompMilkableArachnae.cs" />
|
<Compile Include="Pawn_Comps\ARA_CompMilkableArachnae\CompMilkableArachnae.cs" />
|
||||||
<Compile Include="Pawn_Comps\ARA_CompMilkableArachnae\CompProperties_MilkableArachnae.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\CompPawnFlight.cs" />
|
||||||
<Compile Include="Pawn_Comps\ARA_Flight\CompProperties_PawnFlight.cs" />
|
<Compile Include="Pawn_Comps\ARA_Flight\CompProperties_PawnFlight.cs" />
|
||||||
<Compile Include="Pawn_Comps\ARA_Flight\Pawn_FlightTrackerPatches.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