371 lines
15 KiB
XML
371 lines
15 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
||
<Defs>
|
||
<AbilityDef ParentName="AbilityTouchBase">
|
||
<defName>ARA_BindDrone</defName>
|
||
<label>信息素标记</label>
|
||
<description>使用信息素标记一只阿拉克涅督虫,受到标记的督虫和其麾下的辅虫将誓死效忠于女皇种,并与其建立心灵链接。</description>
|
||
<iconPath>ArachnaeSwarm/UI/Abilities/ARA_BindDrone</iconPath> <!-- Placeholder: You'll need to create this icon -->
|
||
|
||
<hotKey>Misc1</hotKey>
|
||
<jobDef>CastAbilityOnThing</jobDef>
|
||
<targetRequired>true</targetRequired>
|
||
<cooldownTicksRange>60</cooldownTicksRange> <!-- 1 second cooldown -->
|
||
|
||
<verbProperties>
|
||
<verbClass>Verb_CastAbility</verbClass>
|
||
<warmupTime>0</warmupTime>
|
||
<range>99</range>
|
||
<targetParams>
|
||
<canTargetPawns>true</canTargetPawns>
|
||
<canTargetBuildings>false</canTargetBuildings>
|
||
<canTargetAnimals>true</canTargetAnimals>
|
||
<canTargetMechs>false</canTargetMechs>
|
||
<canTargetCorpses>false</canTargetCorpses>
|
||
<canTargetSelf>false</canTargetSelf>
|
||
</targetParams>
|
||
</verbProperties>
|
||
|
||
<comps>
|
||
<li Class="ArachnaeSwarm.CompProperties_AbilityBindDrone">
|
||
<!-- No custom properties needed for now -->
|
||
</li>
|
||
</comps>
|
||
</AbilityDef>
|
||
|
||
<AbilityDef Name="ARA_EggSpew_Base" Abstract="True">
|
||
<cooldownTicksRange>5000</cooldownTicksRange>
|
||
<aiCanUse>false</aiCanUse>
|
||
<displayOrder>300</displayOrder>
|
||
<displayGizmoWhileUndrafted>true</displayGizmoWhileUndrafted>
|
||
<disableGizmoWhileUndrafted>false</disableGizmoWhileUndrafted>
|
||
<warmupStartSound>AcidSpray_Warmup</warmupStartSound>
|
||
<verbProperties>
|
||
<verbClass>Verb_CastAbility</verbClass>
|
||
<range>1</range>
|
||
<warmupTime>7</warmupTime>
|
||
<soundCast>AcidSpray_Resolve</soundCast>
|
||
<violent>false</violent>
|
||
<targetable>false</targetable>
|
||
<targetParams>
|
||
<canTargetSelf>True</canTargetSelf>
|
||
</targetParams>
|
||
</verbProperties>
|
||
<comps>
|
||
<li Class="ArachnaeSwarm.CompProperties_AbilityNeedCost">
|
||
<needDef>Food</needDef>
|
||
<needCost>4</needCost>
|
||
<failMessage>营养值不足,需要进食</failMessage>
|
||
</li>
|
||
<li Class="ArachnaeSwarm.CompProperties_AbilityBodyPartCheck">
|
||
<requiredPart>ARA_Ovary</requiredPart>
|
||
<failMessage>卵巢受损或缺失,无法生育</failMessage>
|
||
</li>
|
||
</comps>
|
||
</AbilityDef>
|
||
<ThingDef Name="ARA_EggSpew_Base_Proj" ParentName="BaseGrenadeProjectile" Abstract="True">
|
||
<thingClass>Projectile_SpawnsThing</thingClass>
|
||
<graphicData>
|
||
<texPath>ArachnaeSwarm/Building/ARA_EggSac</texPath>
|
||
<graphicClass>Graphic_Single</graphicClass>
|
||
</graphicData>
|
||
<projectile>
|
||
<damageDef>Bullet</damageDef>
|
||
<speed>21</speed>
|
||
<damageAmountBase>0</damageAmountBase>
|
||
<tryAdjacentFreeSpaces>true</tryAdjacentFreeSpaces>
|
||
</projectile>
|
||
</ThingDef>
|
||
|
||
<AbilityDef Name="ARA_CocoonSpew_Base" Abstract="True">
|
||
<cooldownTicksRange>5000</cooldownTicksRange>
|
||
<aiCanUse>true</aiCanUse>
|
||
<displayOrder>300</displayOrder>
|
||
<displayGizmoWhileUndrafted>true</displayGizmoWhileUndrafted>
|
||
<disableGizmoWhileUndrafted>false</disableGizmoWhileUndrafted>
|
||
<warmupStartSound>AcidSpray_Warmup</warmupStartSound>
|
||
<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="ArachnaeSwarm.CompProperties_AbilityNeedCost">
|
||
<needDef>Food</needDef>
|
||
<needCost>1</needCost>
|
||
<failMessage>营养值不足,需要进食</failMessage>
|
||
</li>
|
||
</comps>
|
||
</AbilityDef>
|
||
<ThingDef Name="ARA_CocoonSpew_Base_Proj" ParentName="BaseGrenadeProjectile" Abstract="True">
|
||
<label>阿拉克涅孵化茧</label>
|
||
<thingClass>Projectile_SpawnsThing</thingClass>
|
||
<graphicData>
|
||
<texPath>ArachnaeSwarm/Building/ARA_BioforgeIncubator</texPath>
|
||
<graphicClass>Graphic_Single</graphicClass>
|
||
</graphicData>
|
||
<projectile>
|
||
<damageDef>Bullet</damageDef>
|
||
<speed>21</speed>
|
||
<damageAmountBase>0</damageAmountBase>
|
||
<tryAdjacentFreeSpaces>true</tryAdjacentFreeSpaces>
|
||
</projectile>
|
||
</ThingDef>
|
||
|
||
<AbilityDef>
|
||
<defName>ARA_AcidSprayBurst_Queen</defName>
|
||
<label>女皇种酸液轰炸</label>
|
||
<description>阿拉克涅女皇种向目标地点喷射大量腐蚀性酸液,喷射将持续数秒以完全覆盖一片区域。</description>
|
||
<iconPath>UI/Abilities/AcidSpray</iconPath>
|
||
<cooldownTicksRange>5000</cooldownTicksRange> <!-- 2 hours -->
|
||
<aiCanUse>true</aiCanUse>
|
||
<displayOrder>300</displayOrder>
|
||
<warmupStartSound>AcidSpray_Warmup</warmupStartSound>
|
||
<verbProperties>
|
||
<verbClass>Verb_CastAbility</verbClass>
|
||
<range>32.9</range>
|
||
<warmupTime>2</warmupTime>
|
||
<soundCast>AcidSpray_Resolve</soundCast>
|
||
<targetParams>
|
||
<canTargetLocations>true</canTargetLocations>
|
||
</targetParams>
|
||
</verbProperties>
|
||
<comps>
|
||
<li Class="ArachnaeSwarm.CompProperties_AbilitySprayLiquidMulti">
|
||
<!-- CompProperties_AbilitySprayLiquid 的属性 -->
|
||
<projectileDef>ARA_Proj_StrongSludgeSpray</projectileDef>
|
||
<numCellsToHit>26</numCellsToHit>
|
||
<sprayEffecter>AcidSpray_Directional</sprayEffecter>
|
||
|
||
<!-- CompProperties_AbilitySprayLiquidMulti 新增的属性 -->
|
||
<shotCount>32</shotCount> <!-- 总共发射5次 -->
|
||
<ticksBetweenShots>3</ticksBetweenShots> <!-- 每次发射间隔12 Ticks (0.2秒) -->
|
||
</li>
|
||
<li Class="ArachnaeSwarm.CompProperties_AbilityNeedCost">
|
||
<needDef>Food</needDef>
|
||
<needCost>0.5</needCost>
|
||
<failMessage>营养值不足,需要进食</failMessage>
|
||
</li>
|
||
<li Class="ArachnaeSwarm.CompProperties_AbilityBodyPartCheck">
|
||
<requiredPart>ARA_Acid_sac</requiredPart>
|
||
<failMessage>酸囊受损或缺失,无法喷射酸液</failMessage>
|
||
</li>
|
||
<li Class="ArachnaeSwarm.CompProperties_AbilityResearchPrereq">
|
||
<requiredResearch>ARA_Technology_6VXI</requiredResearch>
|
||
<failMessage>需要科技 基因节点VXI-6"酸囊" 以解锁技能</failMessage>
|
||
</li>
|
||
</comps>
|
||
</AbilityDef>
|
||
<ThingDef>
|
||
<defName>ARA_Proj_StrongSludgeSpray</defName>
|
||
<label>阿拉克涅虫族酸液</label>
|
||
<thingClass>Projectile_Liquid</thingClass>
|
||
<category>Projectile</category>
|
||
<tickerType>Normal</tickerType>
|
||
<altitudeLayer>Projectile</altitudeLayer>
|
||
<useHitPoints>False</useHitPoints>
|
||
<neverMultiSelect>True</neverMultiSelect>
|
||
<graphicData>
|
||
<texPath>Things/Projectile/SludgeSpray</texPath>
|
||
<graphicClass>Graphic_Random</graphicClass>
|
||
<shaderType>MoteGlow</shaderType>
|
||
<drawSize>0.85</drawSize>
|
||
</graphicData>
|
||
<projectile>
|
||
<damageDef>ARA_AcidBurn</damageDef>
|
||
<speed>25</speed>
|
||
<damageAmountBase>2</damageAmountBase>
|
||
<arcHeightFactor>0.4</arcHeightFactor>
|
||
<armorPenetrationBase>0.1</armorPenetrationBase>
|
||
<stoppingPower>1</stoppingPower>
|
||
<shadowSize>0</shadowSize>
|
||
<spawnTerrain>ARA_InsectCreep</spawnTerrain>
|
||
<terrainChance>0.75</terrainChance>
|
||
<filth>Filth_SpentAcid</filth>
|
||
<filthCount>1</filthCount>
|
||
<filthChance>0.25</filthChance>
|
||
</projectile>
|
||
</ThingDef>
|
||
|
||
<AbilityDef>
|
||
<defName>ARA_AcidSprayBurst</defName>
|
||
<label>酸液轰炸</label>
|
||
<description>阿拉克涅督虫向目标地点喷射大量腐蚀性酸液,虽然不如女皇种所喷射的酸雨那样强劲,但是虫酸的伤害依然是实打实的。</description>
|
||
<iconPath>UI/Abilities/AcidSpray</iconPath>
|
||
<cooldownTicksRange>12000</cooldownTicksRange> <!-- 2 hours -->
|
||
<aiCanUse>true</aiCanUse>
|
||
<displayOrder>300</displayOrder>
|
||
<warmupStartSound>AcidSpray_Warmup</warmupStartSound>
|
||
<verbProperties>
|
||
<verbClass>Verb_CastAbility</verbClass>
|
||
<range>15.9</range>
|
||
<warmupTime>3</warmupTime>
|
||
<soundCast>AcidSpray_Resolve</soundCast>
|
||
<targetParams>
|
||
<canTargetLocations>true</canTargetLocations>
|
||
</targetParams>
|
||
</verbProperties>
|
||
<comps>
|
||
<li Class="ArachnaeSwarm.CompProperties_AbilitySprayLiquidMulti">
|
||
<!-- CompProperties_AbilitySprayLiquid 的属性 -->
|
||
<projectileDef>ARA_Proj_StrongSludgeSpray</projectileDef>
|
||
<numCellsToHit>6</numCellsToHit>
|
||
<sprayEffecter>AcidSpray_Directional</sprayEffecter>
|
||
|
||
<!-- CompProperties_AbilitySprayLiquidMulti 新增的属性 -->
|
||
<shotCount>16</shotCount> <!-- 总共发射5次 -->
|
||
<ticksBetweenShots>3</ticksBetweenShots> <!-- 每次发射间隔12 Ticks (0.2秒) -->
|
||
</li>
|
||
<li Class="ArachnaeSwarm.CompProperties_AbilityNeedCost">
|
||
<needDef>Food</needDef>
|
||
<needCost>0.5</needCost>
|
||
<failMessage>营养值不足,需要进食</failMessage>
|
||
</li>
|
||
<li Class="ArachnaeSwarm.CompProperties_AbilityBodyPartCheck">
|
||
<requiredPart>ARA_Acid_sac</requiredPart>
|
||
<failMessage>酸囊受损或缺失,无法喷射酸液</failMessage>
|
||
</li>
|
||
<li Class="ArachnaeSwarm.CompProperties_AbilityResearchPrereq">
|
||
<requiredResearch>ARA_Technology_6VXI</requiredResearch>
|
||
<failMessage>需要科技 基因节点VXI-6"酸囊" 以解锁技能</failMessage>
|
||
</li>
|
||
</comps>
|
||
</AbilityDef>
|
||
<AbilityDef>
|
||
<defName>ARA_Toxic_Needle_Fire</defName>
|
||
<label>毒针连射</label>
|
||
<description>阿拉克涅督虫使用可以喷射剧毒尾针的毒针腺对敌方进行一轮射击。</description>
|
||
<writeCombatLog>True</writeCombatLog>
|
||
<showPsycastEffects>False</showPsycastEffects>
|
||
<cooldownTicksRange>6000</cooldownTicksRange>
|
||
<iconPath>UI/Abilities/AcidSpray</iconPath>
|
||
<verbProperties>
|
||
<verbClass>Verb_AbilityShoot</verbClass>
|
||
<defaultProjectile>Bullet_ARA_RW_Basic_Fist_Needle_Gun</defaultProjectile>
|
||
<range>24.9</range>
|
||
<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>
|
||
</verbProperties>
|
||
<comps>
|
||
<li Class="ArachnaeSwarm.CompProperties_AbilityNeedCost">
|
||
<needDef>Food</needDef>
|
||
<needCost>0.1</needCost>
|
||
<failMessage>营养值不足,需要进食</failMessage>
|
||
</li>
|
||
<li Class="ArachnaeSwarm.CompProperties_AbilityBodyPartCheck">
|
||
<requiredPart>ARA_Toxic_Needle</requiredPart>
|
||
<failMessage>毒针腺受损或缺失,无法发射毒针</failMessage>
|
||
</li>
|
||
<li Class="ArachnaeSwarm.CompProperties_AbilityResearchPrereq">
|
||
<requiredResearch>ARA_Technology_5PAV</requiredResearch>
|
||
<failMessage>需要科技 基因节点PAV-5"毒刺" 以解锁技能</failMessage>
|
||
</li>
|
||
</comps>
|
||
</AbilityDef>
|
||
|
||
<AbilityDef>
|
||
<defName>ARA_BaseRace_Acid_Launcher</defName>
|
||
<label>酸嗜种投射</label>
|
||
<description>向目标地点喷射大量腐蚀性酸液。</description>
|
||
<iconPath>UI/Commands/EggSpew</iconPath>
|
||
<cooldownTicksRange>5000</cooldownTicksRange>
|
||
<aiCanUse>true</aiCanUse>
|
||
<displayOrder>300</displayOrder>
|
||
<displayGizmoWhileUndrafted>true</displayGizmoWhileUndrafted>
|
||
<disableGizmoWhileUndrafted>false</disableGizmoWhileUndrafted>
|
||
<warmupStartSound>AcidSpray_Warmup</warmupStartSound>
|
||
<charges>3</charges>
|
||
<cooldownPerCharge>true</cooldownPerCharge>
|
||
<verbProperties>
|
||
<verbClass>Verb_CastAbility</verbClass>
|
||
<range>24</range>
|
||
<warmupTime>1</warmupTime>
|
||
<soundCast>AcidSpray_Resolve</soundCast>
|
||
<violent>false</violent>
|
||
<targetParams>
|
||
<canTargetLocations>true</canTargetLocations>
|
||
</targetParams>
|
||
</verbProperties>
|
||
<comps>
|
||
<li Class="CompProperties_AbilityLaunchProjectile">
|
||
<projectileDef>ArachnaeBase_Race_Acid_Proj</projectileDef>
|
||
</li>
|
||
<li Class="ArachnaeSwarm.CompProperties_AbilityNeedCost">
|
||
<needDef>Food</needDef>
|
||
<needCost>0.5</needCost>
|
||
<failMessage>营养值不足,需要进食</failMessage>
|
||
</li>
|
||
</comps>
|
||
</AbilityDef>
|
||
<ThingDef ParentName="BaseGrenadeProjectile">
|
||
<defName>ArachnaeBase_Race_Acid_Proj</defName>
|
||
<label>阿拉克涅酸嗜种</label>
|
||
<thingClass>Projectile_SpawnsPawnZeroAge</thingClass>
|
||
<uiIconPath>Wula/Things/WULA_Attack_Cat/WULA_Cat_Thin_south</uiIconPath>
|
||
<graphicData>
|
||
<texPath>Things/Pawn/Animal/Spelopede/Spelopede</texPath>
|
||
<graphicClass>Graphic_Multi</graphicClass>
|
||
</graphicData>
|
||
<projectile>
|
||
<speed>41</speed>
|
||
<spawnsPawnKind>ArachnaeBase_Race_Acid</spawnsPawnKind>
|
||
<tryAdjacentFreeSpaces>true</tryAdjacentFreeSpaces>
|
||
<damageDef>ARA_AcidBurn</damageDef>
|
||
<damageAmountBase>10</damageAmountBase>
|
||
</projectile>
|
||
</ThingDef>
|
||
|
||
<AbilityDef>
|
||
<defName>ARA_Ability_Possess</defName>
|
||
<label>原虫种突袭寄生</label>
|
||
<description>跃向目标,随后尝试使用长尾刺穿对象并截断其神经中枢信号,以自己的控制信号取而代之,进而完全侵占目标躯体。\n\n被侵占躯体的对象视为阿拉克涅虫族的一员,需要接受女皇种的信息素标记,并且不再拥有感情和高级需求,仅作为躯壳活着。目标的技能熟练度和背景故事会替换为原虫种的技能熟练度和背景故事,一旦宿主死亡,原虫种将从宿主身上逃离。</description>
|
||
<iconPath>ArachnaeSwarm/UI/Abilities/ARA_Ability_Possess</iconPath>
|
||
<cooldownTicksRange>800</cooldownTicksRange>
|
||
<casterMustBeCapableOfViolence>false</casterMustBeCapableOfViolence>
|
||
<hotKey>Misc1</hotKey>
|
||
<verbProperties>
|
||
<!-- 使用我们新的Verb -->
|
||
<verbClass>ArachnaeSwarm.Verb_JumpAndCastOnLanding</verbClass>
|
||
<warmupTime>1.0</warmupTime>
|
||
<range>9.9</range>
|
||
<requireLineOfSight>true</requireLineOfSight>
|
||
<soundCast>Longjump_Jump</soundCast>
|
||
<soundLanding>Longjump_Land</soundLanding>
|
||
<targetParams>
|
||
<canTargetPawns>true</canTargetPawns>
|
||
<canTargetBuildings>false</canTargetBuildings>
|
||
<canTargetSelf>false</canTargetSelf>
|
||
<canTargetLocations>false</canTargetLocations>
|
||
</targetParams>
|
||
</verbProperties>
|
||
<comps>
|
||
<!-- comps部分现在只包含夺舍效果,因为跳跃由Verb处理 -->
|
||
<li Class="ArachnaeSwarm.CompProperties_AbilityPossess">
|
||
<!-- Base success chance range (60% to 100%) -->
|
||
<successChance>0.1</successChance>
|
||
<!-- Bonus success chance per point of damage dealt (1%) -->
|
||
<successChanceBonusPerDamage>0.01</successChanceBonusPerDamage>
|
||
<!-- Optional: Hediff to apply on successful possession -->
|
||
<hediffToApplyOnSuccess>ARA_HiveMindDrone</hediffToApplyOnSuccess>
|
||
<!-- Optional: A list of race ThingDefs that cannot be possessed -->
|
||
<raceBlacklist>
|
||
<li>ArachnaeQueen_Race</li>
|
||
</raceBlacklist>
|
||
</li>
|
||
</comps>
|
||
</AbilityDef>
|
||
</Defs> |