基因窃贼

This commit is contained in:
Tourswen
2025-10-22 01:02:33 +08:00
parent fc9bd81f88
commit 88000aa1ca
25 changed files with 1060 additions and 52 deletions

Binary file not shown.

View File

@@ -902,6 +902,104 @@
</comps>
</AbilityDef>
<AbilityDef>
<defName>ARA_Genestealer_ExtractGene</defName>
<label>基因窃取</label>
<description>畸变种从目标的基因库中抽取1-4个基因包括超凡基因加入自己的基因序列被抽取的目标虽然不会死亡但是将失去此基因并从此一蹶不振无法再从昏迷中醒来。</description>
<iconPath>ArachnaeSwarm/UI/Abilities/ARA_Genestealer_ExtractGene</iconPath>
<cooldownTicksRange>50000</cooldownTicksRange>
<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>5</warmupTime>
<targetParams>
<onlyTargetColonistsOrPrisonersOrSlaves>true</onlyTargetColonistsOrPrisonersOrSlaves>
<canTargetSelf>false</canTargetSelf>
<canTargetMechs>false</canTargetMechs>
<canTargetBuildings>false</canTargetBuildings>
</targetParams>
</verbProperties>
<comps>
<li Class="ArachnaeSwarm.CompProperties_AbilityNeedCost">
<customLabel>饮食</customLabel>
<showProgressBar>true</showProgressBar>
<needDef>Food</needDef>
<needCost>1</needCost>
<failMessage>营养值不足,需要进食</failMessage>
</li>
<li Class="CompProperties_AbilityGiveHediff">
<compClass>CompAbilityEffect_GiveHediff</compClass>
<hediffDef>ARA_Genestealer_ExtractGene_Hediff</hediffDef>
<replaceExisting>true</replaceExisting>
</li>
<li Class="ArachnaeSwarm.CompProperties_AbilityExtractGene">
<baseGeneCount>1</baseGeneCount>
<maxComplexity>5</maxComplexity>
<canExtractArchiteGenes>true</canExtractArchiteGenes>
<allowMelaninGenes>false</allowMelaninGenes>
<targetLosesGene>true</targetLosesGene>
<geneCountChanceCurve>
<points>
<li>(1, 0.7)</li>
<li>(2, 0.2)</li>
<li>(3, 0.08)</li>
<li>(4, 0.02)</li>
<li>(5, 0)</li>
</points>
</geneCountChanceCurve>
</li>
</comps>
</AbilityDef>
<AbilityDef>
<defName>ARA_Genestealer_InjectGenes</defName>
<label>基因注入</label>
<description>畸变种尝试将自身的基因全部注入到目标体内。</description>
<iconPath>ArachnaeSwarm/UI/Abilities/ARA_Genestealer_InjectGenes</iconPath>
<cooldownTicksRange>1</cooldownTicksRange>
<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>3</warmupTime>
<targetParams>
<onlyTargetColonistsOrPrisonersOrSlaves>true</onlyTargetColonistsOrPrisonersOrSlaves>
<canTargetSelf>false</canTargetSelf>
<canTargetMechs>false</canTargetMechs>
<canTargetBuildings>false</canTargetBuildings>
</targetParams>
</verbProperties>
<comps>
<li Class="ArachnaeSwarm.CompProperties_AbilityNeedCost">
<customLabel>饮食</customLabel>
<showProgressBar>true</showProgressBar>
<needDef>Food</needDef>
<needCost>1</needCost>
<failMessage>营养值不足,需要进食</failMessage>
</li>
<li Class="ArachnaeSwarm.CompProperties_AbilityInjectGenes">
<includeArchiteGenes>true</includeArchiteGenes>
<includeMelaninGenes>false</includeMelaninGenes>
<casterGetsNegativeEffect>true</casterGetsNegativeEffect>
<targetGetsPositiveEffect>true</targetGetsPositiveEffect>
<allowDuplicateGenes>false</allowDuplicateGenes>
<maxComplexity>10</maxComplexity>
</li>
</comps>
</AbilityDef>
<AbilityDef>
<defName>ARA_TerrainHeal_Ability</defName>
<label>护士装疗愈</label>

View File

@@ -133,6 +133,63 @@
<positionRadius>0.1</positionRadius>
</EffecterDef>
<FleckDef ParentName="FleckBase_RandomGraphic_Thrown">
<defName>ARA_Mote_Melee_Attack_Main</defName>
<growthRate>1.0</growthRate>
<altitudeLayer>MoteOverheadLow</altitudeLayer>
<fadeInTime>0</fadeInTime>
<solidTime>0</solidTime>
<fadeOutTime>0.6</fadeOutTime>
<rotateTowardsMoveDirection>true</rotateTowardsMoveDirection>
<randomGraphics>
<li>
<texPath>ArachnaeSwarm/Mote/ARA_Melee_Attack</texPath>
<shaderType>MoteGlow</shaderType>
<renderInstanced>true</renderInstanced>
<graphicClass>Graphic_Fleck</graphicClass>
</li>
<!-- <li>
<texPath>SRA/Effect/SRA_FlashSlash_Big_B</texPath>
<shaderType>MoteGlow</shaderType>
<renderInstanced>true</renderInstanced>
<graphicClass>Graphic_Fleck</graphicClass>
</li> -->
</randomGraphics>
</FleckDef>
<EffecterDef>
<defName>ARA_Melee_Attack_Hit</defName>
<children>
<li>
<subEffecterClass>SubEffecter_Random</subEffecterClass>
<children>
<li>
<subEffecterClass>SubEffecter_SprayerTriggered</subEffecterClass>
<fleckDef>ARA_Mote_Melee_Attack_Main</fleckDef>
<burstCount>1</burstCount>
<color>(170,74,68)</color>
<scale>3.5~4.5</scale>
<speed>0.5</speed>
<angle>-35~35</angle>
<spawnLocType>OnSource</spawnLocType>
<fleckUsesAngleForVelocity>true</fleckUsesAngleForVelocity>
</li>
<li>
<subEffecterClass>SubEffecter_SprayerTriggered</subEffecterClass>
<fleckDef>ARA_Mote_Melee_Attack_Main</fleckDef>
<burstCount>1</burstCount>
<color>(147,50,28)</color>
<scale>2.5~3.5</scale>
<speed>0.5</speed>
<angle>-15~15</angle>
<spawnLocType>OnSource</spawnLocType>
<fleckUsesAngleForVelocity>true</fleckUsesAngleForVelocity>
</li>
</children>
</li>
</children>
<positionRadius>0.1</positionRadius>
</EffecterDef>
<FleckDef ParentName="FleckBase">
<defName>ARA_Fleck_Icez_Cloud</defName>
<graphicData>

View File

@@ -721,11 +721,13 @@
<li>ARA_AcidSprayBurst</li>
<li>ARA_Toxic_Needle_Fire</li>
<li>ARA_Fighter_Invisibility</li>
<li>ARA_Fighter_Genestealer</li>
</abilityDefs>
</li>
<li Class="HediffCompProperties_RemoveIfOtherHediff">
<hediffs>
<li>ARA_Fighter_Invisibility</li>
<li>ARA_Fighter_Genestealer</li>
</hediffs>
</li>
</comps>
@@ -815,6 +817,77 @@
<li Class="HediffCompProperties_DisappearsOnDeath" />
</comps>
</HediffDef>
<AbilityDef>
<defName>ARA_Fighter_Genestealer</defName>
<label>战士种转换——基因窃贼</label>
<description>使战士种发生内驱性进化,损害其战斗能力和使用技能的能力,以换取从敌人身上窃取基因、向己方殖民者注入基因和诱发非虫族殖民者虫族化的能力。\n\n该进化过程不可逆</description>
<iconPath>ArachnaeSwarm/UI/Abilities/ARA_Fighter_Genestealer</iconPath>
<cooldownTicksRange>1800</cooldownTicksRange>
<hostile>false</hostile>
<groupAbility>true</groupAbility>
<displayGizmoWhileUndrafted>true</displayGizmoWhileUndrafted>
<disableGizmoWhileUndrafted>false</disableGizmoWhileUndrafted>
<aiCanUse>false</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_Genestealer</hediffDef>
<onlyApplyToSelf>True</onlyApplyToSelf>
<replaceExisting>true</replaceExisting>
<severity>1</severity>
</li>
<li Class="ArachnaeSwarm.CompProperties_AbilityAddExtraExp">
<skillChanges>
<li>
<skill>Melee</skill>
<passionGained>None</passionGained>
<xpGainAmount>-350000</xpGainAmount>
</li>
<li>
<skill>Shooting</skill>
<passionGained>None</passionGained>
<xpGainAmount>-350000</xpGainAmount>
</li>
</skillChanges>
</li>
<li Class="ArachnaeSwarm.CompProperties_AbilityResearchPrereq">
<requiredResearch>ARA_Technology_4CLO</requiredResearch>
<failMessage>需要科技 节点CLO-4"追猎种" 以解锁进化</failMessage>
</li>
</comps>
</AbilityDef>
<HediffDef>
<defName>ARA_Fighter_Genestealer</defName>
<hediffClass>HediffWithComps</hediffClass>
<label>亚种-畸变种</label>
<description>畸变种是移动的基因库,她们在虫群中不再担任刀剑舔血的工作,而是专注于提纯囚犯和奴隶的优质基因,并将其赋予虫族中的高质量个体。她们也拥有引发非虫族殖民者器官虫族化的能力,以使得那些没有用处的异族能那么稍微对虫巢做出一些贡献。</description>
<isBad>false</isBad>
<stages>
</stages>
<comps>
<li Class="HediffCompProperties_GiveAbility">
<abilityDefs>
<li>ARA_Genestealer_ExtractGene</li>
<li>ARA_Genestealer_InjectGenes</li>
</abilityDefs>
</li>
<li Class="HediffCompProperties_DisappearsOnDeath" />
</comps>
</HediffDef>
<!-- 迷雾种 -->
<HediffDef>

View File

@@ -610,4 +610,27 @@
</li>
</stages>
</HediffDef>
<HediffDef>
<defName>ARA_Genestealer_ExtractGene_Hediff</defName>
<label>强制剥离</label>
<description>阿拉克涅畸变种从该殖民者身上强制抽离了一部分基因序列,这导致该殖民者无法再维持基本生理活动。该伤害是不可逆的,即使这些基因被塞回去亦是如此。</description>
<defaultLabelColor>(1, 1, 0.8)</defaultLabelColor>
<hediffClass>HediffWithComps</hediffClass>
<comps>
<li Class="HediffCompProperties_DisappearsOnDeath"/>
</comps>
<stages>
<li>
<label>minor</label>
<becomeVisible>true</becomeVisible>
<capMods>
<li>
<capacity>Consciousness</capacity>
<setMax>0.1</setMax>
</li>
</capMods>
</li>
</stages>
</HediffDef>
</Defs>

View File

@@ -590,6 +590,18 @@
</prerequisites>
</ResearchProjectDef>
<!-- 进化发展 -->
<ResearchProjectDef ParentName="ARA_techBase_Needtechprint">
<defName>ARA_Technology_5STL</defName>
<label>节点STL-5"基因窃取"</label>
<description>允许战士种进行定向进化,抛弃其战斗技能以换取其从殖民者、囚犯和奴隶身上抽取和注入基因的能力,并且可以主动诱发非虫族殖民者的虫化变异。\n\n阿拉克涅虫群所有需要蓝图的科技其蓝图只能通过女皇种的基因试验卵获取。</description>
<baseCost>500</baseCost>
<researchViewX>2.00</researchViewX>
<researchViewY>5.40</researchViewY>
<requiredResearchBuilding>ARA_ResearchBench</requiredResearchBuilding>
<prerequisites>
<li>ARA_Technology_1KYC</li>
</prerequisites>
</ResearchProjectDef>
<ResearchProjectDef ParentName="ARA_techBase_Needtechprint">
<defName>ARA_Technology_1VTE</defName>
<label>节点VTE-1"护卫者"</label>

View File

@@ -19,9 +19,9 @@
<!-- <li Class="StorytellerCompProperties_ClassicIntro"/> -->
<li Class="StorytellerCompProperties_OnOffCycle">
<category>ThreatBig</category> <!-- 大型袭击 -->
<minDaysPassed>15.0</minDaysPassed> <!-- 最低在15日后开始生成 -->
<onDays>2</onDays> <!-- 每个周期(12天)有多少天允许生成袭击 -->
<offDays>9</offDays> <!-- 每个周期(12天)有多少天不生成袭击 -->
<minDaysPassed>0</minDaysPassed> <!-- 最低在15日后开始生成 -->
<onDays>1</onDays> <!-- 每个周期(12天)有多少天允许生成袭击 -->
<offDays>2</offDays> <!-- 每个周期(2天)有多少天不生成袭击 -->
<minSpacingDays>0.25</minSpacingDays> <!-- 事件最小间隔 -->
<numIncidentsRange>2~3</numIncidentsRange> <!-- 事件点数 -->
<!-- <forceRaidEnemyBeforeDaysPassed>20</forceRaidEnemyBeforeDaysPassed> -->
@@ -32,8 +32,8 @@
<li Class="StorytellerCompProperties_OnOffCycle">
<category>ThreatSmall</category>
<minDaysPassed>11.0</minDaysPassed>
<onDays>4.6</onDays>
<offDays>6.0</offDays>
<onDays>2</onDays>
<offDays>2.0</offDays>
<numIncidentsRange>0.2~1</numIncidentsRange>
<acceptPercentFactorPerThreatPointsCurve>
<points>

View File

@@ -235,6 +235,8 @@
<cleaveDamageFactor>0.5</cleaveDamageFactor>
<damageDowned>false</damageDowned>
<explosionDamageDef>Cut</explosionDamageDef>
<attackEffecter>ARA_Melee_Attack_Hit</attackEffecter>
<cleaveEffecter>ARA_Melee_Attack_Hit</cleaveEffecter>
</li>
</comps>
</ThingDef>

View File

@@ -98,4 +98,21 @@
<ARA_ResurrectionPrevented>没有来自更高级节点的允许,{0} 将从基因层面拒绝任何复活。</ARA_ResurrectionPrevented>
<CannotBeUninstalled>孵化期间无法重新安装</CannotBeUninstalled>
<ARAGeneExtractionComplete>{CASTER} 已经从 {TARGET} 的身上窃取基因</ARAGeneExtractionComplete>
<ARAGeneExtractionFailed>基因提取失败</ARAGeneExtractionFailed>
<TargetMustBeHumanlike>必须瞄准类人种族</TargetMustBeHumanlike>
<TargetHasNoGenes>目标必须拥有可提取的基因</TargetHasNoGenes>
<NoExtractableGenes>目标拥有特殊基因,但是没有提取价值</NoExtractableGenes>
<CasterAtGeneCapacity>{CASTER} 的基因序列容量达到上限</CasterAtGeneCapacity>
<ExtractableGenesCount>可窃取的基因数量:{0}</ExtractableGenesCount>
<ARA_GeneInjectionComplete>{CASTER}将基因注入了{TARGET}</ARA_GeneInjectionComplete>
<ARA_GeneInjectionFailed>基因注入失败</ARA_GeneInjectionFailed>
<CasterHasNoGenes>{CASTER}没有可注入的基因</CasterHasNoGenes>
<NoTransferableGenes>{CASTER}没有符合要求的可转移基因</NoTransferableGenes>
<TargetCannotAcceptGenes>{TARGET}无法接受这些基因</TargetCannotAcceptGenes>
<CasterHasNoTransferableGenes>{CASTER}没有可转移的基因</CasterHasNoTransferableGenes>
<TransferableGenesCount>可转移基因数: {0}</TransferableGenesCount>
<TargetHasGenesCount>目标已有: {0}</TargetHasGenesCount>
</LanguageData>