diff --git a/1.6/1.6/Assemblies/ArachnaeSwarm.dll b/1.6/1.6/Assemblies/ArachnaeSwarm.dll index 73da13b..af61089 100644 Binary files a/1.6/1.6/Assemblies/ArachnaeSwarm.dll and b/1.6/1.6/Assemblies/ArachnaeSwarm.dll differ diff --git a/1.6/1.6/Defs/Thing_building/ARA_ThingDef_Building_CatastropheMissileSilo.xml b/1.6/1.6/Defs/Thing_building/ARA_ThingDef_Building_CatastropheMissileSilo.xml index cbaab84..11a2416 100644 --- a/1.6/1.6/Defs/Thing_building/ARA_ThingDef_Building_CatastropheMissileSilo.xml +++ b/1.6/1.6/Defs/Thing_building/ARA_ThingDef_Building_CatastropheMissileSilo.xml @@ -52,7 +52,7 @@ CatastropheMissile_Weapon - 5.0 + 15.0
  • Artillery
  • diff --git a/Source/ArachnaeSwarm/Verbs/Projectiles/Projectile_CruiseMissile.cs b/Source/ArachnaeSwarm/Verbs/Projectiles/Projectile_CruiseMissile.cs index 1225d94..b5ee691 100644 --- a/Source/ArachnaeSwarm/Verbs/Projectiles/Projectile_CruiseMissile.cs +++ b/Source/ArachnaeSwarm/Verbs/Projectiles/Projectile_CruiseMissile.cs @@ -198,7 +198,15 @@ namespace ArachnaeSwarm } // 用我们自己的曲线位置覆盖掉base.Tick()计算的直线位置 - exactPositionInt = BPos(this.DistanceCoveredFraction); + Vector3 newPos = BPos(this.DistanceCoveredFraction); + + // 增加边界检查 + if (!newPos.InBounds(base.Map)) + { + this.Destroy(); + return; + } + exactPositionInt = newPos; // 检查是否到达终点 if (this.DistanceCoveredFraction >= 1f)