diff --git a/1.6/1.6/Assemblies/ArachnaeSwarm.dll b/1.6/1.6/Assemblies/ArachnaeSwarm.dll
index 79815bc..f42aa66 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/AbilityDefs/ARA_Abilities.xml b/1.6/1.6/Defs/AbilityDefs/ARA_Abilities.xml
index 24df889..d38dff5 100644
--- a/1.6/1.6/Defs/AbilityDefs/ARA_Abilities.xml
+++ b/1.6/1.6/Defs/AbilityDefs/ARA_Abilities.xml
@@ -244,6 +244,42 @@
+
+ ARA_BaseRace_Skyhive_Launcher
+
+ 将三只阿拉克涅天巢种辅虫发射到目标身上,天巢种将附着到敌人身上撕咬,脱落后仍然能继续对敌人展开攻击。
+ UI/Commands/EggSpew
+ 5000
+ true
+ 300
+ true
+ false
+ AcidSpray_Warmup
+ 3
+ true
+
+ Verb_CastAbility
+ 24
+ 1
+ AcidSpray_Resolve
+ false
+
+ True
+
+
+
+
+ Bullet_ARA_RW_Basic_SkyHive_Gun
+ 3
+
+
+ Food
+ 0.5
+ 营养值不足,需要进食
+
+
+
+
ARA_Ability_Possess
diff --git a/1.6/1.6/Defs/DamageDefs/ARA_Damages.xml b/1.6/1.6/Defs/DamageDefs/ARA_Damages.xml
index bc6e200..6d8570e 100644
--- a/1.6/1.6/Defs/DamageDefs/ARA_Damages.xml
+++ b/1.6/1.6/Defs/DamageDefs/ARA_Damages.xml
@@ -47,12 +47,11 @@
ARA_SkyhiveBite
-
+
ARA_SkyhiveBite
- 0.1
-
+
\ No newline at end of file
diff --git a/1.6/1.6/Defs/HediffDefs/ARA_Hediffs_Damage.xml b/1.6/1.6/Defs/HediffDefs/ARA_Hediffs_Damage.xml
index 3daf27a..399a916 100644
--- a/1.6/1.6/Defs/HediffDefs/ARA_Hediffs_Damage.xml
+++ b/1.6/1.6/Defs/HediffDefs/ARA_Hediffs_Damage.xml
@@ -88,10 +88,11 @@
ARA_SkyhiveBite
- 一只可爱的天巢种阿拉克涅虫族咬到了你的身上.这不会有太大问题...对吧?
+ 一只可爱的天巢种阿拉克涅虫族咬到了你的身上,虫虫会不停的咬你直到从你身上脱离。这不会有太大问题...对吧?
- true
+
ArachnaeSwarm.HediffCurseFlame
+ (0.6, 0.4, 0.8)
1200
@@ -99,13 +100,14 @@
ArachnaeBase_Race_Skyhive
+ 0
Bite
3~5
- 100
+ 300
@@ -113,6 +115,5 @@
0.05
-
\ No newline at end of file
diff --git a/1.6/1.6/Defs/PawnKindDef/ARA_PawnKinds.xml b/1.6/1.6/Defs/PawnKindDef/ARA_PawnKinds.xml
index 24414f2..73160ca 100644
--- a/1.6/1.6/Defs/PawnKindDef/ARA_PawnKinds.xml
+++ b/1.6/1.6/Defs/PawnKindDef/ARA_PawnKinds.xml
@@ -254,6 +254,9 @@
+
+ ARA_BaseRace_Skyhive_Launcher
+
@@ -368,24 +371,25 @@
ArachnaeBase_Race_Skyhive
ArachnaeBase_Race_Skyhive
- Things/Pawn/Animal/Goose/Goose_Flying_
- 1.35
- 2
+ Things/Pawn/Insect/Locust/LocustFlying/Locust_Flying_
+ 5
2
- false
+ 1
+ false
+ true
- Things/Pawn/Animal/Spelopede/Spelopede
+ Things/Pawn/Insect/Locust/Locust
1
- (156,148,125)
+ (145,140,109)
- (0.4, 0.5, 0.37)
- (0,0,-0.15)
+ (0.2, 0.3, 0.2)
+ (0,0,0)
- Things/Pawn/Animal/Spelopede/Dessicated_Spelopede
+ Things/Pawn/Insect/Locust/Dessicated_Locust
1
diff --git a/1.6/1.6/Defs/ThingDef_Races/ARA_RaceNodeSwarm.xml b/1.6/1.6/Defs/ThingDef_Races/ARA_RaceNodeSwarm.xml
index 78e4552..618ecce 100644
--- a/1.6/1.6/Defs/ThingDef_Races/ARA_RaceNodeSwarm.xml
+++ b/1.6/1.6/Defs/ThingDef_Races/ARA_RaceNodeSwarm.xml
@@ -632,7 +632,7 @@
-->
-
+
diff --git a/1.6/1.6/Defs/Thing_Misc/Weapons/ARA_Weapom_Skyhive.xml b/1.6/1.6/Defs/Thing_Misc/Weapons/ARA_Weapom_Skyhive.xml
index 8ad85e8..6d59684 100644
--- a/1.6/1.6/Defs/Thing_Misc/Weapons/ARA_Weapom_Skyhive.xml
+++ b/1.6/1.6/Defs/Thing_Misc/Weapons/ARA_Weapom_Skyhive.xml
@@ -34,7 +34,6 @@
true
false
1.0
- 1
Bullet_ARA_RW_Basic_SkyHive_Gun
true
false
@@ -64,10 +63,10 @@
Graphic_Single_AgeSecs
- Things/Pawn/Animal/Spelopede/Spelopede_north
+ Things/Pawn/Insect/Locust/Locust_north
(156,148,125)
(1,1)
- MoteGlow
+ TransparentPostLight
0.8
ArachnaeSwarm.Projectile_TrackingBullet
@@ -75,25 +74,24 @@
True
1
ARA_SkyhiveBite
- 20
20
- 15
+ 25
1
true
- 1.5
+ 0.75
- 15
+ 35
150
- 0.5
+ 2.1
3
diff --git a/Source/ArachnaeSwarm/ArachnaeSwarm.csproj b/Source/ArachnaeSwarm/ArachnaeSwarm.csproj
index 8314a57..469912d 100644
--- a/Source/ArachnaeSwarm/ArachnaeSwarm.csproj
+++ b/Source/ArachnaeSwarm/ArachnaeSwarm.csproj
@@ -155,6 +155,10 @@
+
+
+
+
@@ -164,6 +168,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Source/ArachnaeSwarm/CompAbilityEffect_LaunchMultiProjectile.cs b/Source/ArachnaeSwarm/CompAbilityEffect_LaunchMultiProjectile.cs
new file mode 100644
index 0000000..40c1746
--- /dev/null
+++ b/Source/ArachnaeSwarm/CompAbilityEffect_LaunchMultiProjectile.cs
@@ -0,0 +1,44 @@
+using Verse;
+using RimWorld;
+
+namespace ArachnaeSwarm
+{
+ public class CompProperties_AbilityLaunchMultiProjectile : CompProperties_AbilityLaunchProjectile
+ {
+ public int numProjectiles = 1;
+
+ public CompProperties_AbilityLaunchMultiProjectile()
+ {
+ compClass = typeof(CompAbilityEffect_LaunchMultiProjectile);
+ }
+ }
+
+ public class CompAbilityEffect_LaunchMultiProjectile : CompAbilityEffect
+ {
+ public new CompProperties_AbilityLaunchMultiProjectile Props => (CompProperties_AbilityLaunchMultiProjectile)props;
+
+ public override void Apply(LocalTargetInfo target, LocalTargetInfo dest)
+ {
+ base.Apply(target, dest);
+ for (int i = 0; i < Props.numProjectiles; i++)
+ {
+ LaunchProjectile(target);
+ }
+ }
+
+ private void LaunchProjectile(LocalTargetInfo target)
+ {
+ if (Props.projectileDef != null)
+ {
+ Pawn pawn = parent.pawn;
+ Projectile projectile = (Projectile)GenSpawn.Spawn(Props.projectileDef, pawn.Position, pawn.Map);
+ projectile.Launch(pawn, pawn.DrawPos, target, target, ProjectileHitFlags.IntendedTarget, parent.verb.preventFriendlyFire);
+ }
+ }
+
+ public override bool AICanTargetNow(LocalTargetInfo target)
+ {
+ return target.Pawn != null;
+ }
+ }
+}
\ No newline at end of file
diff --git a/Source/ArachnaeSwarm/HediffComp_SpawnPawnOnRemoved.cs b/Source/ArachnaeSwarm/HediffComp_SpawnPawnOnRemoved.cs
index 0cb3171..a29f091 100644
--- a/Source/ArachnaeSwarm/HediffComp_SpawnPawnOnRemoved.cs
+++ b/Source/ArachnaeSwarm/HediffComp_SpawnPawnOnRemoved.cs
@@ -10,6 +10,8 @@ namespace ArachnaeSwarm
public class HediffCompProperties_SpawnPawnOnRemoved : HediffCompProperties
{
public PawnKindDef pawnKindDef;
+ public float? fixedBiologicalAge; // 新增用于XML配置的固定生物年龄
+ public FloatRange? biologicalAgeRange; // 新增用于XML配置的生物年龄范围
public HediffCompProperties_SpawnPawnOnRemoved()
{
@@ -61,7 +63,9 @@ namespace ArachnaeSwarm
faction: this.casterFaction, // Use the stored faction
context: PawnGenerationContext.NonPlayer,
tile: -1,
- forceGenerateNewPawn: true
+ forceGenerateNewPawn: true,
+ fixedBiologicalAge: Props.fixedBiologicalAge, // 使用XML配置的固定生物年龄
+ biologicalAgeRange: Props.biologicalAgeRange // 使用XML配置的生物年龄范围
));
if (newPawn != null)