feat(Flyover): 天巫集群掠食 — 空投拦截系统

新增天巫种对敌方空投袭击的自动拦截功能:
- GameComponent_DropPodInterceptor: 全局拦截状态管理与核心逻辑
- Harmony Prefix 挂钩 EdgeDrop/CenterDrop Arrive(),拦截 1-3 个运输仓
- 被拦截 Pawn 击杀(Bite)后尸体以空投仓形式落地
- 拦截时生成天巫种 FlyOver 视觉飞越 + PositiveEvent 信件通知
- 引航种新增 ARA_ToggleDropPodIntercept 自释放能力切换开关
- 前置检查:开关启用 + 天巫升空 + 敌对派系,至少保留 1 名袭击者

新增文件:
- Source/.../GameComponent_DropPodInterceptor.cs
- Source/.../Patch_DropPodIntercept.cs
- Source/.../CompAbilityEffect_ToggleDropPodIntercept.cs
- Defs/AbilityDefs/Ability_DropPodIntercept.xml

修改文件:
- ARA_PawnKinds.xml (Skyraider abilities)
- AirStrike_Keys.xml (10 localization keys)
- ArachnaeSwarm.csproj (3 Compile entries)
This commit is contained in:
2026-02-17 15:54:35 +08:00
parent 4c2bf41f19
commit 988967439f
11 changed files with 598 additions and 3 deletions

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,31 @@
<?xml version="1.0" encoding="utf-8"?>
<Defs>
<AbilityDef>
<defName>ARA_ToggleDropPodIntercept</defName>
<label>掠食巡航</label>
<description>切换天巫种对敌方空投袭击的拦截模式。开启后,敌方空投到达前会被随机拦截一部分运输仓。</description>
<iconPath>ArachnaeSwarm/UI/Abilities/ARA_Spawn_ARA_HiveCorvette_Strike</iconPath>
<cooldownTicksRange>0</cooldownTicksRange>
<targetRequired>false</targetRequired>
<casterMustBeCapableOfViolence>false</casterMustBeCapableOfViolence>
<verbProperties>
<verbClass>Verb_CastAbility</verbClass>
<drawAimPie>false</drawAimPie>
<requireLineOfSight>false</requireLineOfSight>
<nonInterruptingSelfCast>true</nonInterruptingSelfCast>
<warmupTime>0</warmupTime>
<targetable>false</targetable>
<targetParams>
<canTargetSelf>True</canTargetSelf>
</targetParams>
</verbProperties>
<comps>
<li Class="ArachnaeSwarm.CompProperties_ToggleDropPodIntercept">
<enabledMessage>ARA_InterceptDropPod_Enabled</enabledMessage>
<disabledMessage>ARA_InterceptDropPod_Disabled</disabledMessage>
<noAircraftMessage>ARA_InterceptDropPod_NoAircraft</noAircraftMessage>
<requiredAircraftType>ARA_HiveCorvette_Entity</requiredAircraftType>
</li>
</comps>
</AbilityDef>
</Defs>

View File

@@ -356,6 +356,7 @@
</backstoryFiltersOverride>
<abilities>
<li>ARA_Skyraider_jump</li>
<li>ARA_ToggleDropPodIntercept</li>
</abilities>
<startingHediffs>
<li>
@@ -699,4 +700,4 @@
<li>ARA_Ability_SlayerCharge</li>
</abilities>
</PawnKindDef>
</Defs>
</Defs>

View File

@@ -50,4 +50,16 @@
<AircraftCooldownEnded>{0} 准备好再次进行打击</AircraftCooldownEnded>
<NoAircraftStatus>没有可用的兽虫</NoAircraftStatus>
<AircraftStatusLine>{0}{1}/{2}(冷却中:{3}</AircraftStatusLine>
</LanguageData>
<!-- Drop Pod Intercept -->
<ARA_ToggleDropPodIntercept_Label>掠食巡航</ARA_ToggleDropPodIntercept_Label>
<ARA_ToggleDropPodIntercept_Desc>切换天巫种对敌方空投袭击的拦截模式。</ARA_ToggleDropPodIntercept_Desc>
<ARA_InterceptDropPod_Enabled>掠食巡航已启动</ARA_InterceptDropPod_Enabled>
<ARA_InterceptDropPod_Disabled>掠食巡航已关闭</ARA_InterceptDropPod_Disabled>
<ARA_InterceptDropPod_NoAircraft>没有可用的天巫种兽虫</ARA_InterceptDropPod_NoAircraft>
<ARA_InterceptDropPod_Status>掠食巡航:{0}</ARA_InterceptDropPod_Status>
<ARA_InterceptDropPod_StatusOn>开启</ARA_InterceptDropPod_StatusOn>
<ARA_InterceptDropPod_StatusOff>关闭</ARA_InterceptDropPod_StatusOff>
<ARA_InterceptDropPod_LetterLabel>天巫种拦截空投</ARA_InterceptDropPod_LetterLabel>
<ARA_InterceptDropPod_LetterText>天巫种在空中拦截了 {0} 个敌方运输仓,目标已坠毁并以空投舱形式落地。</ARA_InterceptDropPod_LetterText>
</LanguageData>