diff --git a/1.6/1.6/Assemblies/ArachnaeSwarm.dll b/1.6/1.6/Assemblies/ArachnaeSwarm.dll
index 4a6e7ac..bbcf3fa 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/BackstoryDefs/ARA_BackstoryDef.xml b/1.6/1.6/Defs/BackstoryDefs/ARA_BackstoryDef.xml
index fac8b7b..e257cc5 100644
--- a/1.6/1.6/Defs/BackstoryDefs/ARA_BackstoryDef.xml
+++ b/1.6/1.6/Defs/BackstoryDefs/ARA_BackstoryDef.xml
@@ -15,9 +15,6 @@
2
2
-
- ARA_HiveMindMaster
-
ArachnaeQueen_spawnCategoriesA
@@ -56,10 +53,6 @@
ArachnaeNode_spawnCategoriesA
-
- ARA_HiveMindDrone
-
-
true
@@ -68,21 +61,21 @@
蜜罐种
[PAWN_nameDef]是一只阿拉克涅蜜罐种督虫。基因的选择性表达使其长出了肿胀的囊袋和复杂的口器,这使得她可以吞噬那些未经过处理的尸体和各种杂食或是将其进一步分解,并通过消化器官将其转变为阿拉克涅虫蜜以供其他虫族食用。\n\n[PAWN_nameDef]在战斗中并不是一个值得正视的对手,她没有可以接入武装器官的副肢,脆弱臃肿的特性也决定了她几乎无法躲开任何攻击。
Adulthood
-
- Cleaning
-
- Mining
- PlantWork
- Animals
- Hunting
- Crafting
- Cooking
- Constructing
- Caring
- Social
- Artistic
- Intellectual
-
+
+ Cleaning
+
+ Mining
+ PlantWork
+ Animals
+ Hunting
+ Crafting
+ Cooking
+ Constructing
+ Caring
+ Social
+ Artistic
+ Intellectual
+
ArachnaeNode_spawnCategories_Myrmecocystus
@@ -94,23 +87,23 @@
盾头种
[PAWN_nameDef]是一只阿拉克涅盾头种督虫。盾头种是一种笨重的阿拉克涅虫族,她们拥有厚厚的经常过度生长的甲壳,除了生产甲壳素外,也拥有接入武装器官的辅肢,可以凭借虫群的武装器官和自己与生俱来的盔甲承担保卫虫巢的任务。
Adulthood
-
- Cleaning
- Hauling
-
- PlantWork
- Animals
- Hunting
- Crafting
- Cooking
- Constructing
- Caring
- Social
- Artistic
- Intellectual
-
+
+ Cleaning
+ Hauling
+
+ PlantWork
+ Animals
+ Hunting
+ Crafting
+ Cooking
+ Constructing
+ Caring
+ Social
+ Artistic
+ Intellectual
+
- 5
+ 5
@@ -123,23 +116,23 @@
工艺种
[PAWN_nameDef]是一只阿拉克涅工艺种督虫。能够产出专门用来孵化阿拉克涅武装器官的孵化茧,以强化虫巢的战斗力。\n\n尽管[PAWN_nameDef]可以拿起武装器官,但是非常害怕任何伤害,尽量避免她直接暴露在攻击下。
Adulthood
-
- Cleaning
- Hauling
- Mining
- PlantWork
- Animals
- Hunting
-
- Cooking
-
- Caring
- Social
-
- Intellectual
-
+
+ Cleaning
+ Hauling
+ Mining
+ PlantWork
+ Animals
+ Hunting
+
+ Cooking
+
+ Caring
+ Social
+
+ Intellectual
+
- 5
+ 5
diff --git a/1.6/1.6/Defs/HediffDefs/ARA_Hediffs_Temperature.xml b/1.6/1.6/Defs/HediffDefs/ARA_Hediffs_Temperature.xml
new file mode 100644
index 0000000..f258d26
--- /dev/null
+++ b/1.6/1.6/Defs/HediffDefs/ARA_Hediffs_Temperature.xml
@@ -0,0 +1,48 @@
+
+
+
+
+ ARA_TemperatureRegulation
+
+ 根据环境温度调整生理状态。阿拉克涅虫族对环境温度比其他生物更加敏感,温度不适宜时将会影响意识。最低适应16°,最高适应26°环境温度。
+ HediffWithComps
+ (0.6, 0.8, 0.9)
+ 1.0
+ 0.5
+
+
+ 16
+ 26
+ 0.01
+ -0.01
+
+
+
+
+ 0
+
+
+
+ Consciousness
+ -0.2
+
+
+
+
+ 0.4
+
+
+
+ 0.8
+
+
+
+ Consciousness
+ 0.1
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/1.6/1.6/Defs/ThingDef_Races/ARA_RaceBaseSwarm.xml b/1.6/1.6/Defs/ThingDef_Races/ARA_RaceBaseSwarm.xml
index 4a23de0..18f517e 100644
--- a/1.6/1.6/Defs/ThingDef_Races/ARA_RaceBaseSwarm.xml
+++ b/1.6/1.6/Defs/ThingDef_Races/ARA_RaceBaseSwarm.xml
@@ -62,6 +62,13 @@
-->
+
+
+ ARA_TemperatureRegulation
+
+ 1.0
+ false
+
ARA_HiveMindWorker
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 4813529..c6a4c06 100644
--- a/1.6/1.6/Defs/ThingDef_Races/ARA_RaceNodeSwarm.xml
+++ b/1.6/1.6/Defs/ThingDef_Races/ARA_RaceNodeSwarm.xml
@@ -574,6 +574,13 @@
FacialAnimation.FacialAnimationControllerComp
+
+
+ ARA_HiveMindDrone
+
+ 1.0
+ false
+
diff --git a/Source/ArachnaeSwarm/HediffComp_Temperature.cs b/Source/ArachnaeSwarm/HediffComp_Temperature.cs
new file mode 100644
index 0000000..fddfdd3
--- /dev/null
+++ b/Source/ArachnaeSwarm/HediffComp_Temperature.cs
@@ -0,0 +1,53 @@
+using RimWorld;
+using UnityEngine;
+using Verse;
+
+namespace ArachnaeSwarm
+{
+ public class HediffComp_Temperature : HediffComp
+ {
+ public HediffCompProperties_Temperature Props => (HediffCompProperties_Temperature)props;
+
+ public override void CompPostTick(ref float severityAdjustment)
+ {
+ if (!parent.pawn.IsHashIntervalTick(360)) // 每 60 ticks 检查一次
+ {
+ return;
+ }
+
+ float ambientTemperature = parent.pawn.AmbientTemperature;
+ float minComfortable = Props.minComfortableTemperature;
+ float maxComfortable = Props.maxComfortableTemperature;
+
+ if (ambientTemperature >= minComfortable && ambientTemperature <= maxComfortable)
+ {
+ // 在舒适温度范围内
+ if (Props.severityChangeIn != 0f)
+ {
+ severityAdjustment += Props.severityChangeIn;
+ }
+ }
+ else
+ {
+ // 在舒适温度范围外
+ if (Props.severityChangeOut != 0f)
+ {
+ severityAdjustment += Props.severityChangeOut;
+ }
+ }
+ }
+ }
+
+ public class HediffCompProperties_Temperature : HediffCompProperties
+ {
+ public float minComfortableTemperature = 16f;
+ public float maxComfortableTemperature = 26f;
+ public float severityChangeIn = 0f;
+ public float severityChangeOut = 0f;
+
+ public HediffCompProperties_Temperature()
+ {
+ compClass = typeof(HediffComp_Temperature);
+ }
+ }
+}
\ No newline at end of file