diff --git a/1.6/1.6/Assemblies/ArachnaeSwarm.dll b/1.6/1.6/Assemblies/ArachnaeSwarm.dll
index 084ef5c..f70778e 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_GuardianPsyField_Abilities.xml b/1.6/1.6/Defs/AbilityDefs/ARA_GuardianPsyField_Abilities.xml
index d3fc45c..c1c3e22 100644
--- a/1.6/1.6/Defs/AbilityDefs/ARA_GuardianPsyField_Abilities.xml
+++ b/1.6/1.6/Defs/AbilityDefs/ARA_GuardianPsyField_Abilities.xml
@@ -1,11 +1,10 @@
-
ARA_GuardianPsyField_On
-
- 投射一个强大的灵能防御力场。
- ArachnaeSwarm/UI/Abilities/ARA_RaceBaseSwarmProduceOn
+
+ 织域种投射一个强大的灵能防御力场,会自动拦截进入其作用范围的敌对飞行物。它的护盾总额和心灵敏感度相关,很难被击穿,但是每次拦截会积累心灵熵。
+ ArachnaeSwarm/UI/Abilities/ARA_GuardianPsyField_On
601
false
true
@@ -31,9 +30,9 @@
ARA_GuardianPsyField_Off
-
- 关闭灵能防御力场。
- ArachnaeSwarm/UI/Abilities/ARA_RaceBaseSwarmProduceOff
+
+ 关闭织域种的灵能防御力场。
+ ArachnaeSwarm/UI/Abilities/ARA_GuardianPsyField_Off
601
false
true
@@ -56,5 +55,4 @@
-
\ No newline at end of file
diff --git a/1.6/1.6/Defs/AbilityDefs/Ability_Morph.xml b/1.6/1.6/Defs/AbilityDefs/Ability_Morph.xml
index 87cfc32..a6138f9 100644
--- a/1.6/1.6/Defs/AbilityDefs/Ability_Morph.xml
+++ b/1.6/1.6/Defs/AbilityDefs/Ability_Morph.xml
@@ -4,10 +4,10 @@
ARA_Ability_Morph
- 将自己转换为一个坚固的静态建筑形态,或从建筑形态恢复。
- UI/Commands/EggSpew
+ 生成织座,将自己转换为一个静态建筑。这个形态下,阿拉克涅织域种可以研究虫群更高级的科技。
+ ArachnaeSwarm/UI/Abilities/ARA_Ability_Morph
6000
- Misc12
+ Misc12
false
false
diff --git a/1.6/1.6/Defs/EvolutionDefs/ARA_Evolution.xml b/1.6/1.6/Defs/EvolutionDefs/ARA_Evolution.xml
index 450b3ac..eadff29 100644
--- a/1.6/1.6/Defs/EvolutionDefs/ARA_Evolution.xml
+++ b/1.6/1.6/Defs/EvolutionDefs/ARA_Evolution.xml
@@ -859,7 +859,7 @@
ARA_Activated_Bacterium
- 3
+ 5
-
+
- Female
+ Female
-
+
ARA_QUEEN_Female_AverageNormalA
ArachnaeSwarm/Things/General/Invisible/Inv
-
-
\ No newline at end of file
diff --git a/1.6/1.6/Defs/HediffDefs/ARA_GuardianPsyField_Hediff.xml b/1.6/1.6/Defs/HediffDefs/ARA_GuardianPsyField_Hediff.xml
deleted file mode 100644
index f8d95bd..0000000
--- a/1.6/1.6/Defs/HediffDefs/ARA_GuardianPsyField_Hediff.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-
-
-
-
- ARA_GuardianPsyField
-
- 一个强大的灵能防御力场。它会自动拦截进入其作用范围的敌对飞行物,并能将附近友军受到的伤害转移到施法者身上。每次成功的守护都会消耗施法者的精神力。
- ArachnaeSwarm.Hediff_DynamicInterceptor
- false
- (0.6, 0.2, 0.9)
- false
-
-
-
-
- 5.9
- 1500
- 3200
- 60
-
-
- 0.001
- 0.1
- 0.01
-
-
- true
- false
- true
-
-
- (0.5, 0.3, 0.9, 0.5)
- Interceptor_BlockedProjectile
- Interceptor_BlockedProjectile
- Shield_Break
- BulletShieldGenerator_Reactivate
-
-
-
-
-
-
\ No newline at end of file
diff --git a/1.6/1.6/Defs/HediffDefs/ARA_Hediffs_HiveMind.xml b/1.6/1.6/Defs/HediffDefs/ARA_Hediffs_HiveMind.xml
index 81c6ade..975b30d 100644
--- a/1.6/1.6/Defs/HediffDefs/ARA_Hediffs_HiveMind.xml
+++ b/1.6/1.6/Defs/HediffDefs/ARA_Hediffs_HiveMind.xml
@@ -252,76 +252,4 @@
(0.6, 0.6, 0.6)
false
-
-
- ARA_Psi_Master
-
- 阿拉克涅织域种是虫巢中的灵能大师,她们对使用灵能能力得心应手,不仅自身可以依靠灵能进行飞行,还能为附近的己方单位提供保护,并将其作为灵能导线对敌人发射能量攻击。
- Hediff_High
- (0.6, 0.8, 0.9)
- 1.0
- 0.01
- 0.5
-
-
- 18
- ARA_Psi_Conductor
-
-
-
-
-
-
-
- false
- true
- false
- true
- true
-
- true
- true
-
-
-
-
-
-
- ARA_Psi_Conductor
-
- 一只阿拉克涅织域种将这个殖民者作为其强大灵能力量的导体,织域种可以通过控制这个殖民者的灵能对敌方发起自动攻击,并使得这个殖民者更加难以击倒——代价则是殖民者自身会短暂地出现灵能失聪的情况。
-
- ARA_Psi_Conductor_Turret
-
- HediffWithComps
- false
- (0.6, 0.6, 0.6)
- false
-
-
-
- 0.75
- 0
-
-
-
-
-
- false
-
-
-
- false
- 18
-
-
-
- ARA_Psi_Conductor_Turret
- 0
- true
-
-
-
\ No newline at end of file
diff --git a/1.6/1.6/Defs/HediffDefs/ARA_Hediffs_Psy.xml b/1.6/1.6/Defs/HediffDefs/ARA_Hediffs_Psy.xml
new file mode 100644
index 0000000..0765b60
--- /dev/null
+++ b/1.6/1.6/Defs/HediffDefs/ARA_Hediffs_Psy.xml
@@ -0,0 +1,115 @@
+
+
+
+ ARA_GuardianPsyField
+
+ 一个强大的灵能防御力场,会自动拦截进入其作用范围的敌对飞行物。它的护盾总额和心灵敏感度相关,很难被击穿,但是每次拦截会积累心灵熵。
+ ArachnaeSwarm.Hediff_DynamicInterceptor
+ false
+ (0.6, 0.2, 0.9)
+ false
+
+
+
+
+ 5.9
+ 200
+ 1
+ 1
+
+
+ 0
+ 0.005
+ 0.01
+
+
+ true
+ false
+ true
+
+ 0
+ 10
+
+
+ (0.5, 0.3, 0.9, 0.5)
+ Interceptor_BlockedProjectile
+ Interceptor_BlockedProjectile
+
+ BulletShieldGenerator_Reactivate
+
+
+
+
+
+
+ ARA_Psi_Master
+
+ 阿拉克涅织域种是虫巢中的灵能大师,她们对使用灵能能力得心应手,不仅自身可以依靠灵能进行飞行,还能为附近的己方单位提供保护,并将其作为灵能导线对敌人发射能量攻击。
+ Hediff_High
+ (0.6, 0.8, 0.9)
+ 1.0
+ 0.01
+ 0.5
+
+
+ 18
+ ARA_Psi_Conductor
+
+
+
+
+
+
+
+ false
+ true
+ false
+ true
+ true
+
+ true
+ true
+
+
+
+
+
+
+ ARA_Psi_Conductor
+
+ 一只阿拉克涅织域种将这个殖民者作为其强大灵能力量的导体,织域种可以通过控制这个殖民者的灵能对敌方发起自动攻击,并使得这个殖民者更加难以击倒——代价则是殖民者自身会短暂地出现灵能失聪的情况。
+
+ ARA_Psi_Conductor_Turret
+
+ HediffWithComps
+ false
+ (0.6, 0.6, 0.6)
+ false
+
+
+
+ 0.75
+ 0
+
+
+
+
+
+ false
+
+
+
+ false
+ 18
+
+
+
+ ARA_Psi_Conductor_Turret
+ 0
+ true
+
+
+
+
\ No newline at end of file
diff --git a/1.6/1.6/Defs/HediffDefs/ARA_HediffDef_Terrain.xml b/1.6/1.6/Defs/HediffDefs/ARA_Hediffs_Terrain.xml
similarity index 100%
rename from 1.6/1.6/Defs/HediffDefs/ARA_HediffDef_Terrain.xml
rename to 1.6/1.6/Defs/HediffDefs/ARA_Hediffs_Terrain.xml
diff --git a/1.6/1.6/Defs/ResearchProjectDefs/ARA_ResearchProjects.xml b/1.6/1.6/Defs/ResearchProjectDefs/ARA_ResearchProjects.xml
index 724def4..00ab809 100644
--- a/1.6/1.6/Defs/ResearchProjectDefs/ARA_ResearchProjects.xml
+++ b/1.6/1.6/Defs/ResearchProjectDefs/ARA_ResearchProjects.xml
@@ -35,7 +35,7 @@
2500
9.00
3.20
- ARA_ResearchBench
+ ARA_MorphableResearchBench
ARA_Technology_6KYC
ARA_Technology_1BAC
@@ -88,7 +88,7 @@
2000
10.00
1.50
- ARA_ResearchBench
+ ARA_MorphableResearchBench
ARA_Technology_8VXI
@@ -103,7 +103,7 @@
3000
11.00
1.50
- ARA_ResearchBench
+ ARA_MorphableResearchBench
ARA_Technology_9VXI
@@ -115,7 +115,7 @@
3000
12.00
0.90
- ARA_ResearchBench
+ ARA_MorphableResearchBench
ARA_Technology_10VXI
ARA_Technology_1NPT
@@ -226,7 +226,7 @@
1000
10.00
4.80
- ARA_ResearchBench
+ ARA_MorphableResearchBench
ARA_Technology_2WMT
@@ -238,7 +238,7 @@
1800
11.00
4.80
- ARA_ResearchBench
+ ARA_MorphableResearchBench
ARA_Technology_2WMT
@@ -278,7 +278,7 @@
1800
10.00
0.30
- ARA_ResearchBench
+ ARA_MorphableResearchBench
ARA_Technology_6PAV
@@ -288,12 +288,12 @@
ARA_Technology_7XPAV
-
+
允许工艺种孵化新的武器。
- 1800
+ 2000
11.00
0.30
- ARA_ResearchBench
+ ARA_MorphableResearchBench
ARA_Technology_7PAV
@@ -305,7 +305,7 @@
2500
12.00
0.30
- ARA_ResearchBench
+ ARA_MorphableResearchBench
ARA_Technology_1NPT
ARA_Technology_7XPAV
@@ -331,7 +331,7 @@
1200
10.00
0.90
- ARA_ResearchBench
+ ARA_MorphableResearchBench
ARA_Technology_2MEL
@@ -347,7 +347,7 @@
1800
11.00
0.90
- ARA_ResearchBench
+ ARA_MorphableResearchBench
ARA_Technology_2WMT
@@ -383,7 +383,7 @@
2500
10.00
2.10
- ARA_ResearchBench
+ ARA_MorphableResearchBench
ARA_Technology_6SPV
@@ -398,7 +398,7 @@
1000
10.00
3.80
- ARA_ResearchBench
+ ARA_MorphableResearchBench
ARA_Technology_8VXI
@@ -413,7 +413,7 @@
2000
12.00
3.80
- ARA_ResearchBench
+ ARA_MorphableResearchBench
ARA_Technology_1NPT
@@ -425,7 +425,7 @@
2000
13.00
3.80
- ARA_ResearchBench
+ ARA_MorphableResearchBench
ARA_Technology_2NPT
@@ -437,7 +437,7 @@
1800
12.00
2.10
- ARA_ResearchBench
+ ARA_MorphableResearchBench
ARA_Technology_1NPT
@@ -487,7 +487,7 @@
2500
12.00
1.50
- ARA_ResearchBench
+ ARA_MorphableResearchBench
ARA_Technology_6SPV
@@ -573,7 +573,7 @@
2500
10.00
5.30
- ARA_ResearchBench
+ ARA_MorphableResearchBench
ARA_Technology_2KYC
@@ -673,7 +673,7 @@
2500
10.00
4.30
- ARA_ResearchBench
+ ARA_MorphableResearchBench
ARA_Technology_5EVO
@@ -688,7 +688,7 @@
4000
11.00
4.30
- ARA_ResearchBench
+ ARA_MorphableResearchBench
ARA_Technology_2WMT
diff --git a/1.6/1.6/Defs/Stats/ARA_Stats.xml b/1.6/1.6/Defs/Stats/ARA_Stats.xml
index 4ac1829..0beb433 100644
--- a/1.6/1.6/Defs/Stats/ARA_Stats.xml
+++ b/1.6/1.6/Defs/Stats/ARA_Stats.xml
@@ -13,7 +13,7 @@
NutrientTransmissionEfficiency
- 减少无线传输生物质时的燃料消耗。最终消耗量将乘以 (1 - 效率)。
+ 减少传输生物质时的燃料消耗。最终消耗量将乘以 (1 - 效率)。
Building
0
0
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 4b0bd7f..0fd9a36 100644
--- a/1.6/1.6/Defs/ThingDef_Races/ARA_RaceNodeSwarm.xml
+++ b/1.6/1.6/Defs/ThingDef_Races/ARA_RaceNodeSwarm.xml
@@ -1294,7 +1294,7 @@
ArachnaeNode_Race_Smokepop
- 阿拉克涅大型督虫之一,身披厚重甲壳的大型虫族,拥有在大范围内喷射信息素以召唤辅虫虫群能力,虽然移动速度比较慢,但是在战斗中就如同装甲车一样难以撼动。\n\n她可以进行搬运和医护工作,拥有不错的战斗技能,防御力和伤害耐受能力强大。\n\n作为督虫,她可以繁育并监管大量阿拉克涅家政种辅虫,以协助巢穴进行清洁和搬运工作。
+ 阿拉克涅大型督虫之一,身披厚重甲壳的大型虫族,拥有在大范围内喷射信息素以召唤辅虫虫群能力,虽然移动速度比较慢,但是在战斗中就如同装甲车一样难以撼动。\n\n她可以进行搬运工作,拥有不错的战斗技能,防御力和伤害耐受能力强大。\n\n作为督虫,她可以繁育并监管大量阿拉克涅家政种辅虫,以协助巢穴进行清洁和搬运工作。
@@ -1544,204 +1544,89 @@
-
-
+
ArachnaeNode_Race_NeuroSwarm
阿拉克涅督虫之一,是阿拉克涅虫群中最为特殊的虫族,织域种虽然受到女皇种监管,但仍然具有强大的高级智慧和自我意志,织域种之间能够构建一种高度互联的神经网络从而进行复杂的研究和计算工作,织域种进行计算工作时无法感知外界环境,因此她们是虫群的重要保护对象。
-
-
-
- 0
-
- true
-
- 15
-
- false
-
- 0
-
- false
-
- false
-
-
-
- Female_AverageNormal
-
-
-
-
- Thin
-
-
-
-
-
- skin
-
- 0
- 0
-
-
-
-
- hair
-
-
-
- 15
- (0.4,0.3,0.5)
- (0.6,0.1,0.7)
-
-
- 6
- (0.9,0.9,0.9)
- (0.9,0.9,0.9)
-
-
- 6
- (1,0.8,0.8)
- (1,0.9,0.9)
-
-
- 3
- (1,1,1)
- (1,1,1)
-
-
-
-
-
+
-
+
+
+ ArachnaeNode Hair
+ true
+ ArachnaeSwarm/Hair/ARA_ArachnaeNode_Hair
+ true
+ false
+ hair
+ Center
+ 1
+ true
+ true
+
+
+ Head
+
+
+ true
+ true
+ true
+
+ Fresh,Rotting
+
+
+
+ -0.274
+
+
+ -0.274
+
+
+ -0.274
+
+
+ -0.274
+
+
+
+
+ ArachnaeSwarm/Things/ARA_HiveNode/Addons/ArachnaeNode_Race_Addons_NeuroSwarm
+ true
+ false
+
+
+ (0,0.32)
+ 2
+
+
+ (0,0.32)
+ 2
+
+
+ (-0.1,0.39)
+ 2
+
+
+ (-0.1,0.39)
+ 2
+
+
+
+
+ ArachnaeSwarm/Things/ARA_HiveNode/Addons/ArachnaeNode_Race_Addons_NeuroSwarm_Tail
+ false
+ true
+
+
+ -0.275
+
+
+
-
- 1.5
- 1.5
- (2,2)
- (1.0,1.0)
- (1,1)
-
- 0
-
-
-
-
- true
-
-
- (0,1)
-
-
-
-
- true
-
-
- (0,1)
-
-
-
-
- true
-
-
- (0,1)
-
-
-
-
- true
-
-
- (0,1)
-
-
-
-
- true
-
-
- (0,1)
-
-
-
-
- true
-
-
- (0, 1)
-
-
-
-
-
-
- Male
-
-
- (0,0)
- (1,0)
- (999,0)
- (9999,0)
-
-
-
-
-
- (0,0)
- (1,0)
- (999,0)
- (9999,0)
-
-
-
-
-
- (1,1,1,1)
-
- Cutout
- ArachnaeSwarm/Things/ARA_NeuroSwarm/Bodies/
- ArachnaeSwarm/Things/ARA_NeuroSwarm/Heads/
- Things/Pawn/Humanlike/Bodies/Dessicated/Dessicated_Thin
- ArachnaeSwarm/Things/ARA_HiveNode/Bodies/
-
-
-
-
-
- HairDef
-
- true
-
- Bald
-
-
-
-
-
- TattooDef
-
- false
-
-
-
-
- BeardDef
-
- false
-
-
-
-
@@ -1791,193 +1676,49 @@
ARA_PheromoneSolvent
true
-
-
- ArachnaeBase_Race_Scavenger
- ArachnaeBase_Race_HardJaw
-
- false
-
-
-
-
-
-
- true
-
- true
- false
-
-
-
-
- BodyPurist
- Cannibal
- CreepyBreathing
- DislikesWomen
- Gourmand
- QuickSleeper
- Wimp
- Beauty
- DrugDesire
- Immunity
- PsychicSensitivity
-
-
-
- 0
- 0
-
- 0
- 0
- 0
-
- 0
- 0
- 0
-
+
+ 1.5
+
9999
0
-
- 2000
- 5
-
-
- 1.5
- 150
-
- 2
- 0.5
+
-
- 0
- 450
- 600
-
- 1
- 3
- 0.95
- 0.95
- 0.25
+ 100
+ 160
+ 30
0.75
+
+
+
+
+
- 0.2
- 0.2
- 0.1
+ 0.4
+ 0.3
+ 0.3
-
- 5
-
-
- 0
+
ArachnaeNeuroSwarm_Body
- Normal
-
- ARA_Humanlike
-
- Humanlike
-
- HumanStandard
- Filth_BloodInsect
- Filth_BloodSmear
-
- 6
-
- 4
-
- ARA_Carapace
-
- Pawn_Melee_BigBash_HitPawn
- Pawn_Melee_BigBash_HitBuilding
- Pawn_Melee_BigBash_Miss
- Pawn_MeleeDodge
-
- 300
-
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
-
-
-
- HumanlikeBaby
- 0
-
-
- HumanlikeChild
- 0.25
-
-
- HumanlikePreTeenager
- 0.5
-
-
- HumanlikeTeenager
- 0.75
-
-
- HumanlikeAdult
- 1
- Pawn_BigInsect_Pain
- Pawn_BigInsect_Death
- Pawn_BigInsect_Call
- Pawn_BigInsect_Angry
-
-
- false
+ ARA_ArachnaeRenderTree
+ 1.0
+ 0.8
+ 3
-
-
-
-
-
- Poke
-
- 16
- 2
- HeadAttackTool
- true
- 0.01
-
-
-
-
-
-
@@ -1992,8 +1733,6 @@
ARA_RaceBaseSwarmProduceSwitchHediff
- ARA_HiveMindDrone
- ARA_HiveStrength
ARA_Psi_Master
PsychicAmplifier
diff --git a/1.6/1.6/Defs/Thing_Misc/Weapons/ARA_Weapon.xml b/1.6/1.6/Defs/Thing_Misc/Weapons/ARA_Weapon.xml
index 2c15269..50663b5 100644
--- a/1.6/1.6/Defs/Thing_Misc/Weapons/ARA_Weapon.xml
+++ b/1.6/1.6/Defs/Thing_Misc/Weapons/ARA_Weapon.xml
@@ -299,7 +299,7 @@
false
0.25
Bullet_ARA_RW_Basic_Fist_Needle_Gun
- 14
+ 18
4
4
SpitterSpit
@@ -420,9 +420,9 @@
false
0.8
Bullet_ARA_RW_Basic_Fist_Needle_Gun
- 28
- 32
- 2
+ 25.9
+ 48
+ 1
SpitterSpit
true
@@ -494,7 +494,7 @@
0.4
0.35
0.3
- 2.5
+ 1.5
150
6
@@ -503,11 +503,11 @@
ArachnaeSwarm.Verb_ShootShotgunWithOffset
true
false
- 0.8
+ 1.2
Bullet_ARA_RW_Basic_Fist_Needle_Gun_SG
- 28
- 3
- 12
+ 15
+ 6
+ 3
SpitterSpit
true
@@ -1604,7 +1604,7 @@
ARA_Psi_Conductor_Turret
- 阿拉克涅织域种正在通过这个殖民者对敌方发起攻击——这种攻击的发动无关殖民者的状态,无论它目前在干什么,攻击都会照常进行。
+ 阿拉克涅织域种正在通过这个殖民者对敌方发起攻击——这种攻击的发动无关殖民者的状态,只要不处于近战状态,攻击都会照常进行。
ArachnaeSwarm/Weapon/ARA_Weapon_Empty
Graphic_Single
diff --git a/1.6/1.6/Defs/Thing_building/ARA_Building.xml b/1.6/1.6/Defs/Thing_building/ARA_Building.xml
index 22a9a95..d0114d4 100644
--- a/1.6/1.6/Defs/Thing_building/ARA_Building.xml
+++ b/1.6/1.6/Defs/Thing_building/ARA_Building.xml
@@ -240,12 +240,12 @@
ArachnaeSwarm/Building/Door/ARA_InsectDoor_Top
Graphic_Multi
- (1.7, 1.2)
+ (1.4, 1.2)
ArachnaeSwarm/Building/Door/ARA_InsectDoor_Support
Graphic_Multi
- (1.7, 1.2)
+ (1.4, 1.2)
2505
@@ -381,6 +381,64 @@
5.8
+
+ ARA_NodeNest
+ Building_Bed
+
+ 供阿拉克涅督虫栖息的巢穴,由几丁质甲壳、肌肉和结缔组织形成的“被窝”对督虫来说是非常好的补充精力的场地。
+ Normal
+
+ ArachnaeSwarm/Building/ARA_NodeNest
+ Graphic_Multi
+ CutoutComplex
+ (2,2)
+
+ (0.8, 0.4, 1.7)
+ (0,0,-0.1)
+
+
+
+ False
+
+ 0.75
+ 140
+ 1
+ 800
+ 30
+ 1.0
+ 1.2
+ 0.80
+ 1.1
+ 0.10
+ 1.1
+
+ ARA_Creep
+ (1,2)
+
+ 3
+ 25
+
+ 2010
+ 0.5
+ ARA_Buildings
+
+ ARA_Base_Technology
+
+
+
+ false
+ true
+ 10
+ false
+
+
+
+ ARA_InsectCreep
+ 3
+
+
+
+
ARA_ResearchBench
@@ -441,78 +499,20 @@
-
- ARA_NodeNest
- Building_Bed
-
- 供阿拉克涅督虫栖息的巢穴,由几丁质甲壳、肌肉和结缔组织形成的“被窝”对督虫来说是非常好的补充精力的场地。
- Normal
-
- ArachnaeSwarm/Building/ARA_NodeNest
- Graphic_Multi
- CutoutComplex
- (2,2)
-
- (0.8, 0.4, 1.7)
- (0,0,-0.1)
-
-
-
- False
-
- 0.75
- 140
- 1
- 800
- 30
- 1.0
- 1.2
- 0.80
- 1.1
- 0.10
- 1.1
-
- ARA_Creep
- (1,2)
-
- 3
- 25
-
- 2010
- 0.5
- ARA_Buildings
-
- ARA_Base_Technology
-
-
-
- false
- true
- 10
- false
-
-
-
- ARA_InsectCreep
- 3
-
-
-
-
ARA_MorphableResearchBench
- true
- (0,0,-1)
-
- 一个供阿拉克涅虫族进行研究的活体结构,可以让虫群尽情地探索变异和进化方向。其研究能力完全取决于内部的阿拉克涅织域种。
+
+
+ 以阿拉克涅织域种为核心形成的活体结构,是推进虫群高级研究的必须建筑。该建筑无法建造,只能通过阿拉克涅织域种变形得到。
ArachnaeSwarm.Building_Morphable
Normal
- (3,3)
+ (2,2)
- ArachnaeSwarm/Building/ARA_ResearchBench
- Graphic_Multi
+ ArachnaeSwarm/Building/ARA_MorphableResearchBench
+ Graphic_Single
CutoutComplex
- (3,4.5)
+ (2.5,2.5)
Building
Impassable
@@ -535,6 +535,10 @@
+
+ ARA_InsectCreep
+ 3
+
ResearchSpeedFactor
@@ -546,9 +550,9 @@
离开织座
- 使织域种离开织座。
+ 使织域种离开织座,恢复移动状态。
- UI/Commands/EggSpew
+ ArachnaeSwarm/UI/Abilities/ARA_Ability_Morph
@@ -692,7 +696,6 @@
ARA_Creep
-
120000
@@ -706,7 +709,6 @@
true
-
Biomass
生物质
@@ -724,7 +726,6 @@
30
true
-
ARA_InsectCreep
6
diff --git a/1.6/1.6/Defs/Thing_building/ARA_NutrientNetworkBuilding.xml b/1.6/1.6/Defs/Thing_building/ARA_NutrientNetworkBuilding.xml
index dfce06f..242a19c 100644
--- a/1.6/1.6/Defs/Thing_building/ARA_NutrientNetworkBuilding.xml
+++ b/1.6/1.6/Defs/Thing_building/ARA_NutrientNetworkBuilding.xml
@@ -68,6 +68,7 @@
虫蜜
true
true
+ true
diff --git a/1.6/1.6/Defs/Thing_building/ARA_SwarmTurret.xml b/1.6/1.6/Defs/Thing_building/ARA_SwarmTurret.xml
index f5683dd..a365cb3 100644
--- a/1.6/1.6/Defs/Thing_building/ARA_SwarmTurret.xml
+++ b/1.6/1.6/Defs/Thing_building/ARA_SwarmTurret.xml
@@ -321,7 +321,7 @@
ARA_DummyAmmo
- 1000
+ 100
1
1
true
@@ -332,8 +332,8 @@
300
1
- 600
- 10
+ 300
+ 50
@@ -474,7 +474,7 @@
ARA_DummyAmmo
- 30
+ 20
1
1
true
diff --git a/1.6/1.6/Languages/ChineseSimplified (简体中文)/Keyed/ArachnaeSwarm_Keys.xml b/1.6/1.6/Languages/ChineseSimplified (简体中文)/Keyed/ArachnaeSwarm_Keys.xml
index 2330f89..5dec41c 100644
--- a/1.6/1.6/Languages/ChineseSimplified (简体中文)/Keyed/ArachnaeSwarm_Keys.xml
+++ b/1.6/1.6/Languages/ChineseSimplified (简体中文)/Keyed/ArachnaeSwarm_Keys.xml
@@ -43,6 +43,8 @@
过低
过高
安全
+
+ 活体结构因极端温度受损
将破坏:{0}
diff --git a/Content/Textures/ArachnaeSwarm/Building/ARA_MorphableResearchBench.png b/Content/Textures/ArachnaeSwarm/Building/ARA_MorphableResearchBench.png
new file mode 100644
index 0000000..e2080dc
Binary files /dev/null and b/Content/Textures/ArachnaeSwarm/Building/ARA_MorphableResearchBench.png differ
diff --git a/Content/Textures/ArachnaeSwarm/Building/Door/ARA_InsectDoor_Support_east.png b/Content/Textures/ArachnaeSwarm/Building/Door/ARA_InsectDoor_Support_east.png
index 06ca3a0..ac6ab13 100644
Binary files a/Content/Textures/ArachnaeSwarm/Building/Door/ARA_InsectDoor_Support_east.png and b/Content/Textures/ArachnaeSwarm/Building/Door/ARA_InsectDoor_Support_east.png differ
diff --git a/Content/Textures/ArachnaeSwarm/Building/Door/ARA_InsectDoor_Top_east.png b/Content/Textures/ArachnaeSwarm/Building/Door/ARA_InsectDoor_Top_east.png
index 06ca3a0..ac6ab13 100644
Binary files a/Content/Textures/ArachnaeSwarm/Building/Door/ARA_InsectDoor_Top_east.png and b/Content/Textures/ArachnaeSwarm/Building/Door/ARA_InsectDoor_Top_east.png differ
diff --git a/Content/Textures/ArachnaeSwarm/Things/ARA_HiveNode/Addons/ArachnaeNode_Race_Addons_NeuroSwarm_Tail_east.png b/Content/Textures/ArachnaeSwarm/Things/ARA_HiveNode/Addons/ArachnaeNode_Race_Addons_NeuroSwarm_Tail_east.png
new file mode 100644
index 0000000..6f22d5a
Binary files /dev/null and b/Content/Textures/ArachnaeSwarm/Things/ARA_HiveNode/Addons/ArachnaeNode_Race_Addons_NeuroSwarm_Tail_east.png differ
diff --git a/Content/Textures/ArachnaeSwarm/Things/ARA_HiveNode/Addons/ArachnaeNode_Race_Addons_NeuroSwarm_Tail_north.png b/Content/Textures/ArachnaeSwarm/Things/ARA_HiveNode/Addons/ArachnaeNode_Race_Addons_NeuroSwarm_Tail_north.png
new file mode 100644
index 0000000..f8c7725
Binary files /dev/null and b/Content/Textures/ArachnaeSwarm/Things/ARA_HiveNode/Addons/ArachnaeNode_Race_Addons_NeuroSwarm_Tail_north.png differ
diff --git a/Content/Textures/ArachnaeSwarm/Things/ARA_HiveNode/Addons/ArachnaeNode_Race_Addons_NeuroSwarm_Tail_south.png b/Content/Textures/ArachnaeSwarm/Things/ARA_HiveNode/Addons/ArachnaeNode_Race_Addons_NeuroSwarm_Tail_south.png
new file mode 100644
index 0000000..32accee
Binary files /dev/null and b/Content/Textures/ArachnaeSwarm/Things/ARA_HiveNode/Addons/ArachnaeNode_Race_Addons_NeuroSwarm_Tail_south.png differ
diff --git a/Content/Textures/ArachnaeSwarm/Things/ARA_HiveNode/Addons/ArachnaeNode_Race_Addons_NeuroSwarm_east.png b/Content/Textures/ArachnaeSwarm/Things/ARA_HiveNode/Addons/ArachnaeNode_Race_Addons_NeuroSwarm_east.png
new file mode 100644
index 0000000..08abcba
Binary files /dev/null and b/Content/Textures/ArachnaeSwarm/Things/ARA_HiveNode/Addons/ArachnaeNode_Race_Addons_NeuroSwarm_east.png differ
diff --git a/Content/Textures/ArachnaeSwarm/Things/ARA_HiveNode/Addons/ArachnaeNode_Race_Addons_NeuroSwarm_north.png b/Content/Textures/ArachnaeSwarm/Things/ARA_HiveNode/Addons/ArachnaeNode_Race_Addons_NeuroSwarm_north.png
new file mode 100644
index 0000000..84f5683
Binary files /dev/null and b/Content/Textures/ArachnaeSwarm/Things/ARA_HiveNode/Addons/ArachnaeNode_Race_Addons_NeuroSwarm_north.png differ
diff --git a/Content/Textures/ArachnaeSwarm/Things/ARA_HiveNode/Addons/ArachnaeNode_Race_Addons_NeuroSwarm_south.png b/Content/Textures/ArachnaeSwarm/Things/ARA_HiveNode/Addons/ArachnaeNode_Race_Addons_NeuroSwarm_south.png
new file mode 100644
index 0000000..3eb7fcf
Binary files /dev/null and b/Content/Textures/ArachnaeSwarm/Things/ARA_HiveNode/Addons/ArachnaeNode_Race_Addons_NeuroSwarm_south.png differ
diff --git a/Content/Textures/ArachnaeSwarm/UI/Abilities/ARA_Ability_Morph.png b/Content/Textures/ArachnaeSwarm/UI/Abilities/ARA_Ability_Morph.png
new file mode 100644
index 0000000..c2b13a1
Binary files /dev/null and b/Content/Textures/ArachnaeSwarm/UI/Abilities/ARA_Ability_Morph.png differ
diff --git a/Content/Textures/ArachnaeSwarm/UI/Abilities/ARA_GuardianPsyField_Off.png b/Content/Textures/ArachnaeSwarm/UI/Abilities/ARA_GuardianPsyField_Off.png
new file mode 100644
index 0000000..182ad01
Binary files /dev/null and b/Content/Textures/ArachnaeSwarm/UI/Abilities/ARA_GuardianPsyField_Off.png differ
diff --git a/Content/Textures/ArachnaeSwarm/UI/Abilities/ARA_GuardianPsyField_On.png b/Content/Textures/ArachnaeSwarm/UI/Abilities/ARA_GuardianPsyField_On.png
new file mode 100644
index 0000000..d1d54e9
Binary files /dev/null and b/Content/Textures/ArachnaeSwarm/UI/Abilities/ARA_GuardianPsyField_On.png differ
diff --git a/Source/ArachnaeSwarm/.vs/ArachnaeSwarm/v17/.suo b/Source/ArachnaeSwarm/.vs/ArachnaeSwarm/v17/.suo
index bab75df..98e5737 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 4b134d4..8b315da 100644
--- a/Source/ArachnaeSwarm/.vs/ArachnaeSwarm/v17/DocumentLayout.json
+++ b/Source/ArachnaeSwarm/.vs/ArachnaeSwarm/v17/DocumentLayout.json
@@ -3,12 +3,20 @@
"WorkspaceRootPath": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\",
"Documents": [
{
- "AbsoluteMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|e:\\steamlibrary\\steamapps\\common\\rimworld\\mods\\arachnaeswarm\\source\\arachnaeswarm\\building_comps\\ara_compinteractiveproducer\\compinteractiveproducer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:building_comps\\ara_compinteractiveproducer\\compinteractiveproducer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ "AbsoluteMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|e:\\steamlibrary\\steamapps\\common\\rimworld\\mods\\arachnaeswarm\\source\\arachnaeswarm\\thingcomp_guardianpsyfield.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:thingcomp_guardianpsyfield.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
- "AbsoluteMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|e:\\steamlibrary\\steamapps\\common\\rimworld\\mods\\arachnaeswarm\\source\\arachnaeswarm\\building_comps\\wula_mutifuelspawner\\comprefuelablenutrition_withkey.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:building_comps\\wula_mutifuelspawner\\comprefuelablenutrition_withkey.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ "AbsoluteMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\building_comps\\ara_nutrientvat\\building_nutrientvat.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:building_comps\\ara_nutrientvat\\building_nutrientvat.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\building_comps\\ara_nutrientnetwork\\compnutrientprovider.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:building_comps\\ara_nutrientnetwork\\compnutrientprovider.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\building_comps\\ara_nutrientnetwork\\complinedrawer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:building_comps\\ara_nutrientnetwork\\complinedrawer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
}
],
"DocumentGroupContainers": [
@@ -27,28 +35,51 @@
{
"$type": "Document",
"DocumentIndex": 0,
- "Title": "CompInteractiveProducer.cs",
- "DocumentMoniker": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Building_Comps\\ARA_CompInteractiveProducer\\CompInteractiveProducer.cs",
- "RelativeDocumentMoniker": "Building_Comps\\ARA_CompInteractiveProducer\\CompInteractiveProducer.cs",
- "ToolTip": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Building_Comps\\ARA_CompInteractiveProducer\\CompInteractiveProducer.cs",
- "RelativeToolTip": "Building_Comps\\ARA_CompInteractiveProducer\\CompInteractiveProducer.cs",
- "ViewState": "AgIAAAAAAAAAAAAAAAAAAB4AAAA0AAAAAAAAAA==",
+ "Title": "ThingComp_GuardianPsyField.cs",
+ "DocumentMoniker": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\ThingComp_GuardianPsyField.cs",
+ "RelativeDocumentMoniker": "ThingComp_GuardianPsyField.cs",
+ "ToolTip": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\ThingComp_GuardianPsyField.cs",
+ "RelativeToolTip": "ThingComp_GuardianPsyField.cs",
+ "ViewState": "AgIAAAAAAAAAAAAAAAAAAAoAAAAgAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2025-10-02T10:43:34.234Z",
+ "WhenOpened": "2025-10-02T16:24:06.176Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 1,
- "Title": "CompRefuelableNutrition_WithKey.cs",
- "DocumentMoniker": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Building_Comps\\WULA_MutiFuelSpawner\\CompRefuelableNutrition_WithKey.cs",
- "RelativeDocumentMoniker": "Building_Comps\\WULA_MutiFuelSpawner\\CompRefuelableNutrition_WithKey.cs",
- "ToolTip": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Building_Comps\\WULA_MutiFuelSpawner\\CompRefuelableNutrition_WithKey.cs",
- "RelativeToolTip": "Building_Comps\\WULA_MutiFuelSpawner\\CompRefuelableNutrition_WithKey.cs",
- "ViewState": "AgIAAAAAAAAAAAAAAAAAAFsAAAAcAAAAAAAAAA==",
+ "Title": "Building_NutrientVat.cs",
+ "DocumentMoniker": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Building_Comps\\ARA_NutrientVat\\Building_NutrientVat.cs",
+ "RelativeDocumentMoniker": "Building_Comps\\ARA_NutrientVat\\Building_NutrientVat.cs",
+ "ToolTip": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Building_Comps\\ARA_NutrientVat\\Building_NutrientVat.cs",
+ "RelativeToolTip": "Building_Comps\\ARA_NutrientVat\\Building_NutrientVat.cs",
+ "ViewState": "AgIAAF8AAAAAAAAAAAAswJkBAAANAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2025-10-02T06:18:10.518Z",
- "EditorCaption": ""
+ "WhenOpened": "2025-10-02T15:30:05.897Z"
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 2,
+ "Title": "CompNutrientProvider.cs",
+ "DocumentMoniker": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Building_Comps\\ARA_NutrientNetwork\\CompNutrientProvider.cs",
+ "RelativeDocumentMoniker": "Building_Comps\\ARA_NutrientNetwork\\CompNutrientProvider.cs",
+ "ToolTip": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Building_Comps\\ARA_NutrientNetwork\\CompNutrientProvider.cs",
+ "RelativeToolTip": "Building_Comps\\ARA_NutrientNetwork\\CompNutrientProvider.cs",
+ "ViewState": "AgIAAAAAAAAAAAAAAAAAABkAAAAZAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-10-02T15:29:28.358Z"
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 3,
+ "Title": "CompLineDrawer.cs",
+ "DocumentMoniker": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Building_Comps\\ARA_NutrientNetwork\\CompLineDrawer.cs",
+ "RelativeDocumentMoniker": "Building_Comps\\ARA_NutrientNetwork\\CompLineDrawer.cs",
+ "ToolTip": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Building_Comps\\ARA_NutrientNetwork\\CompLineDrawer.cs",
+ "RelativeToolTip": "Building_Comps\\ARA_NutrientNetwork\\CompLineDrawer.cs",
+ "ViewState": "AgIAAAAAAAAAAAAAAAAAABkAAAAAAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-10-02T15:11:03.083Z"
}
]
}
diff --git a/Source/ArachnaeSwarm/Building_Comps/ARA_CompInteractiveProducer/CompTemperatureRuinableDamage.cs b/Source/ArachnaeSwarm/Building_Comps/ARA_CompInteractiveProducer/CompTemperatureRuinableDamage.cs
index a31341c..a4b6075 100644
--- a/Source/ArachnaeSwarm/Building_Comps/ARA_CompInteractiveProducer/CompTemperatureRuinableDamage.cs
+++ b/Source/ArachnaeSwarm/Building_Comps/ARA_CompInteractiveProducer/CompTemperatureRuinableDamage.cs
@@ -83,7 +83,7 @@ namespace ArachnaeSwarm
{
if (ruinedPercent > 0f)
{
- return "RuinedByTemperature".Translate() + ": " + ruinedPercent.ToStringPercent();
+ return "CocoonRuinedByTemperature".Translate() + ": " + ruinedPercent.ToStringPercent();
}
return base.CompInspectStringExtra();
}
diff --git a/Source/ArachnaeSwarm/Building_Comps/ARA_NutrientNetwork/CompProperties_NutrientProvider.cs b/Source/ArachnaeSwarm/Building_Comps/ARA_NutrientNetwork/CompProperties_NutrientProvider.cs
index b854003..7a47931 100644
--- a/Source/ArachnaeSwarm/Building_Comps/ARA_NutrientNetwork/CompProperties_NutrientProvider.cs
+++ b/Source/ArachnaeSwarm/Building_Comps/ARA_NutrientNetwork/CompProperties_NutrientProvider.cs
@@ -1,6 +1,5 @@
using RimWorld;
using Verse;
-
namespace ArachnaeSwarm
{
public class CompProperties_NutrientProvider : CompProperties_Facility
diff --git a/Source/ArachnaeSwarm/Hediffs/ARA_HediffComp_TopTurret/HediffComp_TopTurret.cs b/Source/ArachnaeSwarm/Hediffs/ARA_HediffComp_TopTurret/HediffComp_TopTurret.cs
index 5d6217e..81f4f10 100644
--- a/Source/ArachnaeSwarm/Hediffs/ARA_HediffComp_TopTurret/HediffComp_TopTurret.cs
+++ b/Source/ArachnaeSwarm/Hediffs/ARA_HediffComp_TopTurret/HediffComp_TopTurret.cs
@@ -24,6 +24,20 @@ namespace ArachnaeSwarm
[StaticConstructorOnStartup]
public class HediffComp_TopTurret : HediffComp, IAttackTargetSearcher
{
+ // 添加 null 检查的属性
+ private HediffCompProperties_TopTurret Props
+ {
+ get
+ {
+ if (this.props == null)
+ {
+ Log.Error("HediffComp_TopTurret: props is null");
+ return null;
+ }
+ return this.props as HediffCompProperties_TopTurret;
+ }
+ }
+
public Thing Thing
{
get
@@ -32,14 +46,6 @@ namespace ArachnaeSwarm
}
}
- private HediffCompProperties_TopTurret Props
- {
- get
- {
- return (HediffCompProperties_TopTurret)this.props;
- }
- }
-
public Verb CurrentEffectiveVerb
{
get
@@ -68,6 +74,11 @@ namespace ArachnaeSwarm
{
get
{
+ if (this.gun == null)
+ {
+ Log.Warning("HediffComp_TopTurret: gun is null");
+ return null;
+ }
return this.gun.TryGetComp();
}
}
@@ -76,7 +87,13 @@ namespace ArachnaeSwarm
{
get
{
- return this.GunCompEq.PrimaryVerb;
+ var comp = this.GunCompEq;
+ if (comp == null)
+ {
+ Log.Warning("HediffComp_TopTurret: GunCompEq is null");
+ return null;
+ }
+ return comp.PrimaryVerb;
}
}
@@ -130,7 +147,7 @@ namespace ArachnaeSwarm
{
get
{
- if (this.turretMat == null)
+ if (this.turretMat == null && this.Props?.turretDef?.graphicData != null)
{
this.turretMat = MaterialPool.MatFrom(this.Props.turretDef.graphicData.texPath);
}
@@ -142,25 +159,71 @@ namespace ArachnaeSwarm
{
get
{
- return this.Props.autoAttack;
+ return this.Props?.autoAttack ?? false;
}
}
public override void CompPostMake()
{
base.CompPostMake();
+
+ // 添加 null 检查
+ if (this.Props == null)
+ {
+ Log.Error("HediffComp_TopTurret: Props is null in CompPostMake");
+ return;
+ }
+
this.MakeGun();
}
private void MakeGun()
{
- this.gun = ThingMaker.MakeThing(this.Props.turretDef, null);
- this.UpdateGunVerbs();
+ // 添加详细的 null 检查
+ if (this.Props == null)
+ {
+ Log.Error("HediffComp_TopTurret: Props is null in MakeGun");
+ return;
+ }
+
+ if (this.Props.turretDef == null)
+ {
+ Log.Error("HediffComp_TopTurret: Props.turretDef is null");
+ return;
+ }
+
+ try
+ {
+ this.gun = ThingMaker.MakeThing(this.Props.turretDef, null);
+ if (this.gun == null)
+ {
+ Log.Error($"HediffComp_TopTurret: Failed to create gun from turretDef '{this.Props.turretDef.defName}'");
+ return;
+ }
+ this.UpdateGunVerbs();
+ }
+ catch (Exception ex)
+ {
+ Log.Error($"HediffComp_TopTurret: Exception in MakeGun: {ex}");
+ }
}
private void UpdateGunVerbs()
{
- List allVerbs = this.gun.TryGetComp().AllVerbs;
+ if (this.gun == null)
+ {
+ Log.Warning("HediffComp_TopTurret: gun is null in UpdateGunVerbs");
+ return;
+ }
+
+ var comp = this.gun.TryGetComp();
+ if (comp == null)
+ {
+ Log.Warning("HediffComp_TopTurret: CompEquippable is null");
+ return;
+ }
+
+ List allVerbs = comp.AllVerbs;
for (int i = 0; i < allVerbs.Count; i++)
{
Verb verb = allVerbs[i];
@@ -171,9 +234,17 @@ namespace ArachnaeSwarm
};
}
}
+
public override void CompPostTick(ref float severityAdjustment)
{
base.CompPostTick(ref severityAdjustment);
+
+ // 添加 null 检查
+ if (this.AttackVerb == null)
+ {
+ return;
+ }
+
if (!this.CanShoot)
{
return;
@@ -265,4 +336,4 @@ namespace ArachnaeSwarm
[Unsaved(false)]
public Material turretMat;
}
-}
\ No newline at end of file
+}
diff --git a/Source/ArachnaeSwarm/ThingComp_GuardianPsyField.cs b/Source/ArachnaeSwarm/ThingComp_GuardianPsyField.cs
index 932e349..5523521 100644
--- a/Source/ArachnaeSwarm/ThingComp_GuardianPsyField.cs
+++ b/Source/ArachnaeSwarm/ThingComp_GuardianPsyField.cs
@@ -8,7 +8,7 @@ namespace ArachnaeSwarm
public class CompProperties_GuardianPsyField : CompProperties
{
public float radius = 5.9f;
- public int hitPoints = 100;
+ public int baseHitPoints = 100; // 重命名为基础生命值
public int rechargeDelay = 3200; // Ticks after breaking
public int rechargeHitPointsIntervalTicks = 60; // Ticks to restore 1 HP
@@ -27,6 +27,10 @@ namespace ArachnaeSwarm
public Color color = Color.cyan;
+ // 新增:心灵敏感度倍率设置
+ public float minSensitivityMultiplier = 0f; // 最低倍率
+ public float maxSensitivityMultiplier = 10.0f; // 最高倍率
+
public CompProperties_GuardianPsyField()
{
compClass = typeof(ThingComp_GuardianPsyField);
@@ -44,7 +48,24 @@ namespace ArachnaeSwarm
public CompProperties_GuardianPsyField Props => (CompProperties_GuardianPsyField)props;
private Pawn PawnOwner => parent as Pawn;
public bool IsOnCooldown => ticksToReset > 0;
- public int HitPointsMax => Props.hitPoints;
+
+ // 修改:基于心灵敏感度计算最大生命值
+ public int HitPointsMax
+ {
+ get
+ {
+ if (PawnOwner == null) return Props.baseHitPoints;
+
+ // 获取心灵敏感度
+ float psychicSensitivity = PawnOwner.GetStatValue(StatDefOf.PsychicSensitivity);
+
+ // 计算倍率,限制在最小和最大倍率之间
+ float multiplier = Mathf.Clamp(psychicSensitivity, Props.minSensitivityMultiplier, Props.maxSensitivityMultiplier);
+
+ // 返回基于心灵敏感度的生命值
+ return Mathf.RoundToInt(Props.baseHitPoints * multiplier);
+ }
+ }
private static readonly Material ForceFieldMat = MaterialPool.MatFrom("Other/ForceField", ShaderDatabase.MoteGlow);
private static readonly MaterialPropertyBlock MatPropertyBlock = new MaterialPropertyBlock();
@@ -99,7 +120,9 @@ namespace ArachnaeSwarm
wasNotAtFullHp = true;
if(this.parent.IsHashIntervalTick(Props.rechargeHitPointsIntervalTicks))
{
- currentHitPoints += (int)(HitPointsMax * Props.hitPointsPctPerInterval);
+ // 修改:基于当前最大生命值计算恢复量
+ int healAmount = Mathf.Max(1, (int)(HitPointsMax * Props.hitPointsPctPerInterval));
+ currentHitPoints += healAmount;
if(currentHitPoints > HitPointsMax) currentHitPoints = HitPointsMax;
PawnOwner.psychicEntropy.OffsetPsyfocusDirectly(-Props.psyfocusCostPerInterval);
}
@@ -246,7 +269,16 @@ namespace ArachnaeSwarm
Text.Font = GameFont.Small;
Text.Anchor = TextAnchor.MiddleCenter;
- TaggedString statusText = shield.IsOnCooldown ? "Cooldown" : new TaggedString(shield.currentHitPoints + " / " + shield.HitPointsMax);
+ // 修改:显示当前/最大生命值,并显示心灵敏感度倍率
+ string statusText;
+ if (shield.IsOnCooldown)
+ {
+ statusText = "Cooldown";
+ }
+ else
+ {
+ statusText = $"{shield.currentHitPoints} / {shield.HitPointsMax}";
+ }
Widgets.Label(barRect, statusText);
Text.Anchor = TextAnchor.UpperLeft;
@@ -254,4 +286,4 @@ namespace ArachnaeSwarm
return new GizmoResult(GizmoState.Clear);
}
}
-}
\ No newline at end of file
+}
diff --git a/非公开资源/Content/Textures/Apperal/ARA_Witch_Cloth_Thin_south.sai2 b/非公开资源/Content/Textures/Apperal/ARA_Witch_Cloth_Thin_south.sai2
new file mode 100644
index 0000000..50ec46a
Binary files /dev/null and b/非公开资源/Content/Textures/Apperal/ARA_Witch_Cloth_Thin_south.sai2 differ
diff --git a/非公开资源/Content/Textures/Building/ARA_InsectDoor.sai2 b/非公开资源/Content/Textures/Building/ARA_InsectDoor.sai2
index 0a2474c..1fd50a9 100644
Binary files a/非公开资源/Content/Textures/Building/ARA_InsectDoor.sai2 and b/非公开资源/Content/Textures/Building/ARA_InsectDoor.sai2 differ
diff --git a/非公开资源/Content/Textures/Building/ARA_MorphableResearchBench.sai2 b/非公开资源/Content/Textures/Building/ARA_MorphableResearchBench.sai2
index 057ee6d..f418575 100644
Binary files a/非公开资源/Content/Textures/Building/ARA_MorphableResearchBench.sai2 and b/非公开资源/Content/Textures/Building/ARA_MorphableResearchBench.sai2 differ
diff --git a/非公开资源/Content/Textures/Things/ARA_HiveNode/Addons/ArachnaeNode_Race_Addons_Facehugger_east.sai2 b/非公开资源/Content/Textures/Things/ARA_HiveNode/Addons/ArachnaeNode_Race_Addons_Facehugger_east.sai2
index cff1265..14833a4 100644
Binary files a/非公开资源/Content/Textures/Things/ARA_HiveNode/Addons/ArachnaeNode_Race_Addons_Facehugger_east.sai2 and b/非公开资源/Content/Textures/Things/ARA_HiveNode/Addons/ArachnaeNode_Race_Addons_Facehugger_east.sai2 differ
diff --git a/非公开资源/Content/Textures/Things/ARA_HiveNode/Addons/ArachnaeNode_Race_Addons_NeuroSwarm_Tail_east.sai2 b/非公开资源/Content/Textures/Things/ARA_HiveNode/Addons/ArachnaeNode_Race_Addons_NeuroSwarm_Tail_east.sai2
new file mode 100644
index 0000000..a47f0da
Binary files /dev/null and b/非公开资源/Content/Textures/Things/ARA_HiveNode/Addons/ArachnaeNode_Race_Addons_NeuroSwarm_Tail_east.sai2 differ
diff --git a/非公开资源/Content/Textures/Things/ARA_HiveNode/Addons/ArachnaeNode_Race_Addons_NeuroSwarm_east.sai2 b/非公开资源/Content/Textures/Things/ARA_HiveNode/Addons/ArachnaeNode_Race_Addons_NeuroSwarm_east.sai2
new file mode 100644
index 0000000..d044a1e
Binary files /dev/null and b/非公开资源/Content/Textures/Things/ARA_HiveNode/Addons/ArachnaeNode_Race_Addons_NeuroSwarm_east.sai2 differ
diff --git a/非公开资源/Content/Textures/UI/Abilities/ARA_Ability_Morph.sai2 b/非公开资源/Content/Textures/UI/Abilities/ARA_Ability_Morph.sai2
new file mode 100644
index 0000000..fd11196
Binary files /dev/null and b/非公开资源/Content/Textures/UI/Abilities/ARA_Ability_Morph.sai2 differ
diff --git a/非公开资源/Content/Textures/UI/Abilities/ARA_GuardianPsyField_On.sai2 b/非公开资源/Content/Textures/UI/Abilities/ARA_GuardianPsyField_On.sai2
new file mode 100644
index 0000000..3483a0c
Binary files /dev/null and b/非公开资源/Content/Textures/UI/Abilities/ARA_GuardianPsyField_On.sai2 differ