diff --git a/1.6/1.6/Assemblies/ArachnaeSwarm.dll b/1.6/1.6/Assemblies/ArachnaeSwarm.dll
index 4edd339..20218a0 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 14cf10b..ea14298 100644
--- a/1.6/1.6/Defs/AbilityDefs/ARA_Abilities.xml
+++ b/1.6/1.6/Defs/AbilityDefs/ARA_Abilities.xml
@@ -1904,4 +1904,87 @@
+
+
+
+ ARA_Incubator_5_EliteReward_Jump
+ 力大砖飞
+ 该阿拉克涅督虫变异过的恐怖肌肉可以像弹簧一样将其弹射出去。
+ ArachnaeSwarm/UI/Abilities/ARA_Fighter_Invisibility_jump
+ 6000
+ false
+ false
+
+ Verb_CastAbilityJump
+ false
+ false
+
+ 18
+ false
+ Longjump_Jump
+ Longjump_Land
+
+ true
+ false
+ false
+
+
+ CastJump
+
+
+ 饮食
+ true
+ Food
+ 0.1
+ 营养值不足,需要进食
+
+
+
+
+ ARA_Incubator_5_EliteReward_Charge
+ 无畏冲击
+ 对目标发起蓄势冲撞,对路径上的一切造成伤害。在冲击中途经的距离越远,伤害越高。
+ ArachnaeSwarm/UI/Abilities/ARA_Ability_TrackingCharge
+ 6000
+ true
+ false
+
+ ArachnaeSwarm.Verb_CastAbilityTrackingCharge
+ 追踪冲撞
+ false
+
+ true
+ true
+ true
+ true
+ false
+
+ 16
+ 1.0
+
+
+
+ 1.5
+ 10
+ 1.2
+ 6
+ Demolish
+ ARA_Flyer_TrackingCharge
+ 1.5
+ Pawn_Melee_BigBash_HitPawn
+ true
+
+
+ WarTrumpet
+ 20
+
+
+ 饮食
+ true
+ Food
+ 0.2
+ 营养值不足,需要进食
+
+
+
\ No newline at end of file
diff --git a/1.6/1.6/Defs/HediffDefs/ARA_Hediffs_Incubator_Reward.xml b/1.6/1.6/Defs/HediffDefs/ARA_Hediffs_Incubator_Reward.xml
index f955fcf..25494a3 100644
--- a/1.6/1.6/Defs/HediffDefs/ARA_Hediffs_Incubator_Reward.xml
+++ b/1.6/1.6/Defs/HediffDefs/ARA_Hediffs_Incubator_Reward.xml
@@ -331,6 +331,7 @@
3
+ ARA_AcidBurn
@@ -393,4 +394,28 @@
+
+ ARA_Incubator_5_EliteReward_Hediffs
+ 异变肌群
+ 该阿拉克涅督虫的肌群强壮得已经无法使用常理解释了,似乎只需要轻轻地挥动鳌爪,最坚固的城墙也会被劈开裂口——督虫还藉由这种强大的生理能力获得了多个体术技能。\n\n这个稀有突变是强壮肌肉的变种。
+ HediffWithComps
+ false
+ (0.8, 0.6, 0.0)
+ true
+
+
+
+ 5
+
+
+
+
+
+
+ ARA_Incubator_5_EliteReward_Jump
+ ARA_Incubator_5_EliteReward_Charge
+
+
+
+
\ 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 b117cae..4a59c54 100644
--- a/1.6/1.6/Defs/PawnKindDef/ARA_PawnKinds.xml
+++ b/1.6/1.6/Defs/PawnKindDef/ARA_PawnKinds.xml
@@ -190,6 +190,7 @@
2
1
false
+ ARA_Normal_Node_NameMaker
ARA_Suicide_Ability
ARA_RaceBaseSwarmProduceOff
@@ -699,4 +700,52 @@
ARA_Ability_SlayerCharge
-
+
+
+ ARA_Normal_Node_NameMaker
+
+
+ r_name->[ARA_Normal_Node_FirstName] '[ARA_Normal_Node_nickName]' [ARA_Normal_Node_LastName]
+ ARA_Normal_Node_nickName->[ARA_Normal_Node_nickName_Sub]
+ ARA_Normal_Node_FirstName->Nodeunit
+ ARA_Normal_Node_LastName->Arachnae
+ ARA_Normal_Node_nickName_Sub->[ARA_Normal_Node_nickName_A][ARA_Normal_Node_nickName_B]-[ARA_Normal_Node_nickName_C][ARA_Normal_Node_nickName_D][ARA_Normal_Node_nickName_E]
+ ARA_Normal_Node_nickName_A->P
+ ARA_Normal_Node_nickName_A->R
+ ARA_Normal_Node_nickName_A->X
+ ARA_Normal_Node_nickName_A->H
+ ARA_Normal_Node_nickName_A->D
+ ARA_Normal_Node_nickName_B->A
+ ARA_Normal_Node_nickName_B->C
+ ARA_Normal_Node_nickName_B->I
+ ARA_Normal_Node_nickName_B->Y
+ ARA_Normal_Node_nickName_C->1
+ ARA_Normal_Node_nickName_C->2
+ ARA_Normal_Node_nickName_C->3
+ ARA_Normal_Node_nickName_C->4
+ ARA_Normal_Node_nickName_C->5
+ ARA_Normal_Node_nickName_C->6
+ ARA_Normal_Node_nickName_D->1
+ ARA_Normal_Node_nickName_D->2
+ ARA_Normal_Node_nickName_D->3
+ ARA_Normal_Node_nickName_D->4
+ ARA_Normal_Node_nickName_D->5
+ ARA_Normal_Node_nickName_D->6
+ ARA_Normal_Node_nickName_D->7
+ ARA_Normal_Node_nickName_D->8
+ ARA_Normal_Node_nickName_D->9
+ ARA_Normal_Node_nickName_D->0
+ ARA_Normal_Node_nickName_E->1
+ ARA_Normal_Node_nickName_E->2
+ ARA_Normal_Node_nickName_E->3
+ ARA_Normal_Node_nickName_E->4
+ ARA_Normal_Node_nickName_E->5
+ ARA_Normal_Node_nickName_E->6
+ ARA_Normal_Node_nickName_E->7
+ ARA_Normal_Node_nickName_E->8
+ ARA_Normal_Node_nickName_E->9
+ ARA_Normal_Node_nickName_E->0
+
+
+
+
\ No newline at end of file
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 9e1eecc..6f5a3a1 100644
--- a/1.6/1.6/Defs/ThingDef_Races/ARA_RaceNodeSwarm.xml
+++ b/1.6/1.6/Defs/ThingDef_Races/ARA_RaceNodeSwarm.xml
@@ -610,6 +610,7 @@
false
1
+
diff --git a/1.6/1.6/Languages/ChineseSimplified (简体中文)/DefInjected/RulePackDefs/ARA_PawnKinds.xml b/1.6/1.6/Languages/ChineseSimplified (简体中文)/DefInjected/RulePackDefs/ARA_PawnKinds.xml
new file mode 100644
index 0000000..0f042fd
--- /dev/null
+++ b/1.6/1.6/Languages/ChineseSimplified (简体中文)/DefInjected/RulePackDefs/ARA_PawnKinds.xml
@@ -0,0 +1,45 @@
+
+
+
+ r_name->[ARA_Normal_Node_FirstName] '[ARA_Normal_Node_nickName]' [ARA_Normal_Node_LastName]
+ ARA_Normal_Node_nickName->[ARA_Normal_Node_nickName_Sub]
+ ARA_Normal_Node_FirstName->节点生物
+ ARA_Normal_Node_LastName->阿拉克涅
+ ARA_Normal_Node_nickName_Sub->[ARA_Normal_Node_nickName_A][ARA_Normal_Node_nickName_B]-[ARA_Normal_Node_nickName_C][ARA_Normal_Node_nickName_D][ARA_Normal_Node_nickName_E]
+ ARA_Normal_Node_nickName_A->P
+ ARA_Normal_Node_nickName_A->R
+ ARA_Normal_Node_nickName_A->X
+ ARA_Normal_Node_nickName_A->H
+ ARA_Normal_Node_nickName_A->D
+ ARA_Normal_Node_nickName_B->A
+ ARA_Normal_Node_nickName_B->C
+ ARA_Normal_Node_nickName_B->I
+ ARA_Normal_Node_nickName_B->Y
+ ARA_Normal_Node_nickName_C->1
+ ARA_Normal_Node_nickName_C->2
+ ARA_Normal_Node_nickName_C->3
+ ARA_Normal_Node_nickName_C->4
+ ARA_Normal_Node_nickName_C->5
+ ARA_Normal_Node_nickName_C->6
+ ARA_Normal_Node_nickName_D->1
+ ARA_Normal_Node_nickName_D->2
+ ARA_Normal_Node_nickName_D->3
+ ARA_Normal_Node_nickName_D->4
+ ARA_Normal_Node_nickName_D->5
+ ARA_Normal_Node_nickName_D->6
+ ARA_Normal_Node_nickName_D->7
+ ARA_Normal_Node_nickName_D->8
+ ARA_Normal_Node_nickName_D->9
+ ARA_Normal_Node_nickName_D->0
+ ARA_Normal_Node_nickName_E->1
+ ARA_Normal_Node_nickName_E->2
+ ARA_Normal_Node_nickName_E->3
+ ARA_Normal_Node_nickName_E->4
+ ARA_Normal_Node_nickName_E->5
+ ARA_Normal_Node_nickName_E->6
+ ARA_Normal_Node_nickName_E->7
+ ARA_Normal_Node_nickName_E->8
+ ARA_Normal_Node_nickName_E->9
+ ARA_Normal_Node_nickName_E->0
+
+
diff --git a/Source/ArachnaeSwarm/.vs/ArachnaeSwarm/v17/.suo b/Source/ArachnaeSwarm/.vs/ArachnaeSwarm/v17/.suo
index 0507350..9fc5e57 100644
Binary files a/Source/ArachnaeSwarm/.vs/ArachnaeSwarm/v17/.suo and b/Source/ArachnaeSwarm/.vs/ArachnaeSwarm/v17/.suo differ
diff --git a/Source/ArachnaeSwarm/.vs/ArachnaeSwarm/v17/DocumentLayout.json b/Source/ArachnaeSwarm/.vs/ArachnaeSwarm/v17/DocumentLayout.json
index 8c32087..4f7488c 100644
--- a/Source/ArachnaeSwarm/.vs/ArachnaeSwarm/v17/DocumentLayout.json
+++ b/Source/ArachnaeSwarm/.vs/ArachnaeSwarm/v17/DocumentLayout.json
@@ -7,11 +7,11 @@
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:hediffs\\hediffcomp_reflectmeleedamage.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
- "AbsoluteMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|d:\\steamlibrary\\steamapps\\common\\rimworld\\mods\\arachnaeswarm\\source\\arachnaeswarm\\ara_defof.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "AbsoluteMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\ara_defof.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:ara_defof.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
- "AbsoluteMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|d:\\steamlibrary\\steamapps\\common\\rimworld\\mods\\arachnaeswarm\\source\\arachnaeswarm\\jobs\\jobdriver_supercarry\\jobdriver_supercarry.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "AbsoluteMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\jobs\\jobdriver_supercarry\\jobdriver_supercarry.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:jobs\\jobdriver_supercarry\\jobdriver_supercarry.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
@@ -122,8 +122,7 @@
"RelativeToolTip": "ARA_DefOf.cs",
"ViewState": "AgIAAFQAAAAAAAAAAAAUwGcAAAAmAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2026-03-24T08:34:43.383Z",
- "EditorCaption": ""
+ "WhenOpened": "2026-03-24T08:34:43.383Z"
},
{
"$type": "Document",
@@ -133,7 +132,7 @@
"RelativeDocumentMoniker": "Hediffs\\HediffComp_ReflectMeleeDamage.cs",
"ToolTip": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Hediffs\\HediffComp_ReflectMeleeDamage.cs",
"RelativeToolTip": "Hediffs\\HediffComp_ReflectMeleeDamage.cs",
- "ViewState": "AgIAAAAAAAAAAAAAAAAAAAwAAAA4AAAAAAAAAA==",
+ "ViewState": "AgIAAAAAAAAAAAAAAAAAABIAAAAoAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-03-24T08:33:52.75Z",
"EditorCaption": ""
@@ -148,8 +147,7 @@
"RelativeToolTip": "Jobs\\JobDriver_SuperCarry\\JobDriver_SuperCarry.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAA8AAAA3AAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2026-03-06T03:21:58.524Z",
- "EditorCaption": ""
+ "WhenOpened": "2026-03-06T03:21:58.524Z"
},
{
"$type": "Document",
diff --git a/Source/ArachnaeSwarm/Hediffs/HediffComp_ReflectMeleeDamage.cs b/Source/ArachnaeSwarm/Hediffs/HediffComp_ReflectMeleeDamage.cs
index 3e444e6..0c46d14 100644
--- a/Source/ArachnaeSwarm/Hediffs/HediffComp_ReflectMeleeDamage.cs
+++ b/Source/ArachnaeSwarm/Hediffs/HediffComp_ReflectMeleeDamage.cs
@@ -13,11 +13,11 @@ namespace ArachnaeSwarmVerse
public class HediffCompProperties_ReflectMeleeDamage : HediffCompProperties
{
public float reflectMultiplier = 3.0f; // 反射倍数,默认300%
- public bool showReflectionEffect = true; // 是否显示反射效果
public bool reflectOnlyMelee = true; // 是否只反射近战伤害
public bool includeToolBasedRanged = false; // 是否包含使用工具的远程伤害
public float minDamageToReflect = 0.1f; // 最小反射伤害阈值
-
+ public string fixedDamageDefName = null; // 固定伤害类型的def名称,如果不为null,则反射伤害将使用此def
+
public HediffCompProperties_ReflectMeleeDamage()
{
this.compClass = typeof(HediffComp_ReflectMeleeDamage);
@@ -127,7 +127,8 @@ namespace ArachnaeSwarmVerse
{
isProcessingReflection = true;
lastReflectionTick = Find.TickManager.TicksGame;
-
+ DamageDef damageDef = originalDinfo.Def;
+
// 计算反射伤害
float reflectedAmount = originalDinfo.Amount * ReflectMultiplier;
@@ -143,10 +144,23 @@ namespace ArachnaeSwarmVerse
{
return;
}
-
+
+ if (Props.fixedDamageDefName != null)
+ {
+ DamageDef fixedDef = DefDatabase.GetNamedSilentFail(Props.fixedDamageDefName);
+ if (fixedDef != null)
+ {
+ damageDef = fixedDef;
+ }
+ else
+ {
+ Log.Warning($"[ReflectMeleeDamage] Could not find DamageDef with name '{Props.fixedDamageDefName}' for reflection. Using original damage def.");
+ }
+ }
+
// 创建反射伤害信息
DamageInfo reflectedDinfo = new DamageInfo(
- def: originalDinfo.Def,
+ def: damageDef,
amount: reflectedAmount,
armorPenetration: originalDinfo.ArmorPenetrationInt,
angle: Rand.Range(0, 359),
@@ -177,12 +191,6 @@ namespace ArachnaeSwarmVerse
// 对攻击者造成伤害
attacker.TakeDamage(reflectedDinfo);
- // 显示反射效果
- if (Props.showReflectionEffect)
- {
- ShowReflectionEffect(pawn, attacker);
- }
-
// 发送消息
if (pawn.Faction == Faction.OfPlayer && attacker.Faction != Faction.OfPlayer)
{
@@ -207,43 +215,6 @@ namespace ArachnaeSwarmVerse
}
}
- ///
- /// 显示反射效果
- ///
- private void ShowReflectionEffect(Pawn pawn, Thing attacker)
- {
- try
- {
- // 显示反弹粒子
- if (pawn.Spawned && attacker.Spawned && pawn.Map == attacker.Map)
- {
- Vector3 startPos = pawn.DrawPos;
- Vector3 endPos = attacker.DrawPos;
-
- // 创建一个从反射者到攻击者的弹道效果
- for (int i = 0; i < 3; i++)
- {
- MoteThrown mote = (MoteThrown)ThingMaker.MakeThing(ARA_ThingDefOf.Mote_SparkSimple, null);
- mote.Scale = Rand.Range(0.5f, 0.8f);
- mote.exactPosition = startPos + new Vector3(
- Rand.Range(-0.3f, 0.3f),
- 0f,
- Rand.Range(-0.3f, 0.3f)
- );
- mote.SetVelocity(
- (endPos - startPos).normalized.x * Rand.Range(15f, 25f),
- 0f
- );
- GenSpawn.Spawn(mote, pawn.Position, pawn.Map);
- }
- }
- }
- catch (Exception ex)
- {
- Log.Error($"[ReflectMeleeDamage] Error showing reflection effect: {ex}");
- }
- }
-
///
/// 在Pawn受到伤害后调用
///
diff --git a/非公开资源/Content/Textures/Things/ARA_HiveNode/Bodies_new/Naked_Thin_east.sai2 b/非公开资源/Content/Textures/Things/ARA_HiveNode/Bodies_new/Naked_Thin_east.sai2
index ec544e0..9009a6d 100644
Binary files a/非公开资源/Content/Textures/Things/ARA_HiveNode/Bodies_new/Naked_Thin_east.sai2 and b/非公开资源/Content/Textures/Things/ARA_HiveNode/Bodies_new/Naked_Thin_east.sai2 differ