This commit is contained in:
2026-02-07 11:57:23 +08:00
parent 0ce702b9cc
commit b26761a848
13 changed files with 70 additions and 1090 deletions

Binary file not shown.

View File

@@ -1621,27 +1621,33 @@
</comps>
</AbilityDef>
<AbilityDef>
<defName>ARA_Locust_Needle_Fire</defName>
<label>毒针射击</label>
<description>阿拉克涅蝗虫种使用可以喷射剧毒尾针的毒针腺对敌方进行一轮射击</description>
<writeCombatLog>True</writeCombatLog>
<showPsycastEffects>False</showPsycastEffects>
<cooldownTicksRange>90</cooldownTicksRange>
<defName>ARA_Locust_AcidSprayBurst</defName>
<label>酸液喷洒</label>
<description>阿拉克涅蝗虫种向目标地点喷射腐蚀性酸液</description>
<iconPath>ArachnaeSwarm/UI/Abilities/ARA_AcidSprayBurst</iconPath>
<cooldownTicksRange>180</cooldownTicksRange>
<aiCanUse>true</aiCanUse>
<iconPath>ArachnaeSwarm/UI/Abilities/ARA_Toxic_Needle_Fire</iconPath>
<displayOrder>300</displayOrder>
<warmupStartSound>AcidSpray_Warmup</warmupStartSound>
<verbProperties>
<verbClass>Verb_CastAbility</verbClass>
<range>24</range>
<warmupTime>0</warmupTime>
<soundCast>SpitterSpit</soundCast>
<soundCastTail>Heatspikes_Tail</soundCastTail>
<range>16</range>
<warmupTime>0.01</warmupTime>
<soundCast>AcidSpray_Resolve</soundCast>
<targetParams>
<canTargetPawns>True</canTargetPawns>
<canTargetLocations>true</canTargetLocations>
</targetParams>
</verbProperties>
<comps>
<li Class="CompProperties_AbilityLaunchProjectile">
<projectileDef>Bullet_ARA_RW_Basic_Fist_Needle_Gun</projectileDef>
<li Class="ArachnaeSwarm.CompProperties_AbilitySprayLiquidMulti">
<!-- CompProperties_AbilitySprayLiquid 的属性 -->
<projectileDef>ARA_Proj_StrongSludgeSpray</projectileDef>
<numCellsToHit>4</numCellsToHit>
<sprayEffecter>AcidSpray_Directional</sprayEffecter>
<!-- CompProperties_AbilitySprayLiquidMulti 新增的属性 -->
<shotCount>1</shotCount> <!-- 总共发射5次 -->
<ticksBetweenShots>3</ticksBetweenShots> <!-- 每次发射间隔12 Ticks (0.2秒) -->
</li>
</comps>
</AbilityDef>

View File

@@ -683,7 +683,7 @@
</li>
</lifeStages>
<abilities>
<li>ARA_Locust_Needle_Fire</li>
<li>ARA_Locust_AcidSprayBurst</li>
</abilities>
</PawnKindDef>

View File

@@ -126,99 +126,4 @@
<traverseSound>TraversePitGate</traverseSound>
</portal>
</ThingDef>
<ThingDef>
<defName>ARA_WormholePortal_Spawner</defName>
<label>掘进中的虫洞</label>
<description>一只阿拉克涅坑道种的尾部正在地下活动——毫无疑问,它很快就要破土而出了!</description>
<thingClass>ArachnaeSwarm.BuildingGroundSpawner_WormholePortal</thingClass>
<destroyable>false</destroyable>
<holdsRoof>true</holdsRoof>
<selectable>true</selectable>
<tickerType>Normal</tickerType>
<useHitPoints>false</useHitPoints>
<drawerType>RealtimeOnly</drawerType>
<size>(2, 2)</size>
<uiIconPath>UI/Icons/UndergroundEmergence</uiIconPath>
<building>
<groundSpawnerSustainedEffecter>EmergencePointSustained2X2</groundSpawnerSustainedEffecter>
<groundSpawnerCompleteEffecter>EmergencePointComplete2X2</groundSpawnerCompleteEffecter>
<groundSpawnerThingToSpawn>ARA_WormholePortal_B</groundSpawnerThingToSpawn>
<groundSpawnerSpawnDelay>600</groundSpawnerSpawnDelay>
<groundSpawnerDestroyAdjacent>true</groundSpawnerDestroyAdjacent>
<groundSpawnerSustainerSound>PitBurrowOpening</groundSpawnerSustainerSound>
</building>
<modExtensions>
<li Class="ArachnaeSwarm.WormholePortalSpawnerExtension">
<minEmergeDelayTicks>600</minEmergeDelayTicks>
<maxEmergeDelayTicks>600</maxEmergeDelayTicks>
<requiresOpenSky>false</requiresOpenSky>
<minSpaceRadius>3</minSpaceRadius>
<destroyTerrain>true</destroyTerrain>
<destroyBuildings>false</destroyBuildings>
</li>
</modExtensions>
</ThingDef>
<ThingDef ParentName="BuildingBase">
<defName>ARA_WormholePortal_Enermy</defName>
<label>阿拉克涅坑道种尾部出口</label>
<description>阿拉克涅坑道种的尾巴,是其狭长身躯形成的地下通路的出口。</description>
<rotatable>false</rotatable>
<graphicData>
<texPath>ArachnaeSwarm/Building/ARA_Wormhole_B</texPath>
<graphicClass>Graphic_Single</graphicClass>
<shaderType>CutoutComplex</shaderType>
<drawSize>(4,4)</drawSize>
<shadowData>
<volume>(2.6, 2.5, 1.6)</volume>
<offset>(0,0,-0.1)</offset>
</shadowData>
</graphicData>
<altitudeLayer>Building</altitudeLayer>
<passability>Impassable</passability>
<statBases>
<MaxHitPoints>500</MaxHitPoints>
<Flammability>0.5</Flammability>
</statBases>
<size>(2,2)</size>
<comps>
<li Class="ArachnaeSwarm.CompProperties_WormholePortal">
<initialDelayTicks>60</initialDelayTicks>
<jumpIntervalTicks>30</jumpIntervalTicks>
<stunDurationTicks>60</stunDurationTicks>
<deactivationDelayTicks>120</deactivationDelayTicks>
<!-- <activationSound>PsycastPsychicPulse</activationSound>
<deactivationSound>PsycastPsychicPulse</deactivationSound>
<jumpSound>PsycastPsychicPulse</jumpSound> -->
<!-- <activationEffecter>PsycastPsychicPulse</activationEffecter>
<deactivationEffecter>PsycastPsychicPulse</deactivationEffecter> -->
<!-- <perJumpEffecter>PsycastSkipEffect</perJumpEffecter>
<jumpEffecter>PawnFlyerLanding</jumpEffecter> -->
<useColorCycling>false</useColorCycling>
<!-- <colorCycleSpeed>0.5</colorCycleSpeed> -->
</li>
</comps>
<tradeability>None</tradeability>
</ThingDef>
<!-- 到达模式定义 -->
<PawnsArrivalModeDef>
<defName>ARA_WormholePortal</defName>
<label>虫洞传送门</label>
<description>通过虫洞传送门到达</description>
<workerClass>ArachnaeSwarm.PawnsArrivalModeWorker_WormholePortal</workerClass>
<selectionWeightCurve>
<points>
<li>(0, 0)</li>
<li>(500, 0.3)</li>
<li>(1000, 0.5)</li>
<li>(2000, 0.7)</li>
</points>
</selectionWeightCurve>
<forQuickMilitaryAid>false</forQuickMilitaryAid>
<techLevel>Industrial</techLevel>
</PawnsArrivalModeDef>
</Defs>

View File

@@ -3097,7 +3097,7 @@
<targetAcquireRadius>65</targetAcquireRadius>
<targetKeepRadius>72</targetKeepRadius>
<skipIfCantTargetNow>false</skipIfCantTargetNow>
<ability>ARA_Locust_Needle_Fire</ability>
<ability>ARA_Locust_AcidSprayBurst</ability>
<allowTurrets>true</allowTurrets>
<needLOSToAcquireNonPawnTargets>true</needLOSToAcquireNonPawnTargets>
</li>
@@ -3117,10 +3117,6 @@
<subNodes>
<li Class="ArachnaeSwarm.ThinkNode_ConditionalShouldFollowProducer">
<subNodes>
<!-- <li Class="ArachnaeSwarm.JobGiver_AIDefendProducer">
<attackMeleeThreatEvenIfNotHostile>true</attackMeleeThreatEvenIfNotHostile>
<defendRadius>100</defendRadius>
</li> -->
<!-- Keep distance -->
<li Class="JobGiver_FleeForDistance">
<enemyDistToFleeRange>2.9~7.9</enemyDistToFleeRange>
@@ -3135,10 +3131,14 @@
<targetAcquireRadius>65</targetAcquireRadius>
<targetKeepRadius>72</targetKeepRadius>
<skipIfCantTargetNow>false</skipIfCantTargetNow>
<ability>ARA_Locust_Needle_Fire</ability>
<ability>ARA_Locust_AcidSprayBurst</ability>
<allowTurrets>true</allowTurrets>
<needLOSToAcquireNonPawnTargets>true</needLOSToAcquireNonPawnTargets>
</li>
<li Class="ArachnaeSwarm.JobGiver_AIDefendProducer">
<attackMeleeThreatEvenIfNotHostile>true</attackMeleeThreatEvenIfNotHostile>
<defendRadius>100</defendRadius>
</li>
<li Class="ArachnaeSwarm.JobGiver_AIFollowProducer"/>
<li Class="ArachnaeSwarm.JobGiver_WanderNearProducer"/>
</subNodes>