feat(building): 增强防御塔功能并调整武器射程

更新了阿拉克涅虫族防御建筑的行为与配置:
- 将部分 turret 类型的 thingClass 替换为 Building_TurretGunHasSpeed,
  并添加 ModExt_HasSpeedTurret 扩展以支持旋转速度控制。
- 为多个炮塔添加射击偏移扩展 ModExtension_ShootWithOffset,
  并指定具体的坐标偏移量。
- 调整两种 needle gun 武器的射程从 22 提高至 28。
- 移除了已废弃的 ARA_Weapon_FireSpew.xml 配置文件。
- 在项目中引入新的构建类:Building_TurretGunHasSpeed 和 Verb_ShootWithOffset。
This commit is contained in:
2025-10-03 13:53:44 +08:00
parent 01c95d60a0
commit 134ce2214f
7 changed files with 1226 additions and 11 deletions

Binary file not shown.

View File

@@ -420,7 +420,7 @@
<forceNormalTimeSpeed>false</forceNormalTimeSpeed>
<warmupTime>0.8</warmupTime>
<defaultProjectile>Bullet_ARA_RW_Basic_Fist_Needle_Gun</defaultProjectile>
<range>22</range>
<range>28</range>
<burstShotCount>32</burstShotCount>
<ticksBetweenBurstShots>2</ticksBetweenBurstShots>
<soundCast>SpitterSpit</soundCast>
@@ -498,7 +498,7 @@
<forceNormalTimeSpeed>false</forceNormalTimeSpeed>
<warmupTime>0.8</warmupTime>
<defaultProjectile>Bullet_ARA_RW_Basic_Fist_Needle_Gun_SG</defaultProjectile>
<range>22</range>
<range>28</range>
<burstShotCount>3</burstShotCount>
<ticksBetweenBurstShots>12</ticksBetweenBurstShots>
<soundCast>SpitterSpit</soundCast>

View File

@@ -1,4 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
</Defs>

View File

@@ -270,7 +270,7 @@
<defName>ARA_AutoSniperCannon</defName>
<label>血链千兆炮组织</label>
<description>阿拉克涅虫族用于防御巢穴的组织之一。它由大量没有自主意识的高度特化器官共同构成,能以较高射速连续地发射棘刺,重创大型敌人或来犯集群。作为阿拉克涅防御组织,其可以通过获取营养来自行生成补充弹药。</description>
<thingClass>Building_TurretGun</thingClass>
<thingClass>ArachnaeSwarm.Building_TurretGunHasSpeed</thingClass>
<drawerType>MapMeshAndRealTime</drawerType>
<drawHighlight>true</drawHighlight>
<drawHighlightOnlyForHostile>true</drawHighlightOnlyForHostile>
@@ -345,6 +345,11 @@
</linkableFacilities>
</li>
</comps>
<modExtensions>
<li Class="ArachnaeSwarm.ModExt_HasSpeedTurret">
<speed>0.5</speed> <!-- 旋转速度 (度/Tick)。值越大,旋转越快。 -->
</li>
</modExtensions>
<statBases>
<MaxHitPoints>260</MaxHitPoints>
<Flammability>0</Flammability>
@@ -387,7 +392,7 @@
</statBases>
<verbs>
<li>
<verbClass>Verb_Shoot</verbClass>
<verbClass>ArachnaeSwarm.Verb_ShootWithOffset</verbClass>
<hasStandardCommand>true</hasStandardCommand>
<defaultProjectile>ARA_Bullet_SniperCannon</defaultProjectile>
<warmupTime>0.1</warmupTime>
@@ -401,13 +406,20 @@
<consumeFuelPerShot>1</consumeFuelPerShot>
</li>
</verbs>
<modExtensions>
<li Class="ArachnaeSwarm.ModExtension_ShootWithOffset">
<offsets>
<li>(0, -2.5)</li>
</offsets>
</li>
</modExtensions>
</ThingDef>
<!-- Auto mortar -->
<ThingDef ParentName="BuildingBase">
<defName>ARA_Acidling_AutoMortar</defName>
<label>酸爆种投射巢组织</label>
<description>阿拉克涅虫族用于防御巢穴的组织之一。它由大量没有自主意识的高度特化器官共同构成,能向进犯巢穴的敌军发射多只阿拉克涅酸爆种辅虫,这些辅虫将自行寻找目标以发起自杀性袭击。作为阿拉克涅防御组织,其可以通过获取营养来自行生成补充弹药。</description>
<thingClass>Building_TurretGun</thingClass>
<thingClass>ArachnaeSwarm.Building_TurretGunHasSpeed</thingClass>
<drawerType>MapMeshAndRealTime</drawerType>
<drawHighlight>true</drawHighlight>
<drawHighlightOnlyForHostile>true</drawHighlightOnlyForHostile>
@@ -482,6 +494,11 @@
</linkableFacilities>
</li>
</comps>
<modExtensions>
<li Class="ArachnaeSwarm.ModExt_HasSpeedTurret">
<speed>0.5</speed> <!-- 旋转速度 (度/Tick)。值越大,旋转越快。 -->
</li>
</modExtensions>
<statBases>
<MaxHitPoints>260</MaxHitPoints>
<Flammability>0</Flammability>
@@ -522,7 +539,7 @@
</weaponTags>
<verbs>
<li>
<verbClass>Verb_Shoot</verbClass>
<verbClass>ArachnaeSwarm.Verb_ShootWithOffset</verbClass>
<defaultProjectile>ArachnaeBase_Race_Acidling_Proj</defaultProjectile>
<ai_AvoidFriendlyFireRadius>3</ai_AvoidFriendlyFireRadius>
<warmupTime>2</warmupTime>
@@ -539,6 +556,13 @@
</targetParams>
</li>
</verbs>
<modExtensions>
<li Class="ArachnaeSwarm.ModExtension_ShootWithOffset">
<offsets>
<li>(0, -1.4)</li>
</offsets>
</li>
</modExtensions>
</ThingDef>
<ThingDef ParentName="BaseGrenadeProjectile">
<defName>ArachnaeBase_Race_Acidling_Proj</defName>
@@ -674,7 +698,7 @@
</statBases>
<verbs>
<li>
<verbClass>Verb_Shoot</verbClass>
<verbClass>ArachnaeSwarm.Verb_ShootWithOffset</verbClass>
<hasStandardCommand>true</hasStandardCommand>
<defaultProjectile>Projectile_CatastropheMissile</defaultProjectile>
<consumeFuelPerShot>1</consumeFuelPerShot>
@@ -692,6 +716,13 @@
</targetParams>
</li>
</verbs>
<modExtensions>
<li Class="ArachnaeSwarm.ModExtension_ShootWithOffset">
<offsets>
<li>(0, -5)</li>
</offsets>
</li>
</modExtensions>
</ThingDef>
<ThingDef ParentName="ShellBase">
<defName>ARA_CatastropheMissile_Shell</defName>