120 Commits

Author SHA1 Message Date
ProjectKoi-Kalo\Kalo
390128f503 暂存 2025-09-08 23:31:22 +08:00
ProjectKoi-Kalo\Kalo
8a0fbe32e8 暂存 2025-09-08 21:59:11 +08:00
ProjectKoi-Kalo\Kalo
24a0ed126b 暂存 2025-09-08 21:39:32 +08:00
ProjectKoi-Kalo\Kalo
8d6c992f1f 暂存2 2025-09-08 20:09:22 +08:00
ProjectKoi-Kalo\Kalo
30ee96a196 zz暂存 2025-09-08 20:05:20 +08:00
ProjectKoi-Kalo\Kalo
ebe217223d 2025-09-08 18:34:28 +08:00
ProjectKoi-Kalo\Kalo
82b3855fc8 暂存物品池 2025-09-08 18:26:12 +08:00
ProjectKoi-Kalo\Kalo
1a102fcf31 暂存 2025-09-08 18:05:15 +08:00
Tourswen
f72fb7e62e 修改描述,合并虫卵 2025-09-08 17:27:18 +08:00
ProjectKoi-Kalo\Kalo
ec20d84344 暂存 2025-09-08 15:35:19 +08:00
ProjectKoi-Kalo\Kalo
c735d8f87c 暂存 2025-09-08 14:59:27 +08:00
ProjectKoi-Kalo\Kalo
493267be2c 暂存 2025-09-08 14:39:46 +08:00
ProjectKoi-Kalo\Kalo
8cf1ec75b2 暂存 2025-09-08 13:50:21 +08:00
Tourswen
341d6d1da7 辅虫修改 2025-09-08 12:25:50 +08:00
Tourswen
c0b65f457d 辅虫生育调整 2025-09-08 11:54:03 +08:00
Tourswen
15dca29e4b 搬运普及化,缩短搬运虫时间 2025-09-08 10:50:20 +08:00
Tourswen
150d36ff75 战士虫添加身体武器 2025-09-08 09:08:13 +08:00
Tourswen
7a2a250de3 Merge branch 'master' of https://git.ra3battle.cn/Kalospacer/ArachnaeSwarm 2025-09-07 23:32:17 +08:00
Tourswen
829ba7cae7 黑丝 2025-09-07 23:31:51 +08:00
ProjectKoi-Kalo\Kalo
1938d30343 暂存修红字 2025-09-07 22:05:39 +08:00
Tourswen
29141c7202 黑丝 2025-09-07 19:53:55 +08:00
Tourswen
e8830e6853 对科技等级的总体调整 2025-09-07 19:15:08 +08:00
ProjectKoi-Kalo\Kalo
9ed650c1a9 Merge branch '冲撞2' 2025-09-07 18:42:01 +08:00
ProjectKoi-Kalo\Kalo
c43bc0f0bb 暂存 2025-09-07 18:41:35 +08:00
ProjectKoi-Kalo\Kalo
b954781675 暂存 2025-09-07 18:26:43 +08:00
ProjectKoi-Kalo\Kalo
acfc078f91 暂存 2025-09-07 18:10:03 +08:00
ProjectKoi-Kalo\Kalo
b28594c604 暂存 2025-09-07 17:27:06 +08:00
ProjectKoi-Kalo\Kalo
7a6d5380e1 暂存 2025-09-07 17:11:53 +08:00
Tourswen
ceb68bc8fa 白丝,以及技能补齐 2025-09-07 17:09:18 +08:00
ProjectKoi-Kalo\Kalo
b6f9e6193a 暂存1 2025-09-07 16:49:34 +08:00
ProjectKoi-Kalo\Kalo
6e53b19e20 zz暂存 2025-09-07 15:28:24 +08:00
Tourswen
c05df1399a 头发 2025-09-07 15:25:41 +08:00
Tourswen
db3e576e1a Merge branch 'master' of https://git.ra3battle.cn/Kalospacer/ArachnaeSwarm 2025-09-07 14:09:24 +08:00
Tourswen
e9bbd8d6ea 战士种完工 2025-09-07 14:09:03 +08:00
ProjectKoi-Kalo\Kalo
b0d411f66d Merge branch 'master' of https://git.ra3battle.cn/Kalospacer/ArachnaeSwarm 2025-09-07 14:03:19 +08:00
ProjectKoi-Kalo\Kalo
e996fedfee 改图层 2025-09-07 14:03:17 +08:00
Tourswen
66e94fbf62 技能调整,科技树调整 2025-09-07 12:59:49 +08:00
Tourswen
f2af6b526b 技能优化 2025-09-07 11:59:41 +08:00
Tourswen
a75add9a59 战士种代码,科技树补全 2025-09-07 11:18:49 +08:00
Tourswen
eec1e2a3bf 两个建筑的贴图 2025-09-06 21:23:43 +08:00
ProjectKoi-Kalo\Kalo
25bd3019df 补科技和温度 2025-09-06 16:01:54 +08:00
ProjectKoi-Kalo\Kalo
a963f83818 暂存 2025-09-06 15:38:01 +08:00
ProjectKoi-Kalo\Kalo
8b8b8addae 暂存 2025-09-06 15:17:29 +08:00
ProjectKoi-Kalo\Kalo
514b7ff0f9 2025-09-06 15:08:02 +08:00
ProjectKoi-Kalo\Kalo
13a9b23b71 暂存 2025-09-06 14:48:28 +08:00
ProjectKoi-Kalo\Kalo
359ab98f58 Merge branch 'master' of https://git.ra3battle.cn/Kalospacer/ArachnaeSwarm 2025-09-06 13:52:18 +08:00
ProjectKoi-Kalo\Kalo
aabe7e9541 自动绑定 2025-09-06 13:52:16 +08:00
Tourswen
816ae30c19 Merge branch 'master' of https://git.ra3battle.cn/Kalospacer/ArachnaeSwarm 2025-09-06 13:39:07 +08:00
Tourswen
e6650d0b14 原虫的身体,刺针枪素材,以及其他 2025-09-06 13:38:40 +08:00
ProjectKoi-Kalo\Kalo
3983c53e72 暂存重写CompDelayedTerrainSpawn 2025-09-06 13:20:53 +08:00
Tourswen
472be4418c comps修复 2025-09-05 19:19:32 +08:00
Tourswen
ddb493cc75 补酸枪贴图细节 2025-09-05 18:05:54 +08:00
ProjectKoi-Kalo\Kalo
64afb0cbd6 补上传 2025-09-05 17:34:06 +08:00
ProjectKoi-Kalo\Kalo
11d3d5d340 Merge branch 'master' of https://git.ra3battle.cn/Kalospacer/ArachnaeSwarm 2025-09-05 17:12:51 +08:00
ProjectKoi-Kalo\Kalo
a3d15c30e8 暂存 2025-09-05 17:10:45 +08:00
Tourswen
8f94e4903b 补设定,寄生前hediff,工艺种身体及其他 2025-09-05 17:09:47 +08:00
Tourswen
d8c2dc165b 虫族床的码,一些描述更改 2025-09-05 15:47:20 +08:00
ProjectKoi-Kalo\Kalo
a84e7bbb94 扫地和hediff 2025-09-05 13:53:55 +08:00
ProjectKoi-Kalo\Kalo
3a3c30087a 暂存 2025-09-05 13:35:41 +08:00
ProjectKoi-Kalo\Kalo
c87c88a681 加key值 2025-09-05 12:57:38 +08:00
ProjectKoi-Kalo\Kalo
f2db87b7b4 整理 2025-09-05 12:52:17 +08:00
Tourswen
4449cf0e9b 酸枪,刺针枪代码,科技 2025-09-05 12:01:32 +08:00
Tourswen
a226443064 Merge branch 'master' of https://git.ra3battle.cn/Kalospacer/ArachnaeSwarm 2025-09-05 00:39:21 +08:00
Tourswen
ce818c56f0 细节补充 2025-09-05 00:38:45 +08:00
ProjectKoi-Kalo\Kalo
f3e87bdd40 调图层? 2025-09-05 00:28:25 +08:00
ProjectKoi-Kalo\Kalo
3d0bc51391 存修蜂巢断联 2025-09-04 23:22:51 +08:00
ProjectKoi-Kalo\Kalo
e220192bbe Merge branch '抱脸虫'
# Conflicts:
#	1.6/1.6/Defs/ThingDef_Races/ARA_RaceNodeSwarm.xml
2025-09-04 23:04:49 +08:00
ProjectKoi-Kalo\Kalo
c049cf4c5e 虫! 2025-09-04 23:02:54 +08:00
ProjectKoi-Kalo\Kalo
00d43cfba3 暂存 2025-09-04 22:21:01 +08:00
Tourswen
f6071f3bea 骨刀,酸炮,以及其他若干 2025-09-04 22:09:48 +08:00
ProjectKoi-Kalo\Kalo
3df5314d4e 暂存 2025-09-04 21:12:22 +08:00
ProjectKoi-Kalo\Kalo
0982682cc9 暂存2 2025-09-04 21:01:54 +08:00
ProjectKoi-Kalo\Kalo
760ddee0cc 暂存 2025-09-04 20:40:32 +08:00
ProjectKoi-Kalo\Kalo
0207f5abd1 去掉开关电源 2025-09-04 18:48:25 +08:00
ProjectKoi-Kalo\Kalo
62b0ad265e 补上 2025-09-04 18:40:36 +08:00
ProjectKoi-Kalo\Kalo
b45df3cbfc 暂存 2025-09-04 18:37:22 +08:00
ProjectKoi-Kalo\Kalo
fda704ee2e Merge branch 'master' of https://git.ra3battle.cn/Kalospacer/ArachnaeSwarm 2025-09-04 17:34:25 +08:00
ProjectKoi-Kalo\Kalo
5643623725 暂存 2025-09-04 17:34:23 +08:00
Tourswen
bafda90d2e Update ARA_Building.xml 2025-09-04 17:30:59 +08:00
ProjectKoi-Kalo\Kalo
aab5e225c1 暂存key 2025-09-04 16:59:46 +08:00
ProjectKoi-Kalo\Kalo
4423a16a28 Merge branch '生物质工艺茧' 2025-09-04 16:47:14 +08:00
ProjectKoi-Kalo\Kalo
d78b18ddd3 暂存 2025-09-04 16:41:27 +08:00
Tourswen
b495a2025d 酸嗜种辅虫 2025-09-04 16:00:41 +08:00
ProjectKoi-Kalo\Kalo
37093dd923 暂存 2025-09-04 14:40:43 +08:00
ProjectKoi-Kalo\Kalo
cd880be9a4 暂存 2025-09-04 14:28:26 +08:00
ProjectKoi-Kalo\Kalo
5d79465213 暂存 2025-09-04 14:08:56 +08:00
Tourswen
11bf54225f 盾头虫和蜜罐虫的身体 2025-09-04 11:54:37 +08:00
Tourswen
313c99f14b 菌毯的修改,虫族建筑需要在菌毯建造(未测试) 2025-09-04 10:24:30 +08:00
Tourswen
648996be3d 完善盾头种,三种新辅虫以及其他修改 2025-09-04 01:36:10 +08:00
ProjectKoi-Kalo\Kalo
da6052fa57 挪工作树 2025-09-04 00:38:23 +08:00
Tourswen
0e79fa3988 开局剧本和盾头虫 2025-09-03 22:46:56 +08:00
ProjectKoi-Kalo\Kalo
4771066384 暂存 2025-09-03 20:16:59 +08:00
ProjectKoi-Kalo\Kalo
e6d1add44f Merge branch 'master' of https://git.ra3battle.cn/Kalospacer/ArachnaeSwarm 2025-09-03 19:54:57 +08:00
ProjectKoi-Kalo\Kalo
47d5dc9490 补产奶 2025-09-03 19:54:55 +08:00
Tourswen
5c779abdf5 几种建筑 2025-09-03 19:41:22 +08:00
Tourswen
9fcaa54f8b 修红 2025-09-03 15:37:05 +08:00
ProjectKoi-Kalo\Kalo
7890ea858c 呃呃 2025-09-03 13:45:48 +08:00
ProjectKoi-Kalo\Kalo
ef3f64cb88 整理 2025-09-03 13:35:30 +08:00
ProjectKoi-Kalo\Kalo
c8adcdae2c Merge branch 'animalwork' 2025-09-03 13:27:26 +08:00
ProjectKoi-Kalo\Kalo
a98b4d2612 修反复割除 2025-09-03 13:26:48 +08:00
ProjectKoi-Kalo\Kalo
9a8b90be82 修割除 2025-09-03 12:50:35 +08:00
ProjectKoi-Kalo\Kalo
2d4d171eb9 暂存修收获 2025-09-03 12:45:40 +08:00
ProjectKoi-Kalo\Kalo
aca5fa287d 修种植传递 2025-09-03 12:27:38 +08:00
ProjectKoi-Kalo\Kalo
ed9ac9d389 暂存 2025-09-03 12:07:45 +08:00
ProjectKoi-Kalo\Kalo
254a621c55 暂存 2025-09-03 11:57:11 +08:00
Tourswen
3457654214 虫蜜的贴图 2025-09-03 11:42:14 +08:00
ProjectKoi-Kalo\Kalo
b3be9897df Merge branch 'mechworkproxy' into animalwork
# Conflicts:
#	1.6/1.6/Assemblies/ArachnaeSwarm.dll
2025-09-03 11:05:41 +08:00
ProjectKoi-Kalo\Kalo
e5feb47e8b 暂存 2025-09-03 09:13:03 +08:00
Tourswen
4728ab42c6 蜜罐种的贴图 2025-09-03 01:47:23 +08:00
ProjectKoi-Kalo\Kalo
9e4eda256f 修质量 2025-09-02 21:49:46 +08:00
ProjectKoi-Kalo\Kalo
9b5a8a58d3 怪了好使了 2025-09-02 21:43:35 +08:00
ProjectKoi-Kalo\Kalo
8a7a947669 暂存 2025-09-02 21:28:25 +08:00
ProjectKoi-Kalo\Kalo
ce3e84116e Merge branch 'master' of https://git.ra3battle.cn/Kalospacer/ArachnaeSwarm 2025-09-02 18:39:45 +08:00
ProjectKoi-Kalo\Kalo
f74c2b844b 失败 2025-09-02 18:39:28 +08:00
ProjectKoi-Kalo\Kalo
b21de9de91 晕晕 2025-09-02 17:52:41 +08:00
Tourswen
94e4cb54ba 各种改动巴拉巴拉 2025-09-02 17:29:53 +08:00
ProjectKoi-Kalo\Kalo
9acd5aac1e 暂存 2025-09-02 16:36:03 +08:00
Tourswen
418739ac5b 墙体、女王需求等巴拉巴拉 2025-09-02 16:06:41 +08:00
ProjectKoi-Kalo\Kalo
6129bb1b50 暂存文档 2025-09-02 15:48:16 +08:00
ProjectKoi-Kalo\Kalo
d335b2008c 暂存 2025-09-02 15:06:36 +08:00
305 changed files with 13290 additions and 1234 deletions

40
.gitignore vendored Normal file
View File

@@ -0,0 +1,40 @@
# 忽略包含敏感信息的环境变量文件
.env
# 忽略 Python 缓存文件
__pycache__/
*.pyc
*.pyo
*.pyd
# 忽略 VSCode 设置
.vscode/
# MCP Server generated files
Source/MCP/*.log
# Visual Studio/C# 编译和临时文件
[Bb]in/
[Oo]bj/
.vs/
*.suo
*.user
*.userosscache
*.sln.docstates
# Kilo Code MCP vector cache
Source/MCP/vector_cache/
Source/WulaFallenEmpire/.vs/WulaFallenEmpire/v17/DocumentLayout.json
Source/MCP/pid.txt
# Kilo Code logs
.kilocode/logs/
# MCP Knowledge Base Cache and Logs
*.log
MCP/vector_cache/*.txt
MCP/mcpserver.log
# Exclude MCP local RAG folder
MCP/local_rag/
Data

Binary file not shown.

View File

@@ -4,11 +4,12 @@
<defName>ARA_BindDrone</defName>
<label>信息素标记</label>
<description>使用信息素标记一只阿拉克涅督虫,受到标记的督虫和其麾下的辅虫将誓死效忠于女皇种,并与其建立心灵链接。</description>
<iconPath>UI/Commands/EggSpew</iconPath> <!-- Placeholder: You'll need to create this icon -->
<iconPath>ArachnaeSwarm/UI/Abilities/ARA_BindDrone</iconPath> <!-- Placeholder: You'll need to create this icon -->
<hotKey>Misc1</hotKey>
<jobDef>CastAbilityOnThing</jobDef>
<targetRequired>true</targetRequired>
<cooldownTicksRange>60</cooldownTicksRange> <!-- 1 second cooldown -->
<cooldownTicksRange>60</cooldownTicksRange> <!-- 1 second cooldown -->
<verbProperties>
<verbClass>Verb_CastAbility</verbClass>
@@ -31,54 +32,14 @@
</comps>
</AbilityDef>
<AbilityDef>
<defName>ARA_EggSpew</defName>
<label>生育虫卵</label>
<description>从卵巢中排出一颗休眠的虫卵,阿拉克涅女皇种可以通过与其交互将其激活,并选择孵化的督虫虫族类型——参阅虫卵的具体信息,了解各个督虫的特点。</description>
<iconPath>UI/Commands/EggSpew</iconPath>
<cooldownTicksRange>5000</cooldownTicksRange>
<aiCanUse>true</aiCanUse>
<displayOrder>300</displayOrder>
<displayGizmoWhileUndrafted>true</displayGizmoWhileUndrafted>
<disableGizmoWhileUndrafted>false</disableGizmoWhileUndrafted>
<warmupStartSound>AcidSpray_Warmup</warmupStartSound>
<verbProperties>
<verbClass>Verb_CastAbility</verbClass>
<range>1</range>
<warmupTime>12</warmupTime>
<soundCast>AcidSpray_Resolve</soundCast>
<violent>false</violent>
<targetable>false</targetable>
<targetParams>
<canTargetSelf>True</canTargetSelf>
</targetParams>
</verbProperties>
<comps>
<li Class="CompProperties_AbilityLaunchProjectile">
<projectileDef>ARA_Proj_EggSac</projectileDef>
</li>
<li Class="ArachnaeSwarm.CompProperties_AbilityNeedCost">
<needDef>Food</needDef>
<needCost>4</needCost>
<failMessage>营养值不足,需要进食</failMessage>
</li>
<li Class="ArachnaeSwarm.CompProperties_AbilityBodyPartCheck">
<requiredPart>ARA_Ovary</requiredPart>
<failMessage>卵巢受损或缺失,无法生育</failMessage>
</li>
</comps>
</AbilityDef>
<AbilityDef>
<defName>ARA_AcidSprayBurst</defName>
<defName>ARA_AcidSprayBurst_Queen</defName>
<label>女皇种酸液轰炸</label>
<description>阿拉克涅女皇种向目标地点喷射大量腐蚀性酸液,喷射将持续数秒以完全覆盖一片区域。</description>
<iconPath>UI/Abilities/AcidSpray</iconPath>
<cooldownTicksRange>5000</cooldownTicksRange> <!-- 2 hours -->
<cooldownTicksRange>5000</cooldownTicksRange> <!-- 2 hours -->
<aiCanUse>true</aiCanUse>
<displayOrder>300</displayOrder>
<displayGizmoWhileUndrafted>true</displayGizmoWhileUndrafted>
<disableGizmoWhileUndrafted>false</disableGizmoWhileUndrafted>
<warmupStartSound>AcidSpray_Warmup</warmupStartSound>
<verbProperties>
<verbClass>Verb_CastAbility</verbClass>
@@ -93,14 +54,14 @@
<li Class="ArachnaeSwarm.CompProperties_AbilitySprayLiquidMulti">
<!-- CompProperties_AbilitySprayLiquid 的属性 -->
<projectileDef>ARA_Proj_StrongSludgeSpray</projectileDef>
<numCellsToHit>13</numCellsToHit>
<numCellsToHit>26</numCellsToHit>
<sprayEffecter>AcidSpray_Directional</sprayEffecter>
<!-- CompProperties_AbilitySprayLiquidMulti 新增的属性 -->
<shotCount>32</shotCount> <!-- 总共发射5次 -->
<ticksBetweenShots>3</ticksBetweenShots> <!-- 每次发射间隔12 Ticks (0.2秒) -->
<shotCount>32</shotCount> <!-- 总共发射5次 -->
<ticksBetweenShots>3</ticksBetweenShots> <!-- 每次发射间隔12 Ticks (0.2秒) -->
</li>
<li Class="ArachnaeSwarm.CompProperties_AbilityNeedCost">
<li Class="ArachnaeSwarm.CompProperties_AbilityNeedCost">
<needDef>Food</needDef>
<needCost>0.5</needCost>
<failMessage>营养值不足,需要进食</failMessage>
@@ -109,9 +70,12 @@
<requiredPart>ARA_Acid_sac</requiredPart>
<failMessage>酸囊受损或缺失,无法喷射酸液</failMessage>
</li>
<li Class="ArachnaeSwarm.CompProperties_AbilityResearchPrereq">
<requiredResearch>ARA_Technology_6VXI</requiredResearch>
<failMessage>需要科技 基因节点VXI-6"酸囊" 以解锁技能</failMessage>
</li>
</comps>
</AbilityDef>
<ThingDef>
<defName>ARA_Proj_StrongSludgeSpray</defName>
<label>阿拉克涅虫族酸液</label>
@@ -135,27 +99,188 @@
<armorPenetrationBase>0.1</armorPenetrationBase>
<stoppingPower>1</stoppingPower>
<shadowSize>0</shadowSize>
<spawnTerrain>InsectSludge</spawnTerrain>
<spawnTerrain>ARA_InsectCreep</spawnTerrain>
<terrainChance>0.75</terrainChance>
<filth>Filth_Slime</filth>
<filth>Filth_SpentAcid</filth>
<filthCount>1</filthCount>
<filthChance>0.25</filthChance>
</projectile>
</ThingDef>
<AbilityDef>
<defName>ARA_AcidSprayBurst</defName>
<label>酸液轰炸</label>
<description>阿拉克涅督虫向目标地点喷射大量腐蚀性酸液,虽然不如女皇种所喷射的酸雨那样强劲,但是虫酸的伤害依然是实打实的。</description>
<iconPath>UI/Abilities/AcidSpray</iconPath>
<cooldownTicksRange>12000</cooldownTicksRange> <!-- 2 hours -->
<aiCanUse>true</aiCanUse>
<displayOrder>300</displayOrder>
<warmupStartSound>AcidSpray_Warmup</warmupStartSound>
<verbProperties>
<verbClass>Verb_CastAbility</verbClass>
<range>15.9</range>
<warmupTime>3</warmupTime>
<soundCast>AcidSpray_Resolve</soundCast>
<targetParams>
<canTargetLocations>true</canTargetLocations>
</targetParams>
</verbProperties>
<comps>
<li Class="ArachnaeSwarm.CompProperties_AbilitySprayLiquidMulti">
<!-- CompProperties_AbilitySprayLiquid 的属性 -->
<projectileDef>ARA_Proj_StrongSludgeSpray</projectileDef>
<numCellsToHit>6</numCellsToHit>
<sprayEffecter>AcidSpray_Directional</sprayEffecter>
<!-- CompProperties_AbilitySprayLiquidMulti 新增的属性 -->
<shotCount>16</shotCount> <!-- 总共发射5次 -->
<ticksBetweenShots>3</ticksBetweenShots> <!-- 每次发射间隔12 Ticks (0.2秒) -->
</li>
<li Class="ArachnaeSwarm.CompProperties_AbilityNeedCost">
<needDef>Food</needDef>
<needCost>0.5</needCost>
<failMessage>营养值不足,需要进食</failMessage>
</li>
<li Class="ArachnaeSwarm.CompProperties_AbilityBodyPartCheck">
<requiredPart>ARA_Acid_sac</requiredPart>
<failMessage>酸囊受损或缺失,无法喷射酸液</failMessage>
</li>
<li Class="ArachnaeSwarm.CompProperties_AbilityResearchPrereq">
<requiredResearch>ARA_Technology_6VXI</requiredResearch>
<failMessage>需要科技 基因节点VXI-6"酸囊" 以解锁技能</failMessage>
</li>
</comps>
</AbilityDef>
<AbilityDef>
<defName>ARA_Toxic_Needle_Fire</defName>
<label>毒针连射</label>
<description>阿拉克涅督虫使用可以喷射剧毒尾针的毒针腺对敌方进行一轮射击。</description>
<writeCombatLog>True</writeCombatLog>
<showPsycastEffects>False</showPsycastEffects>
<cooldownTicksRange>6000</cooldownTicksRange>
<iconPath>UI/Abilities/AcidSpray</iconPath>
<verbProperties>
<verbClass>Verb_AbilityShoot</verbClass>
<defaultProjectile>Bullet_ARA_RW_Basic_Fist_Needle_Gun</defaultProjectile>
<range>24.9</range>
<soundCast>Heatspikes_Shot</soundCast>
<soundCastTail>Heatspikes_Tail</soundCastTail>
<muzzleFlashScale>9</muzzleFlashScale>
<ticksBetweenBurstShots>6</ticksBetweenBurstShots>
<warmupTime>0</warmupTime>
<burstShotCount>12</burstShotCount>
<accuracyTouch>0.9</accuracyTouch>
<accuracyShort>0.8</accuracyShort>
<accuracyMedium>0.7</accuracyMedium>
<accuracyLong>0.6</accuracyLong>
<ai_IsWeapon>false</ai_IsWeapon>
</verbProperties>
<comps>
<li Class="ArachnaeSwarm.CompProperties_AbilityNeedCost">
<needDef>Food</needDef>
<needCost>0.1</needCost>
<failMessage>营养值不足,需要进食</failMessage>
</li>
<li Class="ArachnaeSwarm.CompProperties_AbilityBodyPartCheck">
<requiredPart>ARA_Toxic_Needle</requiredPart>
<failMessage>毒针腺受损或缺失,无法发射毒针</failMessage>
</li>
<li Class="ArachnaeSwarm.CompProperties_AbilityResearchPrereq">
<requiredResearch>ARA_Technology_5PAV</requiredResearch>
<failMessage>需要科技 基因节点PAV-5"毒刺" 以解锁技能</failMessage>
</li>
</comps>
</AbilityDef>
<AbilityDef>
<defName>ARA_BaseRace_Acid_Launcher</defName>
<label>酸噬种投射</label>
<description>将一只阿拉克涅酸噬种辅虫发射到指定地点,落地后这只寿命有限的辅虫将立刻对敌人展开攻击。</description>
<iconPath>UI/Commands/EggSpew</iconPath>
<cooldownTicksRange>5000</cooldownTicksRange>
<aiCanUse>true</aiCanUse>
<displayOrder>300</displayOrder>
<displayGizmoWhileUndrafted>true</displayGizmoWhileUndrafted>
<disableGizmoWhileUndrafted>false</disableGizmoWhileUndrafted>
<warmupStartSound>AcidSpray_Warmup</warmupStartSound>
<charges>3</charges>
<cooldownPerCharge>true</cooldownPerCharge>
<verbProperties>
<verbClass>Verb_CastAbility</verbClass>
<range>24</range>
<warmupTime>1</warmupTime>
<soundCast>AcidSpray_Resolve</soundCast>
<violent>false</violent>
<targetParams>
<canTargetLocations>true</canTargetLocations>
</targetParams>
</verbProperties>
<comps>
<li Class="CompProperties_AbilityLaunchProjectile">
<projectileDef>ArachnaeBase_Race_Acid_Proj</projectileDef>
</li>
<li Class="ArachnaeSwarm.CompProperties_AbilityNeedCost">
<needDef>Food</needDef>
<needCost>0.5</needCost>
<failMessage>营养值不足,需要进食</failMessage>
</li>
</comps>
</AbilityDef>
<ThingDef ParentName="BaseGrenadeProjectile">
<defName>ARA_Proj_EggSac</defName>
<label>阿拉克涅虫卵</label>
<thingClass>Projectile_SpawnsThing</thingClass>
<defName>ArachnaeBase_Race_Acid_Proj</defName>
<label>阿拉克涅酸噬种</label>
<thingClass>Projectile_SpawnsPawnZeroAge</thingClass>
<uiIconPath>Wula/Things/WULA_Attack_Cat/WULA_Cat_Thin_south</uiIconPath>
<graphicData>
<texPath>ArachnaeSwarm/Building/ARA_EggSac</texPath>
<graphicClass>Graphic_Single</graphicClass>
<texPath>Things/Pawn/Animal/Spelopede/Spelopede</texPath>
<graphicClass>Graphic_Multi</graphicClass>
</graphicData>
<projectile>
<damageDef>Bullet</damageDef>
<speed>21</speed>
<damageAmountBase>0</damageAmountBase>
<spawnsThingDef>ARA_InteractiveEggSac</spawnsThingDef>
<speed>41</speed>
<spawnsPawnKind>ArachnaeBase_Race_Acid</spawnsPawnKind>
<tryAdjacentFreeSpaces>true</tryAdjacentFreeSpaces>
<damageDef>ARA_AcidBurn</damageDef>
<damageAmountBase>10</damageAmountBase>
</projectile>
</ThingDef>
<AbilityDef>
<defName>ARA_Ability_Possess</defName>
<label>原虫种突袭寄生</label>
<description>跃向目标,随后尝试使用长尾刺穿对象并截断其神经中枢信号,以自己的控制信号取而代之,进而完全侵占目标躯体。\n\n被侵占躯体的对象视为阿拉克涅虫族的一员需要接受女皇种的信息素标记并且不再拥有感情和高级需求仅作为躯壳活着。目标的技能熟练度和背景故事会替换为原虫种的技能熟练度和背景故事一旦宿主死亡原虫种将从宿主身上逃离。</description>
<iconPath>ArachnaeSwarm/UI/Abilities/ARA_Ability_Possess</iconPath>
<cooldownTicksRange>800</cooldownTicksRange>
<casterMustBeCapableOfViolence>false</casterMustBeCapableOfViolence>
<hotKey>Misc1</hotKey>
<verbProperties>
<!-- 使用我们新的Verb -->
<verbClass>ArachnaeSwarm.Verb_JumpAndCastOnLanding</verbClass>
<warmupTime>1.0</warmupTime>
<range>9.9</range>
<requireLineOfSight>true</requireLineOfSight>
<soundCast>Longjump_Jump</soundCast>
<soundLanding>Longjump_Land</soundLanding>
<targetParams>
<canTargetPawns>true</canTargetPawns>
<canTargetBuildings>false</canTargetBuildings>
<canTargetSelf>false</canTargetSelf>
<canTargetLocations>false</canTargetLocations>
</targetParams>
</verbProperties>
<comps>
<!-- comps部分现在只包含夺舍效果因为跳跃由Verb处理 -->
<li Class="ArachnaeSwarm.CompProperties_AbilityPossess">
<!-- Base success chance range (60% to 100%) -->
<successChance>0.1</successChance>
<!-- Bonus success chance per point of damage dealt (1%) -->
<successChanceBonusPerDamage>0.01</successChanceBonusPerDamage>
<!-- Optional: Hediff to apply on successful possession -->
<hediffToApplyOnSuccess>ARA_HiveMindDrone</hediffToApplyOnSuccess>
<!-- Optional: A list of race ThingDefs that cannot be possessed -->
<raceBlacklist>
<li>ArachnaeQueen_Race</li>
</raceBlacklist>
</li>
</comps>
</AbilityDef>
</Defs>

View File

@@ -0,0 +1,98 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<AbilityDef Name="ARA_EggSpew_Base" Abstract="True">
<cooldownTicksRange>5000</cooldownTicksRange>
<aiCanUse>false</aiCanUse>
<displayOrder>300</displayOrder>
<displayGizmoWhileUndrafted>true</displayGizmoWhileUndrafted>
<disableGizmoWhileUndrafted>false</disableGizmoWhileUndrafted>
<warmupStartSound>AcidSpray_Warmup</warmupStartSound>
<verbProperties>
<verbClass>Verb_CastAbility</verbClass>
<range>1</range>
<warmupTime>7</warmupTime>
<soundCast>AcidSpray_Resolve</soundCast>
<violent>false</violent>
<targetable>false</targetable>
<targetParams>
<canTargetSelf>True</canTargetSelf>
</targetParams>
</verbProperties>
<comps>
<li Class="ArachnaeSwarm.CompProperties_AbilityNeedCost">
<needDef>Food</needDef>
<needCost>4</needCost>
<failMessage>营养值不足,需要进食</failMessage>
</li>
<li Class="ArachnaeSwarm.CompProperties_AbilityBodyPartCheck">
<requiredPart>ARA_Ovary</requiredPart>
<failMessage>卵巢受损或缺失,无法生育</failMessage>
</li>
</comps>
</AbilityDef>
<ThingDef Name="ARA_EggSpew_Base_Proj" ParentName="BaseGrenadeProjectile" Abstract="True">
<thingClass>Projectile_SpawnsThing</thingClass>
<graphicData>
<texPath>ArachnaeSwarm/Building/ARA_EggSac</texPath>
<graphicClass>Graphic_Single</graphicClass>
</graphicData>
<projectile>
<damageDef>Bullet</damageDef>
<speed>21</speed>
<damageAmountBase>0</damageAmountBase>
<tryAdjacentFreeSpaces>true</tryAdjacentFreeSpaces>
</projectile>
</ThingDef>
<AbilityDef Name="ARA_CocoonSpew_Base" Abstract="True">
<cooldownTicksRange>5000</cooldownTicksRange>
<aiCanUse>true</aiCanUse>
<displayOrder>300</displayOrder>
<displayGizmoWhileUndrafted>true</displayGizmoWhileUndrafted>
<disableGizmoWhileUndrafted>false</disableGizmoWhileUndrafted>
<warmupStartSound>AcidSpray_Warmup</warmupStartSound>
<verbProperties>
<verbClass>Verb_CastAbility</verbClass>
<range>1</range>
<warmupTime>12</warmupTime>
<soundCast>AcidSpray_Resolve</soundCast>
<violent>false</violent>
<targetable>false</targetable>
<targetParams>
<canTargetSelf>True</canTargetSelf>
</targetParams>
</verbProperties>
<comps>
<li Class="ArachnaeSwarm.CompProperties_AbilityNeedCost">
<needDef>Food</needDef>
<needCost>1</needCost>
<failMessage>营养值不足,需要进食</failMessage>
</li>
</comps>
</AbilityDef>
<ThingDef Name="ARA_CocoonSpew_Base_Proj" ParentName="BaseGrenadeProjectile" Abstract="True">
<label>阿拉克涅孵化茧</label>
<thingClass>Projectile_SpawnsThing</thingClass>
<graphicData>
<texPath>ArachnaeSwarm/Building/ARA_BioforgeIncubator</texPath>
<graphicClass>Graphic_Single</graphicClass>
</graphicData>
<projectile>
<damageDef>Bullet</damageDef>
<speed>21</speed>
<damageAmountBase>0</damageAmountBase>
<tryAdjacentFreeSpaces>true</tryAdjacentFreeSpaces>
</projectile>
</ThingDef>
<AbilityDef ParentName="ARA_EggSpew_Base">
<defName>ARA_EggSpew</defName>
<label>生育虫卵</label>
<description>从卵巢中排出一颗休眠的虫卵,阿拉克涅女皇种可以通过与其交互将其激活,并选择孵化的督虫虫族类型——参阅虫卵的具体信息,了解各个督虫的特点。</description>
<iconPath>UI/Commands/EggSpew</iconPath>
<comps>
<li Class="CompProperties_AbilityLaunchProjectile">
<projectileDef>ARA_Proj_EggSac</projectileDef>
</li>
</comps>
</AbilityDef>
</Defs>

View File

@@ -0,0 +1,52 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<!-- 1. Definition for the PawnFlyer itself -->
<ThingDef ParentName="PawnFlyerBase">
<defName>ARA_Flyer_TrackingCharge</defName>
<thingClass>ArachnaeSwarm.PawnFlyer_TrackingCharge</thingClass>
<pawnFlyer>
<flightSpeed>0.5</flightSpeed>
<heightFactor>0</heightFactor>
</pawnFlyer>
</ThingDef>
<!-- 2. The final Ability Definition -->
<AbilityDef>
<defName>ARA_Ability_TrackingCharge</defName>
<label>追踪冲撞</label>
<description>阿拉克涅盾头种对目标发起蓄势冲撞,对路径上的一切造成伤害。飞行的距离越远,伤害越高。</description>
<iconPath>UI/Commands/WarTrumpet</iconPath> <!-- Placeholder Icon -->
<cooldownTicksRange>600</cooldownTicksRange>
<verbProperties>
<verbClass>ArachnaeSwarm.Verb_CastAbilityTrackingCharge</verbClass>
<label>追踪冲撞</label>
<targetParams>
<canTargetPawns>true</canTargetPawns>
<canTargetBuildings>false</canTargetBuildings>
<canTargetAnimals>true</canTargetAnimals>
<canTargetMechs>true</canTargetMechs>
<canTargetSelf>false</canTargetSelf>
</targetParams>
<range>30</range>
<warmupTime>1.0</warmupTime>
</verbProperties>
<comps>
<li Class="ArachnaeSwarm.CompProperties_TrackingCharge">
<homingSpeed>1.5</homingSpeed>
<initialDamage>15</initialDamage>
<damagePerTile>2</damagePerTile>
<inertiaDistance>6</inertiaDistance>
<collisionDamageDef>Blunt</collisionDamageDef>
<flyerDef>ARA_Flyer_TrackingCharge</flyerDef>
<collisionRadius>1.5</collisionRadius> <!-- Larger collision radius -->
<impactSound>Pawn_Melee_BigBash_HitPawn</impactSound>
<damageHostileOnly>true</damageHostileOnly> <!-- Set to false to damage everyone in the path -->
</li>
<li Class="CompProperties_AbilityEffecterOnCaster">
<effecterDef>WarTrumpet</effecterDef>
<maintainTicks>20</maintainTicks> <!-- Long enough for the "2nd wave" to spawn -->
</li>
</comps>
</AbilityDef>
</Defs>

View File

@@ -0,0 +1,92 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<AnimationDef>
<defName>ARA_FlyEast</defName>
<durationTicks>60</durationTicks>
<keyframeParts>
<li>
<key>ARA_Flight_Attachment</key>
<value>
<keyframes>
<li><graphicState>ARA_FlyEast_0</graphicState><tick>0</tick></li>
<li><graphicState>ARA_FlyEast_1</graphicState><tick>4</tick></li>
<li><graphicState>ARA_FlyEast_2</graphicState><tick>8</tick></li>
<li><graphicState>ARA_FlyEast_3</graphicState><tick>12</tick></li>
<li><graphicState>ARA_FlyEast_4</graphicState><tick>16</tick></li>
<li><graphicState>ARA_FlyEast_5</graphicState><tick>20</tick></li>
<li><graphicState>ARA_FlyEast_6</graphicState><tick>24</tick></li>
<li><graphicState>ARA_FlyEast_7</graphicState><tick>28</tick></li>
</keyframes>
</value>
</li>
<li>
<key>Root</key>
<value><workerType>AnimationWorker_Keyframes</workerType><keyframes>
<li><tick>0</tick><offset>(0,0,-0.05)</offset></li>
<li><tick>30</tick><offset>(0,0,0.05)</offset></li>
<li><tick>60</tick><offset>(0,0,-0.05)</offset></li>
</keyframes></value>
</li>
</keyframeParts>
</AnimationDef>
<AnimationDef>
<defName>ARA_FlyNorth</defName>
<durationTicks>60</durationTicks>
<keyframeParts>
<li>
<key>ARA_Flight_Attachment</key>
<value>
<keyframes>
<li><graphicState>ARA_FlyNorth_0</graphicState><tick>0</tick></li>
<li><graphicState>ARA_FlyNorth_1</graphicState><tick>4</tick></li>
<li><graphicState>ARA_FlyNorth_2</graphicState><tick>8</tick></li>
<li><graphicState>ARA_FlyNorth_3</graphicState><tick>12</tick></li>
<li><graphicState>ARA_FlyNorth_4</graphicState><tick>16</tick></li>
<li><graphicState>ARA_FlyNorth_5</graphicState><tick>20</tick></li>
<li><graphicState>ARA_FlyNorth_6</graphicState><tick>24</tick></li>
<li><graphicState>ARA_FlyNorth_7</graphicState><tick>28</tick></li>
</keyframes>
</value>
</li>
<li>
<key>Root</key>
<value><workerType>AnimationWorker_Keyframes</workerType><keyframes>
<li><tick>0</tick><offset>(0,0,-0.05)</offset></li>
<li><tick>30</tick><offset>(0,0,0.05)</offset></li>
<li><tick>60</tick><offset>(0,0,-0.05)</offset></li>
</keyframes></value>
</li>
</keyframeParts>
</AnimationDef>
<AnimationDef>
<defName>ARA_FlySouth</defName>
<durationTicks>60</durationTicks>
<keyframeParts>
<li>
<key>ARA_Flight_Attachment</key>
<value>
<keyframes>
<li><graphicState>ARA_FlySouth_0</graphicState><tick>0</tick></li>
<li><graphicState>ARA_FlySouth_1</graphicState><tick>4</tick></li>
<li><graphicState>ARA_FlySouth_2</graphicState><tick>8</tick></li>
<li><graphicState>ARA_FlySouth_3</graphicState><tick>12</tick></li>
<li><graphicState>ARA_FlySouth_4</graphicState><tick>16</tick></li>
<li><graphicState>ARA_FlySouth_5</graphicState><tick>20</tick></li>
<li><graphicState>ARA_FlySouth_6</graphicState><tick>24</tick></li>
<li><graphicState>ARA_FlySouth_7</graphicState><tick>28</tick></li>
</keyframes>
</value>
</li>
<li>
<key>Root</key>
<value><workerType>AnimationWorker_Keyframes</workerType><keyframes>
<li><tick>0</tick><offset>(0,0,-0.05)</offset></li>
<li><tick>30</tick><offset>(0,0,0.05)</offset></li>
<li><tick>60</tick><offset>(0,0,-0.05)</offset></li>
</keyframes></value>
</li>
</keyframeParts>
</AnimationDef>
</Defs>

View File

@@ -15,9 +15,6 @@
<Shooting>2</Shooting>
<Melee>2</Melee>
</skillGains>
<forcedHediffs>
<li>ARA_HiveMindMaster</li>
</forcedHediffs>
<spawnCategories>
<li>ArachnaeQueen_spawnCategoriesA</li>
@@ -27,8 +24,8 @@
</AlienRace.AlienBackstoryDef>
<AlienRace.AlienBackstoryDef ParentName="ARA_BaseBackStory">
<defName>Arachnae_Queen_BS_Adult_1</defName>
<title>王道征途</title>
<titleShort>王道征途</titleShort>
<title>见习女皇</title>
<titleShort>见习女皇</titleShort>
<description>[PAWN_nameDef]顺利地在虫巢中长大后,她离开了生养她的巢穴并来到一片陌生的地域,着手准备建立自己的势力。\n\n[PAWN_nameDef]知道自己势单力薄,比起其他娇生惯养的姐妹,她在很多事情上更愿意亲力亲为。</description>
<slot>Adulthood</slot>
<skillGains>
@@ -47,31 +44,175 @@
<AlienRace.AlienBackstoryDef ParentName="ARA_BaseBackStory">
<defName>Arachnae_Node_BS_Child_1</defName>
<title>阿拉克涅虫</title>
<titleShort>阿拉克涅虫族</titleShort>
<description>[PAWN_nameDef]是一只阿拉克涅虫族</description>
<title>阿拉克涅</title>
<titleShort>督虫</titleShort>
<description>[PAWN_nameDef]是一只阿拉克涅督虫——这个种姓的阿拉克涅虫族是虫巢的中坚力量,服从于女皇种的指挥的同时,也指挥着麾下的辅虫。她们从诞生之初便肩负着不同的使命,并且在较短的寿命中尽心尽力地服侍虫群</description>
<slot>Childhood</slot>
<spawnCategories>
<li>ArachnaeNode_spawnCategoriesA</li>
</spawnCategories>
<forcedHediffs>
<li>ARA_HiveMindDrone</li>
</forcedHediffs>
<requiresSpawnCategory>true</requiresSpawnCategory>
</AlienRace.AlienBackstoryDef>
<AlienRace.AlienBackstoryDef ParentName="ARA_BaseBackStory">
<defName>Arachnae_Node_BS_Adult_Myrmecocystus</defName>
<title>阿拉克涅蜜罐种</title>
<titleShort>蜜罐种</titleShort>
<description>[PAWN_nameDef]是一只阿拉克涅蜜罐种督虫。基因的选择性表达使其长出了肿胀的囊袋和复杂的口器,这使得她可以吞噬那些未经过处理的尸体和各种杂食或是将其进一步分解,并通过消化器官将其转变为阿拉克涅虫蜜以供其他虫族食用。\n\n[PAWN_nameDef]在战斗中并不是一个值得正视的对手,她没有可以接入武装器官的副肢,脆弱臃肿的特性也决定了她几乎无法躲开任何攻击。</description>
<slot>Adulthood</slot>
<workDisables>
<li>Cleaning</li>
<!-- <li>Hauling</li> -->
<li>Mining</li>
<!-- <li>PlantWork</li> -->
<li>Animals</li>
<li>Hunting</li>
<li>Crafting</li>
<!-- <li>Cooking</li> -->
<li>Constructing</li>
<li>Caring</li>
<li>Social</li>
<li>Artistic</li>
<li>Intellectual</li>
</workDisables>
<skillGains>
<Cooking>5</Cooking>
</skillGains>
<spawnCategories>
<li>ArachnaeNode_spawnCategories_Myrmecocystus</li>
</spawnCategories>
</AlienRace.AlienBackstoryDef>
<AlienRace.AlienBackstoryDef ParentName="ARA_BaseBackStory">
<defName>Arachnae_Node_BS_Adult_ShieldHead</defName>
<title>阿拉克涅盾头种</title>
<titleShort>盾头种</titleShort>
<description>[PAWN_nameDef]是一只阿拉克涅盾头种督虫。盾头种是一种笨重的阿拉克涅虫族,她们拥有厚厚的经常过度生长的甲壳,除了生产甲壳素外,也拥有接入武装器官的辅肢,可以凭借虫群的武装器官和自己与生俱来的盔甲承担保卫虫巢的任务。</description>
<slot>Adulthood</slot>
<workDisables>
<li>Cleaning</li>
<!-- <li>Hauling</li> -->
<!-- <li>Mining</li> -->
<li>PlantWork</li>
<li>Animals</li>
<li>Hunting</li>
<li>Crafting</li>
<li>Cooking</li>
<!-- <li>Constructing</li> -->
<li>Caring</li>
<li>Social</li>
<li>Artistic</li>
<li>Intellectual</li>
</workDisables>
<skillGains>
<Mining>5</Mining>
</skillGains>
<spawnCategories>
<li>ArachnaeNode_spawnCategories_ShieldHead</li>
</spawnCategories>
</AlienRace.AlienBackstoryDef>
<AlienRace.AlienBackstoryDef ParentName="ARA_BaseBackStory">
<defName>Arachnae_Node_BS_Adult_WeaponSmith</defName>
<title>阿拉克涅工艺种</title>
<titleShort>工艺种</titleShort>
<description>[PAWN_nameDef]是一只阿拉克涅工艺种督虫。能够产出专门用来孵化阿拉克涅武装器官的孵化茧,以强化虫巢的战斗力。\n\n尽管[PAWN_nameDef]可以拿起武装器官,但是非常害怕任何伤害,尽量避免她直接暴露在攻击下。</description>
<slot>Adulthood</slot>
<workDisables>
<li>Cleaning</li>
<!-- <li>Hauling</li> -->
<li>Mining</li>
<li>PlantWork</li>
<li>Animals</li>
<li>Hunting</li>
<!-- <li>Crafting</li> -->
<li>Cooking</li>
<li>Constructing</li>
<li>Caring</li>
<li>Social</li>
<!-- <li>Artistic</li> -->
<li>Intellectual</li>
</workDisables>
<skillGains>
<Crafting>5</Crafting>
</skillGains>
<spawnCategories>
<li>ArachnaeNode_spawnCategories_WeaponSmith</li>
</spawnCategories>
</AlienRace.AlienBackstoryDef>
<AlienRace.AlienBackstoryDef ParentName="ARA_BaseBackStory">
<defName>Arachnae_Node_BS_Adult_Fighter</defName>
<title>阿拉克涅战士种</title>
<titleShort>战士种</titleShort>
<description>[PAWN_nameDef]是一只阿拉克涅战士种督虫,可以进行狩猎和搬运,擅长操纵所有的虫巢武器,无论是近战还是远程都是一个难缠的对手。虽然无法在常规状态下孵化辅虫,但是其可以将阿拉克涅酸噬种像炮弹一样往敌人的脸上发射,以这种辅虫的有限寿命换取敌方的远程哑火。</description>
<slot>Adulthood</slot>
<workDisables>
<li>Cleaning</li>
<!-- <li>Hauling</li> -->
<li>Mining</li>
<li>PlantWork</li>
<!-- <li>Animals</li> -->
<!-- <li>Hunting</li> -->
<li>Crafting</li>
<li>Cooking</li>
<li>Constructing</li>
<li>Caring</li>
<li>Social</li>
<li>Artistic</li>
<li>Intellectual</li>
</workDisables>
<skillGains>
<Shooting>5</Shooting>
<Melee>5</Melee>
</skillGains>
<spawnCategories>
<li>ArachnaeNode_spawnCategories_Fighter</li>
</spawnCategories>
</AlienRace.AlienBackstoryDef>
<AlienRace.AlienBackstoryDef ParentName="ARA_BaseBackStory">
<defName>Arachnae_Node_BS_Adult_1</defName>
<title>阿拉克涅督虫</title>
<titleShort>阿拉克涅督虫</titleShort>
<description>[PAWN_nameDef]是一只阿拉克涅督虫种</description>
<defName>Arachnae_Node_BS_Adult_Skyraider</defName>
<title>阿拉克涅空天</title>
<titleShort>空天</titleShort>
<description>[PAWN_nameDef]是一只阿拉克涅空天种督虫,空天种作为阿拉克涅督虫中的精锐,进化出了强大的飞行能力,是巢穴中无可争议的空中霸主。\n\n作为为数不多拥有飞行能力的虫族她可以从空中掠袭猎物并将其带至千米高空之上俯冲投下只留其余猎物在地面无助的挣扎</description>
<slot>Adulthood</slot>
<workDisables>
<li>Cleaning</li>
<!-- <li>Hauling</li> -->
<li>Mining</li>
<li>PlantWork</li>
<!-- <li>Animals</li> -->
<!-- <li>Hunting</li> -->
<li>Crafting</li>
<li>Cooking</li>
<li>Constructing</li>
<li>Caring</li>
<li>Social</li>
<li>Artistic</li>
<li>Intellectual</li>
</workDisables>
<skillGains>
<Shooting>5</Shooting>
<Melee>5</Melee>
</skillGains>
<spawnCategories>
<li>ArachnaeNode_spawnCategories_Skyraider</li>
</spawnCategories>
</AlienRace.AlienBackstoryDef>
<AlienRace.AlienBackstoryDef ParentName="ARA_BaseBackStory">
<defName>Arachnae_Node_BS_Adult_Facehugger</defName>
<title>阿拉克涅原虫种</title>
<titleShort>原虫种</titleShort>
<description>[PAWN_nameDef]是一只阿拉克涅原虫种督虫。[PAWN_nameDef]通过独特的神经链接管伸入受害者身体来接管受害者的身体。不同于普通阿拉克涅虫族,阿拉克涅原虫种拥有自我意识,不需要女皇种的监管。</description>
<slot>Adulthood</slot>
<spawnCategories>
<li>ArachnaeNode_spawnCategoriesB</li>
<li>ArachnaeNode_spawnCategories_Facehugger</li>
</spawnCategories>
</AlienRace.AlienBackstoryDef>
</Defs>

File diff suppressed because it is too large Load Diff

View File

@@ -14,4 +14,34 @@
<hediff>AcidBurn</hediff>
<scaleDamageToBuildingsBasedOnFlammability>false</scaleDamageToBuildingsBasedOnFlammability>
</DamageDef>
<DamageDef ParentName="Bullet">
<defName>ARA_Fist_Needle</defName>
<label>刺针毒素</label>
<workerClass>DamageWorker_AddInjury</workerClass>
<armorCategory>Sharp</armorCategory>
<hediff>Cut</hediff>
<hediffSolid>Crack</hediffSolid>
<additionalHediffs>
<li>
<hediff>ToxicBuildup</hediff>
<severityPerDamageDealt>0.02</severityPerDamageDealt>
<victimSeverityScaling>ToxicResistance</victimSeverityScaling>
<inverseStatScaling>true</inverseStatScaling>
<victimSeverityScalingByInvBodySize>true</victimSeverityScalingByInvBodySize>
</li>
</additionalHediffs>
<applyAdditionalHediffsIfHuntingForFood>false</applyAdditionalHediffsIfHuntingForFood>
</DamageDef>
<DamageDef ParentName="CutBase">
<defName>ARA_AcidCut_Damage</defName>
<label>酸性撕咬</label>
<workerClass>DamageWorker_AddInjury</workerClass>
<deathMessage>{0} 被携带酸液的巨颚咬死了。</deathMessage>
<additionalHediffs>
<li>
<hediff>ARA_AcidCoverd</hediff>
<severityPerDamageDealt>0.01</severityPerDamageDealt>
</li>
</additionalHediffs>
</DamageDef>
</Defs>

View File

@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<DesignationCategoryDef>
<defName>ARA_Buildings</defName>
<label>阿拉克涅巢穴</label>
<description>阿拉克涅虫群的各种由甲壳素和活体组织构建的“建筑”</description>
<order>255</order>
<specialDesignatorClasses>
<li>Designator_Cancel</li>
<li>Designator_Deconstruct</li>
</specialDesignatorClasses>
</DesignationCategoryDef>
</Defs>

View File

@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<FacialAnimation.BrowShapeDef MayRequire="Nals.FacialAnimation">
<defName>normal</defName>
</FacialAnimation.BrowShapeDef>
<FacialAnimation.BrowShapeDef MayRequire="Nals.FacialAnimation">
<defName>flat</defName>
</FacialAnimation.BrowShapeDef>
<FacialAnimation.BrowShapeDef MayRequire="Nals.FacialAnimation">
<defName>angled</defName>
</FacialAnimation.BrowShapeDef>
<FacialAnimation.BrowShapeDef MayRequire="Nals.FacialAnimation">
<defName>s-shaped</defName>
</FacialAnimation.BrowShapeDef>
</Defs>

View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<FacialAnimation.EmotionShapeDef MayRequire="Nals.FacialAnimation">
<defName>normal</defName>
</FacialAnimation.EmotionShapeDef>
<FacialAnimation.EmotionShapeDef MayRequire="Nals.FacialAnimation">
<defName>blush</defName>
</FacialAnimation.EmotionShapeDef>
</Defs>

View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<FacialAnimation.EyeballShapeDef MayRequire="Nals.FacialAnimation">
<defName>normal</defName>
<label>normal</label>
</FacialAnimation.EyeballShapeDef>
</Defs>

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<FacialAnimation.HeadShapeDef MayRequire="Nals.FacialAnimation">
<defName>normal</defName>
</FacialAnimation.HeadShapeDef>
<FacialAnimation.HeadShapeDef MayRequire="Nals.FacialAnimation">
<defName>blush</defName>
</FacialAnimation.HeadShapeDef>
</Defs>

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<FacialAnimation.LidOptionShapeDef MayRequire="Nals.FacialAnimation">
<defName>normal</defName>
</FacialAnimation.LidOptionShapeDef>
</Defs>

View File

@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<FacialAnimation.LidShapeDef MayRequire="Nals.FacialAnimation">
<defName>normal</defName>
</FacialAnimation.LidShapeDef>
<FacialAnimation.LidShapeDef MayRequire="Nals.FacialAnimation">
<defName>close</defName>
<disableEyeball>true</disableEyeball>
</FacialAnimation.LidShapeDef>
</Defs>

View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<FacialAnimation.MouthShapeDef MayRequire="Nals.FacialAnimation">
<defName>normal</defName>
</FacialAnimation.MouthShapeDef>
<FacialAnimation.MouthShapeDef MayRequire="Nals.FacialAnimation">
<defName>open</defName>
</FacialAnimation.MouthShapeDef>
</Defs>

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<FacialAnimation.SkinShapeDef MayRequire="Nals.FacialAnimation">
<defName>normal</defName>
</FacialAnimation.SkinShapeDef>
</Defs>

View File

@@ -0,0 +1,253 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<!-- 眉毛的定义 -->
<FacialAnimation.BrowTypeDef Name="ArachnaeNode_Brow" MayRequire="Nals.FacialAnimation" Abstract="True">
<texPath>ArachnaeSwarm/Things/ARA_HiveNode/Brows/Normal</texPath>
<shader>Map/Transparent</shader>
<enableUnisexTexPath>True</enableUnisexTexPath>
</FacialAnimation.BrowTypeDef>
<!-- 眼睛的定义 -->
<FacialAnimation.EyeballTypeDef Name="ArachnaeNode_EyeA" MayRequire="Nals.FacialAnimation" Abstract="True">
<texPath>ArachnaeSwarm/Things/ARA_HiveNode/Eyes/Normal</texPath>
<altMaskPath>ArachnaeSwarm/Things/ARA_HiveNode/Eyes/Common</altMaskPath>
<shader>Map/CutoutSkinOverlay</shader>
<minColor>RGB(72,222,213)</minColor>
<maxColor>RGB(72,222,213)</maxColor>
<enableUnisexTexPath>True</enableUnisexTexPath>
</FacialAnimation.EyeballTypeDef>
<FacialAnimation.EyeballTypeDef Name="ArachnaeNode_EyeB" MayRequire="Nals.FacialAnimation" Abstract="True">
<texPath>ArachnaeSwarm/Things/ARA_HiveNode/Eyes/Normal</texPath>
<altMaskPath>ArachnaeSwarm/Things/ARA_HiveNode/Eyes/Common</altMaskPath>
<shader>Map/CutoutSkinOverlay</shader>
<minColor>RGB(227,30,76)</minColor>
<maxColor>RGB(227,30,76)</maxColor>
<enableUnisexTexPath>True</enableUnisexTexPath>
</FacialAnimation.EyeballTypeDef>
<FacialAnimation.EyeballTypeDef Name="ArachnaeNode_EyeC" MayRequire="Nals.FacialAnimation" Abstract="True">
<texPath>ArachnaeSwarm/Things/ARA_HiveNode/Eyes/Normal</texPath>
<altMaskPath>ArachnaeSwarm/Things/ARA_HiveNode/Eyes/Common</altMaskPath>
<shader>Map/CutoutSkinOverlay</shader>
<minColor>RGB(30,227,76)</minColor>
<maxColor>RGB(30,227,76)</maxColor>
<enableUnisexTexPath>True</enableUnisexTexPath>
</FacialAnimation.EyeballTypeDef>
<FacialAnimation.EyeballTypeDef Name="ArachnaeNode_EyeD" MayRequire="Nals.FacialAnimation" Abstract="True">
<texPath>ArachnaeSwarm/Things/ARA_HiveNode/Eyes/Normal</texPath>
<altMaskPath>ArachnaeSwarm/Things/ARA_HiveNode/Eyes/Common</altMaskPath>
<shader>Map/CutoutSkinOverlay</shader>
<minColor>RGB(225,232,64)</minColor>
<maxColor>RGB(225,232,64)</maxColor>
<enableUnisexTexPath>True</enableUnisexTexPath>
</FacialAnimation.EyeballTypeDef>
<!-- 头的定义 -->
<FacialAnimation.HeadTypeDef Name="ArachnaeNode_Head" MayRequire="Nals.FacialAnimation" Abstract="True">
<texPath>ArachnaeSwarm/Things/ARA_HiveNode/Heads_Blank/Normal</texPath>
<shader>Map/CutoutSkin</shader>
<shaderColorOverride>Map/CutoutSkinOverride</shaderColorOverride>
<enableUnisexTexPath>True</enableUnisexTexPath>
</FacialAnimation.HeadTypeDef>
<!-- 睫毛的定义 -->
<FacialAnimation.LidTypeDef Name="ArachnaeNode_Lid" MayRequire="Nals.FacialAnimation" Abstract="True">
<texPath>ArachnaeSwarm/Things/ARA_HiveNode/Lids/Normal</texPath>
<shader>Map/Transparent</shader>
<enableUnisexTexPath>True</enableUnisexTexPath>
</FacialAnimation.LidTypeDef>
<!-- 嘴的定义 -->
<FacialAnimation.MouthTypeDef Name="ArachnaeNode_Mouth" MayRequire="Nals.FacialAnimation" Abstract="True">
<texPath>ArachnaeSwarm/Things/ARA_HiveNode/Mouth/Normal</texPath>
<shader>Map/Transparent</shader>
<enableUnisexTexPath>True</enableUnisexTexPath>
</FacialAnimation.MouthTypeDef>
<!-- 皮肤的定义 -->
<FacialAnimation.SkinTypeDef Name="ArachnaeNode_Skin" MayRequire="Nals.FacialAnimation" Abstract="True">
<texPath>ArachnaeSwarm/Things/ARA_HiveNode/Skins/Normal</texPath>
<shader>Map/CutoutSkin</shader>
<enableUnisexTexPath>True</enableUnisexTexPath>
</FacialAnimation.SkinTypeDef>
<FacialAnimation.BrowTypeDef ParentName="ArachnaeNode_Brow" MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_Race_Myrmecocystus_BrowNormal</defName>
<raceName>ArachnaeNode_Race_Myrmecocystus</raceName>
</FacialAnimation.BrowTypeDef>
<FacialAnimation.EyeballTypeDef ParentName="ArachnaeNode_EyeA" MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_Race_Myrmecocystus_EyeNormal</defName>
<raceName>ArachnaeNode_Race_Myrmecocystus</raceName>
</FacialAnimation.EyeballTypeDef>
<FacialAnimation.EyeballTypeDef ParentName="ArachnaeNode_EyeB" MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_Race_Myrmecocystus_EyeNormal2</defName>
<raceName>ArachnaeNode_Race_Myrmecocystus</raceName>
</FacialAnimation.EyeballTypeDef>
<FacialAnimation.EyeballTypeDef ParentName="ArachnaeNode_EyeC" MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_Race_Myrmecocystus_EyeNormal3</defName>
<raceName>ArachnaeNode_Race_Myrmecocystus</raceName>
</FacialAnimation.EyeballTypeDef>
<FacialAnimation.EyeballTypeDef ParentName="ArachnaeNode_EyeD" MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_Race_Myrmecocystus_EyeNormal4</defName>
<raceName>ArachnaeNode_Race_Myrmecocystus</raceName>
</FacialAnimation.EyeballTypeDef>
<FacialAnimation.HeadTypeDef ParentName="ArachnaeNode_Head" MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_Race_Myrmecocystus_HeadNormal</defName>
<raceName>ArachnaeNode_Race_Myrmecocystus</raceName>
</FacialAnimation.HeadTypeDef>
<FacialAnimation.LidTypeDef ParentName="ArachnaeNode_Lid" MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_Race_Myrmecocystus_LidNormal</defName>
<raceName>ArachnaeNode_Race_Myrmecocystus</raceName>
</FacialAnimation.LidTypeDef>
<FacialAnimation.MouthTypeDef ParentName="ArachnaeNode_Mouth" MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_Race_Myrmecocystus_MouthNormal</defName>
<raceName>ArachnaeNode_Race_Myrmecocystus</raceName>
</FacialAnimation.MouthTypeDef>
<FacialAnimation.SkinTypeDef ParentName="ArachnaeNode_Skin" MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_Race_Myrmecocystus_SkinNormal</defName>
<raceName>ArachnaeNode_Race_Myrmecocystus</raceName>
</FacialAnimation.SkinTypeDef>
<FacialAnimation.BrowTypeDef ParentName="ArachnaeNode_Brow" MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_Race_ShieldHead_BrowNormal</defName>
<raceName>ArachnaeNode_Race_ShieldHead</raceName>
</FacialAnimation.BrowTypeDef>
<FacialAnimation.EyeballTypeDef ParentName="ArachnaeNode_EyeA" MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_Race_ShieldHead_EyeNormal</defName>
<raceName>ArachnaeNode_Race_ShieldHead</raceName>
</FacialAnimation.EyeballTypeDef>
<FacialAnimation.EyeballTypeDef ParentName="ArachnaeNode_EyeB" MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_Race_ShieldHead_EyeNormal2</defName>
<raceName>ArachnaeNode_Race_ShieldHead</raceName>
</FacialAnimation.EyeballTypeDef>
<FacialAnimation.EyeballTypeDef ParentName="ArachnaeNode_EyeC" MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_Race_ShieldHead_EyeNormal3</defName>
<raceName>ArachnaeNode_Race_ShieldHead</raceName>
</FacialAnimation.EyeballTypeDef>
<FacialAnimation.EyeballTypeDef ParentName="ArachnaeNode_EyeD" MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_Race_ShieldHead_EyeNormal4</defName>
<raceName>ArachnaeNode_Race_ShieldHead</raceName>
</FacialAnimation.EyeballTypeDef>
<FacialAnimation.HeadTypeDef ParentName="ArachnaeNode_Head" MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_Race_ShieldHead_HeadNormal</defName>
<raceName>ArachnaeNode_Race_ShieldHead</raceName>
</FacialAnimation.HeadTypeDef>
<FacialAnimation.LidTypeDef ParentName="ArachnaeNode_Lid" MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_Race_ShieldHead_LidNormal</defName>
<raceName>ArachnaeNode_Race_ShieldHead</raceName>
</FacialAnimation.LidTypeDef>
<FacialAnimation.MouthTypeDef ParentName="ArachnaeNode_Mouth" MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_Race_ShieldHead_MouthNormal</defName>
<raceName>ArachnaeNode_Race_ShieldHead</raceName>
</FacialAnimation.MouthTypeDef>
<FacialAnimation.SkinTypeDef ParentName="ArachnaeNode_Skin" MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_Race_ShieldHead_SkinNormal</defName>
<raceName>ArachnaeNode_Race_ShieldHead</raceName>
</FacialAnimation.SkinTypeDef>
<FacialAnimation.BrowTypeDef ParentName="ArachnaeNode_Brow" MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_Race_WeaponSmith_BrowNormal</defName>
<raceName>ArachnaeNode_Race_WeaponSmith</raceName>
</FacialAnimation.BrowTypeDef>
<FacialAnimation.EyeballTypeDef ParentName="ArachnaeNode_EyeA" MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_Race_WeaponSmith_EyeNormal</defName>
<raceName>ArachnaeNode_Race_WeaponSmith</raceName>
</FacialAnimation.EyeballTypeDef>
<FacialAnimation.EyeballTypeDef ParentName="ArachnaeNode_EyeB" MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_Race_WeaponSmith_EyeNormal2</defName>
<raceName>ArachnaeNode_Race_WeaponSmith</raceName>
</FacialAnimation.EyeballTypeDef>
<FacialAnimation.EyeballTypeDef ParentName="ArachnaeNode_EyeC" MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_Race_WeaponSmith_EyeNormal3</defName>
<raceName>ArachnaeNode_Race_WeaponSmith</raceName>
</FacialAnimation.EyeballTypeDef>
<FacialAnimation.EyeballTypeDef ParentName="ArachnaeNode_EyeD" MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_Race_WeaponSmith_EyeNormal4</defName>
<raceName>ArachnaeNode_Race_WeaponSmith</raceName>
</FacialAnimation.EyeballTypeDef>
<FacialAnimation.HeadTypeDef ParentName="ArachnaeNode_Head" MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_Race_WeaponSmith_HeadNormal</defName>
<raceName>ArachnaeNode_Race_WeaponSmith</raceName>
</FacialAnimation.HeadTypeDef>
<FacialAnimation.LidTypeDef ParentName="ArachnaeNode_Lid" MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_Race_WeaponSmith_LidNormal</defName>
<raceName>ArachnaeNode_Race_WeaponSmith</raceName>
</FacialAnimation.LidTypeDef>
<FacialAnimation.MouthTypeDef ParentName="ArachnaeNode_Mouth" MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_Race_WeaponSmith_MouthNormal</defName>
<raceName>ArachnaeNode_Race_WeaponSmith</raceName>
</FacialAnimation.MouthTypeDef>
<FacialAnimation.SkinTypeDef ParentName="ArachnaeNode_Skin" MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_Race_WeaponSmith_SkinNormal</defName>
<raceName>ArachnaeNode_Race_WeaponSmith</raceName>
</FacialAnimation.SkinTypeDef>
<FacialAnimation.BrowTypeDef ParentName="ArachnaeNode_Brow" MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_Race_Facehugger_BrowNormal</defName>
<raceName>ArachnaeNode_Race_Facehugger</raceName>
</FacialAnimation.BrowTypeDef>
<FacialAnimation.EyeballTypeDef ParentName="ArachnaeNode_EyeA" MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_Race_Facehugger_EyeNormal</defName>
<raceName>ArachnaeNode_Race_Facehugger</raceName>
</FacialAnimation.EyeballTypeDef>
<FacialAnimation.EyeballTypeDef ParentName="ArachnaeNode_EyeB" MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_Race_Facehugger_EyeNormal2</defName>
<raceName>ArachnaeNode_Race_Facehugger</raceName>
</FacialAnimation.EyeballTypeDef>
<FacialAnimation.EyeballTypeDef ParentName="ArachnaeNode_EyeC" MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_Race_Facehugger_EyeNormal3</defName>
<raceName>ArachnaeNode_Race_Facehugger</raceName>
</FacialAnimation.EyeballTypeDef>
<FacialAnimation.EyeballTypeDef ParentName="ArachnaeNode_EyeD" MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_Race_Facehugger_EyeNormal4</defName>
<raceName>ArachnaeNode_Race_Facehugger</raceName>
</FacialAnimation.EyeballTypeDef>
<FacialAnimation.HeadTypeDef ParentName="ArachnaeNode_Head" MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_Race_Facehugger_HeadNormal</defName>
<raceName>ArachnaeNode_Race_Facehugger</raceName>
</FacialAnimation.HeadTypeDef>
<FacialAnimation.LidTypeDef ParentName="ArachnaeNode_Lid" MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_Race_Facehugger_LidNormal</defName>
<raceName>ArachnaeNode_Race_Facehugger</raceName>
</FacialAnimation.LidTypeDef>
<FacialAnimation.MouthTypeDef ParentName="ArachnaeNode_Mouth" MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_Race_Facehugger_MouthNormal</defName>
<raceName>ArachnaeNode_Race_Facehugger</raceName>
</FacialAnimation.MouthTypeDef>
<FacialAnimation.SkinTypeDef ParentName="ArachnaeNode_Skin" MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_Race_Facehugger_SkinNormal</defName>
<raceName>ArachnaeNode_Race_Facehugger</raceName>
</FacialAnimation.SkinTypeDef>
<FacialAnimation.BrowTypeDef ParentName="ArachnaeNode_Brow" MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_Race_Fighter_BrowNormal</defName>
<raceName>ArachnaeNode_Race_Fighter</raceName>
</FacialAnimation.BrowTypeDef>
<FacialAnimation.EyeballTypeDef ParentName="ArachnaeNode_EyeA" MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_Race_Fighter_EyeNormal</defName>
<raceName>ArachnaeNode_Race_Fighter</raceName>
</FacialAnimation.EyeballTypeDef>
<FacialAnimation.EyeballTypeDef ParentName="ArachnaeNode_EyeB" MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_Race_Fighter_EyeNormal2</defName>
<raceName>ArachnaeNode_Race_Fighter</raceName>
</FacialAnimation.EyeballTypeDef>
<FacialAnimation.EyeballTypeDef ParentName="ArachnaeNode_EyeC" MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_Race_Fighter_EyeNormal3</defName>
<raceName>ArachnaeNode_Race_Fighter</raceName>
</FacialAnimation.EyeballTypeDef>
<FacialAnimation.EyeballTypeDef ParentName="ArachnaeNode_EyeD" MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_Race_Fighter_EyeNormal4</defName>
<raceName>ArachnaeNode_Race_Fighter</raceName>
</FacialAnimation.EyeballTypeDef>
<FacialAnimation.HeadTypeDef ParentName="ArachnaeNode_Head" MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_Race_Fighter_HeadNormal</defName>
<raceName>ArachnaeNode_Race_Fighter</raceName>
</FacialAnimation.HeadTypeDef>
<FacialAnimation.LidTypeDef ParentName="ArachnaeNode_Lid" MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_Race_Fighter_LidNormal</defName>
<raceName>ArachnaeNode_Race_Fighter</raceName>
</FacialAnimation.LidTypeDef>
<FacialAnimation.MouthTypeDef ParentName="ArachnaeNode_Mouth" MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_Race_Fighter_MouthNormal</defName>
<raceName>ArachnaeNode_Race_Fighter</raceName>
</FacialAnimation.MouthTypeDef>
<FacialAnimation.SkinTypeDef ParentName="ArachnaeNode_Skin" MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_Race_Fighter_SkinNormal</defName>
<raceName>ArachnaeNode_Race_Fighter</raceName>
</FacialAnimation.SkinTypeDef>
</Defs>

View File

@@ -0,0 +1,75 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<FactionDef ParentName="PlayerFactionBase">
<defName>ARA_New_Hive</defName>
<label>阿拉克涅虫巢</label>
<description>一个新的阿拉克涅虫巢。</description>
<isPlayer>true</isPlayer>
<basicMemberKind>Colonist</basicMemberKind>
<pawnSingular>colonist</pawnSingular>
<pawnsPlural>colonists</pawnsPlural>
<techLevel>Animal</techLevel>
<backstoryFilters>
<li>
<categories>
<li>Offworld</li>
</categories>
</li>
</backstoryFilters>
<!-- 命名规则 -->
<factionNameMaker>ARA_New_Hive_NamerFaction</factionNameMaker>
<settlementNameMaker>NamerSettlementOutlander</settlementNameMaker>
<allowedCultures><li>Astropolitan</li></allowedCultures>
<factionIconPath>World/WorldObjects/Expanding/Town</factionIconPath>
<startingResearchTags>
<li>TribalStart</li>
</startingResearchTags>
<startingTechprintsResearchTags>
<li>TribalStart</li>
<li>TribalStartTechprints</li>
</startingTechprintsResearchTags>
<!-- 指定初始衣物的材质 -->
<apparelStuffFilter>
<thingDefs>
<li>Cloth</li>
</thingDefs>
</apparelStuffFilter>
</FactionDef>
<RulePackDef>
<defName>ARA_New_Hive_NamerFaction</defName>
<rulePack>
<rulesStrings>
<li>r_name->[msyl] [hivename]</li>
<li>hivename->虫巢</li>
<li>msyl->伊尔瓦巴</li>
<li>msyl->赞诺瓦</li>
<li>msyl->比丘</li>
<li>msyl->珀尔迪达</li>
<li>msyl->西萨力克</li>
<li>msyl->希莱克</li>
<li>msyl->切利斯</li>
<li>msyl->韦恩娜</li>
<li>msyl->卡索恩</li>
<li>msyl->卓尔克</li>
<li>msyl->叩科马</li>
<li>msyl->阿琳</li>
<li>msyl->杜布罗格那格</li>
<li>msyl->伊塔克</li>
<li>msyl->代德申科</li>
<li>msyl->鲍特罗</li>
<li>msyl->弗尔特维尔</li>
<li>msyl->捷库阿</li>
<li>msyl->克里斯特森</li>
<li>msyl->巴恩斯</li>
<li>msyl->伊瑞希尔</li>
<li>msyl->新瓷器</li>
<li>msyl->哈德斯</li>
<li>msyl->伊弗尔</li>
<li>msyl->阿切斯塔</li>
<li>msyl->欧德斯</li>
<li>msyl->伊拉戴尔夫</li>
</rulesStrings>
</rulePack>
</RulePackDef>
</Defs>

View File

@@ -0,0 +1,34 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<!-- North Frames -->
<GraphicStateDef><defName>ARA_FlyNorth_0</defName><defaultGraphicData><graphicClass>Graphic_Single</graphicClass><texPath>Things/Pawn/Animal/Goose/Goose_Flying_1_north</texPath><drawSize>1.35</drawSize></defaultGraphicData></GraphicStateDef>
<GraphicStateDef><defName>ARA_FlyNorth_1</defName><defaultGraphicData><graphicClass>Graphic_Single</graphicClass><texPath>Things/Pawn/Animal/Goose/Goose_Flying_2_north</texPath><drawSize>1.35</drawSize></defaultGraphicData></GraphicStateDef>
<GraphicStateDef><defName>ARA_FlyNorth_2</defName><defaultGraphicData><graphicClass>Graphic_Single</graphicClass><texPath>Things/Pawn/Animal/Goose/Goose_Flying_3_north</texPath><drawSize>1.35</drawSize></defaultGraphicData></GraphicStateDef>
<GraphicStateDef><defName>ARA_FlyNorth_3</defName><defaultGraphicData><graphicClass>Graphic_Single</graphicClass><texPath>Things/Pawn/Animal/Goose/Goose_Flying_4_north</texPath><drawSize>1.35</drawSize></defaultGraphicData></GraphicStateDef>
<GraphicStateDef><defName>ARA_FlyNorth_4</defName><defaultGraphicData><graphicClass>Graphic_Single</graphicClass><texPath>Things/Pawn/Animal/Goose/Goose_Flying_5_north</texPath><drawSize>1.35</drawSize></defaultGraphicData></GraphicStateDef>
<GraphicStateDef><defName>ARA_FlyNorth_5</defName><defaultGraphicData><graphicClass>Graphic_Single</graphicClass><texPath>Things/Pawn/Animal/Goose/Goose_Flying_6_north</texPath><drawSize>1.35</drawSize></defaultGraphicData></GraphicStateDef>
<GraphicStateDef><defName>ARA_FlyNorth_6</defName><defaultGraphicData><graphicClass>Graphic_Single</graphicClass><texPath>Things/Pawn/Animal/Goose/Goose_Flying_7_north</texPath><drawSize>1.35</drawSize></defaultGraphicData></GraphicStateDef>
<GraphicStateDef><defName>ARA_FlyNorth_7</defName><defaultGraphicData><graphicClass>Graphic_Single</graphicClass><texPath>Things/Pawn/Animal/Goose/Goose_Flying_8_north</texPath><drawSize>1.35</drawSize></defaultGraphicData></GraphicStateDef>
<!-- East Frames -->
<GraphicStateDef><defName>ARA_FlyEast_0</defName><defaultGraphicData><graphicClass>Graphic_Single</graphicClass><texPath>Things/Pawn/Animal/Goose/Goose_Flying_1_east</texPath><drawSize>1.35</drawSize></defaultGraphicData></GraphicStateDef>
<GraphicStateDef><defName>ARA_FlyEast_1</defName><defaultGraphicData><graphicClass>Graphic_Single</graphicClass><texPath>Things/Pawn/Animal/Goose/Goose_Flying_2_east</texPath><drawSize>1.35</drawSize></defaultGraphicData></GraphicStateDef>
<GraphicStateDef><defName>ARA_FlyEast_2</defName><defaultGraphicData><graphicClass>Graphic_Single</graphicClass><texPath>Things/Pawn/Animal/Goose/Goose_Flying_3_east</texPath><drawSize>1.35</drawSize></defaultGraphicData></GraphicStateDef>
<GraphicStateDef><defName>ARA_FlyEast_3</defName><defaultGraphicData><graphicClass>Graphic_Single</graphicClass><texPath>Things/Pawn/Animal/Goose/Goose_Flying_4_east</texPath><drawSize>1.35</drawSize></defaultGraphicData></GraphicStateDef>
<GraphicStateDef><defName>ARA_FlyEast_4</defName><defaultGraphicData><graphicClass>Graphic_Single</graphicClass><texPath>Things/Pawn/Animal/Goose/Goose_Flying_5_east</texPath><drawSize>1.35</drawSize></defaultGraphicData></GraphicStateDef>
<GraphicStateDef><defName>ARA_FlyEast_5</defName><defaultGraphicData><graphicClass>Graphic_Single</graphicClass><texPath>Things/Pawn/Animal/Goose/Goose_Flying_6_east</texPath><drawSize>1.35</drawSize></defaultGraphicData></GraphicStateDef>
<GraphicStateDef><defName>ARA_FlyEast_6</defName><defaultGraphicData><graphicClass>Graphic_Single</graphicClass><texPath>Things/Pawn/Animal/Goose/Goose_Flying_7_east</texPath><drawSize>1.35</drawSize></defaultGraphicData></GraphicStateDef>
<GraphicStateDef><defName>ARA_FlyEast_7</defName><defaultGraphicData><graphicClass>Graphic_Single</graphicClass><texPath>Things/Pawn/Animal/Goose/Goose_Flying_8_east</texPath><drawSize>1.35</drawSize></defaultGraphicData></GraphicStateDef>
<!-- South Frames -->
<GraphicStateDef><defName>ARA_FlySouth_0</defName><defaultGraphicData><graphicClass>Graphic_Single</graphicClass><texPath>Things/Pawn/Animal/Goose/Goose_Flying_1_south</texPath><drawSize>1.35</drawSize></defaultGraphicData></GraphicStateDef>
<GraphicStateDef><defName>ARA_FlySouth_1</defName><defaultGraphicData><graphicClass>Graphic_Single</graphicClass><texPath>Things/Pawn/Animal/Goose/Goose_Flying_2_south</texPath><drawSize>1.35</drawSize></defaultGraphicData></GraphicStateDef>
<GraphicStateDef><defName>ARA_FlySouth_2</defName><defaultGraphicData><graphicClass>Graphic_Single</graphicClass><texPath>Things/Pawn/Animal/Goose/Goose_Flying_3_south</texPath><drawSize>1.35</drawSize></defaultGraphicData></GraphicStateDef>
<GraphicStateDef><defName>ARA_FlySouth_3</defName><defaultGraphicData><graphicClass>Graphic_Single</graphicClass><texPath>Things/Pawn/Animal/Goose/Goose_Flying_4_south</texPath><drawSize>1.35</drawSize></defaultGraphicData></GraphicStateDef>
<GraphicStateDef><defName>ARA_FlySouth_4</defName><defaultGraphicData><graphicClass>Graphic_Single</graphicClass><texPath>Things/Pawn/Animal/Goose/Goose_Flying_5_south</texPath><drawSize>1.35</drawSize></defaultGraphicData></GraphicStateDef>
<GraphicStateDef><defName>ARA_FlySouth_5</defName><defaultGraphicData><graphicClass>Graphic_Single</graphicClass><texPath>Things/Pawn/Animal/Goose/Goose_Flying_6_south</texPath><drawSize>1.35</drawSize></defaultGraphicData></GraphicStateDef>
<GraphicStateDef><defName>ARA_FlySouth_6</defName><defaultGraphicData><graphicClass>Graphic_Single</graphicClass><texPath>Things/Pawn/Animal/Goose/Goose_Flying_7_south</texPath><drawSize>1.35</drawSize></defaultGraphicData></GraphicStateDef>
<GraphicStateDef><defName>ARA_FlySouth_7</defName><defaultGraphicData><graphicClass>Graphic_Single</graphicClass><texPath>Things/Pawn/Animal/Goose/Goose_Flying_8_south</texPath><drawSize>1.35</drawSize></defaultGraphicData></GraphicStateDef>
</Defs>

View File

@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<Defs>
<!--<HairDef>
<defName>ARA_Scattered_Hair_Long</defName>
<label>散发(长)</label>
<hairGender>Female</hairGender>
<texPath>ArachnaeSwarm/Hair/ARA_Scattered_Hair_Long</texPath>
<category>ARA_HiveNode_Style</category>
<styleTags>
<li>ARA_HiveNode_Style</li>
</styleTags>
</HairDef>-->
</Defs>

View File

@@ -12,7 +12,7 @@
<HeadTypeDef ParentName="ARA_FemaleHeadtypeBase">
<defName>ARA_QUEEN_Female_AverageNormalA</defName>
<graphicPath>Textures/Pawns/General/Invisible/Inv</graphicPath>
<graphicPath>ArachnaeSwarm/Things/General/Invisible/Inv</graphicPath>
</HeadTypeDef>

View File

@@ -2,8 +2,8 @@
<Defs>
<HediffDef>
<defName>ARA_AcidCoverd</defName>
<label>阿拉克涅</label>
<description>一支拥有酸囊的阿拉克涅虫族向此人喷射了强酸,沾染的强酸将使得此人痛不欲生,盔甲和表皮软化,并持续灼烧它的身体。</description>
<label>阿拉克涅</label>
<description>一支拥有酸囊的阿拉克涅虫族向此人喷射了强酸,沾染的液体将使得此人痛不欲生,盔甲和表皮软化,并持续灼烧它的身体。</description>
<defaultLabelColor>(1, 1, 0.8)</defaultLabelColor>
<hediffClass>ArachnaeSwarm.HediffCurseFlame</hediffClass>
<comps>
@@ -18,7 +18,7 @@
<modExtensions>
<li Class="ArachnaeSwarm.CurseFlameModExt">
<damageDefName>AcidBurn</damageDefName>
<damageRange>1~5</damageRange>
<damageRange>1~2</damageRange>
<damageIntervalTicks>40</damageIntervalTicks>
</li>
</modExtensions>

View File

@@ -2,30 +2,47 @@
<Defs>
<HediffDef>
<defName>ARA_HiveMindMaster</defName>
<label>阿拉克涅主巢</label>
<description>虫群意识的中心节点, 作为主脑统御整个阿拉克涅虫群.</description>
<label>阿拉克涅女皇种</label>
<description>阿拉克涅女皇种是虫群意识的中心节点, 作为主脑统御整个阿拉克涅虫群。其体内拥有大量未分化的修复细胞,可以以常人无法想象的速度自行治愈所有的创伤。</description>
<hediffClass>ArachnaeSwarm.Hediff_HiveMindMaster</hediffClass>
<defaultLabelColor>(0.8, 0.3, 0.8)</defaultLabelColor>
<isBad>false</isBad>
<scenarioCanAdd>true</scenarioCanAdd>
<scenarioCanAdd>false</scenarioCanAdd>
<maxSeverity>100</maxSeverity>
<comps>
<li Class="ArachnaeSwarm.HediffCompProperties_HiveMindMaster">
<scanIntervalTicks>3200</scanIntervalTicks>
</li>
</comps>
<stages>
<li>
<label>连接至 {0} 个虫群工蜂</label>
<minSeverity>0</minSeverity>
<foodPoisoningChanceFactor>0</foodPoisoningChanceFactor>
<regeneration>500</regeneration>
<!-- Stat offsets will be added here later -->
<disablesNeeds>
<li>Joy</li>
<li>Beauty</li>
<li>Comfort</li>
<li>Outdoors</li>
<li>Chemical_Alcohol</li>
</disablesNeeds>
<enablesNeeds>
<li>Indoors</li>
</enablesNeeds>
</li>
</stages>
</HediffDef>
<HediffDef>
<defName>ARA_HiveMindDrone</defName>
<label>阿拉克涅工蜂</label>
<description>阿拉克涅工蜂通过心灵与阿拉克涅女皇种相链接。如果女皇死亡,工蜂也将停止生命活动。</description>
<label>阿拉克涅督虫</label>
<description>阿拉克涅督虫通过心灵与阿拉克涅女皇种相链接。如果女皇死亡,督虫也将停止生命活动。</description>
<hediffClass>ArachnaeSwarm.Hediff_HiveMindDrone</hediffClass>
<defaultLabelColor>(0.6, 0.4, 0.8)</defaultLabelColor>
<isBad>false</isBad>
<scenarioCanAdd>true</scenarioCanAdd>
<scenarioCanAdd>false</scenarioCanAdd>
<comps>
<li Class="ArachnaeSwarm.HediffCompProperties_HiveMindDrone">
<unlinkedDieDelayTicks>6400</unlinkedDieDelayTicks> <!-- Default to 30 seconds -->
@@ -33,10 +50,38 @@
<li Class="HediffCompProperties_MessageAfterTicks">
<ticks>1</ticks>
<letterLabel>{0_labelShort} 诞生</letterLabel>
<letterText>一只新的阿拉克涅督虫 {0_labelShort} 已经破茧而出!她正在四处徘徊,等待女皇种与其建立链接——使用阿拉克涅女皇种的信息素标记技能完成链接,否则督虫将在一段时间后死亡!</letterText>
<letterText>一只新的阿拉克涅督虫 {0_labelShort} 已经破茧而出!她正在四处徘徊,等待女皇种的指示——使用阿拉克涅女皇种的信息素标记技能完成链接,或者等待其自行建立链接。</letterText>
<letterType>HumanPregnancy</letterType>
</li>
</comps>
<stages>
<li>
<minSeverity>0</minSeverity>
<foodPoisoningChanceFactor>0</foodPoisoningChanceFactor>
<disablesNeeds>
<li>Mood</li>
<li>Joy</li>
<li>Beauty</li>
<li>Comfort</li>
<li>Outdoors</li>
<li>Indoors</li>
<li>DrugDesire</li>
<li>RoomSize</li>
</disablesNeeds>
</li>
</stages>
</HediffDef>
<HediffDef>
<defName>ARA_HiveMindWorker</defName>
<label>阿拉克涅辅虫</label>
<description>阿拉克涅辅虫通过心灵与阿拉克涅督虫种相链接。如果督虫死亡,辅虫也将停止生命活动。</description>
<hediffClass>HediffWithComps</hediffClass>
<defaultLabelColor>(0.6, 0.4, 0.8)</defaultLabelColor>
<isBad>false</isBad>
<scenarioCanAdd>false</scenarioCanAdd>
<comps>
</comps>
<stages>
</stages>
</HediffDef>

View File

@@ -0,0 +1,92 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<HediffDef>
<defName>ARA_Possession</defName>
<label>阿拉克涅原虫</label>
<description>这个生物的身体被阿拉克涅原虫所夺取了,这具身体原本的主人已经没有可能再回来了。</description>
<hediffClass>ArachnaeSwarm.Hediff_Possession</hediffClass>
<defaultLabelColor>(0.6, 0.4, 0.8)</defaultLabelColor>
<isBad>false</isBad>
<scenarioCanAdd>false</scenarioCanAdd>
<maxSeverity>1.0</maxSeverity>
<renderNodeProperties>
<li>
<nodeClass>PawnRenderNode_AttachmentHead</nodeClass>
<workerClass>PawnRenderNodeWorker_FlipWhenCrawling</workerClass>
<texPath>ArachnaeSwarm/Things/ARA_HiveNode/Addons/ArachnaeNode_Race_Addons_Facehugger_Upperhead</texPath>
<parentTagDef>Head</parentTagDef>
<useSkinShader>false</useSkinShader>
<useRottenColor>false</useRottenColor>
<rotDrawMode>Fresh, Rotting</rotDrawMode>
<drawSize>0.85</drawSize>
<drawData>
<dataNorth>
<offset>(0, 0, 0.2)</offset>
</dataNorth>
<dataEast>
<offset>(0, 0, 0.2)</offset>
</dataEast>
<dataSouth>
<offset>(0, 0, 0.2)</offset>
</dataSouth>
<dataWest>
<offset>(0, 0, 0.2)</offset>
</dataWest>
<defaultData>
<layer>800</layer>
</defaultData>
</drawData>
</li>
</renderNodeProperties>
<stages>
<li>
<minSeverity>0</minSeverity>
<disablesNeeds>
<li>Mood</li>
<li>Joy</li>
<li>Beauty</li>
<li>Comfort</li>
<li>Outdoors</li>
<li>Indoors</li>
<li>DrugDesire</li>
<li>RoomSize</li>
</disablesNeeds>
</li>
</stages>
<comps>
<li Class="HediffCompProperties_DisappearsOnDeath"/>
</comps>
</HediffDef>
<HediffDef>
<defName>ARA_Facehugger_LowOperation</defName>
<label>阿拉克涅原虫</label>
<description>脱离了宿主的阿拉克涅原虫不仅非常脆弱,其小小的身躯也无法让其承担专业性工作。</description>
<hediffClass>ArachnaeSwarm.Hediff_Possession</hediffClass>
<defaultLabelColor>(0.6, 0.4, 0.8)</defaultLabelColor>
<isBad>false</isBad>
<scenarioCanAdd>false</scenarioCanAdd>
<maxSeverity>1.0</maxSeverity>
<stages>
<li>
<capMods>
<!-- <li>
<capacity>Consciousness</capacity>
<setMax>0.3</setMax>
</li> -->
<li>
<capacity>Talking</capacity>
<setMax>0</setMax>
</li>
<li>
<capacity>Manipulation</capacity>
<setMax>0.2</setMax>
</li>
<li>
<capacity>Moving</capacity>
<setMax>0.25</setMax>
</li>
</capMods>
</li>
</stages>
</HediffDef>
</Defs>

View File

@@ -0,0 +1,47 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<HediffDef>
<defName>ARA_TemperatureRegulation</defName>
<label>冷血动物</label>
<description>阿拉克涅虫族是冷血动物,这代表着她们对外界的温度变化更加敏感——在适宜温度下她们将变得敏捷而致命,在不适温度下她们将难以行动。\n\n此类阿拉克涅虫族可以接受在16~26°C的温度下活动温度接近21°C时会获得额外的意识加成。</description>
<hediffClass>Hediff_High</hediffClass>
<defaultLabelColor>(0.6, 0.8, 0.9)</defaultLabelColor>
<maxSeverity>1.0</maxSeverity>
<minSeverity>-0.01</minSeverity>
<initialSeverity>0.5</initialSeverity>
<comps>
<li Class="ArachnaeSwarm.HediffCompProperties_Temperature">
<minComfortableTemperature>16</minComfortableTemperature>
<maxComfortableTemperature>26</maxComfortableTemperature>
<severityChangeIn>0.01</severityChangeIn>
<severityChangeOut>-0.01</severityChangeOut>
</li>
</comps>
<stages>
<li>
<minSeverity>0</minSeverity>
<label>不适</label>
<capMods>
<li>
<capacity>Consciousness</capacity>
<offset>-0.5</offset>
</li>
</capMods>
</li>
<li>
<minSeverity>0.4</minSeverity>
<label>适应</label>
</li>
<li>
<minSeverity>0.8</minSeverity>
<label>舒适</label>
<capMods>
<li>
<capacity>Consciousness</capacity>
<offset>0.25</offset>
</li>
</capMods>
</li>
</stages>
</HediffDef>
</Defs>

View File

@@ -0,0 +1,25 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<JobDef>
<defName>ARA_StartInteractiveProduction</defName>
<driverClass>ArachnaeSwarm.JobDriver_StartProduction</driverClass>
<reportString>正在启动孵化 TargetA.</reportString>
<allowOpportunisticPrefix>true</allowOpportunisticPrefix>
</JobDef>
<JobDef>
<defName>ARA_AddToQueueJob</defName>
<driverClass>ArachnaeSwarm.JobDriver_AddToQueue</driverClass>
<reportString>正在添加虫族孵化订单。</reportString>
<allowOpportunisticPrefix>true</allowOpportunisticPrefix>
</JobDef>
<JobDef>
<defName>ARA_AddProcessToQueueJob</defName>
<driverClass>ArachnaeSwarm.JobDriver_AddProcessToQueue</driverClass>
<reportString>正在添加物品孵化订单。</reportString>
<allowOpportunisticPrefix>true</allowOpportunisticPrefix>
</JobDef>
</Defs>

View File

@@ -12,11 +12,6 @@
<maxGenerationAge>30</maxGenerationAge>
<minGenerationAge>10</minGenerationAge>
<canBeScattered>false</canBeScattered>
<abilities>
<li>ARA_EggSpew</li>
<li>ARA_AcidSprayBurst</li>
<li>ARA_BindDrone</li>
</abilities>
<xenotypeSet>
<xenotypeChances>
@@ -40,13 +35,19 @@
</requiredWorkTags>
<startingHediffs>
</startingHediffs>
<moveSpeedFactorByTerrainTag>
<li>
<key>ARA_Creep</key>
<value>2.0</value>
</li>
</moveSpeedFactorByTerrainTag>
</PawnKindDef>
<PawnKindDef Name="ArachnaeQueen_Colonist" ParentName="ArachnaeQueenBasePawnKind">
<defName>ARA_ArachnaeQueen</defName>
<label>阿拉克涅女皇种</label>
<race>ArachnaeQueen_Race</race>
<defaultFactionType>PlayerColony</defaultFactionType>
<invNutrition>2.55</invNutrition>
<invNutrition>0</invNutrition>
<backstoryFiltersOverride>
<li>
<categories>
@@ -72,8 +73,6 @@
<maxGenerationAge>30</maxGenerationAge>
<minGenerationAge>10</minGenerationAge>
<canBeScattered>false</canBeScattered>
<abilities>
</abilities>
<xenotypeSet>
<xenotypeChances>
@@ -97,23 +96,274 @@
</requiredWorkTags>
<startingHediffs>
</startingHediffs>
<moveSpeedFactorByTerrainTag>
<li>
<key>ARA_Creep</key>
<value>2.0</value>
</li>
</moveSpeedFactorByTerrainTag>
</PawnKindDef>
<PawnKindDef Name="ArachnaeNodeA_Colonist" ParentName="ArachnaeNodeABasePawnKind">
<PawnKindDef ParentName="ArachnaeNodeABasePawnKind">
<defName>ArachnaeNode_Race_Myrmecocystus</defName>
<label>阿拉克涅督虫</label>
<label>阿拉克涅蜜罐</label>
<race>ArachnaeNode_Race_Myrmecocystus</race>
<defaultFactionType>PlayerColony</defaultFactionType>
<invNutrition>2.55</invNutrition>
<invNutrition>0</invNutrition>
<backstoryFiltersOverride>
<li>
<categories>
<li>ArachnaeNode_spawnCategoriesA</li>
<li>ArachnaeNode_spawnCategoriesB</li>
<li>ArachnaeNode_spawnCategories_Myrmecocystus</li>
</categories>
</li>
</backstoryFiltersOverride>
<abilities>
<li>ARA_AcidSprayBurst</li>
</abilities>
<apparelTags>
</apparelTags>
<apparelMoney>0</apparelMoney>
</PawnKindDef>
<PawnKindDef ParentName="ArachnaeNodeABasePawnKind">
<defName>ArachnaeNode_Race_ShieldHead</defName>
<label>阿拉克涅盾头种</label>
<race>ArachnaeNode_Race_ShieldHead</race>
<defaultFactionType>PlayerColony</defaultFactionType>
<invNutrition>0</invNutrition>
<backstoryFiltersOverride>
<li>
<categories>
<li>ArachnaeNode_spawnCategoriesA</li>
<li>ArachnaeNode_spawnCategories_ShieldHead</li>
</categories>
</li>
</backstoryFiltersOverride>
<apparelTags>
</apparelTags>
<apparelMoney>0</apparelMoney>
<abilities>
<li>ARA_Ability_TrackingCharge</li>
</abilities>
</PawnKindDef>
</Defs>
<PawnKindDef ParentName="ArachnaeNodeABasePawnKind">
<defName>ArachnaeNode_Race_WeaponSmith</defName>
<label>阿拉克涅工艺种</label>
<race>ArachnaeNode_Race_WeaponSmith</race>
<defaultFactionType>PlayerColony</defaultFactionType>
<invNutrition>0</invNutrition>
<backstoryFiltersOverride>
<li>
<categories>
<li>ArachnaeNode_spawnCategoriesA</li>
<li>ArachnaeNode_spawnCategories_WeaponSmith</li>
</categories>
</li>
</backstoryFiltersOverride>
<abilities>
<li>ARA_BioforgeIncubator_ClothBase</li>
<li>ARA_BioforgeIncubator_AcidBase</li>
<li>ARA_BioforgeIncubator_ToxicNeedleBase</li>
<li>ARA_BioforgeIncubator_BoneBase</li>
</abilities>
<apparelTags>
</apparelTags>
<apparelMoney>0</apparelMoney>
</PawnKindDef>
<PawnKindDef ParentName="ArachnaeNodeABasePawnKind">
<defName>ArachnaeNode_Race_Facehugger</defName>
<label>阿拉克涅原虫种</label>
<race>ArachnaeNode_Race_Facehugger</race>
<defaultFactionType>PlayerColony</defaultFactionType>
<invNutrition>0</invNutrition>
<backstoryFiltersOverride>
<li>
<categories>
<li>ArachnaeNode_spawnCategoriesA</li>
<li>ArachnaeNode_spawnCategories_Facehugger</li>
</categories>
</li>
</backstoryFiltersOverride>
<abilities>
<li>ARA_Ability_Possess</li>
</abilities>
<apparelTags>
</apparelTags>
<apparelMoney>0</apparelMoney>
</PawnKindDef>
<PawnKindDef ParentName="ArachnaeNodeABasePawnKind">
<defName>ArachnaeNode_Race_Fighter</defName>
<label>阿拉克涅战士种</label>
<race>ArachnaeNode_Race_Fighter</race>
<defaultFactionType>PlayerColony</defaultFactionType>
<invNutrition>0</invNutrition>
<backstoryFiltersOverride>
<li>
<categories>
<li>ArachnaeNode_spawnCategoriesA</li>
<li>ArachnaeNode_spawnCategories_Fighter</li>
</categories>
</li>
</backstoryFiltersOverride>
<abilities>
<li>ARA_BaseRace_Acid_Launcher</li>
<li>ARA_AcidSprayBurst</li>
<li>ARA_Toxic_Needle_Fire</li>
</abilities>
<apparelTags>
</apparelTags>
<apparelMoney>0</apparelMoney>
</PawnKindDef>
<PawnKindDef ParentName="ArachnaeNodeABasePawnKind">
<defName>ArachnaeNode_Race_Skyraider</defName>
<label>阿拉克涅空天种</label>
<race>ArachnaeNode_Race_Skyraider</race>
<defaultFactionType>PlayerColony</defaultFactionType>
<invNutrition>0</invNutrition>
<flyingAnimationFramePathPrefix>Things/Pawn/Animal/Goose/Goose_Flying_</flyingAnimationFramePathPrefix>
<flyingAnimationDrawSize>1.35</flyingAnimationDrawSize>
<flyingAnimationFrameCount>2</flyingAnimationFrameCount>
<flyingAnimationTicksPerFrame>2</flyingAnimationTicksPerFrame>
<flyingAnimationInheritColors>false</flyingAnimationInheritColors>
<backstoryFiltersOverride>
<li>
<categories>
<li>ArachnaeNode_spawnCategoriesA</li>
<li>ArachnaeNode_spawnCategories_Fighter</li>
</categories>
</li>
</backstoryFiltersOverride>
<abilities>
<li>ARA_BaseRace_Acid_Launcher</li>
<li>ARA_AcidSprayBurst</li>
<li>ARA_Toxic_Needle_Fire</li>
</abilities>
<apparelTags>
</apparelTags>
<apparelMoney>0</apparelMoney>
</PawnKindDef>
<PawnKindDef Name="ARA_InsectKindBase" ParentName="AnimalKindBase" Abstract="True">
<defaultFactionType>PlayerColony</defaultFactionType>
<canArriveManhunter>false</canArriveManhunter>
<forceDeathOnDowned>true</forceDeathOnDowned>
<forceNoDeathNotification>true</forceNoDeathNotification>
<combatPower>75</combatPower>
<ecoSystemWeight>0</ecoSystemWeight>
<moveSpeedFactorByTerrainTag>
<li>
<key>ARA_Creep</key>
<value>2.0</value>
</li>
</moveSpeedFactorByTerrainTag>
</PawnKindDef>
<!--<PawnKindDef ParentName="ARA_InsectKindBase">
<defName>ArachnaeBase_Race_Slavey</defName>
<label>阿拉克涅苦役种</label>
<race>ArachnaeBase_Race_Slavey</race>
<lifeStages>
<li>
<bodyGraphicData>
<texPath>Things/Pawn/Animal/Spelopede/Spelopede</texPath>
<drawSize>1</drawSize>
<color>(156,148,125)</color>
<shadowData>
<volume>(0.4, 0.5, 0.37)</volume>
<offset>(0,0,-0.15)</offset>
</shadowData>
</bodyGraphicData>
<dessicatedBodyGraphicData>
<texPath>Things/Pawn/Animal/Spelopede/Dessicated_Spelopede</texPath>
<drawSize>1</drawSize>
</dessicatedBodyGraphicData>
</li>
</lifeStages>
</PawnKindDef>-->
<PawnKindDef ParentName="ARA_InsectKindBase">
<defName>ArachnaeBase_Race_Scavenger</defName>
<label>阿拉克涅食腐种</label>
<race>ArachnaeBase_Race_Scavenger</race>
<lifeStages>
<li>
<bodyGraphicData>
<texPath>Things/Pawn/Animal/Spelopede/Spelopede</texPath>
<drawSize>1</drawSize>
<color>(156,148,125)</color>
<shadowData>
<volume>(0.4, 0.5, 0.37)</volume>
<offset>(0,0,-0.15)</offset>
</shadowData>
</bodyGraphicData>
<dessicatedBodyGraphicData>
<texPath>Things/Pawn/Animal/Spelopede/Dessicated_Spelopede</texPath>
<drawSize>1</drawSize>
</dessicatedBodyGraphicData>
</li>
</lifeStages>
</PawnKindDef>
<PawnKindDef ParentName="ARA_InsectKindBase">
<defName>ArachnaeBase_Race_HardJaw</defName>
<label>阿拉克涅坚颚种</label>
<race>ArachnaeBase_Race_HardJaw</race>
<lifeStages>
<li>
<bodyGraphicData>
<texPath>Things/Pawn/Animal/Spelopede/Spelopede</texPath>
<drawSize>1</drawSize>
<color>(156,148,125)</color>
<shadowData>
<volume>(0.4, 0.5, 0.37)</volume>
<offset>(0,0,-0.15)</offset>
</shadowData>
</bodyGraphicData>
<dessicatedBodyGraphicData>
<texPath>Things/Pawn/Animal/Spelopede/Dessicated_Spelopede</texPath>
<drawSize>1</drawSize>
</dessicatedBodyGraphicData>
</li>
</lifeStages>
</PawnKindDef>
<PawnKindDef ParentName="ARA_InsectKindBase">
<defName>ArachnaeBase_Race_Acid</defName>
<label>阿拉克涅酸噬种</label>
<race>ArachnaeBase_Race_Acid</race>
<lifeStages>
<li>
<bodyGraphicData>
<texPath>Things/Pawn/Animal/Spelopede/Spelopede</texPath>
<drawSize>1</drawSize>
<color>(156,148,125)</color>
<shadowData>
<volume>(0.4, 0.5, 0.37)</volume>
<offset>(0,0,-0.15)</offset>
</shadowData>
</bodyGraphicData>
<dessicatedBodyGraphicData>
<texPath>Things/Pawn/Animal/Spelopede/Dessicated_Spelopede</texPath>
<drawSize>1</drawSize>
</dessicatedBodyGraphicData>
</li>
</lifeStages>
</PawnKindDef>
<PawnKindDef ParentName="ARA_InsectKindBase">
<defName>ArachnaeBase_Race_Maid</defName>
<label>阿拉克涅家政种</label>
<race>ArachnaeBase_Race_Maid</race>
<lifeStages>
<li>
<bodyGraphicData>
<texPath>Things/Pawn/Animal/Spelopede/Spelopede</texPath>
<drawSize>1</drawSize>
<color>(156,148,125)</color>
<shadowData>
<volume>(0.4, 0.5, 0.37)</volume>
<offset>(0,0,-0.15)</offset>
</shadowData>
</bodyGraphicData>
<dessicatedBodyGraphicData>
<texPath>Things/Pawn/Animal/Spelopede/Dessicated_Spelopede</texPath>
<drawSize>1</drawSize>
</dessicatedBodyGraphicData>
</li>
</lifeStages>
</PawnKindDef>
</Defs>

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<PawnRenderNodeTagDef>
<defName>ARA_Flight_Attachment</defName>
</PawnRenderNodeTagDef>
</Defs>

View File

@@ -0,0 +1,159 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<PawnRenderTreeDef>
<defName>ARA_ArachnaeRenderTree</defName>
<root Class="PawnRenderNodeProperties_Parent">
<debugLabel>Root</debugLabel>
<tagDef>Root</tagDef>
<children>
<li>
<debugLabel>Body</debugLabel>
<nodeClass>PawnRenderNode_Body</nodeClass>
<workerClass>PawnRenderNodeWorker_Body</workerClass>
<tagDef>Body</tagDef>
<skipFlag>Body</skipFlag>
<colorType>Skin</colorType>
<useRottenColor>true</useRottenColor>
<useSkinShader>true</useSkinShader>
<children>
<li Class="PawnRenderNodeProperties_Tattoo" MayRequire="Ludeon.RimWorld.Ideology">
<debugLabel>Body tattoo</debugLabel>
<nodeClass>PawnRenderNode_Tattoo_Body</nodeClass>
<workerClass>PawnRenderNodeWorker_Body_Tattoo</workerClass>
<colorType>Skin</colorType>
<useRottenColor>true</useRottenColor>
<baseLayer>2</baseLayer>
<rotDrawMode>Fresh, Rotting</rotDrawMode>
</li>
<li Class="PawnRenderNodeProperties_Overlay">
<debugLabel>Wounds - pre apparel</debugLabel>
<workerClass>PawnRenderNodeWorker_OverlayWounds</workerClass>
<overlayLayer>Body</overlayLayer>
<baseLayer>8</baseLayer>
</li>
<li Class="PawnRenderNodeProperties_Swaddle" MayRequire="Ludeon.RimWorld.Biotech">
<debugLabel>Baby swaddle</debugLabel>
<nodeClass>PawnRenderNode_Swaddle</nodeClass>
<workerClass>PawnRenderNodeWorker_Swaddle</workerClass>
<texPath>Things/Pawn/Humanlike/Apparel/SwaddledBaby/Swaddled_Child</texPath>
<swaddleColorOffset>0.1</swaddleColorOffset>
<brightnessRange>0.6~0.89</brightnessRange>
<baseLayer>10</baseLayer>
</li>
<!-- ===== OUR CUSTOM NODE INSERTION START ===== -->
<!-- Using Milira's exact structure for testing -->
<li>
<debugLabel>Arachnae Flight Attachment</debugLabel>
<tagDef>ARA_Flight_Attachment</tagDef>
<texPath>ArachnaeSwarm/Things/General/Invisible/Inv</texPath>
<baseLayer>60</baseLayer>
<drawData>
<dataSouth>
<layer>-10</layer>
</dataSouth>
</drawData>
</li>
<!-- ===== OUR CUSTOM NODE INSERTION END ===== -->
<li Class="PawnRenderNodeProperties_Parent">
<debugLabel>Apparel root</debugLabel>
<tagDef>ApparelBody</tagDef>
<baseLayer>20</baseLayer>
</li>
<li Class="PawnRenderNodeProperties_Overlay">
<debugLabel>Wounds - post apparel</debugLabel>
<workerClass>PawnRenderNodeWorker_OverlayWounds</workerClass>
<overlayOverApparel>true</overlayOverApparel>
<overlayLayer>Body</overlayLayer>
<baseLayer>30</baseLayer>
</li>
<li Class="PawnRenderNodeProperties_Overlay">
<debugLabel>Firefoam</debugLabel>
<workerClass>PawnRenderNodeWorker_OverlayFirefoam</workerClass>
<overlayLayer>Body</overlayLayer>
<baseLayer>40</baseLayer>
</li>
</children>
</li>
<li>
<debugLabel>Head stump</debugLabel>
<nodeClass>PawnRenderNode_Stump</nodeClass>
<workerClass>PawnRenderNodeWorker_Stump</workerClass>
<texPath>Things/Pawn/Humanlike/Heads/None_Average_Stump</texPath>
<baseLayer>50</baseLayer>
<colorType>Skin</colorType>
<skipFlag>Head</skipFlag>
<useSkinShader>true</useSkinShader>
<useRottenColor>true</useRottenColor>
<rotDrawMode>Fresh, Rotting</rotDrawMode>
</li>
<li>
<debugLabel>Head</debugLabel>
<nodeClass>PawnRenderNode_Head</nodeClass>
<workerClass>PawnRenderNodeWorker_Head</workerClass>
<tagDef>Head</tagDef>
<skipFlag>Head</skipFlag>
<baseLayer>50</baseLayer>
<colorType>Skin</colorType>
<useRottenColor>true</useRottenColor>
<useSkinShader>true</useSkinShader>
<children>
<li Class="PawnRenderNodeProperties_Tattoo" MayRequire="Ludeon.RimWorld.Ideology">
<debugLabel>Head tattoo</debugLabel>
<nodeClass>PawnRenderNode_Tattoo_Head</nodeClass>
<workerClass>PawnRenderNodeWorker_Tattoo_Head</workerClass>
<rotDrawMode>Fresh, Rotting</rotDrawMode>
<colorType>Skin</colorType>
<baseLayer>52</baseLayer>
</li>
<li>
<debugLabel>Beard</debugLabel>
<nodeClass>PawnRenderNode_Beard</nodeClass>
<workerClass>PawnRenderNodeWorker_Beard</workerClass>
<rotDrawMode>Fresh, Rotting</rotDrawMode>
<colorType>Hair</colorType>
<skipFlag>Beard</skipFlag>
<baseLayer>60</baseLayer>
</li>
<li>
<debugLabel>Hair</debugLabel>
<nodeClass>PawnRenderNode_Hair</nodeClass>
<workerClass>PawnRenderNodeWorker_FlipWhenCrawling</workerClass>
<rotDrawMode>Fresh, Rotting</rotDrawMode>
<colorType>Hair</colorType>
<skipFlag>Hair</skipFlag>
<baseLayer>62</baseLayer>
</li>
<li Class="PawnRenderNodeProperties_Overlay">
<debugLabel>Head wounds</debugLabel>
<workerClass>PawnRenderNodeWorker_OverlayWounds</workerClass>
<overlayLayer>Head</overlayLayer>
<baseLayer>65</baseLayer>
</li>
<li Class="PawnRenderNodeProperties_Parent">
<debugLabel>Apparel root</debugLabel>
<tagDef>ApparelHead</tagDef>
<baseLayer>70</baseLayer>
</li>
<li Class="PawnRenderNodeProperties_Overlay">
<debugLabel>Firefoam</debugLabel>
<workerClass>PawnRenderNodeWorker_OverlayFirefoam</workerClass>
<overlayLayer>Head</overlayLayer>
<baseLayer>85</baseLayer>
</li>
<li Class="PawnRenderNodeProperties_Overlay">
<debugLabel>Status overlay</debugLabel>
<workerClass>PawnRenderNodeWorker_OverlayStatus</workerClass>
<baseLayer>100</baseLayer>
</li>
</children>
</li>
<li Class="PawnRenderNodeProperties_Carried">
<debugLabel>Weapon/carried thing</debugLabel>
<workerClass>PawnRenderNodeWorker_Carried</workerClass>
</li>
</children>
</root>
</PawnRenderTreeDef>
</Defs>

View File

@@ -0,0 +1,238 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<HediffDef>
<defName>ARA_Queen_0_Stage</defName>
<label>进化等级——无</label>
<description>这只阿拉克涅女皇种刚刚步入纷乱的边缘世界,其基因表达尚未明晰,她也需要更多的经验以思考要如何带领巢穴前进。</description>
<hediffClass>HediffWithComps</hediffClass>
<defaultLabelColor>(0.6, 0.4, 0.8)</defaultLabelColor>
<isBad>false</isBad>
<scenarioCanAdd>false</scenarioCanAdd>
<maxSeverity>2.0</maxSeverity>
<!-- <stages>
<li>
<becomeVisible>ture</becomeVisible>
</li>
<li>
<minSeverity>1.01</minSeverity>
<becomeVisible>false</becomeVisible>
</li>
</stages> -->
<comps>
<li Class="HediffCompProperties_GiveAbility">
<abilityDefs>
<li>ARA_EggSpew</li>
<li>ARA_BindDrone</li>
<li>ARA_Queen_Upgrade_1_Stage</li>
<li>ARA_AcidSprayBurst_Queen</li>
</abilityDefs>
</li>
<li Class="HediffCompProperties_RemoveIfOtherHediff">
<hediffs>
<li>ARA_Queen_1_Stage_Transition_Period</li>
</hediffs>
</li>
</comps>
</HediffDef>
<AbilityDef>
<defName>ARA_Queen_Upgrade_1_Stage</defName>
<label>女皇种进化——阶段1</label>
<description>使女皇种发生内驱性进化,解锁下一等级的虫群植入物和阿拉克涅卵</description>
<iconPath>ArachnaeSwarm/UI/Abilities/ARA_Queen_Upgrade_1_Stage</iconPath>
<cooldownTicksRange>1800</cooldownTicksRange>
<hostile>false</hostile>
<groupAbility>true</groupAbility>
<displayGizmoWhileUndrafted>true</displayGizmoWhileUndrafted>
<disableGizmoWhileUndrafted>true</disableGizmoWhileUndrafted>
<aiCanUse>true</aiCanUse>
<ai_IsOffensive>true</ai_IsOffensive>
<targetRequired>false</targetRequired>
<jobDef>CastAbilityOnThing</jobDef>
<verbProperties>
<verbClass>Verb_CastAbility</verbClass>
<range>1</range>
<warmupTime>12</warmupTime>
<soundCast>AcidSpray_Resolve</soundCast>
<violent>false</violent>
<targetable>false</targetable>
<targetParams>
<canTargetSelf>True</canTargetSelf>
</targetParams>
</verbProperties>
<comps>
<li Class="CompProperties_AbilityGiveHediff">
<compClass>CompAbilityEffect_GiveHediff</compClass>
<hediffDef>ARA_Queen_1_Stage_Transition_Period</hediffDef>
<onlyApplyToSelf>True</onlyApplyToSelf>
<replaceExisting>true</replaceExisting>
<severity>1</severity>
</li>
<li Class="ArachnaeSwarm.CompProperties_AbilityResearchPrereq">
<requiredResearch>ARA_Technology_2WMT</requiredResearch>
<failMessage>需要科技 基因节点WMT-2"内在突破" 以解锁进化</failMessage>
</li>
</comps>
</AbilityDef>
<HediffDef>
<defName>ARA_Queen_1_Stage_Transition_Period</defName>
<label>女皇种进化——阶段1</label>
<description>使女皇种发生内驱性进化,解锁下一等级的虫群植入物和阿拉克涅卵</description>
<!-- <hediffClass>HediffWithComps</hediffClass> -->
<hediffClass>Hediff_High</hediffClass>
<initialSeverity>1</initialSeverity>
<maxSeverity>1.01</maxSeverity>
<alwaysShowSeverity>true</alwaysShowSeverity>
<defaultLabelColor>(0.6, 0.4, 0.8)</defaultLabelColor>
<isBad>false</isBad>
<scenarioCanAdd>false</scenarioCanAdd>
<comps>
<li Class="HediffCompProperties_ReplaceHediff">
<hediffs>
<li>
<hediff>ARA_Queen_1_Stage</hediff>
<severityRange>0.02~0.15</severityRange>
</li>
</hediffs>
<message>{PAWN_nameDef} 获得了一定的见解以发展巢穴,她可以用基因的织网编织更加复杂更加强大的虫群。</message>
</li>
</comps>
</HediffDef>
<HediffDef>
<defName>ARA_Queen_1_Stage</defName>
<label>进化等级——等级1</label>
<description>这只阿拉克涅女皇种获得了一定的见解以发展巢穴,她可以用基因的织网编织更加复杂更加强大的虫群。</description>
<hediffClass>HediffWithComps</hediffClass>
<defaultLabelColor>(0.6, 0.4, 0.8)</defaultLabelColor>
<isBad>false</isBad>
<scenarioCanAdd>false</scenarioCanAdd>
<maxSeverity>1.0</maxSeverity>
<comps>
<li Class="HediffCompProperties_GiveAbility">
<abilityDefs>
<li>ARA_EggSpew</li>
<li>ARA_BindDrone</li>
<li>ARA_AcidSprayBurst_Queen</li>
<li>ARA_Queen_Upgrade_2_Stage</li>
</abilityDefs>
</li>
</comps>
</HediffDef>
<AbilityDef>
<defName>ARA_Queen_Upgrade_2_Stage</defName>
<label>女皇种进化——阶段2</label>
<description>使女皇种发生内驱性进化,解锁下一等级的虫群植入物和阿拉克涅卵</description>
<iconPath>ArachnaeSwarm/UI/Abilities/ARA_Queen_Upgrade_2_Stage</iconPath>
<cooldownTicksRange>1800</cooldownTicksRange>
<hostile>false</hostile>
<groupAbility>true</groupAbility>
<displayGizmoWhileUndrafted>true</displayGizmoWhileUndrafted>
<disableGizmoWhileUndrafted>true</disableGizmoWhileUndrafted>
<aiCanUse>true</aiCanUse>
<ai_IsOffensive>true</ai_IsOffensive>
<targetRequired>false</targetRequired>
<jobDef>CastAbilityOnThing</jobDef>
<verbProperties>
<verbClass>Verb_CastAbility</verbClass>
<range>1</range>
<warmupTime>12</warmupTime>
<soundCast>AcidSpray_Resolve</soundCast>
<violent>false</violent>
<targetable>false</targetable>
<targetParams>
<canTargetSelf>True</canTargetSelf>
</targetParams>
</verbProperties>
<comps>
<li Class="CompProperties_AbilityGiveHediff">
<compClass>CompAbilityEffect_GiveHediff</compClass>
<hediffDef>ARA_Queen_2_Stage_Transition_Period</hediffDef>
<onlyApplyToSelf>True</onlyApplyToSelf>
<replaceExisting>true</replaceExisting>
<severity>1</severity>
</li>
<li Class="ArachnaeSwarm.CompProperties_AbilityResearchPrereq">
<requiredResearch>ARA_Technology_2WMT</requiredResearch>
<failMessage>需要科技 基因节点WMT-2"内在突破" 以解锁进化</failMessage>
</li>
</comps>
</AbilityDef>
<HediffDef>
<defName>ARA_Queen_2_Stage_Transition_Period</defName>
<label>女皇种进化——阶段2</label>
<description>使女皇种发生内驱性进化,解锁下一等级的虫群植入物和阿拉克涅卵</description>
<!-- <hediffClass>HediffWithComps</hediffClass> -->
<hediffClass>Hediff_High</hediffClass>
<initialSeverity>1</initialSeverity>
<maxSeverity>1.01</maxSeverity>
<alwaysShowSeverity>true</alwaysShowSeverity>
<defaultLabelColor>(0.6, 0.4, 0.8)</defaultLabelColor>
<isBad>false</isBad>
<scenarioCanAdd>false</scenarioCanAdd>
<comps>
<li Class="HediffCompProperties_ReplaceHediff">
<hediffs>
<li>
<hediff>ARA_Queen_2_Stage</hediff>
<severityRange>0.02~0.15</severityRange>
</li>
</hediffs>
<message>{PAWN_nameDef} 获得了一定的见解以发展巢穴,她可以用基因的织网编织更加复杂更加强大的虫群。</message>
</li>
</comps>
</HediffDef>
<HediffDef>
<defName>ARA_Queen_2_Stage</defName>
<label>进化等级——等级2</label>
<description>这只阿拉克涅女皇种获得了一定的见解以发展巢穴,她可以用基因的织网编织更加复杂更加强大的虫群。</description>
<hediffClass>HediffWithComps</hediffClass>
<defaultLabelColor>(0.6, 0.4, 0.8)</defaultLabelColor>
<isBad>false</isBad>
<scenarioCanAdd>false</scenarioCanAdd>
<maxSeverity>1.0</maxSeverity>
<comps>
<li Class="HediffCompProperties_GiveAbility">
<abilityDefs>
<li>ARA_EggSpew</li>
<li>ARA_BindDrone</li>
<li>ARA_AcidSprayBurst_Queen</li>
<!-- <li>ARA_Queen_Upgrade_2_Stage</li> -->
</abilityDefs>
</li>
</comps>
</HediffDef>
<RecipeDef ParentName="SurgeryInstallBodyPartArtificialBase">
<defName>ARA_Install_</defName>
<label>安装暗物质能源炉</label>
<description>为合成人安装暗物质能源炉。</description>
<descriptionHyperlinks>
<ThingDef>WULA_Energy_Furnace_DM_Engine</ThingDef>
<HediffDef>WULA_Energy_Furnace_Hediff_DM_Engine</HediffDef>
</descriptionHyperlinks>
<jobString>安装暗物质能源炉中</jobString>
<anesthetize>false</anesthetize>
<ingredients Inherit="False">
<li>
<filter>
<thingDefs>
<li>WULA_Energy_Furnace_DM_Engine</li>
</thingDefs>
</filter>
<count>1</count>
</li>
</ingredients>
<fixedIngredientFilter>
<thingDefs>
<li>WULA_Energy_Furnace_DM_Engine</li>
</thingDefs>
</fixedIngredientFilter>
<appliedOnFixedBodyParts>
<li>WULA_Energy_Furnace_Bodypart</li>
</appliedOnFixedBodyParts>
<addsHediff>WULA_Energy_Furnace_Hediff_DM_Engine</addsHediff>
<recipeUsers Inherit="False">
<li>ArachnaeNode_Race_WeaponSmith</li>
</recipeUsers>
</RecipeDef>
</Defs>

View File

@@ -0,0 +1,156 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<ResearchProjectDef Abstract="True" Name="ARA_techBase">
<techLevel>Animal</techLevel>
<tab>ARA_ResearchTab</tab>
<heldByFactionCategoryTags Inherit="False" />
</ResearchProjectDef>
<ResearchProjectDef ParentName="ARA_techBase">
<defName>ARA_Base_Technology</defName>
<label>基础基因序列获取</label>
<description>解锁虫群的基础科技,允许孵化基本的辅虫和武装器官</description>
<baseCost>100</baseCost>
<researchViewX>0.00</researchViewX>
<researchViewY>3.20</researchViewY>
<requiredResearchBuilding>ARA_ResearchBench</requiredResearchBuilding>
</ResearchProjectDef>
<ResearchProjectDef ParentName="ARA_techBase">
<defName>ARA_Technology_2WMT</defName>
<label>基因节点WMT-2"内在突破"</label>
<description>允许女皇种进化到下一个阶段。</description>
<baseCost>150</baseCost>
<researchViewX>4.50</researchViewX>
<researchViewY>3.10</researchViewY>
<requiredResearchBuilding>ARA_ResearchBench</requiredResearchBuilding>
<prerequisites>
<li>ARA_Base_Technology</li>
</prerequisites>
</ResearchProjectDef>
<!-- 酸类发展 -->
<ResearchProjectDef ParentName="ARA_techBase">
<defName>ARA_Technology_6VXI</defName>
<label>基因节点VXI-6"酸囊"</label>
<description>使拥有酸囊的虫族允许喷射强酸击退敌人。</description>
<baseCost>150</baseCost>
<researchViewX>1.00</researchViewX>
<researchViewY>0.20</researchViewY>
<requiredResearchBuilding>ARA_ResearchBench</requiredResearchBuilding>
<prerequisites>
<li>ARA_Base_Technology</li>
</prerequisites>
</ResearchProjectDef>
<ResearchProjectDef ParentName="ARA_techBase">
<defName>ARA_Technology_7VXI</defName>
<label>基因节点VXI-7"外置酸袋"</label>
<description>允许工艺种孵化新的酸类武器茧</description>
<baseCost>150</baseCost>
<researchViewX>2.00</researchViewX>
<researchViewY>0.20</researchViewY>
<requiredResearchBuilding>ARA_ResearchBench</requiredResearchBuilding>
<prerequisites>
<li>ARA_Technology_6VXI</li>
</prerequisites>
</ResearchProjectDef>
<!-- 孵化发展 -->
<ResearchProjectDef ParentName="ARA_techBase">
<defName>ARA_Technology_1KYC</defName>
<label>基因节点KYC-1"战士虫"</label>
<description>允许女皇种孵化新的虫族——战士种。</description>
<baseCost>150</baseCost>
<researchViewX>1.00</researchViewX>
<researchViewY>2.20</researchViewY>
<requiredResearchBuilding>ARA_ResearchBench</requiredResearchBuilding>
<prerequisites>
<li>ARA_Base_Technology</li>
</prerequisites>
</ResearchProjectDef>
<ResearchProjectDef ParentName="ARA_techBase">
<defName>ARA_Technology_3KYC</defName>
<label>基因节点KYC-3"冰壳虫"</label>
<description>允许女皇种孵化新的虫族——冰壳种,拥有使得附近温度极急剧下降的特殊能力,此类虫族的卵需要在较低的温度下才能正常孵化。</description>
<baseCost>150</baseCost>
<researchViewX>2.00</researchViewX>
<researchViewY>2.20</researchViewY>
<requiredResearchBuilding>ARA_ResearchBench</requiredResearchBuilding>
<prerequisites>
<li>ARA_Base_Technology</li>
</prerequisites>
</ResearchProjectDef>
<ResearchProjectDef ParentName="ARA_techBase">
<defName>ARA_Technology_2KYC</defName>
<label>基因节点KYC-2"熔火虫"</label>
<description>允许女皇种孵化新的虫族——熔火种,拥有喷射高温射流和在近距离灼烧敌人的能力,此类虫族的卵需要在较高的温度下才能正常孵化。</description>
<baseCost>150</baseCost>
<researchViewX>5.50</researchViewX>
<researchViewY>2.20</researchViewY>
<requiredResearchBuilding>ARA_ResearchBench</requiredResearchBuilding>
<prerequisites>
<li>ARA_Technology_2WMT</li>
</prerequisites>
</ResearchProjectDef>
<ResearchProjectDef ParentName="ARA_techBase">
<defName>ARA_Technology_4KYC</defName>
<label>基因节点KYC-4"原虫"</label>
<description>允许女皇种孵化新的虫族——原虫种,一种可以寄生在别的种族身上以控制它们的特殊督虫。</description>
<baseCost>150</baseCost>
<researchViewX>5.50</researchViewX>
<researchViewY>1.50</researchViewY>
<requiredResearchBuilding>ARA_ResearchBench</requiredResearchBuilding>
<prerequisites>
<li>ARA_Technology_2WMT</li>
</prerequisites>
</ResearchProjectDef>
<!-- 硬壳发展 -->
<ResearchProjectDef ParentName="ARA_techBase">
<defName>ARA_Technology_4DIL</defName>
<label>基因节点DIL-4"编织"</label>
<description>允许工艺种孵化织物茧,为虫族提供基础防具。</description>
<baseCost>150</baseCost>
<researchViewX>1.00</researchViewX>
<researchViewY>5.10</researchViewY>
<requiredResearchBuilding>ARA_ResearchBench</requiredResearchBuilding>
<prerequisites>
<li>ARA_Base_Technology</li>
</prerequisites>
</ResearchProjectDef>
<ResearchProjectDef ParentName="ARA_techBase">
<defName>ARA_Technology_5DIL</defName>
<label>基因节点DIL-5"骨刀"</label>
<description>允许工艺种孵化骨刃茧,为虫族提供基础近战武器。</description>
<baseCost>150</baseCost>
<researchViewX>2.00</researchViewX>
<researchViewY>5.10</researchViewY>
<requiredResearchBuilding>ARA_ResearchBench</requiredResearchBuilding>
<prerequisites>
<li>ARA_Technology_4DIL</li>
</prerequisites>
</ResearchProjectDef>
<!-- 毒类发展 -->
<ResearchProjectDef ParentName="ARA_techBase">
<defName>ARA_Technology_5PAV</defName>
<label>基因节点PAV-5"毒刺"</label>
<description>允许工艺种孵化新的毒针类武器茧,并允许部分带毒针的虫族进行毒针喷射。</description>
<baseCost>150</baseCost>
<researchViewX>1.00</researchViewX>
<researchViewY>4.40</researchViewY>
<requiredResearchBuilding>ARA_ResearchBench</requiredResearchBuilding>
<prerequisites>
<li>ARA_Base_Technology</li>
</prerequisites>
</ResearchProjectDef>
<!-- 工艺种进化 -->
<!-- 建筑发展 -->
<ResearchProjectDef ParentName="ARA_techBase">
<defName>ARA_Technology_5SHL</defName>
<label>基因节点SHL-5"光瘤"</label>
<description>允许虫族建造一种可以提供直射光源以供植物生长的特殊菌瘤。</description>
<baseCost>150</baseCost>
<researchViewX>1.00</researchViewX>
<researchViewY>1.20</researchViewY>
<requiredResearchBuilding>ARA_ResearchBench</requiredResearchBuilding>
<prerequisites>
<li>ARA_Base_Technology</li>
</prerequisites>
</ResearchProjectDef>
</Defs>

View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<Defs>
<ResearchTabDef>
<defName>ARA_ResearchTab</defName>
<label>阿拉克涅虫群进化</label>
<generalTitle>阿拉克涅虫群进化探索</generalTitle>
<generalDescription>探索、改进阿拉克涅虫群的生命形态,以孵化更强的个体和创造更先进的武装器官等虫群装备。\n\n只有阿拉克涅虫族才能进行这个科技树的研究</generalDescription>
</ResearchTabDef>
</Defs>

View File

@@ -0,0 +1,92 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<ScenarioDef ParentName="ScenarioBase">
<defName>ARA_Basic_Start_Scenario</defName>
<label>新阿拉克涅虫巢</label>
<description>一只阿拉克涅虫族女皇种降落在荒无人烟的边缘世界,准备着手建立属于自己的虫巢。</description>
<scenario>
<summary>以一只阿拉克涅虫族女皇种为初始殖民者开始游戏附带4枚初诞阿拉克涅虫卵囊。</summary>
<playerFaction>
<def>PlayerFaction</def>
<factionDef>ARA_New_Hive</factionDef>
</playerFaction>
<parts>
<li Class="ScenPart_PlanetLayer">
<def>PlanetLayer</def>
<layer>Orbit</layer>
<settingsDef>Orbit</settingsDef>
<hide>True</hide>
<tag>Orbit</tag>
<connections>
<li>
<tag>Surface</tag>
<zoomMode>ZoomIn</zoomMode>
</li>
</connections>
</li>
<li Class="ScenPart_GameStartDialog">
<def>GameStartDialog</def>
<text>虫族开场信息</text>
<closeSound>GameStartSting</closeSound>
</li>
<li Class="ScenPart_ConfigPage_ConfigureStartingPawns_KindDefs">
<def>ConfigurePawnsKindDefs</def>
<pawnChoiceCount>1</pawnChoiceCount>
<kindCounts>
<li>
<requiredAtStart>True</requiredAtStart>
<kindDef>ARA_ArachnaeQueen</kindDef>
</li>
</kindCounts>
</li>
<li Class="ScenPart_PlayerPawnsArriveMethod">
<def>PlayerPawnsArriveMethod</def>
</li>
<!-- 初始物品 -->
<li Class="ScenPart_StartingThing_Defined">
<def>StartingThing_Defined</def>
<thingDef>ARA_Carapace</thingDef>
<count>500</count>
</li>
<li Class="ScenPart_StartingThing_Defined">
<def>StartingThing_Defined</def>
<thingDef>ARA_InsectJelly</thingDef>
<count>200</count>
</li>
<li Class="ScenPart_StartingThing_Defined">
<def>StartingThing_Defined</def>
<thingDef>MedicineIndustrial</thingDef>
<count>10</count>
</li>
<li Class="ScenPart_StartingThing_Defined">
<def>StartingThing_Defined</def>
<thingDef>ARA_InteractiveEggSac_Start</thingDef>
<count>4</count>
</li>
<!-- 附近的物品 -->
<li Class="ScenPart_ScatterThingsNearPlayerStart">
<def>ScatterThingsNearPlayerStart</def>
<thingDef>Steel</thingDef>
<count>700</count>
</li>
<li Class="ScenPart_ScatterThingsNearPlayerStart">
<def>ScatterThingsNearPlayerStart</def>
<thingDef>WoodLog</thingDef>
<count>300</count>
</li>
<!-- 图上的物品 -->
<li Class="ScenPart_ScatterThingsAnywhere">
<def>ScatterThingsAnywhere</def>
<thingDef>Steel</thingDef>
<count>720</count>
</li>
<!-- 初始科技 -->
<li Class="ScenPart_StartingResearch">
<def>StartingResearch</def>
<project>ARA_Base_Technology</project>
</li>
</parts>
</scenario>
</ScenarioDef>
</Defs>

View File

@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<StatDef>
<defName>ARA_IncubationSpeedFactor</defName>
<label>孵化速度</label>
<description>应用于孵化池的孵化速度乘数。</description>
<category>Building</category>
<defaultBaseValue>1</defaultBaseValue>
<minValue>0.001</minValue>
<toStringStyle>PercentZero</toStringStyle>
<showIfUndefined>false</showIfUndefined>
</StatDef>
</Defs>

View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<Defs>
<!-- Categories -->
<StyleItemCategoryDef>
<defName>ARA_HiveNode_Style</defName>
<label>阿拉克涅虫巢风格</label>
</StyleItemCategoryDef>
</Defs>

View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<TerrainAffordanceDef>
<defName>ARA_Creep</defName>
<label>阿拉克涅菌毯</label>
<order>3800</order>
</TerrainAffordanceDef>
</Defs>

View File

@@ -0,0 +1,224 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<ThingDef Name="ArachnaeBase_Race" ParentName="BaseInsect" Abstract="True">
<statBases>
<MoveSpeed>8</MoveSpeed>
<MarketValue>0</MarketValue>
<LeatherAmount>0</LeatherAmount>
<ArmorRating_Blunt>0.1</ArmorRating_Blunt>
<ArmorRating_Sharp>0.1</ArmorRating_Sharp>
<ComfyTemperatureMin>-3000</ComfyTemperatureMin>
<ComfyTemperatureMax>3000</ComfyTemperatureMax>
<Wildness>0</Wildness>
<Fertility MayRequire="Ludeon.RimWorld.Biotech">0</Fertility>
</statBases>
<uiIconScale>1.1</uiIconScale>
<tools>
<li>
<label>head</label>
<capacities>
<li>Blunt</li>
</capacities>
<power>6</power>
<cooldownTime>2</cooldownTime>
<linkedBodyPartsGroup>HeadAttackTool</linkedBodyPartsGroup>
<ensureLinkedBodyPartsGroupAlwaysUsable>true</ensureLinkedBodyPartsGroupAlwaysUsable>
<chanceFactor>0.2</chanceFactor>
</li>
</tools>
<race>
<body>BeetleLikeWithClaw</body>
<thinkTreeMain>ARA_Insect_WithPlanting</thinkTreeMain>
<baseHungerRate>0.1</baseHungerRate>
<baseBodySize>0.5</baseBodySize>
<baseHealthScale>1</baseHealthScale>
<useMeatFrom>Megaspider</useMeatFrom>
<lifeExpectancy>0.1</lifeExpectancy>
<trainability>Advanced</trainability>
<!-- <hasCorpse>false</hasCorpse> -->
<!-- <specialTrainables>
<li MayRequire="Ludeon.RimWorld.Odyssey">Dig</li>
<li>ARA_Sowing</li>
</specialTrainables> -->
<lifeStageAges>
<li>
<def>EusocialInsectAdult</def>
<minAge>0</minAge>
<soundWounded>Pawn_Spelopede_Pain</soundWounded>
<soundDeath>Pawn_Spelopede_Death</soundDeath>
<soundCall>Pawn_Spelopede_Call</soundCall>
<soundAngry>Pawn_Spelopede_Angry</soundAngry>
</li>
</lifeStageAges>
<soundMeleeHitPawn>Pawn_Melee_SmallScratch_HitPawn</soundMeleeHitPawn>
<soundMeleeHitBuilding>Pawn_Melee_SmallScratch_HitBuilding</soundMeleeHitBuilding>
<soundMeleeMiss>Pawn_Melee_SmallScratch_Miss</soundMeleeMiss>
<headPosPerRotation>
<li>(0.0, 0, 0.14)</li>
<li>(0.07, 0, 0.08)</li>
<li>(0.0, 0, -0.12)</li>
<li>(-0.07, 0, 0.08)</li>
</headPosPerRotation>
<deathAction Class="DeathActionProperties_Vanish">
<workerClass>DeathActionWorker_Vanish</workerClass>
<filth>Filth_Slime</filth>
<filthCountRange>1~3</filthCountRange>
</deathAction>
</race>
<comps>
<li Class="ArachnaeSwarm.CompProperties_HediffGiver">
<hediffs>
<li>ARA_TemperatureRegulation</li>
</hediffs>
<addChance>1.0</addChance>
<allowDuplicates>false</allowDuplicates>
</li>
<li Class="ArachnaeSwarm.CompProperties_HediffGiver">
<hediffs>
<li>ARA_HiveMindWorker</li>
</hediffs>
<addChance>1.0</addChance>
<allowDuplicates>false</allowDuplicates>
</li>
</comps>
</ThingDef>
<ThingDef ParentName="ArachnaeBase_Race">
<defName>ArachnaeBase_Race_Scavenger</defName>
<label>阿拉克涅食腐种</label>
<description>阿拉克涅辅虫之一,智力低下,可以执行种植和收割工作,注定在度过短暂的时光后死亡。</description>
<race>
<specialTrainables>
<li>ARA_Sowing</li>
</specialTrainables>
</race>
<comps>
<li Class="ArachnaeSwarm.CompProperties_AdvancedTraining">
<trainables>
<li>
<trainable>ARA_Sowing</trainable>
<trainInstantly>true</trainInstantly>
<setWanted>true</setWanted>
</li>
</trainables>
<disableAllSkillDecay>true</disableAllSkillDecay> <!-- 阻止这个动物的所有技能衰减 -->
</li>
</comps>
</ThingDef>
<ThingDef ParentName="ArachnaeBase_Race">
<defName>ArachnaeBase_Race_HardJaw</defName>
<label>阿拉克涅坚颚种</label>
<description>阿拉克涅辅虫之一,智力低下,可以承担挖矿任务,注定在度过短暂的时光后死亡。</description>
<race>
<specialTrainables>
<li>Dig</li>
<li MayRequire="Ludeon.RimWorld.Odyssey">AttackTarget</li>
</specialTrainables>
</race>
<comps>
<li Class="ArachnaeSwarm.CompProperties_AdvancedTraining">
<trainables>
<li>
<trainable>Dig</trainable>
<trainInstantly>true</trainInstantly>
<setWanted>true</setWanted>
</li>
<li>
<trainable>AttackTarget</trainable>
<trainInstantly>true</trainInstantly>
<setWanted>true</setWanted>
</li>
</trainables>
<disableAllSkillDecay>true</disableAllSkillDecay> <!-- 阻止这个动物的所有技能衰减 -->
</li>
</comps>
</ThingDef>
<ThingDef ParentName="ArachnaeBase_Race">
<defName>ArachnaeBase_Race_Maid</defName>
<label>阿拉克涅家政种</label>
<description>阿拉克涅辅虫之一,智力低下,可以执行清洁和搬运工作,注定在度过短暂的时光后死亡。</description>
<race>
<specialTrainables>
<li>ARA_Cleaning</li>
</specialTrainables>
</race>
<comps>
<li Class="ArachnaeSwarm.CompProperties_AdvancedTraining">
<trainables>
<li>
<trainable>ARA_Cleaning</trainable>
<trainInstantly>true</trainInstantly>
<setWanted>true</setWanted>
</li>
<li>
<trainable>Haul</trainable>
<trainInstantly>true</trainInstantly>
<setWanted>true</setWanted>
</li>
</trainables>
<disableAllSkillDecay>true</disableAllSkillDecay> <!-- 阻止这个动物的所有技能衰减 -->
</li>
</comps>
</ThingDef>
<ThingDef ParentName="BaseDrone" MayRequire="Ludeon.RimWorld.Odyssey">
<defName>ArachnaeBase_Race_Acid</defName>
<label>阿拉克涅酸噬种</label>
<description>阿拉克涅辅虫之一,智力低下,一般被作为活体炮弹打出,击中敌人后若是还没散架,就会继续依靠带酸液的颚撕咬敌军。</description>
<race>
<thinkTreeConstant>WarUrchinConstant</thinkTreeConstant>
<baseBodySize>0.5</baseBodySize>
<!-- <hasCorpse>false</hasCorpse> -->
<body>BeetleLikeWithClaw</body>
<lifeStageAges>
<li>
<def>EusocialInsectAdult</def>
<minAge>0</minAge>
<soundWounded>Pawn_Spelopede_Pain</soundWounded>
<soundDeath>Pawn_Spelopede_Death</soundDeath>
<soundCall>Pawn_Spelopede_Call</soundCall>
<soundAngry>Pawn_Spelopede_Angry</soundAngry>
</li>
</lifeStageAges>
</race>
<statBases>
<MoveSpeed>6</MoveSpeed>
</statBases>
<comps>
<li Class="CompProperties_MechPowerCell">
<totalPowerTicks>4400</totalPowerTicks> <!-- 2 hours -->
<labelOverride>寿命</labelOverride>
<tooltipOverride>这种特殊的阿拉克涅辅虫从出生起就走在死亡的道路上了——它们的寿命就是如此短暂。</tooltipOverride>
<showGizmoOnNonPlayerControlled>true</showGizmoOnNonPlayerControlled>
</li>
</comps>
<tools Inherit="False">
<li>
<label>酸性巨颚</label>
<capacities>
<li>ARA_AcidCut</li>
</capacities>
<power>6</power>
<cooldownTime>2.6</cooldownTime>
<linkedBodyPartsGroup>HeadAttackTool</linkedBodyPartsGroup>
<ensureLinkedBodyPartsGroupAlwaysUsable>true</ensureLinkedBodyPartsGroupAlwaysUsable>
</li>
</tools>
</ThingDef>
<ToolCapacityDef>
<defName>ARA_AcidCut</defName>
<label>酸性撕咬</label>
</ToolCapacityDef>
<ManeuverDef>
<defName>ARA_AcidCut</defName>
<requiredCapacity>ARA_AcidCut</requiredCapacity>
<verb>
<verbClass>Verb_MeleeAttackDamage</verbClass>
<meleeDamageDef>ARA_AcidCut_Damage</meleeDamageDef>
</verb>
<logEntryDef>MeleeAttack</logEntryDef>
<combatLogRulesHit>Maneuver_Slash_MeleeHit</combatLogRulesHit>
<combatLogRulesDeflect>Maneuver_Slash_MeleeDeflect</combatLogRulesDeflect>
<combatLogRulesMiss>Maneuver_Slash_MeleeMiss</combatLogRulesMiss>
<combatLogRulesDodge>Maneuver_Slash_MeleeDodge</combatLogRulesDodge>
</ManeuverDef>
</Defs>

View File

@@ -1,678 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<![CDATA[
<!-- 该文件仅做备用 -->
<!-- 定义一个基础的ThingDef作为阿拉克涅Pawn的基类 -->
<ThingDef Name="Arachnae_PawnBase" ParentName="BasePawn" Abstract="True">
<!-- 屠宰产品设置 -->
<butcherProducts>
</butcherProducts>
<!-- 种族相关设置 -->
<race>
<!-- 可以成为蹒跚怪 -->
<canBecomeShambler>false</canBecomeShambler>
<!-- 异常知识类别需要Anomaly模组 -->
<knowledgeCategory MayRequire="Ludeon.RimWorld.Anomaly">Basic</knowledgeCategory>
<!-- 异常知识点数 -->
<anomalyKnowledge>3</anomalyKnowledge>
</race>
<!-- 组件设置 -->
<comps>
<!-- 持有平台目标组件需要Anomaly模组 -->
<li MayRequire="Ludeon.RimWorld.Anomaly" Class="CompProperties_HoldingPlatformTarget">
<!-- 基础逃脱间隔(天) -->
<baseEscapeIntervalMtbDays>8</baseEscapeIntervalMtbDays>
<!-- 是否获得低温收容奖励 -->
<getsColdContainmentBonus>true</getsColdContainmentBonus>
</li>
<!-- 可研究组件需要Anomaly模组 -->
<li MayRequire="Ludeon.RimWorld.Anomaly" Class="CompProperties_Studiable">
<!-- 研究频率ticks -->
<frequencyTicks>120000</frequencyTicks>
<!-- 研究所需的最低单极水平 -->
<minMonolithLevelForStudy>1</minMonolithLevelForStudy>
<!-- 是否需要监禁 -->
<requiresImprisonment>true</requiresImprisonment>
</li>
</comps>
<!-- 基础属性设置 -->
<statBases>
<!-- 最低收容强度需要Anomaly模组 -->
<MinimumContainmentStrength MayRequire="Ludeon.RimWorld.Anomaly">120</MinimumContainmentStrength>
</statBases>
</ThingDef>
<!-- 定义阿拉克涅女皇种族继承自Arachnae_PawnBase -->
<AlienRace.ThingDef_AlienRace ParentName="Arachnae_PawnBase" Name="ArachnaeQueenBase">
<defName>ArachnaeQueen222_Race</defName>
<label>阿拉克涅女皇种</label>
<description>阿拉克涅女皇种是阿拉克涅虫巢中唯一可以生育督虫的个体,并且是虫巢意识金字塔的核心,肩负着引领阿拉克涅虫群前进的伟大使命。她与麾下的虫族的灵能链接所构成的蜂群意识网络可以使得虫群以极高的效率运转,但是一旦女皇种死亡,其麾下的虫群将全部死亡!</description>
<uiIconScale>1.0</uiIconScale>
<!-- 外星种族设置 -->
<alienRace>
<!-- 通用设置 -->
<generalSettings>
<!-- 繁殖设置 -->
<reproduction>
<!-- 子代Pawn类型定义 -->
<childKindDef>ARA_ArachnaeQueen</childKindDef>
<!-- 女性生育能力年龄因子 -->
<femaleFertilityAgeFactor>
<points>
<li>(1, 0)</li>
<li>(9999, 0)</li>
</points>
</femaleFertilityAgeFactor>
<!-- 男性生育能力年龄因子 -->
<maleFertilityAgeFactor>
<points>
<li>(1, 0)</li>
<li>(9999, 0)</li>
</points>
</maleFertilityAgeFactor>
</reproduction>
<!-- 新生儿背景故事过滤器 -->
<newbornBackstoryFilter>
<li>
<categories>
<li>ArachnaeQueen_spawnCategoriesA</li>
<li>ArachnaeQueen_spawnCategoriesB</li>
</categories>
<commonality>1</commonality>
</li>
</newbornBackstoryFilter>
<!-- 儿童背景故事过滤器 -->
<childBackstoryFilter>
<li>
<categories>
<li>ArachnaeQueen_spawnCategoriesA</li>
<li>ArachnaeQueen_spawnCategoriesB</li>
</categories>
<commonality>1</commonality>
</li>
</childBackstoryFilter>
<!-- 成人背景故事过滤器 -->
<adultBackstoryFilter>
<li>
<categories>
<li>ArachnaeQueen_spawnCategoriesA</li>
<li>ArachnaeQueen_spawnCategoriesB</li>
</categories>
<commonality>1</commonality>
</li>
</adultBackstoryFilter>
<!-- 进入下一个生命阶段的时间只有一个0岁生命阶段 -->
<growthAges MayRequire="Ludeon.RimWorld.Biotech">
<li>0</li>
</growthAges>
<!-- 种族基因 -->
<raceGenes>
</raceGenes>
<!-- 男性生成概率 -->
<maleGenderProbability>0</maleGenderProbability>
<!-- 免疫年龄疾病 -->
<immuneToAge>true</immuneToAge>
<!-- 从humanrace继承手术 -->
<humanRecipeImport>false</humanRecipeImport>
<!-- 可以躺下,为否则站着睡觉 -->
<canLayDown>true</canLayDown>
<!-- 在社交冲突中能造成的最大伤害 -->
<maxDamageForSocialfight>25</maxDamageForSocialfight>
<!-- 免疫har框架的异种歧视 -->
<immuneToXenophobia>false</immuneToXenophobia>
<!-- 生成成年人背景的年龄 -->
<minAgeForAdulthood>0</minAgeForAdulthood>
<!-- 禁止的特性 -->
<disallowedTraits>
<li>
<defName>DrugDesire</defName>
<chance>100</chance>
</li>
<li>
<defName>Nerves</defName>
<chance>100</chance>
</li>
<li>
<defName>Neurotic</defName>
<chance>100</chance>
</li>
<li>
<defName>Industriousness</defName>
<chance>100</chance>
</li>
<li>
<defName>ShootingAccuracy</defName>
<chance>100</chance>
</li>
<li>
<defName>Bloodlust</defName>
<chance>100</chance>
</li>
<li>
<defName>Abrasive</defName>
<chance>100</chance>
</li>
<li>
<defName>TooSmart</defName>
<chance>100</chance>
</li>
<li>
<defName>Greedy</defName>
<chance>100</chance>
</li>
<li>
<defName>Jealous</defName>
<chance>100</chance>
</li>
<li>
<defName>Ascetic</defName>
<chance>100</chance>
</li>
<li>
<defName>Pyromaniac</defName>
<chance>100</chance>
</li>
<li>
<defName>Transhumanist</defName>
<chance>100</chance>
</li>
<li>
<defName>BodyPurist</defName>
<chance>10</chance>
</li>
<li>
<defName>DislikesMen</defName>
<chance>100</chance>
</li>
<li>
<defName>DislikesWomen</defName>
<chance>100</chance>
</li>
</disallowedTraits>
<!-- 强制种族特性条目 -->
<forcedRaceTraitEntries>
</forcedRaceTraitEntries>
<!-- 外星种族部位生成器 -->
<alienPartGenerator>
<!-- 边框缩放比例 -->
<borderScale>4</borderScale> <!-- 图像显示范围大小 -->
<!-- 图集缩放比例 -->
<atlasScale>4</atlasScale> <!-- 图像质量 -->
<!-- 头部类型 -->
<headTypes> <!-- 头部 -->
<li>ARA_QUEEN_Female_AverageNormalA</li>
</headTypes> <!-- 头部 -->
<!-- 身体类型 -->
<bodyTypes> <!-- 身体 -->
<li>ARA_QUEEN_Thin</li>
</bodyTypes> <!-- 身体 -->
<!-- 图像放大 -->
<customDrawSize>(4,4)</customDrawSize>
<customHeadDrawSize>(1.0,1.0)</customHeadDrawSize>
<customPortraitDrawSize>(2,2)</customPortraitDrawSize>
<!-- 头部位置 -->
<headOffset>(0,0)</headOffset>
<headOffsetDirectional>
</headOffsetDirectional>
<!-- 头发变色计算直接设置到9999避免触发 -->
<oldHairAgeRange>9999~9999</oldHairAgeRange>
<!-- 皮肤颜色通道,勿动(衣服已经和皮肤画在一起了) -->
<colorChannels Inherit="False">
<li>
<name>skin</name>
<first Class="ColorGenerator_Options">
<options>
<li>
<weight>100</weight>
<only>(255,240,234)</only>
</li>
</options>
</first>
<second Class="AlienRace.ColorGenerator_CustomAlienChannel">
<colorChannel>skin_1</colorChannel>
</second>
</li>
<li> <!--헤어컬러-->
<name>hair</name>
<first Class="ColorGenerator_Options">
<options>
<li>
<weight>100</weight>
<only>(255,255,255)</only>
</li>
</options>
</first>
<second Class="ColorGenerator_Single">
<color>(35, 20, 120)</color>
</second>
</li>
</colorChannels>
<!-- 身体附加组件 -->
<bodyAddons>
</bodyAddons>
</alienPartGenerator>
</generalSettings>
<!-- 图形路径设置 -->
<graphicPaths> <!-- 纹理 -->
<!-- 皮肤颜色 -->
<skinColor>(1,1,1,1)</skinColor>
<!-- 皮肤着色器 -->
<skinShader>Cutout</skinShader>
<!-- 头部纹理路径 -->
<head>Pawns/ARA_HiveQueen/Heads/Average_Normal</head>
<!-- 身体纹理路径 -->
<body>Pawns/ARA_HiveQueen/Bodies/Naked_Thin</body>
<!-- 骨骼纹理路径 -->
<skeleton>Things/Pawn/Insect/HiveQueen/Dessicated_HiveQueen</skeleton>
<!-- 残肢纹理路径 -->
<stump>Things/Pawn/Insect/HiveQueen/HiveQueen</stump>
<!-- 服装设置 -->
<apparel>
<bodyTypeFallback>ARA_QUEEN_Thin</bodyTypeFallback>
<femaleBodyTypeFallback>ARA_QUEEN_Thin</femaleBodyTypeFallback>
</apparel>
</graphicPaths> <!-- 纹理 -->
<!-- 头发胡子纹身设置,全部空开 -->
<styleSettings>
<li>
<key>HairDef</key>
<value>
<hasStyle>false</hasStyle>
</value>
</li>
<li>
<key>BeardDef</key>
<value>
<hasStyle>false</hasStyle>
</value>
</li>
<li>
<key>TattooDef</key>
<value>
<hasStyle>false</hasStyle>
</value>
</li>
</styleSettings>
<!-- 关系设置 -->
<relationSettings> <!-- 关系 -->
<!-- 恋人关系概率修正 -->
<relationChanceModifierLover>0</relationChanceModifierLover>
<!-- 前恋人关系概率修正 -->
<relationChanceModifierExLover>0</relationChanceModifierExLover>
<!-- 订婚关系概率修正 -->
<relationChanceModifierFiance>0</relationChanceModifierFiance>
<!-- 配偶关系概率修正 -->
<relationChanceModifierSpouse>0</relationChanceModifierSpouse>
<!-- 前配偶关系概率修正 -->
<relationChanceModifierExSpouse>0</relationChanceModifierExSpouse>
<!-- 父母关系概率修正 -->
<relationChanceModifierParent>0</relationChanceModifierParent>
<!-- 子女关系概率修正 -->
<relationChanceModifierChild>0</relationChanceModifierChild>
<!-- 兄弟姐妹关系概率修正 -->
<relationChanceModifierSibling>0</relationChanceModifierSibling>
</relationSettings> <!-- 关系 -->
<!-- 种族限制设置 -->
<raceRestriction> <!-- 种族限制 -->
<!-- 仅使用种族限制的服装 -->
<onlyUseRaceRestrictedApparel>true</onlyUseRaceRestrictedApparel> <!-- 种族服装限制设置 -->
<!-- 服装列表 -->
<apparelList> <!-- 服装 -->
</apparelList> <!-- 服装 -->
<!-- 白名单服装列表 -->
<whiteApparelList>
</whiteApparelList>
<!-- 建筑列表 -->
<buildingList> <!-- 建筑 -->
</buildingList> <!-- 建筑 -->
<!-- 武器列表 -->
<weaponList> <!-- 武器 -->
</weaponList> <!-- 武器 -->
<!-- 研究列表 -->
<researchList> <!-- 研究 -->
</researchList> <!-- 研究 -->
<!-- 配方列表 -->
<recipeList> <!-- 制作 -->
</recipeList> <!-- 制作 -->
<!-- 特性列表 -->
<traitList> <!-- 特性 -->
</traitList> <!-- 特性 -->
<!-- 植物列表 -->
<plantList> <!-- 植物 -->
</plantList> <!-- 植物 -->
<!-- 食物列表 -->
<foodList>
</foodList>
<!-- 黑名单内源性基因类别 -->
<blackEndoCategories>
<li>Melanin</li>
<li>HairColor</li>
<li MayRequire="Ludeon.RimWorld.Biotech">BodyType</li>
<li MayRequire="Ludeon.RimWorld.Biotech">Ears</li>
<li MayRequire="Ludeon.RimWorld.Biotech">Nose</li>
<li MayRequire="Ludeon.RimWorld.Biotech">Voice</li>
<li MayRequire="Ludeon.RimWorld.Biotech">Headbone</li>
<li MayRequire="Ludeon.RimWorld.Biotech">Head</li>
<li MayRequire="Ludeon.RimWorld.Biotech">Jaw</li>
</blackEndoCategories>
<!-- 黑名单基因列表 -->
<blackGeneList>
<li MayRequire="Ludeon.RimWorld.Biotech">Furskin</li>
<li MayRequire="Ludeon.RimWorld.Biotech">Brow_Heavy</li>
<li MayRequire="Ludeon.RimWorld.Biotech">Hair_BaldOnly</li>
<li MayRequire="Ludeon.RimWorld.Biotech">Beard_Always</li>
<li MayRequire="Ludeon.RimWorld.Biotech">FacialRidges</li>
</blackGeneList>
<!-- 黑名单基因标签 -->
<blackGeneTags>
<li MayRequire="Ludeon.RimWorld.Biotech">EyeColor</li>
<li MayRequire="Ludeon.RimWorld.Biotech">Tail</li>
<li MayRequire="Ludeon.RimWorld.Biotech">BeardStyle</li>
<li MayRequire="Ludeon.RimWorld.Biotech">Fur</li>
</blackGeneTags>
<!-- 异种类型列表 -->
<xenotypeList>
</xenotypeList>
<!-- 黑名单异种类型列表 -->
<blackXenotypeList MayRequire="Ludeon.RimWorld.Biotech">
<!-- <li MayRequire="Ludeon.RimWorld.Biotech">Baseliner</li> -->
<li MayRequire="Ludeon.RimWorld.Biotech">Dirtmole</li>
<li MayRequire="Ludeon.RimWorld.Biotech">Genie</li>
<li MayRequire="Ludeon.RimWorld.Biotech">Hussar</li>
<li MayRequire="Ludeon.RimWorld.Biotech">Sanguophage</li>
<li MayRequire="Ludeon.RimWorld.Biotech">Neanderthal</li>
<li MayRequire="Ludeon.RimWorld.Biotech">Pigskin</li>
<li MayRequire="Ludeon.RimWorld.Biotech">Impid</li>
<li MayRequire="Ludeon.RimWorld.Biotech">Waster</li>
<li MayRequire="Ludeon.RimWorld.Biotech">Yttakin</li>
<li MayRequire="Ludeon.RimWorld.Biotech">Highmate</li>
<li MayRequire="Ludeon.RimWorld.Odyssey">Starjack</li>
</blackXenotypeList>
<!-- 仅使用种族限制的异种类型 -->
<onlyUseRaceRestrictedXenotypes>true</onlyUseRaceRestrictedXenotypes> <!-- asd -->
</raceRestriction>
<!-- 思想设置 -->
<thoughtSettings>
<!-- 无法接收的思想 -->
<cannotReceiveThoughts>
<li>Naked</li>
<li>ApparelDamaged</li>
<li>ProsthophileHappy</li>
<li>ProsthophobeUnhappy</li>
<li>BrawlerUnhappy</li>
<li>PyromaniacHappy</li>
<li>Greedy</li>
<li>Jealous</li>
<li>SharedBed</li>
<li>AteWithoutTable</li>
<li>SleptOutside</li>
<li>SleptOnGround</li>
<li>SleptInCold</li>
<li>SleptInHeat</li>
<li>Ugly</li>
<li>AteKibble</li>
<li>AteInsectMeatDirect</li>
<li>AteInsectMeatAsIngredient</li>
<li>AteRawFood</li>
<li>AteHumanlikeMeatDirect</li>
<li>AteHumanlikeMeatAsIngredient</li>
<li>KnowButcheredHumanlikeCorpse</li>
<li>ButcheredHumanlikeCorpseOpinion</li>
<li>AteRawHumanlikeMeat</li>
</cannotReceiveThoughts>
</thoughtSettings>
</alienRace>
<!-- 基础属性设置 -->
<statBases>
<!-- 市场价值 -->
<MarketValue>2000</MarketValue>
<RoyalFavorValue>5</RoyalFavorValue>
<!-- 移动速度 -->
<MoveSpeed>1.75</MoveSpeed>
<Mass>250</Mass>
<!-- <RestRateMultiplier>1</RestRateMultiplier> -->
<!-- <HungerRateMultiplier>1</HungerRateMultiplier> -->
<EatingSpeed>2</EatingSpeed>
<!-- 女皇很长时间才需要补充一次食物 -->
<MaxNutrition>0.5</MaxNutrition>
<!-- 女皇的负重,设为0以避免女皇能背东西 -->
<CarryingCapacity>0</CarryingCapacity>
<MeatAmount>450</MeatAmount>
<LeatherAmount>600</LeatherAmount>
<!-- 疼痛休克,女皇很难因为疼痛而倒下,虽并不是像机器人一样不会休克 -->
<PainShockThreshold>1</PainShockThreshold>
<!-- 女皇非常擅长灵能,以维持蜂群的蜂巢意识链接 -->
<PsychicSensitivity>5</PsychicSensitivity>
<!-- 女皇的崩溃概率 -->
<MentalBreakThreshold>0</MentalBreakThreshold>
<!-- 女皇的高耸身躯和强健循环系统使得很难被毒倒下 -->
<ToxicResistance>0.95</ToxicResistance>
<ToxicEnvironmentResistance MayRequire="Ludeon.RimWorld.Biotech">0.95</ToxicEnvironmentResistance>
<!-- 女皇的甲壳可以抵御火焰侵袭,难以燃烧-->
<Flammability>0.1</Flammability>
<!-- 女皇的庞大申请很难闪开近战 -->
<MeleeDodgeChance>0.25</MeleeDodgeChance>
<!-- <MeleeHitChance>1</MeleeHitChance> -->
<!-- <NegotiationAbility>1</NegotiationAbility> -->
<!-- <SellPriceFactor>1</SellPriceFactor> -->
<!-- <SocialImpact>1</SocialImpact> -->
<!-- <TradePriceImprovement>0.5</TradePriceImprovement> -->
<!-- 自带的甲壳可以防御外部攻击 -->
<ArmorRating_Blunt>0.6</ArmorRating_Blunt>
<ArmorRating_Sharp>0.8</ArmorRating_Sharp>
<ArmorRating_Heat>0.5</ArmorRating_Heat>
<!-- 虫群拥有惊人的愈合速度 -->
<InjuryHealingFactor>5</InjuryHealingFactor>
<!-- 在野外采集的营养 -->
<ForagedNutritionPerDay>0</ForagedNutritionPerDay>
<!-- 污物规模,虫群污物规模都较大 -->
<FilthRate>28</FilthRate>
<Wildness>0.99</Wildness>
</statBases>
<!-- 工具设置(攻击方式) -->
<tools>
<li>
<label>头顶</label>
<capacities>
<li>Poke</li>
</capacities>
<power>16</power>
<cooldownTime>2</cooldownTime>
<linkedBodyPartsGroup>HeadAttackTool</linkedBodyPartsGroup>
<ensureLinkedBodyPartsGroupAlwaysUsable>true</ensureLinkedBodyPartsGroupAlwaysUsable>
<chanceFactor>0.01</chanceFactor>
</li>
<li>
<label>踩踏</label>
<capacities>
<li>Blunt</li>
<li>Poke</li>
</capacities>
<power>35</power>
<cooldownTime>2.5</cooldownTime>
<linkedBodyPartsGroup>Legs</linkedBodyPartsGroup>
</li>
<li>
<label>腿部穿刺</label>
<capacities>
<li>Stab</li>
</capacities>
<power>50</power>
<cooldownTime>3</cooldownTime>
<linkedBodyPartsGroup>Legs</linkedBodyPartsGroup>
</li>
<li>
<label>钳击</label>
<capacities>
<li>Cut</li>
</capacities>
<power>30</power>
<cooldownTime>2</cooldownTime>
<linkedBodyPartsGroup>Hands</linkedBodyPartsGroup>
</li>
</tools>
<race>
<!-- 身体类型 -->
<body>ArachnaeQueen_Body</body>
<!-- 思考树 -->
<thinkTreeMain>Humanlike</thinkTreeMain>
<thinkTreeConstant>HumanlikeConstant</thinkTreeConstant>
<intelligence>Humanlike</intelligence>
<makesFootprints>true</makesFootprints>
<lifeExpectancy>300</lifeExpectancy>
<!-- 肉和皮革的定义 -->
<leatherDef>Leather_Light</leatherDef>
<specificMeatDef>Meat_Megaspider</specificMeatDef>
<nameCategory>HumanStandard</nameCategory>
<bloodDef>Filth_BloodInsect</bloodDef>
<bloodSmearDef>Filth_BloodSmear</bloodSmearDef>
<!-- 身形大小 -->
<baseBodySize>10</baseBodySize>
<!-- 血量上限 -->
<baseHealthScale>10</baseHealthScale>
<!-- 食物类型,可以在种族限制定义,不需要在这改 -->
<foodType>OmnivoreHuman</foodType>
<!-- 妊娠天数,对女皇来说没啥用 -->
<gestationPeriodDays>60</gestationPeriodDays>
<meatMarketValue>1.85</meatMarketValue>
<renderTree>Humanlike</renderTree>
<!-- 无法被异常尸体锁定 -->
<hasUnnaturalCorpse>false</hasUnnaturalCorpse>
<lifeStageAges Inherit="False">
<li>
<def>EusocialInsectAdult</def>
<soundWounded>Pawn_HiveQueen_Wounded</soundWounded>
<soundDeath>Pawn_HiveQueen_Death</soundDeath>
<soundCall>Pawn_HiveQueen_Call</soundCall>
<soundAngry>Pawn_HiveQueen_Angry</soundAngry>
</li>
</lifeStageAges>
<!-- 什么年龄段可以做什么工作 -->
<lifeStageWorkSettings MayRequire="Ludeon.RimWorld.Biotech">
<Firefighter>0</Firefighter>
<Patient>0</Patient>
<Doctor>0</Doctor>
<PatientBedRest>0</PatientBedRest>
<Childcare MayRequire="Ludeon.RimWorld.Biotech">0</Childcare>
<BasicWorker>0</BasicWorker>
<Warden>0</Warden>
<Handling>0</Handling>
<Cooking>0</Cooking>
<Hunting>0</Hunting>
<Construction>0</Construction>
<Growing>0</Growing>
<Mining>0</Mining>
<PlantCutting>0</PlantCutting>
<Smithing>0</Smithing>
<Tailoring>0</Tailoring>
<Art>0</Art>
<Crafting>0</Crafting>
<Hauling>0</Hauling>
<Cleaning>0</Cleaning>
<Research>0</Research>
<DarkStudy MayRequire="Ludeon.RimWorld.Anomaly">0</DarkStudy>
</lifeStageWorkSettings>
<soundMeleeHitPawn>Pawn_Melee_BigBash_HitPawn</soundMeleeHitPawn>
<soundMeleeHitBuilding>Pawn_Melee_BigBash_HitBuilding</soundMeleeHitBuilding>
<soundMeleeMiss>Pawn_Melee_BigBash_Miss</soundMeleeMiss>
<soundMeleeDodge>Pawn_MeleeDodge</soundMeleeDodge>
<!-- 阴影绘制 -->
<specialShadowData>
<volume>(0.3, 0.8, 0.4)</volume>
<offset>(0,0,-0.3)</offset>
</specialShadowData>
<!-- 生成时的年龄曲线 -->
<ageGenerationCurve>
<points>
<li MayRequire="Ludeon.RimWorld.Biotech">(0,0)</li>
<li>(20,0)</li>
<li>(25,1)</li>
<li>(30,0)</li>
</points>
</ageGenerationCurve>
<hediffGiverSets>
<li>OrganicStandard</li>
<li>Human</li>
</hediffGiverSets>
</race>
<!-- 可以施加使用的手术类型 -->
<recipes>
<li>ExciseCarcinoma</li>
<li>AdministerMechSerumHealer</li>
<li>RemoveBodyPart</li>
<li>Euthanize</li>
<li>Anesthetize</li>
<li>CureScaria</li>
<li MayRequire="Ludeon.RimWorld.Royalty">CureBloodRot</li>
<li MayRequire="Ludeon.RimWorld.Royalty">CureAbasia</li>
<li MayRequire="Ludeon.RimWorld.Biotech">Vasectomy</li>
<li MayRequire="Ludeon.RimWorld.Biotech">ReverseVasectomy</li>
<li MayRequire="Ludeon.RimWorld.Biotech">TubalLigation</li>
<li MayRequire="Ludeon.RimWorld.Biotech">ExtractOvum</li>
<li MayRequire="Ludeon.RimWorld.Biotech">ExtractHemogenPack</li>
<li MayRequire="Ludeon.RimWorld.Biotech">BloodTransfusion</li>
<li MayRequire="Ludeon.RimWorld.Biotech">ImplantXenogerm</li>
<li MayRequire="Ludeon.RimWorld.Biotech">ImplantIUD</li>
<li MayRequire="Ludeon.RimWorld.Biotech">RemoveIUD</li>
<li MayRequire="Ludeon.RimWorld.Biotech">TerminatePregnancy</li>
</recipes>
</AlienRace.ThingDef_AlienRace>
]]>
</Defs>

View File

@@ -18,6 +18,9 @@
<humanRecipeImport>false</humanRecipeImport>
<!-- 睡觉定义 -->
<canLayDown>true</canLayDown>
<validBeds>
<li>ARA_NodeNest</li>
</validBeds>
<!-- 各种零件定义 -->
<alienPartGenerator Inherit="False">
<!-- 允许的头部 -->
@@ -71,6 +74,109 @@
</colorChannels>
<!-- 额外身体部件 -->
<bodyAddons>
<li>
<name>ArachnaeNode Hair</name>
<userCustomizable>true</userCustomizable>
<path>ArachnaeSwarm/Hair/ARA_ArachnaeNode_Hair</path>
<inFrontOfBody>true</inFrontOfBody>
<layerInvert>false</layerInvert>
<colorChannel>hair</colorChannel>
<defaultOffset>Center</defaultOffset>
<drawSize>1</drawSize>
<alignWithHead>true</alignWithHead>
<scaleWithPawnDrawsize>true</scaleWithPawnDrawsize>
<conditions>
<BodyPart>
<bodyPart>Head</bodyPart>
</BodyPart>
<Posture>
<drawnStanding>true</drawnStanding>
<drawnInBed>true</drawnInBed>
<drawnLaying>true</drawnLaying>
</Posture>
<RotStage>Fresh,Rotting</RotStage>
</conditions>
<offsets>
<west>
<layerOffset>-0.274</layerOffset>
</west>
<south>
<layerOffset>-0.274</layerOffset>
</south>
<north>
<layerOffset>-0.274</layerOffset>
</north>
<east>
<layerOffset>-0.274</layerOffset>
</east>
</offsets>
</li>
<!--<li>
<name>ArachnaeNode Hair BG</name>
<userCustomizable>true</userCustomizable>
<path></path>
<inFrontOfBody>false</inFrontOfBody>
<layerInvert>false</layerInvert>
<colorChannel>hair</colorChannel>
<defaultOffset>Center</defaultOffset>
<drawSize>1</drawSize>
<alignWithHead>true</alignWithHead>
<scaleWithPawnDrawsize>true</scaleWithPawnDrawsize>
<linkVariantIndexWithPrevious>true</linkVariantIndexWithPrevious>
<conditions>
<BodyPart>
<bodyPart>Head</bodyPart>
</BodyPart>
<Posture>
<drawnStanding>true</drawnStanding>
<drawnInBed>false</drawnInBed>
<drawnLaying>true</drawnLaying>
</Posture>
<RotStage>Fresh,Rotting</RotStage>
</conditions>
<offsets>
<west>
<layerOffset>-0.275</layerOffset>
</west>
<south>
<layerOffset>-0.299</layerOffset>
</south>
<north>
<layerOffset>-0.275</layerOffset>
</north>
<east>
<layerOffset>-0.275</layerOffset>
</east>
</offsets>
</li>-->
<li>
<path>ArachnaeSwarm/Things/ARA_HiveNode/Addons/ArachnaeNode_Race_Addons_Base</path>
<inFrontOfBody>true</inFrontOfBody>
<offsets>
<south>
<offset>(0,0.32)</offset>
<layerOffset>-0.273</layerOffset>
</south>
<north>
<offset>(0,0.32)</offset>
<layerOffset>-0.275</layerOffset>
</north>
<east>
<offset>(-0.1,0.39)</offset>
<layerOffset>-0.273</layerOffset>
</east>
<west>
<offset>(-0.1,0.39)</offset>
<layerOffset>-0.273</layerOffset>
</west>
</offsets>
<conditions>
<BodyPart>
<bodyPart>Head</bodyPart>
<drawWithoutPart>false</drawWithoutPart>
</BodyPart>
</conditions>
</li>
</bodyAddons>
<!-- 图像放大 -->
<!-- <borderScale>4</borderScale>
@@ -78,6 +184,19 @@
<!-- <customDrawSize>(4,4)</customDrawSize>
<customHeadDrawSize>(1.0,1.0)</customHeadDrawSize>
<customPortraitDrawSize>(2,2)</customPortraitDrawSize> -->
<headOffsetDirectional>
<north>
</north>
<south>
<!-- same options as above -->
</south>
<east>
<offset>(0.0, 0.05)</offset>
</east>
<west>
<offset>(0.0, 0.05)</offset>
</west>
</headOffsetDirectional>
</alienPartGenerator>
<growthAges>
<li>0</li>
@@ -158,10 +277,12 @@
<skinColor>(1,1,1,1)</skinColor>
<!-- 皮肤着色器 -->
<skinShader>Cutout</skinShader>
<!-- <body>ArachnaeSwarm/Things/ARA_HiveQueen/Bodies/</body>
<head>ArachnaeSwarm/Things/ARA_HiveQueen/Heads/</head>
<skeleton>Things/Pawn/Humanlike/Bodies/Dessicated/Dessicated_Thin</skeleton>
<stump>ArachnaeSwarm/Things/ARA_HiveQueen/Bodies/</stump> -->
<body>ArachnaeSwarm/Things/ARA_HiveNode/Bodies/</body>
<head>
<path>ArachnaeSwarm/Things/ARA_HiveNode/Heads/</path>
</head>
<skeleton>Things/Pawn/Humanlike/Bodies/Dessicated/Dessicated_Thin</skeleton>
<stump>ArachnaeSwarm/Things/ARA_HiveNode/Bodies/</stump>
</graphicPaths>
<!-- 风格设置 -->
<styleSettings>
@@ -169,7 +290,10 @@
<li>
<key>HairDef</key>
<value>
<hasStyle>false</hasStyle>
<hasStyle>true</hasStyle>
<styleTagsOverride>
<li>ARA_HiveNode_Style</li>
</styleTagsOverride>
</value>
</li>
<!-- 纹身 -->
@@ -232,9 +356,17 @@
</whiteXenotypeList>
<onlyUseRaceRestrictedXenotypes>false</onlyUseRaceRestrictedXenotypes>
<!-- 食物列表 -->
<foodList>
</foodList>
<onlyEatRaceRestrictedFood>false</onlyEatRaceRestrictedFood>
<whiteFoodList>
<li>ARA_InsectJelly</li>
</whiteFoodList>
<onlyEatRaceRestrictedFood>true</onlyEatRaceRestrictedFood>
<!-- 武器列表 -->
<weaponList>
<li>ARA_RW_Basic_Acid_Bladder_Gun</li>
<li>ARA_RW_Basic_Fist_Needle_Gun</li>
<li>ARA_MW_Bone_Sword</li>
</weaponList>
<onlyUseRaceRestrictedWeapons>true</onlyUseRaceRestrictedWeapons>
<!-- 可以穿戴的衣服 -->
<apparelList>
</apparelList>
@@ -305,7 +437,56 @@
<thoughtSettings>
<!-- 不会产生的想法 -->
<cannotReceiveThoughts>
<li>Naked</li>
<li>AnyBodyPartButGroinCovered_Disapproved_Female</li>
<li>AnyBodyPartButGroinCovered_Disapproved_Male</li>
<li>AnyBodyPartButGroinCovered_Disapproved_Memory</li>
<li>AnyBodyPartButGroinCovered_Disapproved_Social_Female</li>
<li>AnyBodyPartButGroinCovered_Disapproved_Social_Male</li>
<li>AnyBodyPartCovered_Disapproved_Female</li>
<li>AnyBodyPartCovered_Disapproved_Male</li>
<li>AnyBodyPartCovered_Disapproved_Memory</li>
<li>AnyBodyPartCovered_Disapproved_Social_Female</li>
<li>AnyBodyPartCovered_Disapproved_Social_Male</li>
<li>GroinChestHairOrFaceUncovered_Disapproved_Female</li>
<li>GroinChestHairOrFaceUncovered_Disapproved_Male</li>
<li>GroinChestHairOrFaceUncovered_Disapproved_Social_Female</li>
<li>GroinChestHairOrFaceUncovered_Disapproved_Social_Male</li>
<li>GroinChestOrHairUncovered_Disapproved_Female</li>
<li>GroinChestOrHairUncovered_Disapproved_Male</li>
<li>GroinChestOrHairUncovered_Disapproved_Social_Female</li>
<li>GroinChestOrHairUncovered_Disapproved_Social_Male</li>
<li>GroinOrChestUncovered_Disapproved_Female</li>
<li>GroinOrChestUncovered_Disapproved_Male</li>
<li>GroinOrChestUncovered_Disapproved_Social_Female</li>
<li>GroinOrChestUncovered_Disapproved_Social_Male</li>
<li>GroinUncovered_Disapproved_Female</li>
<li>GroinUncovered_Disapproved_Male</li>
<li>GroinUncovered_Disapproved_Social_Female</li>
<li>GroinUncovered_Disapproved_Social_Male</li>
<li>ApparelDamaged</li>
<li>ProsthophileHappy</li>
<li>ProsthophobeUnhappy</li>
<li>BrawlerUnhappy</li>
<li>PyromaniacHappy</li>
<li>Greedy</li>
<li>Jealous</li>
<li>SharedBed</li>
<li>AteWithoutTable</li>
<li>SleptOutside</li>
<li>SleptOnGround</li>
<li>SleptInCold</li>
<li>SleptInHeat</li>
<li>Ugly</li>
<li>AteKibble</li>
<li>AteInsectMeatDirect</li>
<li>AteInsectMeatAsIngredient</li>
<li>AteRawFood</li>
<li>AteHumanlikeMeatDirect</li>
<li>AteHumanlikeMeatAsIngredient</li>
<li>KnowButcheredHumanlikeCorpse</li>
<li>ButcheredHumanlikeCorpseOpinion</li>
<li>AteRawHumanlikeMeat</li>
</cannotReceiveThoughts>
<!-- 该种族特有想法 -->
<restrictedThoughts>
@@ -341,7 +522,6 @@
<EatingSpeed>2</EatingSpeed>
<MaxNutrition>0.5</MaxNutrition>
<!-- 女皇的负重,设为0以避免女皇能背东西 -->
<CarryingCapacity>50</CarryingCapacity>
<MeatAmount>150</MeatAmount>
<LeatherAmount>100</LeatherAmount>
@@ -371,6 +551,8 @@
<!-- 在野外采集的营养 -->
<ForagedNutritionPerDay>0</ForagedNutritionPerDay>
<ComfyTemperatureMin>-3000</ComfyTemperatureMin>
<ComfyTemperatureMax>3000</ComfyTemperatureMax>
</statBases>
<race>
@@ -379,15 +561,15 @@
<thinkTreeMain>ARA_Humanlike</thinkTreeMain>
<!-- 智力水平 -->
<intelligence>Humanlike</intelligence>
<!-- 血液,不流血 -->
<bloodDef>Filth_MachineBits</bloodDef>
<bloodDef>Filth_Blood</bloodDef>
<bloodSmearDef>Filth_BloodSmear</bloodSmearDef>
<!-- 基础血量,很高 -->
<baseHealthScale>1.5</baseHealthScale>
<!-- 解剖产物 -->
<leatherDef>Steel</leatherDef>
<specificMeatDef>Steel</specificMeatDef>
<leatherDef>ARA_Carapace</leatherDef>
<specificMeatDef>Meat_Megaspider</specificMeatDef>
<!-- 身体类型 -->
<body>ArachnaeQueen_Body</body>
<body>Human</body>
<!-- 年龄阶段,较短 -->
<lifeExpectancy>12</lifeExpectancy>
<lifeStageWorkSettings MayRequire="Ludeon.RimWorld.Biotech">
@@ -430,11 +612,11 @@
</race>
<!-- 工具设置(攻击方式) -->
<tools>
<tools Inherit="False">
<li>
<label></label>
<label></label>
<capacities>
<li>Poke</li>
<li>Bite</li>
</capacities>
<power>8</power>
<cooldownTime>2</cooldownTime>
@@ -448,34 +630,41 @@
</recipes>
<comps>
<!-- <li MayRequire="Nals.FacialAnimation">
<compClass>FacialAnimation.DrawFaceGraphicsComp</compClass>
</li>
<li MayRequire="Nals.FacialAnimation">
<compClass>FacialAnimation.HeadControllerComp</compClass>
</li>
<li MayRequire="Nals.FacialAnimation">
<compClass>FacialAnimation.EyeballControllerComp</compClass>
</li>
<li MayRequire="Nals.FacialAnimation">
<compClass>FacialAnimation.DrawFaceGraphicsComp</compClass>
</li>
<li MayRequire="Nals.FacialAnimation">
<compClass>FacialAnimation.HeadControllerComp</compClass>
</li>
<li MayRequire="Nals.FacialAnimation">
<compClass>FacialAnimation.EyeballControllerComp</compClass>
</li>
<li MayRequire="Nals.FacialAnimation">
<compClass>FacialAnimation.LidControllerComp</compClass>
</li>
<li MayRequire="Nals.FacialAnimation">
<compClass>FacialAnimation.BrowControllerComp</compClass>
</li>
<li MayRequire="Nals.FacialAnimation">
<compClass>FacialAnimation.MouthControllerComp</compClass>
</li>
<compClass>FacialAnimation.BrowControllerComp</compClass>
</li>
<li MayRequire="Nals.FacialAnimation">
<compClass>FacialAnimation.MouthControllerComp</compClass>
</li>
<li MayRequire="Nals.FacialAnimation">
<compClass>FacialAnimation.SkinControllerComp</compClass>
</li>
<li MayRequire="Nals.FacialAnimation">
<compClass>FacialAnimation.FacialAnimationControllerComp</compClass>
</li> -->
<compClass>FacialAnimation.FacialAnimationControllerComp</compClass>
</li>
<li Class="ArachnaeSwarm.CompProperties_HediffGiver">
<hediffs>
<li>ARA_HiveMindDrone</li>
</hediffs>
<addChance>1.0</addChance>
<allowDuplicates>false</allowDuplicates>
</li>
<!--<li>
<compClass>FacialAnimation.EmotionControllerComp</compClass>
</li>-->
<!-- <li Class="CompProperties_DrugAddict"/> -->
</li>
<li Class="CompProperties_DrugAddict"/> -->
</comps>
</AlienRace.ThingDef_AlienRace>
@@ -483,38 +672,56 @@
<AlienRace.ThingDef_AlienRace ParentName="ARA_NodeBase">
<defName>ArachnaeNode_Race_Myrmecocystus</defName>
<label>阿拉克涅蜜罐种</label>
<description>阿拉克涅督虫之一,拥有非常广泛的食谱,可以吞下许多未经处理的生物并将其分解为阿拉克涅虫蜜,以滋养虫群。此外,这种督虫还指挥着三只食腐虫,它们会负责处理各种各样的猎物,并在危急时刻喷射酸液对抗入侵者,以保卫阿拉克涅虫巢的财产</description>
<description>阿拉克涅督虫之一,拥有非常广泛的食谱,可以吞下许多未经处理的生物并将其分解为阿拉克涅虫蜜,以滋养虫群。这种督虫除了生产虫蜜外也能执行烹饪和种植工作。\n\n作为督虫她可以繁育并监管若干阿拉克涅食腐种辅虫以协助巢穴进行收割和播种工作</description>
<alienRace>
<graphicPaths>
<body>ArachnaeSwarm/Things/ARA_Myrmecocystus/Bodies/</body>
<head>ArachnaeSwarm/Things/ARA_Myrmecocystus/Heads/</head>
<skeleton>Things/Pawn/Humanlike/Bodies/Dessicated/Dessicated_Thin</skeleton>
<stump>ArachnaeSwarm/Things/ARA_Myrmecocystus/Bodies/</stump>
</graphicPaths>
<generalSettings>
<!-- 各种零件定义 -->
<alienPartGenerator>
<!-- 额外身体部件 -->
<bodyAddons>
<li>
<path>ArachnaeSwarm/Things/ARA_HiveNode/Addons/ArachnaeNode_Race_Myrmecocystus_Addons_Stomach</path>
<inFrontOfBody>false</inFrontOfBody>
<conditions>
</conditions>
</li>
</bodyAddons>
</alienPartGenerator>
</generalSettings>
<!-- 种族的允许和禁止特化设置 -->
<raceRestriction>
<!-- 食物列表 -->
<whiteFoodList Inherit="False"/>
<blackFoodList>
<li>ARA_InsectJelly</li>
</blackFoodList>
<onlyEatRaceRestrictedFood>false</onlyEatRaceRestrictedFood>
<!-- 武器列表 -->
<weaponList Inherit="False"/>
</raceRestriction>
</alienRace>
<comps>
<li Class="CompProperties_Milkable">
<li Class="ArachnaeSwarm.CompProperties_MilkableArachnae">
<milkDef>ARA_InsectJelly</milkDef>
<milkIntervalDays>1</milkIntervalDays>
<milkAmount>14</milkAmount>
<milkIntervalDays>3</milkIntervalDays>
<milkAmount>4</milkAmount>
</li>
<li Class="ArachnaeSwarm.CompProperties_AutoMechCarrier">
<freeProduction>true</freeProduction>
<!--<disableHediff>WULA_MechCarrierSwitchHediff</disableHediff>-->
<disableHediff>WULA_MechCarrierSwitchHediff</disableHediff>
<fixedIngredient>ARA_InsectJelly</fixedIngredient>
<maxIngredientCount>500</maxIngredientCount>
<maxIngredientCount>500</maxIngredientCount>
<startingIngredientCount>500</startingIngredientCount>
<costPerPawn>999</costPerPawn>
<cooldownTicks>9999</cooldownTicks>
<productionQueue>
<li>
<pawnKind>Spelopede</pawnKind>
<count>3</count>
<cooldownTicks>600</cooldownTicks>
<pawnKind>ArachnaeBase_Race_Scavenger</pawnKind>
<count>2</count>
<cooldownTicks>1000</cooldownTicks>
</li>
</productionQueue>
<spawnEffecter>CocoonDestroyed</spawnEffecter>
<!--<spawnedMechEffecter>WarUrchinSpawned</spawnedMechEffecter>-->
</li>
</comps>
@@ -529,8 +736,8 @@
<MaxNutrition>1</MaxNutrition>
<CarryingCapacity>100</CarryingCapacity>
<MeatAmount>45</MeatAmount>
<LeatherAmount>50</LeatherAmount>
<MeatAmount>70</MeatAmount>
<LeatherAmount>10</LeatherAmount>
<MeleeDodgeChance>0.5</MeleeDodgeChance>
<!-- <MeleeHitChance>1</MeleeHitChance> -->
@@ -549,11 +756,13 @@
<race>
<foodType>OmnivoreHuman,CarnivoreAnimal,OvivoreAnimal,VegetarianRoughAnimal</foodType>
<!-- 身体类型 -->
<body>BeetleLikeWithClaw</body>
<body>ArachnaeMyrmecocystus_Body</body>
<!-- 身形大小 -->
<baseBodySize>2.5</baseBodySize>
<!-- 血量上限 -->
<baseHealthScale>3</baseHealthScale>
<!-- 蜜罐虫的寿命很低 -->
<lifeExpectancy>1.5</lifeExpectancy>
<lifeStageAges Inherit="False">
<li>
<def>ArachnaeNode_Myrmecocystus_Adult</def>
@@ -561,20 +770,480 @@
</li>
</lifeStageAges>
</race>
</AlienRace.ThingDef_AlienRace>
<AlienRace.ThingDef_AlienRace ParentName="ARA_NodeBase">
<defName>ArachnaeNode_Race_ShieldHead</defName>
<label>阿拉克涅盾头种</label>
<description>阿拉克涅督虫之一,拥有过度生长而覆盖头部和腿部的甲壳,防御力超群的同时还可以定时剥落甲壳素供虫巢使用。坚韧的鳌刺挥舞起来非常缓慢但是可以破开岩壁和固定结构,以完成虫群的采矿和建筑工作。\n\n作为督虫她可以繁育并监管若干阿拉克涅坚颚种辅虫以协助巢穴开采矿脉。</description>
<alienRace>
<generalSettings>
<!-- 各种零件定义 -->
<alienPartGenerator>
<!-- 额外身体部件 -->
<bodyAddons>
<li>
<path>ArachnaeSwarm/Things/ARA_HiveNode/Addons/ArachnaeNode_Race_Addons_ShieldHead</path>
<offsets>
<south>
<offset>(0,0.32)</offset>
</south>
<north>
<offset>(0,0.32)</offset>
</north>
<east>
<offset>(-0.1,0.32)</offset>
</east>
<west>
<offset>(-0.1,0.32)</offset>
</west>
</offsets>
<inFrontOfBody>true</inFrontOfBody>
</li>
<li>
<path>ArachnaeSwarm/Things/ARA_HiveNode/Addons/ArachnaeNode_Race_Addons_ShieldBody</path>
<offsets>
<south>
<layerOffset>-0.275</layerOffset>
</south>
<north>
<layerOffset>-0.275</layerOffset>
</north>
<east>
<layerOffset>-0.275</layerOffset>
</east>
<west>
<layerOffset>-0.275</layerOffset>
</west>
</offsets>
<inFrontOfBody>true</inFrontOfBody>
<layerInvert>false</layerInvert>
</li>
</bodyAddons>
</alienPartGenerator>
</generalSettings>
<raceRestriction>
<onlyEatRaceRestrictedFood>true</onlyEatRaceRestrictedFood>
</raceRestriction>
</alienRace>
<comps>
<li Class="ArachnaeSwarm.CompProperties_MilkableArachnae">
<milkDef>ARA_Carapace</milkDef>
<milkIntervalDays>3</milkIntervalDays>
<milkAmount>25</milkAmount>
</li>
<li Class="ArachnaeSwarm.CompProperties_AutoMechCarrier">
<freeProduction>true</freeProduction>
<disableHediff>WULA_MechCarrierSwitchHediff</disableHediff>
<fixedIngredient>ARA_InsectJelly</fixedIngredient>
<maxIngredientCount>500</maxIngredientCount>
<startingIngredientCount>500</startingIngredientCount>
<costPerPawn>999</costPerPawn>
<cooldownTicks>9999</cooldownTicks>
<productionQueue>
<li>
<pawnKind>ArachnaeBase_Race_HardJaw</pawnKind>
<count>2</count>
<cooldownTicks>1000</cooldownTicks>
</li>
</productionQueue>
<spawnEffecter>CocoonDestroyed</spawnEffecter>
</li>
</comps>
<!-- 工具设置(攻击方式) -->
<tools Inherit="False">
<!-- 基础属性设置 -->
<statBases>
<!-- 移动速度 -->
<MoveSpeed>2</MoveSpeed>
<!-- <RestRateMultiplier>1</RestRateMultiplier> -->
<!-- <HungerRateMultiplier>1</HungerRateMultiplier> -->
<EatingSpeed>5</EatingSpeed>
<MaxNutrition>1</MaxNutrition>
<CarryingCapacity>100</CarryingCapacity>
<MeatAmount>50</MeatAmount>
<LeatherAmount>80</LeatherAmount>
<MeleeDodgeChance>0.75</MeleeDodgeChance>
<!-- <MeleeHitChance>1</MeleeHitChance> -->
<!-- <NegotiationAbility>1</NegotiationAbility> -->
<!-- <SellPriceFactor>1</SellPriceFactor> -->
<!-- <SocialImpact>1</SocialImpact> -->
<!-- <TradePriceImprovement>0.5</TradePriceImprovement> -->
<!-- 自带的甲壳可以防御外部攻击 -->
<ArmorRating_Blunt>1</ArmorRating_Blunt>
<ArmorRating_Sharp>1.25</ArmorRating_Sharp>
<ArmorRating_Heat>1</ArmorRating_Heat>
</statBases>
<race>
<!-- 身体类型 -->
<body>ArachnaeShieldHead_Body</body>
<!-- 身形大小 -->
<baseBodySize>2</baseBodySize>
<!-- 血量上限 -->
<baseHealthScale>5</baseHealthScale>
<!-- 蜜罐虫的寿命很低 -->
<lifeExpectancy>2</lifeExpectancy>
<lifeStageAges Inherit="False">
<li>
<def>ArachnaeNode_Myrmecocystus_Adult</def>
<minAge>0</minAge>
</li>
</lifeStageAges>
</race>
</AlienRace.ThingDef_AlienRace>
<AlienRace.ThingDef_AlienRace ParentName="ARA_NodeBase">
<defName>ArachnaeNode_Race_WeaponSmith</defName>
<label>阿拉克涅工艺种</label>
<description>阿拉克涅督虫之一,是少数拥有结茧能力的非女皇种阿拉克涅虫族——她们可以排出一枚器官茧,这枚茧将按照其信息素所标定的方向定向演化出一个武装器官,以供虫群使用。除此之外,她们的辅肢比普通的虫族更加复杂灵活,这使得她们不仅可以执行手工、艺术等复杂的工作,也可以操作武装器官——虽然她们本身极度脆弱。\n\n作为督虫她可以繁育并监管若干阿拉克涅家政种辅虫以协助巢穴进行清洁和搬运工作。</description>
<alienRace>
<generalSettings>
<!-- 各种零件定义 -->
<alienPartGenerator>
<!-- 额外身体部件 -->
<bodyAddons>
<li>
<path>ArachnaeSwarm/Things/ARA_HiveNode/Addons/ArachnaeNode_Race_Addons_WeaponSmith</path>
<inFrontOfBody>false</inFrontOfBody>
<offsets>
<north>
<layerOffset>-0.275</layerOffset>
</north>
</offsets>
</li>
</bodyAddons>
</alienPartGenerator>
</generalSettings>
<raceRestriction>
<onlyEatRaceRestrictedFood>true</onlyEatRaceRestrictedFood>
</raceRestriction>
</alienRace>
<comps>
<li Class="ArachnaeSwarm.CompProperties_AutoMechCarrier">
<freeProduction>true</freeProduction>
<disableHediff>WULA_MechCarrierSwitchHediff</disableHediff>
<fixedIngredient>ARA_InsectJelly</fixedIngredient>
<maxIngredientCount>500</maxIngredientCount>
<startingIngredientCount>500</startingIngredientCount>
<costPerPawn>999</costPerPawn>
<cooldownTicks>9999</cooldownTicks>
<productionQueue>
<li>
<!-- <pawnKind>ArachnaeBase_Race_Slavey</pawnKind> -->
<pawnKind>ArachnaeBase_Race_Maid</pawnKind>
<count>3</count>
<cooldownTicks>1000</cooldownTicks>
</li>
</productionQueue>
<spawnEffecter>CocoonDestroyed</spawnEffecter>
</li>
</comps>
<!-- 基础属性设置 -->
<statBases>
<!-- 移动速度 -->
<MoveSpeed>3.5</MoveSpeed>
<!-- <RestRateMultiplier>1</RestRateMultiplier> -->
<!-- <HungerRateMultiplier>1</HungerRateMultiplier> -->
<!-- <EatingSpeed>5</EatingSpeed> -->
<MaxNutrition>2</MaxNutrition>
<CarryingCapacity>100</CarryingCapacity>
<MeatAmount>40</MeatAmount>
<LeatherAmount>10</LeatherAmount>
<MeleeDodgeChance>0.75</MeleeDodgeChance>
<!-- <MeleeHitChance>1</MeleeHitChance> -->
<!-- <NegotiationAbility>1</NegotiationAbility> -->
<!-- <SellPriceFactor>1</SellPriceFactor> -->
<!-- <SocialImpact>1</SocialImpact> -->
<!-- <TradePriceImprovement>0.5</TradePriceImprovement> -->
<!-- 自带的甲壳可以防御外部攻击 -->
<ArmorRating_Blunt>0.1</ArmorRating_Blunt>
<ArmorRating_Sharp>0.1</ArmorRating_Sharp>
<ArmorRating_Heat>0.05</ArmorRating_Heat>
</statBases>
<race>
<!-- 身体类型 -->
<body>ArachnaeWeaponSmith_Body</body>
<baseBodySize>0.8</baseBodySize>
<baseHealthScale>0.75</baseHealthScale>
<lifeExpectancy>5</lifeExpectancy>
<lifeStageAges Inherit="False">
<li>
<def>ArachnaeNode_Myrmecocystus_Adult</def>
<minAge>0</minAge>
</li>
</lifeStageAges>
</race>
</AlienRace.ThingDef_AlienRace>
<AlienRace.ThingDef_AlienRace ParentName="ARA_NodeBase">
<defName>ArachnaeNode_Race_Fighter</defName>
<label>阿拉克涅战士种</label>
<description>阿拉克涅督虫之一,是巢穴中真正的战士,除了战斗外也可以进行狩猎和驯兽工作。其拥有强大的可塑性基因,随着科技的解锁其将获得更多的能力。\n\n作为督虫她可以向敌人投射寿命有限但是非常恼人的阿拉克涅酸噬种辅虫以阻止敌人的远程火力开火。</description>
<alienRace>
<generalSettings>
<!-- 各种零件定义 -->
<alienPartGenerator>
<!-- 额外身体部件 -->
<bodyAddons>
<li>
<path>ArachnaeSwarm/Things/ARA_HiveNode/Addons/ArachnaeNode_Race_Addons_Fighter_Claw</path>
<inFrontOfBody>true</inFrontOfBody>
</li>
<li>
<path>ArachnaeSwarm/Things/ARA_HiveNode/Addons/ArachnaeNode_Race_Addons_Fighter_Tail</path>
<inFrontOfBody>false</inFrontOfBody>
<offsets>
<north>
<layerOffset>-0.275</layerOffset>
</north>
</offsets>
</li>
</bodyAddons>
</alienPartGenerator>
</generalSettings>
<raceRestriction>
<onlyEatRaceRestrictedFood>true</onlyEatRaceRestrictedFood>
</raceRestriction>
</alienRace>
<comps>
</comps>
<!-- 基础属性设置 -->
<statBases>
<!-- 移动速度 -->
<MoveSpeed>4.5</MoveSpeed>
<!-- <RestRateMultiplier>1</RestRateMultiplier> -->
<!-- <HungerRateMultiplier>1</HungerRateMultiplier> -->
<!-- <EatingSpeed>5</EatingSpeed> -->
<MaxNutrition>2</MaxNutrition>
<CarryingCapacity>100</CarryingCapacity>
<MeatAmount>60</MeatAmount>
<LeatherAmount>30</LeatherAmount>
<MeleeDodgeChance>1.25</MeleeDodgeChance>
<MeleeHitChance>1.25</MeleeHitChance>
<!-- <NegotiationAbility>1</NegotiationAbility> -->
<!-- <SellPriceFactor>1</SellPriceFactor> -->
<!-- <SocialImpact>1</SocialImpact> -->
<!-- <TradePriceImprovement>0.5</TradePriceImprovement> -->
<!-- 自带的甲壳可以防御外部攻击 -->
<ArmorRating_Blunt>0.4</ArmorRating_Blunt>
<ArmorRating_Sharp>0.4</ArmorRating_Sharp>
<ArmorRating_Heat>0.3</ArmorRating_Heat>
</statBases>
<tools>
<li>
<label>头颚</label>
<label>巨镰</label>
<capacities>
<li>Bite</li>
<li>Cut</li>
</capacities>
<power>12</power>
<cooldownTime>2</cooldownTime>
<linkedBodyPartsGroup>HeadClaw</linkedBodyPartsGroup>
<ensureLinkedBodyPartsGroupAlwaysUsable>true</ensureLinkedBodyPartsGroupAlwaysUsable>
<chanceFactor>1</chanceFactor>
<power>20</power>
<cooldownTime>2.5</cooldownTime>
<linkedBodyPartsGroup>ARA_Sickles</linkedBodyPartsGroup>
<!-- <ensureLinkedBodyPartsGroupAlwaysUsable>true</ensureLinkedBodyPartsGroupAlwaysUsable> -->
<chanceFactor>0.5</chanceFactor>
</li>
</tools>
<race>
<!-- 身体类型 -->
<body>ArachnaeFighter_Body</body>
<baseBodySize>0.85</baseBodySize>
<baseHealthScale>2</baseHealthScale>
<lifeExpectancy>5</lifeExpectancy>
<lifeStageAges Inherit="False">
<li>
<def>ArachnaeNode_Myrmecocystus_Adult</def>
<minAge>0</minAge>
</li>
</lifeStageAges>
</race>
</AlienRace.ThingDef_AlienRace>
<AlienRace.ThingDef_AlienRace ParentName="ARA_NodeBase">
<defName>ArachnaeNode_Race_Facehugger</defName>
<label>阿拉克涅原虫种</label>
<description>阿拉克涅督虫之一,呈现高度未分化状态的特殊督虫,可以通过独特的神经链接管控制受害者的身体,并释放灵能信号以使得周围的人忽略其存在。\n\n不同于普通阿拉克涅虫族高度未分化的身体决定了其无法孕育任何辅虫在完成寄生前也难以胜任任何工作。</description>
<alienRace>
<generalSettings>
<!-- 各种零件定义 -->
<alienPartGenerator>
<!-- 额外身体部件 -->
<bodyAddons>
</bodyAddons>
</alienPartGenerator>
</generalSettings>
<!-- 图形,留空 -->
<graphicPaths Inherit="False">
<!-- 皮肤颜色 -->
<skinColor>(1,1,1,1)</skinColor>
<!-- 皮肤着色器 -->
<skinShader>Cutout</skinShader>
<body>ArachnaeSwarm/Things/ARA_Facehugger/Bodies/</body>
<head>
<path>ArachnaeSwarm/Things/ARA_HiveNode/Heads/</path>
</head>
<skeleton>Things/Pawn/Humanlike/Bodies/Dessicated/Dessicated_Thin</skeleton>
<stump>ArachnaeSwarm/Things/ARA_Facehugger/Bodies/Naked_Thin</stump>
</graphicPaths>
<!-- 种族的允许和禁止特化设置 -->
<raceRestriction>
<!-- 武器列表 -->
<weaponList Inherit="False"/>
</raceRestriction>
</alienRace>
<statBases>
<MoveSpeed>5</MoveSpeed>
<EatingSpeed>5</EatingSpeed>
<MaxNutrition>1</MaxNutrition>
<CarryingCapacity>100</CarryingCapacity>
<MeatAmount>20</MeatAmount>
<LeatherAmount>5</LeatherAmount>
<MeleeDodgeChance>1.5</MeleeDodgeChance>
</statBases>
<race>
<body>ArachnaeMyrmecocystus_Body</body>
<baseBodySize>0.5</baseBodySize>
<baseHealthScale>0.25</baseHealthScale>
<lifeExpectancy>30</lifeExpectancy>
<lifeStageAges Inherit="False">
<li>
<def>ArachnaeNode_Myrmecocystus_Adult</def>
<minAge>0</minAge>
</li>
</lifeStageAges>
</race>
<comps>
<li Class="ArachnaeSwarm.CompProperties_HediffGiver">
<hediffs>
<li>ARA_Facehugger_LowOperation</li>
</hediffs>
<addChance>1.0</addChance>
<allowDuplicates>false</allowDuplicates>
</li>
</comps>
</AlienRace.ThingDef_AlienRace>
<AlienRace.ThingDef_AlienRace ParentName="ARA_NodeBase">
<defName>ArachnaeNode_Race_Skyraider</defName>
<label>阿拉克涅空天种</label>
<description>阿拉克涅督虫中的精锐,进化出了强大的飞行能力,是巢穴中无可争议的空中霸主。\n\n作为为数不多拥有飞行能力的虫族她可以从空中掠袭猎物并将其带至千米高空之上俯冲投下只留其余猎物在地面无助的挣扎。</description>
<alienRace>
<generalSettings>
<!-- 各种零件定义 -->
<alienPartGenerator>
<!-- 额外身体部件 -->
<bodyAddons>
<li>
<path>ArachnaeSwarm/Things/ARA_HiveNode/Addons/ArachnaeNode_Race_Addons_Fighter_Claw</path>
<inFrontOfBody>true</inFrontOfBody>
</li>
<li>
<path>ArachnaeSwarm/Things/ARA_HiveNode/Addons/ArachnaeNode_Race_Addons_Fighter_Tail</path>
<inFrontOfBody>false</inFrontOfBody>
<offsets>
<north>
<layerOffset>-0.275</layerOffset>
</north>
</offsets>
</li>
</bodyAddons>
</alienPartGenerator>
</generalSettings>
<raceRestriction>
<onlyEatRaceRestrictedFood>true</onlyEatRaceRestrictedFood>
</raceRestriction>
</alienRace>
<comps>
<!-- Add our new flight component here -->
<li Class="ArachnaeSwarm.CompProperties_PawnFlight"> <!-- 2. 添加我们的飞行组件 -->
<!-- 飞行触发条件:仅在征召时飞行 -->
<flightCondition>Drafted</flightCondition>
<!-- 链接到我们刚刚创建的 AnimationDef -->
<flyingAnimationNorth>ARA_FlyNorth</flyingAnimationNorth>
<flyingAnimationEast>ARA_FlyEast</flyingAnimationEast>
<flyingAnimationSouth>ARA_FlySouth</flyingAnimationSouth>
</li>
</comps>
<!-- 基础属性设置 -->
<statBases>
<!-- 移动速度 -->
<MoveSpeed>4.5</MoveSpeed>
<MaxFlightTime>9999</MaxFlightTime>
<FlightCooldown>0</FlightCooldown>
<!-- <RestRateMultiplier>1</RestRateMultiplier> -->
<!-- <HungerRateMultiplier>1</HungerRateMultiplier> -->
<!-- <EatingSpeed>5</EatingSpeed> -->
<MaxNutrition>2</MaxNutrition>
<CarryingCapacity>100</CarryingCapacity>
<MeatAmount>60</MeatAmount>
<LeatherAmount>30</LeatherAmount>
<MeleeDodgeChance>1.25</MeleeDodgeChance>
<MeleeHitChance>1.25</MeleeHitChance>
<!-- <NegotiationAbility>1</NegotiationAbility> -->
<!-- <SellPriceFactor>1</SellPriceFactor> -->
<!-- <SocialImpact>1</SocialImpact> -->
<!-- <TradePriceImprovement>0.5</TradePriceImprovement> -->
<!-- 自带的甲壳可以防御外部攻击 -->
<ArmorRating_Blunt>0.4</ArmorRating_Blunt>
<ArmorRating_Sharp>0.4</ArmorRating_Sharp>
<ArmorRating_Heat>0.3</ArmorRating_Heat>
</statBases>
<tools>
<li>
<label>巨镰</label>
<capacities>
<li>Cut</li>
</capacities>
<power>20</power>
<cooldownTime>2.5</cooldownTime>
<linkedBodyPartsGroup>ARA_Sickles</linkedBodyPartsGroup>
<!-- <ensureLinkedBodyPartsGroupAlwaysUsable>true</ensureLinkedBodyPartsGroupAlwaysUsable> -->
<chanceFactor>0.5</chanceFactor>
</li>
</tools>
<race>
<!-- 身体类型 -->
<body>ArachnaeFighter_Body</body>
<renderTree>ARA_ArachnaeRenderTree</renderTree>
<flightStartChanceOnJobStart>1.0</flightStartChanceOnJobStart>
<baseBodySize>0.85</baseBodySize>
<baseHealthScale>2</baseHealthScale>
<lifeExpectancy>5</lifeExpectancy>
<lifeStageAges Inherit="False">
<li>
<def>ArachnaeNode_Myrmecocystus_Adult</def>
<minAge>0</minAge>
</li>
</lifeStageAges>
</race>
</AlienRace.ThingDef_AlienRace>
</Defs>

View File

@@ -4,11 +4,9 @@
<statBases>
<MarketValue>1750</MarketValue>
<MoveSpeed>4.6</MoveSpeed>
<ComfyTemperatureMin>16</ComfyTemperatureMin>
<ComfyTemperatureMax>26</ComfyTemperatureMax>
<LeatherAmount>75</LeatherAmount>
<ComfyTemperatureMin>-3000</ComfyTemperatureMin>
<ComfyTemperatureMax>3000</ComfyTemperatureMax>
<RoyalFavorValue>3</RoyalFavorValue>
<Wildness>0.75</Wildness> <!-- Hidden except for wild people -->
</statBases>
<tools>
<li>
@@ -219,6 +217,13 @@
<minMonolithLevelForStudy>1</minMonolithLevelForStudy>
<requiresImprisonment>true</requiresImprisonment>
</li>
<li Class="ArachnaeSwarm.CompProperties_HediffGiver">
<hediffs>
<li>ARA_TemperatureRegulation</li>
</hediffs>
<addChance>1.0</addChance>
<allowDuplicates>false</allowDuplicates>
</li>
</comps>
</ThingDef>
<AlienRace.ThingDef_AlienRace Name="ARA_QueenBase" ParentName="ARA_PawnBase">
@@ -242,7 +247,7 @@
<!-- 手术继承自人类 -->
<humanRecipeImport>false</humanRecipeImport>
<!-- 睡觉定义 -->
<canLayDown>true</canLayDown>
<canLayDown>false</canLayDown>
<!-- 各种零件定义 -->
<alienPartGenerator Inherit="False">
<!-- 允许的头部 -->
@@ -304,11 +309,11 @@
<customHeadDrawSize>(1.0,1.0)</customHeadDrawSize>
<customPortraitDrawSize>(2,2)</customPortraitDrawSize>
</alienPartGenerator>
<growthAges>
<growthAges Inherit="False">
<li>0</li>
</growthAges>
<!-- 年龄工作效率等的覆盖 -->
<ageStatOverrides>
<ageStatOverrides Inherit="False">
<WorkSpeedGlobal>
<useBiologicalYears>true</useBiologicalYears>
<curve>
@@ -370,7 +375,7 @@
</points>
</femaleFertilityAgeFactor>
</reproduction>
<growthFactorByAge>
<growthFactorByAge Inherit="False">
<points>
<li>(0,0)</li>
<li>(1,0)</li>
@@ -396,7 +401,10 @@
<li>
<key>HairDef</key>
<value>
<hasStyle>false</hasStyle>
<hasStyle>true</hasStyle>
<styleTagsOverride>
<li>Bald</li>
</styleTagsOverride>
</value>
</li>
<!-- 纹身 -->
@@ -458,9 +466,16 @@
</xenotypeList>
<onlyUseRaceRestrictedXenotypes>true</onlyUseRaceRestrictedXenotypes>
<!-- 食物列表 -->
<foodList>
</foodList>
<onlyEatRaceRestrictedFood>false</onlyEatRaceRestrictedFood>
<whiteFoodList>
<li>ARA_InsectJelly</li>
</whiteFoodList>
<onlyEatRaceRestrictedFood>true</onlyEatRaceRestrictedFood>
<!-- 可以驯服的宠物,主要是防止小虫由别人驯服 -->
<petList>
<li>ArachnaeBase_Race_Scavenger</li>
<li>ArachnaeBase_Race_HardJaw</li>
</petList>
<onlyTameRaceRestrictedPets>false</onlyTameRaceRestrictedPets>
<!-- 可以穿戴的衣服 -->
<apparelList>
</apparelList>
@@ -497,6 +512,35 @@
<!-- 不会产生的想法 -->
<cannotReceiveThoughts>
<li>Naked</li>
<li>AnyBodyPartButGroinCovered_Disapproved_Female</li>
<li>AnyBodyPartButGroinCovered_Disapproved_Male</li>
<li>AnyBodyPartButGroinCovered_Disapproved_Memory</li>
<li>AnyBodyPartButGroinCovered_Disapproved_Social_Female</li>
<li>AnyBodyPartButGroinCovered_Disapproved_Social_Male</li>
<li>AnyBodyPartCovered_Disapproved_Female</li>
<li>AnyBodyPartCovered_Disapproved_Male</li>
<li>AnyBodyPartCovered_Disapproved_Memory</li>
<li>AnyBodyPartCovered_Disapproved_Social_Female</li>
<li>AnyBodyPartCovered_Disapproved_Social_Male</li>
<li>GroinChestHairOrFaceUncovered_Disapproved_Female</li>
<li>GroinChestHairOrFaceUncovered_Disapproved_Male</li>
<li>GroinChestHairOrFaceUncovered_Disapproved_Social_Female</li>
<li>GroinChestHairOrFaceUncovered_Disapproved_Social_Male</li>
<li>GroinChestOrHairUncovered_Disapproved_Female</li>
<li>GroinChestOrHairUncovered_Disapproved_Male</li>
<li>GroinChestOrHairUncovered_Disapproved_Social_Female</li>
<li>GroinChestOrHairUncovered_Disapproved_Social_Male</li>
<li>GroinOrChestUncovered_Disapproved_Female</li>
<li>GroinOrChestUncovered_Disapproved_Male</li>
<li>GroinOrChestUncovered_Disapproved_Social_Female</li>
<li>GroinOrChestUncovered_Disapproved_Social_Male</li>
<li>GroinUncovered_Disapproved_Female</li>
<li>GroinUncovered_Disapproved_Male</li>
<li>GroinUncovered_Disapproved_Social_Female</li>
<li>GroinUncovered_Disapproved_Social_Male</li>
<li>WitnessedDeathAlly</li>
<li>ObservedLayingCorpse</li>
<li>ObservedLayingRottingCorpse</li>
<li>ApparelDamaged</li>
<li>ProsthophileHappy</li>
<li>ProsthophobeUnhappy</li>
@@ -603,8 +647,6 @@
<!-- 智力水平 -->
<intelligence>Humanlike</intelligence>
<!-- 肉和皮革的定义 -->
<leatherDef>Leather_Light</leatherDef>
<specificMeatDef>Meat_Megaspider</specificMeatDef>
<nameCategory>HumanStandard</nameCategory>
<bloodDef>Filth_BloodInsect</bloodDef>
<bloodSmearDef>Filth_BloodSmear</bloodSmearDef>
@@ -613,8 +655,8 @@
<!-- 基础血量,很高 -->
<baseHealthScale>10</baseHealthScale>
<!-- 解剖产物 -->
<leatherDef>Steel</leatherDef>
<specificMeatDef>Steel</specificMeatDef>
<leatherDef>ARA_Carapace</leatherDef>
<specificMeatDef>Meat_Megaspider</specificMeatDef>
<soundMeleeHitPawn>Pawn_Melee_BigBash_HitPawn</soundMeleeHitPawn>
<soundMeleeHitBuilding>Pawn_Melee_BigBash_HitBuilding</soundMeleeHitBuilding>
@@ -622,7 +664,7 @@
<soundMeleeDodge>Pawn_MeleeDodge</soundMeleeDodge>
<!-- 年龄阶段 -->
<!-- <lifeExpectancy>5000</lifeExpectancy> -->
<lifeStageWorkSettings MayRequire="Ludeon.RimWorld.Biotech">
<lifeStageWorkSettings MayRequire="Ludeon.RimWorld.Biotech" Inherit="False">
<Firefighter>0</Firefighter>
<Patient>0</Patient>
<Doctor>0</Doctor>
@@ -657,7 +699,6 @@
</li>
</lifeStageAges>
<canFlyInVacuum>false</canFlyInVacuum>
</race>
<!-- 工具设置(攻击方式) -->
@@ -707,34 +748,14 @@
</recipes>
<comps>
<!-- <li MayRequire="Nals.FacialAnimation">
<compClass>FacialAnimation.DrawFaceGraphicsComp</compClass>
</li>
<li MayRequire="Nals.FacialAnimation">
<compClass>FacialAnimation.HeadControllerComp</compClass>
</li>
<li MayRequire="Nals.FacialAnimation">
<compClass>FacialAnimation.EyeballControllerComp</compClass>
</li>
<li MayRequire="Nals.FacialAnimation">
<compClass>FacialAnimation.LidControllerComp</compClass>
<li Class="ArachnaeSwarm.CompProperties_HediffGiver">
<hediffs>
<li>ARA_Queen_0_Stage</li>
<li>ARA_HiveMindMaster</li>
</hediffs>
<addChance>1.0</addChance>
<allowDuplicates>false</allowDuplicates>
</li>
<li MayRequire="Nals.FacialAnimation">
<compClass>FacialAnimation.BrowControllerComp</compClass>
</li>
<li MayRequire="Nals.FacialAnimation">
<compClass>FacialAnimation.MouthControllerComp</compClass>
</li>
<li MayRequire="Nals.FacialAnimation">
<compClass>FacialAnimation.SkinControllerComp</compClass>
</li>
<li MayRequire="Nals.FacialAnimation">
<compClass>FacialAnimation.FacialAnimationControllerComp</compClass>
</li> -->
<!--<li>
<compClass>FacialAnimation.EmotionControllerComp</compClass>
</li>-->
<!-- <li Class="CompProperties_DrugAddict"/> -->
</comps>
</AlienRace.ThingDef_AlienRace>
</Defs>

View File

@@ -3,18 +3,19 @@
<ThingDef ParentName="OrganicProductBase">
<defName>ARA_InsectJelly</defName>
<label>阿拉克涅虫蜜</label>
<description>由虫族储存和用作食物的果冻。它顺滑、浓郁,能满足食用者的娱乐需求。由于其独特的生物特性,它几乎可以滋养任何生物,永不腐烂</description>
<possessionCount>10</possessionCount>
<description>阿拉克涅虫族储存和用作食物的果冻,是大部分阿拉克涅虫族的唯一食物。它顺滑、浓郁、永不腐烂,能满足食用者的娱乐需求。由于其独特的生物特性,非阿拉克涅虫族也可以食用这种食物,并且不会引起食物中毒</description>
<possessionCount>20</possessionCount>
<graphicData>
<texPath>Things/Item/Resource/AnimalProductRaw/InsectJelly</texPath>
<graphicClass>Graphic_StackCount</graphicClass>
<texPath>ArachnaeSwarm/Item/ARA_InsectJelly</texPath>
<graphicClass>Graphic_Single</graphicClass>
</graphicData>
<genericMarketSellable>false</genericMarketSellable>
<socialPropernessMatters>true</socialPropernessMatters>
<statBases>
<MarketValue>8.0</MarketValue>
<MarketValue>5.0</MarketValue>
<Mass>0.025</Mass>
<Nutrition>0.1</Nutrition>
<FoodPoisonChanceFixedHuman>0.02</FoodPoisonChanceFixedHuman>
<Nutrition>1</Nutrition>
<FoodPoisonChanceFixedHuman>0</FoodPoisonChanceFixedHuman>
</statBases>
<ingestible>
<foodType>AnimalProduct</foodType>
@@ -31,4 +32,66 @@
</thingCategories>
<allowedArchonexusCount>150</allowedArchonexusCount>
</ThingDef>
<ThingDef ParentName="ResourceBase">
<defName>ARA_Carapace</defName>
<label>甲壳素</label>
<description>从部分拥有厚壳的阿拉克涅虫族身上剥离的甲壳素,虽然轻便但是不太耐用,是虫巢内拥有多种用途的材料。</description>
<graphicData>
<texPath>ArachnaeSwarm/Item/ARA_Carapace</texPath>
<graphicClass>Graphic_Single</graphicClass>
</graphicData>
<genericMarketSellable>false</genericMarketSellable>
<soundInteract>Metal_Drop</soundInteract>
<soundDrop>Metal_Drop</soundDrop>
<useHitPoints>true</useHitPoints>
<healthAffectsPrice>false</healthAffectsPrice>
<stackLimit>500</stackLimit>
<statBases>
<MarketValue>1</MarketValue>
<MaxHitPoints>200</MaxHitPoints>
<Mass>0.01</Mass>
<StuffPower_Armor_Sharp>1.3</StuffPower_Armor_Sharp>
<StuffPower_Armor_Blunt>1.4</StuffPower_Armor_Blunt>
<StuffPower_Armor_Heat>1.1</StuffPower_Armor_Heat>
<StuffPower_Insulation_Cold>-10</StuffPower_Insulation_Cold>
<StuffPower_Insulation_Heat>10</StuffPower_Insulation_Heat>
<SharpDamageMultiplier>1.35</SharpDamageMultiplier>
<BluntDamageMultiplier>1.1</BluntDamageMultiplier>
</statBases>
<thingCategories>
<li>ResourcesRaw</li>
</thingCategories>
<burnableByRecipe>false</burnableByRecipe>
<smeltable>true</smeltable>
<stuffProps>
<categories>
<li>Metallic</li>
</categories>
<appearance>Metal</appearance>
<commonality>0</commonality>
<allowedInStuffGeneration>false</allowedInStuffGeneration>
<constructEffect>ConstructMetal</constructEffect>
<color>(136, 126, 120)</color>
<soundImpactBullet>BulletImpact_Metal</soundImpactBullet>
<soundMeleeHitSharp>MeleeHit_Metal_Sharp</soundMeleeHitSharp>
<soundMeleeHitBlunt>MeleeHit_Metal_Blunt</soundMeleeHitBlunt>
<soundImpactMelee>Pawn_Melee_Punch_HitBuilding_Metal</soundImpactMelee>
<statOffsets>
<Beauty>-6</Beauty>
</statOffsets>
<statFactors>
<MaxHitPoints>0.8</MaxHitPoints>
<Beauty>-6</Beauty>
<Flammability>0</Flammability>
<WorkToMake>1.25</WorkToMake>
<WorkToBuild>1.25</WorkToBuild>
<DoorOpenSpeed>0.3</DoorOpenSpeed>
<MeleeWeapon_CooldownMultiplier>0.75</MeleeWeapon_CooldownMultiplier>
</statFactors>
</stuffProps>
<terrainAffordanceNeeded>Medium</terrainAffordanceNeeded>
<allowedArchonexusCount>80</allowedArchonexusCount>
<possessionCount>50</possessionCount>
</ThingDef>
</Defs>

View File

@@ -0,0 +1,182 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<!-- 内衬 -->
<ThingDef Name="ARA_ApparelOnSkinBase" ParentName="ApparelMakeableBase" Abstract="True">
<graphicData>
<graphicClass>Graphic_Single</graphicClass>
<shaderType>CutoutComplex</shaderType>
</graphicData>
<smeltable>false</smeltable>
<thingCategories>
<li>ApparelMisc</li>
</thingCategories>
<costStuffCount>0</costStuffCount>
<stuffCategories Inherit="False" />
<apparel>
<tags>
<li>ARA_Apparel</li>
<li>ARA_Inner</li>
</tags>
<bodyPartGroups>
<li>Torso</li>
</bodyPartGroups>
<layers>
<li>OnSkin</li>
</layers>
<canBeDesiredForIdeo>false</canBeDesiredForIdeo>
<canBeGeneratedToSatisfyWarmth>false</canBeGeneratedToSatisfyWarmth>
<canBeGeneratedToSatisfyToxicEnvironmentResistance>false</canBeGeneratedToSatisfyToxicEnvironmentResistance>
<useWornGraphicMask>true</useWornGraphicMask>
</apparel>
<recipeMaker Inherit="False" IsNull="True"/>
<possessionCount>1</possessionCount>
<statBases>
<Mass>0.1</Mass>
</statBases>
</ThingDef>
<ThingDef ParentName="ARA_ApparelOnSkinBase">
<defName>ARA_Bodystocking_White</defName>
<label>连身白丝</label>
<description>阿拉克涅虫群的装饰性织物,对于虫群来说应该是没啥用的东西。</description>
<graphicData>
<texPath>ArachnaeSwarm/Apparel/ARA_Bodystocking_White</texPath>
</graphicData>
<apparel>
<wornGraphicPath>ArachnaeSwarm/Apparel/ARA_Bodystocking_White</wornGraphicPath>
</apparel>
<statBases>
<WorkToMake>3000</WorkToMake>
</statBases>
</ThingDef>
<ThingDef ParentName="ARA_ApparelOnSkinBase">
<defName>ARA_Bodystocking_Black</defName>
<label>连身黑丝</label>
<description>阿拉克涅虫群的装饰性织物,对于虫群来说应该是没啥用的东西。</description>
<graphicData>
<texPath>ArachnaeSwarm/Apparel/ARA_Bodystocking_Black</texPath>
</graphicData>
<apparel>
<wornGraphicPath>ArachnaeSwarm/Apparel/ARA_Bodystocking_Black</wornGraphicPath>
</apparel>
<statBases>
<WorkToMake>3000</WorkToMake>
</statBases>
</ThingDef>
<AbilityDef ParentName="ARA_CocoonSpew_Base">
<defName>ARA_BioforgeIncubator_ClothBase</defName>
<label>投放孵化茧 基础织物</label>
<description>投放一枚织物茧,内含可以孵化一套基础织物的营养和遗传物质——参阅茧的超链接,了解其能生产的所有装备的特点。</description>
<iconPath>UI/Commands/EggSpew</iconPath>
<comps>
<li Class="CompProperties_AbilityLaunchProjectile">
<projectileDef>ARA_BioforgeIncubator_ClothBase_Proj</projectileDef>
</li>
<li Class="ArachnaeSwarm.CompProperties_AbilityResearchPrereq">
<requiredResearch>ARA_Technology_4DIL</requiredResearch>
<failMessage>需要科技 基因节点DIL-4"编织" 以解锁此孵化路径</failMessage>
</li>
</comps>
</AbilityDef>
<ThingDef ParentName="ARA_CocoonSpew_Base_Proj">
<defName>ARA_BioforgeIncubator_ClothBase_Proj</defName>
<projectile>
<spawnsThingDef>ARA_BioforgeIncubator_ClothBase</spawnsThingDef>
</projectile>
</ThingDef>
<ThingDef ParentName="ARA_BioforgeIncubator_Base">
<defName>ARA_BioforgeIncubator_ClothBase</defName>
<label>阿拉克涅孵化茧 基础织物</label>
<description>一个脆弱、易燃、黏滑的囊状物,是阿拉克涅工艺种所诞之卵,内含孵化一套基础织物装备的营养物质,可以通过阿拉克涅工艺种的交互完成激活进程——参阅茧的超链接,了解其能生产的所有装备的特点。\n\n孵化茧对温度极度敏感该类型的茧适温为-30~55°C需要小心保护</description>
<descriptionHyperlinks>
<ThingDef>ARA_Bodystocking_White</ThingDef>
<ThingDef>ARA_Bodystocking_Black</ThingDef>
</descriptionHyperlinks>
<researchPrerequisites>
<li>ARA_Technology_4DIL</li>
</researchPrerequisites>
<comps>
<!-- The new, GrowthVat-style fuel component -->
<li Class="ArachnaeSwarm.CompProperties_RefuelableNutrition">
<fuelCapacity>10</fuelCapacity>
<fuelLabel>营养</fuelLabel>
<fuelFilter>
<categories>
<li>Foods</li>
</categories>
</fuelFilter>
<fuelConsumptionRate>0</fuelConsumptionRate> <!-- IMPORTANT: Disable base class consumption -->
<showAllowAutoRefuelToggle>true</showAllowAutoRefuelToggle>
<initialFuelPercent>1</initialFuelPercent>
<autoRefuelPercent>1</autoRefuelPercent>
</li>
<!-- The refactored producer component -->
<li Class="ArachnaeSwarm.CompProperties_InteractiveProducer">
<processes>
<li>
<thingDef>ARA_Bodystocking_White</thingDef>
<productionTicks>6000</productionTicks>
<totalNutritionNeeded>1</totalNutritionNeeded>
</li>
<li>
<thingDef>ARA_Bodystocking_Black</thingDef>
<productionTicks>6000</productionTicks>
<totalNutritionNeeded>1</totalNutritionNeeded>
</li>
</processes>
<whitelist>
<li>ArachnaeNode_Race_WeaponSmith</li>
</whitelist>
<spawnCount>1</spawnCount>
<destroyOnSpawn>True</destroyOnSpawn>
<minSafeTemperature>-30</minSafeTemperature>
<maxSafeTemperature>55</maxSafeTemperature>
<penaltyPerDegreePerTick>0.00001</penaltyPerDegreePerTick>
<damagePerTickWhenUnfueled>0.2</damagePerTickWhenUnfueled>
<minNutritionToStart>1.0</minNutritionToStart>
<qualityThresholds>
<li>
<quality>Legendary</quality>
<threshold>0.99</threshold>
</li>
<li>
<quality>Masterwork</quality>
<threshold>0.90</threshold>
</li>
<li>
<quality>Excellent</quality>
<threshold>0.70</threshold>
</li>
<li>
<quality>Good</quality>
<threshold>0.50</threshold>
</li>
<li>
<quality>Normal</quality>
<threshold>0.20</threshold>
</li>
<li>
<quality>Poor</quality>
<threshold>0.10</threshold>
</li>
</qualityThresholds>
</li>
<li Class="ArachnaeSwarm.CompProperties_TemperatureRuinableDamage">
<minSafeTemperature>-30</minSafeTemperature>
<maxSafeTemperature>55</maxSafeTemperature>
<progressPerDegreePerTick>0.00005</progressPerDegreePerTick>
<damagePerTick>0.005</damagePerTick>
<recoveryRate>0.001</recoveryRate>
</li>
</comps>
</ThingDef>
<ApparelLayerDef>
<defName>Shield</defName>
<label>盾牌</label>
<drawOrder>275</drawOrder>
</ApparelLayerDef>
</Defs>

View File

@@ -0,0 +1,624 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<ThingDef ParentName="BaseMeleeWeapon_Sharp_Quality">
<defName>ARA_MW_Bone_Sword</defName>
<label>武装器官"骨刃"</label>
<description>阿拉克涅虫群督虫使用基础近战武装器官,通过多根外露神经束与督虫的辅肢相连。尽管它只是一块坚硬的剑形骨片,但是丝毫不影响那些拥有无穷蛮力的阿拉克涅虫群督虫使用它将侵犯虫巢之敌一一斩首。</description>
<weaponTags>
<li>ARA_Armed_Organ</li>
<li>ARA_Armed_Organ_Melee</li>
<li>ARA_Armed_Organ_T1</li>
</weaponTags>
<graphicData>
<texPath>ArachnaeSwarm/Weapon/ARA_MW_Bone_Sword</texPath>
<graphicClass>Graphic_Single</graphicClass>
<shaderType>CutoutComplex</shaderType>
<drawSize>1</drawSize>
</graphicData>
<uiIconScale>1</uiIconScale>
<!-- <equippedAngleOffset>-65</equippedAngleOffset> -->
<techLevel>Animal</techLevel>
<!-- <equippedAngleOffset>-25</equippedAngleOffset> -->
<costStuffCount>0</costStuffCount>
<stuffCategories Inherit="False"/>
<costList Inherit="False">
<ARA_Carapace>50</ARA_Carapace>
</costList>
<statBases>
<WorkToMake>1000</WorkToMake>
<Mass>5</Mass>
</statBases>
<tools Inherit="False">
<li>
<label>横扫</label>
<capacities>
<li>Cut</li>
</capacities>
<power>15</power>
<cooldownTime>1.3</cooldownTime>
<armorPenetration>0.50</armorPenetration>
</li>
<li>
<label>下砸</label>
<capacities>
<li>Poke</li>
</capacities>
<power>12</power>
<armorPenetration>0.20</armorPenetration>
<cooldownTime>1.5</cooldownTime>
<extraMeleeDamages>
<li>
<def>Stun</def>
<amount>15</amount>
</li>
</extraMeleeDamages>
</li>
</tools>
<recipeMaker>
<recipeUsers Inherit="False" />
<researchPrerequisite Inherit="False" />
<unfinishedThingDef>UnfinishedWeapon</unfinishedThingDef>
</recipeMaker>
<thingSetMakerTags>
<li>RewardStandardQualitySuper</li>
</thingSetMakerTags>
</ThingDef>
<AbilityDef ParentName="ARA_CocoonSpew_Base">
<defName>ARA_BioforgeIncubator_BoneBase</defName>
<label>投放孵化茧 骨刃器官</label>
<description>投放一枚武装器官茧,内含可以孵化一套基础骨刃武装器官的营养和遗传物质——参阅茧的超链接,了解其能生产的所有装备的特点。</description>
<iconPath>UI/Commands/EggSpew</iconPath>
<comps>
<li Class="CompProperties_AbilityLaunchProjectile">
<projectileDef>ARA_BioforgeIncubator_BoneBase_Proj</projectileDef>
</li>
<li Class="ArachnaeSwarm.CompProperties_AbilityResearchPrereq">
<requiredResearch>ARA_Technology_5DIL</requiredResearch>
<failMessage>需要科技 基因节点DIL-5"骨刀" 以解锁此孵化路径</failMessage>
</li>
</comps>
</AbilityDef>
<ThingDef ParentName="ARA_CocoonSpew_Base_Proj">
<defName>ARA_BioforgeIncubator_BoneBase_Proj</defName>
<projectile>
<spawnsThingDef>ARA_BioforgeIncubator_BoneBase</spawnsThingDef>
</projectile>
</ThingDef>
<ThingDef ParentName="ARA_BioforgeIncubator_Base">
<defName>ARA_BioforgeIncubator_BoneBase</defName>
<label>阿拉克涅孵化茧 基础骨片装备</label>
<description>一个脆弱、易燃、黏滑的囊状物,是阿拉克涅工艺种所诞之卵,内含孵化一个骨片武装器官的营养物质,可以通过阿拉克涅工艺种的交互完成激活进程——参阅茧的超链接,了解其能生产的所有装备的特点。\n\n孵化茧对温度极度敏感该类型的茧适温为-20~35°C需要小心保护</description>
<descriptionHyperlinks>
<ThingDef>ARA_MW_Bone_Sword</ThingDef>
</descriptionHyperlinks>
<researchPrerequisites>
<li>ARA_Technology_5DIL</li>
</researchPrerequisites>
<comps>
<!-- The new, GrowthVat-style fuel component -->
<li Class="ArachnaeSwarm.CompProperties_RefuelableNutrition">
<fuelCapacity>10</fuelCapacity>
<fuelLabel>营养</fuelLabel>
<fuelFilter>
<categories>
<li>Foods</li>
</categories>
</fuelFilter>
<fuelConsumptionRate>0</fuelConsumptionRate> <!-- IMPORTANT: Disable base class consumption -->
<showAllowAutoRefuelToggle>true</showAllowAutoRefuelToggle>
<initialFuelPercent>1</initialFuelPercent>
<autoRefuelPercent>1</autoRefuelPercent>
</li>
<!-- The refactored producer component -->
<li Class="ArachnaeSwarm.CompProperties_InteractiveProducer">
<processes>
<li>
<thingDef>ARA_MW_Bone_Sword</thingDef>
<productionTicks>60000</productionTicks>
<totalNutritionNeeded>15</totalNutritionNeeded>
</li>
</processes>
<whitelist>
<li>ArachnaeNode_Race_WeaponSmith</li>
</whitelist>
<spawnCount>1</spawnCount>
<destroyOnSpawn>True</destroyOnSpawn>
<minSafeTemperature>-20</minSafeTemperature>
<maxSafeTemperature>35</maxSafeTemperature>
<penaltyPerDegreePerTick>0.00001</penaltyPerDegreePerTick>
<damagePerTickWhenUnfueled>0.2</damagePerTickWhenUnfueled>
<minNutritionToStart>1.0</minNutritionToStart>
<qualityThresholds>
<li>
<quality>Legendary</quality>
<threshold>0.99</threshold>
</li>
<li>
<quality>Masterwork</quality>
<threshold>0.90</threshold>
</li>
<li>
<quality>Excellent</quality>
<threshold>0.70</threshold>
</li>
<li>
<quality>Good</quality>
<threshold>0.50</threshold>
</li>
<li>
<quality>Normal</quality>
<threshold>0.20</threshold>
</li>
<li>
<quality>Poor</quality>
<threshold>0.10</threshold>
</li>
</qualityThresholds>
</li>
<li Class="ArachnaeSwarm.CompProperties_TemperatureRuinableDamage">
<minSafeTemperature>-20</minSafeTemperature>
<maxSafeTemperature>35</maxSafeTemperature>
<progressPerDegreePerTick>0.00005</progressPerDegreePerTick>
<damagePerTick>0.005</damagePerTick>
<recoveryRate>0.001</recoveryRate>
</li>
</comps>
</ThingDef>
<ThingDef ParentName="BaseHumanMakeableGun">
<defName>ARA_RW_Basic_Fist_Needle_Gun</defName>
<label>武装器官"拳针枪"</label>
<description>阿拉克涅虫群督虫使用基础远程武装器官,外表就像一只拳套,可以通过神经束缠绕接在阿拉克涅督虫的辅肢上。这种武器小巧轻盈,虽然射程很短,但是面对敌人时能喷出一整排的带毒尖刺,把对手扎个透心凉。</description>
<tickerType>Normal</tickerType>
<techLevel>Animal</techLevel>
<graphicData>
<texPath>ArachnaeSwarm/Weapon/ARA_RW_Basic_Fist_Needle_Gun</texPath>
<graphicClass>Graphic_Single</graphicClass>
<drawSize>0.75</drawSize>
</graphicData>
<uiIconScale>1.3</uiIconScale>
<soundInteract>SpitterSpawn</soundInteract>
<recipeMaker>
<recipeUsers Inherit="False" />
<researchPrerequisite Inherit="False" />
<unfinishedThingDef>UnfinishedWeapon</unfinishedThingDef>
</recipeMaker>
<statBases>
<WorkToMake>1300</WorkToMake>
<!-- <MarketValue>370</MarketValue> -->
<Mass>0.5</Mass>
<AccuracyTouch>0.85</AccuracyTouch>
<AccuracyShort>0.6</AccuracyShort>
<AccuracyMedium>0.45</AccuracyMedium>
<AccuracyLong>0.3</AccuracyLong>
<RangedWeapon_Cooldown>1.25</RangedWeapon_Cooldown>
</statBases>
<verbs>
<li>
<verbClass>Verb_Shoot</verbClass>
<hasStandardCommand>true</hasStandardCommand>
<forceNormalTimeSpeed>false</forceNormalTimeSpeed>
<warmupTime>0.25</warmupTime>
<defaultProjectile>Bullet_ARA_RW_Basic_Fist_Needle_Gun</defaultProjectile>
<range>14</range>
<burstShotCount>6</burstShotCount>
<ticksBetweenBurstShots>1</ticksBetweenBurstShots>
<soundCast>SpitterSpit</soundCast>
<targetParams>
<canTargetLocations>true</canTargetLocations>
</targetParams>
</li>
</verbs>
<costList Inherit="False">
<ARA_Carapace>25</ARA_Carapace>
</costList>
<weaponTags>
<li>ARA_Armed_Organ</li>
<li>ARA_Armed_Organ_Ranged</li>
<li>ARA_Armed_Organ_T1</li>
</weaponTags>
<thingSetMakerTags>
<li>RewardStandardQualitySuper</li>
</thingSetMakerTags>
<tools Inherit="False">
<li>
<label>拳针枪拳击</label>
<capacities>
<li>Poke</li>
</capacities>
<power>10</power>
<armorPenetration>0.25</armorPenetration>
<cooldownTime>1.25</cooldownTime>
<extraMeleeDamages>
<li>
<def>Stun</def>
<amount>12</amount>
</li>
</extraMeleeDamages>
</li>
</tools>
</ThingDef>
<ThingDef ParentName="BaseBullet">
<defName>Bullet_ARA_RW_Basic_Fist_Needle_Gun</defName>
<label>毒针</label>
<graphicData>
<texPath>Things/Projectile/Bullet_Small</texPath>
<graphicClass>Graphic_Single</graphicClass>
<color>(117, 204, 49, 180)</color>
</graphicData>
<projectile>
<damageDef>ARA_Fist_Needle</damageDef>
<damageAmountBase>2</damageAmountBase>
<speed>40</speed>
</projectile>
</ThingDef>
<AbilityDef ParentName="ARA_CocoonSpew_Base">
<defName>ARA_BioforgeIncubator_ToxicNeedleBase</defName>
<label>投放孵化茧 毒针器官</label>
<description>投放一枚武装器官茧,内含可以孵化一套基础毒针武装器官的营养和遗传物质——参阅茧的超链接,了解其能生产的所有装备的特点。</description>
<iconPath>UI/Commands/EggSpew</iconPath>
<comps>
<li Class="CompProperties_AbilityLaunchProjectile">
<projectileDef>ARA_BioforgeIncubator_ToxicNeedleBase_Proj</projectileDef>
</li>
<li Class="ArachnaeSwarm.CompProperties_AbilityResearchPrereq">
<requiredResearch>ARA_Technology_5PAV</requiredResearch>
<failMessage>需要科技 基因节点PAV-5"毒刺" 以解锁此孵化路径</failMessage>
</li>
</comps>
</AbilityDef>
<ThingDef ParentName="ARA_CocoonSpew_Base_Proj">
<defName>ARA_BioforgeIncubator_ToxicNeedleBase_Proj</defName>
<projectile>
<spawnsThingDef>ARA_BioforgeIncubator_ToxicNeedleBase</spawnsThingDef>
</projectile>
</ThingDef>
<ThingDef ParentName="ARA_BioforgeIncubator_Base">
<defName>ARA_BioforgeIncubator_ToxicNeedleBase</defName>
<label>阿拉克涅孵化茧 基础毒针武器</label>
<description>一个脆弱、易燃、黏滑的囊状物,是阿拉克涅工艺种所诞之卵,内含孵化一个毒针武装器官的营养物质,可以通过阿拉克涅工艺种的交互完成激活进程——参阅茧的超链接,了解其能生产的所有装备的特点。\n\n孵化茧对温度极度敏感该类型的茧适温为0~22°C需要小心保护</description>
<descriptionHyperlinks>
<ThingDef>ARA_RW_Basic_Fist_Needle_Gun</ThingDef>
</descriptionHyperlinks>
<researchPrerequisites>
<li>ARA_Technology_5PAV</li>
</researchPrerequisites>
<comps>
<!-- The new, GrowthVat-style fuel component -->
<li Class="ArachnaeSwarm.CompProperties_RefuelableNutrition">
<fuelCapacity>10</fuelCapacity>
<fuelLabel>营养</fuelLabel>
<fuelFilter>
<categories>
<li>Foods</li>
</categories>
</fuelFilter>
<fuelConsumptionRate>0</fuelConsumptionRate> <!-- IMPORTANT: Disable base class consumption -->
<showAllowAutoRefuelToggle>true</showAllowAutoRefuelToggle>
<initialFuelPercent>1</initialFuelPercent>
<autoRefuelPercent>1</autoRefuelPercent>
</li>
<!-- The refactored producer component -->
<li Class="ArachnaeSwarm.CompProperties_InteractiveProducer">
<processes>
<li>
<thingDef>ARA_RW_Basic_Fist_Needle_Gun</thingDef>
<productionTicks>40000</productionTicks>
<totalNutritionNeeded>10</totalNutritionNeeded>
<!--<requiredResearch>ARA_Technology_5PAV</requiredResearch>-->
</li>
</processes>
<whitelist>
<li>ArachnaeNode_Race_WeaponSmith</li>
</whitelist>
<spawnCount>1</spawnCount>
<destroyOnSpawn>True</destroyOnSpawn>
<minSafeTemperature>0</minSafeTemperature>
<maxSafeTemperature>22</maxSafeTemperature>
<penaltyPerDegreePerTick>0.00001</penaltyPerDegreePerTick>
<damagePerTickWhenUnfueled>0.2</damagePerTickWhenUnfueled>
<minNutritionToStart>1.0</minNutritionToStart>
<qualityThresholds>
<li>
<quality>Legendary</quality>
<threshold>0.99</threshold>
</li>
<li>
<quality>Masterwork</quality>
<threshold>0.90</threshold>
</li>
<li>
<quality>Excellent</quality>
<threshold>0.70</threshold>
</li>
<li>
<quality>Good</quality>
<threshold>0.50</threshold>
</li>
<li>
<quality>Normal</quality>
<threshold>0.20</threshold>
</li>
<li>
<quality>Poor</quality>
<threshold>0.10</threshold>
</li>
</qualityThresholds>
</li>
<li Class="ArachnaeSwarm.CompProperties_TemperatureRuinableDamage">
<minSafeTemperature>0</minSafeTemperature>
<maxSafeTemperature>22</maxSafeTemperature>
<progressPerDegreePerTick>0.00005</progressPerDegreePerTick>
<damagePerTick>0.005</damagePerTick>
<recoveryRate>0.001</recoveryRate>
</li>
</comps>
</ThingDef>
<ThingDef ParentName="BaseHumanMakeableGun">
<defName>ARA_RW_Basic_Acid_Bladder_Gun</defName>
<label>武装器官"酸液枪"</label>
<description>阿拉克涅虫群督虫使用基础远程武装器官,可以通过肌肉的瞬间加压喷出一团包含阿拉克涅酸液的液体团。这种酸液团的飞行速度很慢,但是能在目标地点炸开,并灼烧所有粘上酸液的敌人。</description>
<tickerType>Normal</tickerType>
<techLevel>Animal</techLevel>
<graphicData>
<texPath>ArachnaeSwarm/Weapon/ARA_RW_Basic_Acid_Bladder_Gun</texPath>
<graphicClass>Graphic_Single</graphicClass>
<drawSize>1.2</drawSize>
</graphicData>
<soundInteract>SpitterSpawn</soundInteract>
<recipeMaker>
<recipeUsers Inherit="False" />
<researchPrerequisite Inherit="False" />
<unfinishedThingDef>UnfinishedWeapon</unfinishedThingDef>
</recipeMaker>
<statBases>
<WorkToMake>1300</WorkToMake>
<!-- <MarketValue>370</MarketValue> -->
<Mass>3.5</Mass>
<AccuracyTouch>0.5</AccuracyTouch>
<AccuracyShort>0.6</AccuracyShort>
<AccuracyMedium>0.45</AccuracyMedium>
<AccuracyLong>0.3</AccuracyLong>
<RangedWeapon_Cooldown>2.5</RangedWeapon_Cooldown>
</statBases>
<verbs>
<li>
<verbClass>Verb_Shoot</verbClass>
<hasStandardCommand>true</hasStandardCommand>
<forceNormalTimeSpeed>false</forceNormalTimeSpeed>
<warmupTime>1.0</warmupTime>
<forcedMissRadius>1</forcedMissRadius>
<defaultProjectile>Bullet_ARA_RW_Basic_Acid_Bladder_Gun</defaultProjectile>
<isMortar>true</isMortar>
<requireLineOfSight>false</requireLineOfSight>
<minRange>3</minRange>
<range>28</range>
<burstShotCount>1</burstShotCount>
<soundCast>SpitterSpit</soundCast>
<targetParams>
<canTargetLocations>true</canTargetLocations>
</targetParams>
</li>
</verbs>
<costList Inherit="False">
<ARA_Carapace>50</ARA_Carapace>
</costList>
<weaponTags>
<li>ARA_Armed_Organ</li>
<li>ARA_Armed_Organ_Ranged</li>
<li>ARA_Armed_Organ_T1</li>
</weaponTags>
<thingSetMakerTags>
<li>RewardStandardQualitySuper</li>
</thingSetMakerTags>
</ThingDef>
<ThingDef ParentName="BaseBullet">
<defName>Bullet_ARA_RW_Basic_Acid_Bladder_Gun</defName>
<label>酸液团</label>
<graphicData>
<graphicClass>Graphic_Single_AgeSecs</graphicClass>
<texPath>Things/Projectile/FleshmassSpitterProjectileSheet</texPath>
<drawSize>(.5, .5)</drawSize>
<shaderType>MoteGlow</shaderType>
</graphicData>
<uiIconScale>0.8</uiIconScale>
<thingClass>Projectile_Explosive</thingClass>
<projectile>
<useGraphicClass>True</useGraphicClass>
<shadowSize>1</shadowSize>
<damageDef>ARA_AcidBurn</damageDef>
<spinRate>20</spinRate>
<damageAmountBase>20</damageAmountBase>
<speed>15</speed>
<arcHeightFactor>1</arcHeightFactor>
<explosionRadius>1.75</explosionRadius>
<flyOverhead>true</flyOverhead>
<soundExplode>SpitterSpitLands</soundExplode>
<filth>Filth_SpentAcid</filth>
<filthCount>1</filthCount>
<explosionEffect>Shell_AcidSpitImpact</explosionEffect>
<explosionEffectLifetimeTicks>60</explosionEffectLifetimeTicks>
<doExplosionVFX>false</doExplosionVFX>
</projectile>
<comps>
<li Class="CompProperties_ProjectileEffecter">
<effecterDef>Shell_AcidSpitStream</effecterDef>
</li>
<li Class="CompProperties_ProjectileEffecter">
<effecterDef>Shell_AcidSpitLaunched</effecterDef>
</li>
</comps>
</ThingDef>
<AbilityDef ParentName="ARA_CocoonSpew_Base">
<defName>ARA_BioforgeIncubator_AcidBase</defName>
<label>投放孵化茧 酸液器官</label>
<description>投放一枚武装器官茧,内含可以孵化一套基础酸液武装器官的营养和遗传物质——参阅茧的超链接,了解其能生产的所有装备的特点。</description>
<iconPath>UI/Commands/EggSpew</iconPath>
<comps>
<li Class="ArachnaeSwarm.CompProperties_AbilityResearchPrereq">
<requiredResearch>ARA_Technology_7VXI</requiredResearch>
<failMessage>需要科技 基因节点VXI-7"外置酸袋" 以解锁此孵化路径</failMessage>
</li>
<li Class="CompProperties_AbilityLaunchProjectile">
<projectileDef>ARA_BioforgeIncubator_AcidBase_Proj</projectileDef>
</li>
</comps>
</AbilityDef>
<ThingDef ParentName="ARA_CocoonSpew_Base_Proj">
<defName>ARA_BioforgeIncubator_AcidBase_Proj</defName>
<projectile>
<spawnsThingDef>ARA_BioforgeIncubator_AcidBase</spawnsThingDef>
</projectile>
</ThingDef>
<ThingDef ParentName="ARA_BioforgeIncubator_Base">
<defName>ARA_BioforgeIncubator_AcidBase</defName>
<label>阿拉克涅孵化茧 基础酸性武器</label>
<description>一个脆弱、易燃、黏滑的囊状物,是阿拉克涅工艺种所诞之卵,内含孵化一个酸性武装器官的营养物质,可以通过阿拉克涅工艺种的交互完成激活进程——参阅茧的超链接,了解其能生产的所有装备的特点。\n\n孵化茧对温度极度敏感该类型的茧适温为10~28°C需要小心保护</description>
<descriptionHyperlinks>
<ThingDef>ARA_RW_Basic_Acid_Bladder_Gun</ThingDef>
</descriptionHyperlinks>
<researchPrerequisites>
<li>ARA_Technology_7VXI</li>
</researchPrerequisites>
<comps>
<!-- The new, GrowthVat-style fuel component -->
<li Class="ArachnaeSwarm.CompProperties_RefuelableNutrition">
<fuelCapacity>10</fuelCapacity>
<fuelLabel>营养</fuelLabel>
<fuelFilter>
<categories>
<li>Foods</li>
</categories>
</fuelFilter>
<fuelConsumptionRate>0</fuelConsumptionRate> <!-- IMPORTANT: Disable base class consumption -->
<showAllowAutoRefuelToggle>true</showAllowAutoRefuelToggle>
<initialFuelPercent>1</initialFuelPercent>
<autoRefuelPercent>1</autoRefuelPercent>
</li>
<!-- The refactored producer component -->
<li Class="ArachnaeSwarm.CompProperties_InteractiveProducer">
<processes>
<li>
<thingDef>ARA_RW_Basic_Acid_Bladder_Gun</thingDef>
<productionTicks>80000</productionTicks>
<totalNutritionNeeded>30</totalNutritionNeeded>
<!--<requiredResearch>ARA_Technology_7VXI</requiredResearch>-->
</li>
</processes>
<whitelist>
<li>ArachnaeNode_Race_WeaponSmith</li>
</whitelist>
<spawnCount>1</spawnCount>
<destroyOnSpawn>True</destroyOnSpawn>
<minSafeTemperature>10</minSafeTemperature>
<maxSafeTemperature>28</maxSafeTemperature>
<penaltyPerDegreePerTick>0.00001</penaltyPerDegreePerTick>
<damagePerTickWhenUnfueled>0.2</damagePerTickWhenUnfueled>
<minNutritionToStart>1.0</minNutritionToStart>
<qualityThresholds>
<li>
<quality>Legendary</quality>
<threshold>0.99</threshold>
</li>
<li>
<quality>Masterwork</quality>
<threshold>0.90</threshold>
</li>
<li>
<quality>Excellent</quality>
<threshold>0.70</threshold>
</li>
<li>
<quality>Good</quality>
<threshold>0.50</threshold>
</li>
<li>
<quality>Normal</quality>
<threshold>0.20</threshold>
</li>
<li>
<quality>Poor</quality>
<threshold>0.10</threshold>
</li>
</qualityThresholds>
<!--
当一个生产流程完成时,系统会通过以下三个步骤来确定最终的物品品质:
第 1 步: 计算“基础品质分” (Base Quality Score)
基础品质分代表了在整个生产过程中,理想条件所占的比例。理想条件被严格定义为:燃料充足 且 温度适宜。
公式:
基础品质分 = 在理想条件下度过的时间(ticks) / 生产总需时间(ticks)
C# 代码对应:
baseQuality = (_selectedProcess.productionTicks > 0) ? (float)ticksUnderOptimalConditions / _selectedProcess.productionTicks : 0f;
说明:
ticksUnderOptimalConditions 是一个计数器只有在同时满足燃料充足和温度安全这两个条件的游戏刻Tick它才会加 1。
_selectedProcess.productionTicks 是在 XML 中为该产品定义的总生产时间。
这个得分的范围是 0.0 (0%) 到 1.0 (100%)。如果整个过程都完美无缺,这个分数就是 1.0。
第 2 步: 计算“温度惩罚分” (Temperature Penalty Score)
温度惩罚分是一个独立累加的负面分数。它只在环境温度超出安全范围时才会累积。
公式:
每刻惩罚增加量 = 超出安全范围的度数 × penaltyPerDegreePerTick
温度惩罚分 = 所有惩罚增加量的总和
C# 代码对应:
temperaturePenaltyPercent = Mathf.Min(1f, temperaturePenaltyPercent + tempDelta * Props.penaltyPerDegreePerTick);
说明:
penaltyPerDegreePerTick 是一个可在 XML 中配置的系数代表每超出1度、每刻所产生的惩罚量。
这个惩罚是不可逆的。即使温度恢复正常,已经累积的惩罚也不会减少。
它的最大值被限制在 1.0 (100%),以防止无限累加。
第 3 步: 计算“最终品质分”并映射到品质等级
最终品质分由基础分减去惩罚分得出,这个分数将直接决定物品的品质等级。
公式:
最终品质分 = 基础品质分 - 温度惩罚分
C# 代码对应:
finalQualityScore = Mathf.Clamp01(baseQuality - temperaturePenaltyPercent);
映射到品质等级:
得到 finalQualityScore (一个 0.0 到 1.0 之间的值) 后,系统会通过一系列 if-else if 判断,将其映射到游戏中的 QualityCategory (品质等级)。例如,在我们的代码中:
>= 0.99 -> 传说 (Legendary)
>= 0.90 -> 杰作 (Masterwork)
>= 0.70 -> 优秀 (Excellent)
>= 0.50 -> 良好 (Good)
>= 0.20 -> 普通 (Normal)
>= 0.10 -> 差 (Poor)
< 0.10 -> 劣质 (Awful)
总结
这个系统的核心在于,它鼓励玩家全程维持最佳生产环境。
仅仅保持燃料充足或温度适宜是不够的,必须两者兼顾才能提高“基础品质分”。
同时,必须极力避免温度超出安全范围,因为“温度惩罚分”是纯粹的惩罚,它只会单方面地拉低最终品质,且无法挽回。
这种设计为玩家提供了一个清晰的目标和富有挑战性的过程管理,而不是一个简单的“放置-等待”式生产。
-->
</li>
<li Class="ArachnaeSwarm.CompProperties_TemperatureRuinableDamage">
<minSafeTemperature>10</minSafeTemperature>
<maxSafeTemperature>28</maxSafeTemperature>
<progressPerDegreePerTick>0.00005</progressPerDegreePerTick>
<damagePerTick>0.005</damagePerTick>
<recoveryRate>0.001</recoveryRate>
</li>
</comps>
</ThingDef>
</Defs>

View File

@@ -0,0 +1,243 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<!-- 1. 加成建筑 "孵化加速器" -->
<ThingDef ParentName="BuildingBase">
<defName>ARA_IncubationAccelerator</defName>
<label>孵化加速器</label>
<description>一个辅助性的生物机械装置,当放置在大型孵化池旁边时,可以加速其内部的孵化过程。</description>
<graphicData>
<texPath>Things/Building/Misc/ToolCabinet</texPath>
<graphicClass>Graphic_Multi</graphicClass>
</graphicData>
<size>(1,1)</size>
<comps>
<!-- 使用原版的 CompFacility -->
<li Class="CompProperties_Facility">
<statOffsets>
<!-- 提供我们自定义的孵化速度加成 -->
<ARA_IncubationSpeedFactor>0.60</ARA_IncubationSpeedFactor>
</statOffsets>
</li>
</comps>
</ThingDef>
<!-- 3. 主建筑 "生物孵化池" -->
<ThingDef ParentName="BuildingBase">
<defName>ARA_BioforgeIncubator_Thing</defName>
<label>生物质物品孵化池</label>
<description>一个大型的、需要消耗大量营养物质的孵化设施,可以同时孵化多个单位,并能通过链接外部设备来提高效率。</description>
<graphicData>
<texPath>Things/Building/AncientHeatVent</texPath>
<graphicClass>Graphic_Single</graphicClass>
<shaderType>CutoutComplex</shaderType>
<drawSize>(7,7)</drawSize>
</graphicData>
<size>(7,7)</size>
<tickerType>Normal</tickerType>
<stuffCategories Inherit="False"/>
<costStuffCount>0</costStuffCount>
<costList>
<ARA_Carapace>50</ARA_Carapace>
</costList>
<castEdgeShadows>false</castEdgeShadows>
<staticSunShadowHeight>0</staticSunShadowHeight>
<altitudeLayer>Building</altitudeLayer>
<passability>PassThroughOnly</passability>
<terrainAffordanceNeeded>ARA_Creep</terrainAffordanceNeeded>
<pathCost>50</pathCost>
<statBases>
<MaxHitPoints>250</MaxHitPoints>
<WorkToBuild>2800</WorkToBuild>
<Flammability>1.0</Flammability>
</statBases>
<placeWorkers>
<li>PlaceWorker_PreventInteractionSpotOverlap</li>
</placeWorkers>
<fillPercent>0.8</fillPercent>
<interactionCellOffset>(0,0,-1)</interactionCellOffset>
<hasInteractionCell>true</hasInteractionCell>
<designationCategory>ARA_Buildings</designationCategory>
<uiOrder>2600</uiOrder>
<surfaceType>Item</surfaceType>
<building>
<workTableRoomRole>Laboratory</workTableRoomRole>
<workTableNotInRoomRoleFactor>0.8</workTableNotInRoomRoleFactor>
</building>
<comps>
<!-- a. 我们新的队列物品生产组件 -->
<li Class="ArachnaeSwarm.CompProperties_QueuedInteractiveProducer">
<!-- 队列和交互设置 -->
<productionQueueLimit>3</productionQueueLimit>
<minNutritionToStart>1.0</minNutritionToStart>
<whitelist>
<li>ArachnaeNode_Race_WeaponSmith</li> <!-- 示例:允许普通殖民者操作 -->
</whitelist>
<!-- 质量系统设置 -->
<minSafeTemperature>10</minSafeTemperature>
<maxSafeTemperature>30</maxSafeTemperature>
<penaltyPerDegreePerTick>0.00001</penaltyPerDegreePerTick>
<qualityThresholds>
<li>
<quality>Legendary</quality>
<threshold>0.99</threshold>
</li>
<li>
<quality>Masterwork</quality>
<threshold>0.90</threshold>
</li>
<li>
<quality>Excellent</quality>
<threshold>0.70</threshold>
</li>
<li>
<quality>Good</quality>
<threshold>0.50</threshold>
</li>
<li>
<quality>Normal</quality>
<threshold>0.20</threshold>
</li>
<li>
<quality>Poor</quality>
<threshold>0.10</threshold>
</li>
</qualityThresholds>
<!-- 生产列表 -->
<processes>
<li>
<thingDef>ARA_RW_Basic_Acid_Bladder_Gun</thingDef>
<productionTicks>80000</productionTicks>
<totalNutritionNeeded>30</totalNutritionNeeded>
<requiredResearch>ARA_Technology_7VXI</requiredResearch>
</li>
<li>
<thingDef>ARA_RW_Basic_Fist_Needle_Gun</thingDef>
<productionTicks>40000</productionTicks>
<totalNutritionNeeded>10</totalNutritionNeeded>
<requiredResearch>ARA_Technology_5PAV</requiredResearch>
</li>
</processes>
</li>
<!-- b. 我们的营养燃料组件 -->
<li Class="ArachnaeSwarm.CompProperties_RefuelableNutrition">
<fuelCapacity>100.0</fuelCapacity>
<fuelFilter>
<categories>
<li>Foods</li>
</categories>
</fuelFilter>
<fuelGizmoLabel>生物质</fuelGizmoLabel>
<showAllowAutoRefuelToggle>true</showAllowAutoRefuelToggle>
<targetFuelLevelConfigurable>true</targetFuelLevelConfigurable>
</li>
<!-- c. 原版的设施链接接收组件 -->
<li Class="CompProperties_AffectedByFacilities">
<linkableFacilities>
<li>ARA_IncubationAccelerator</li>
</linkableFacilities>
</li>
</comps>
</ThingDef>
<ThingDef ParentName="BuildingBase">
<defName>ARA_BioforgeIncubator</defName>
<label>生物质孵化池</label>
<description>一个大型的、需要消耗大量营养物质的孵化设施,可以同时孵化多个单位,并能通过链接外部设备来提高效率。</description>
<graphicData>
<texPath>Things/Building/AncientHeatVent</texPath>
<graphicClass>Graphic_Single</graphicClass>
<shaderType>CutoutComplex</shaderType>
<drawSize>(7,7)</drawSize>
</graphicData>
<size>(7,7)</size>
<tickerType>Normal</tickerType>
<stuffCategories Inherit="False"/>
<costStuffCount>0</costStuffCount>
<costList>
<ARA_Carapace>50</ARA_Carapace>
</costList>
<castEdgeShadows>false</castEdgeShadows>
<staticSunShadowHeight>0</staticSunShadowHeight>
<altitudeLayer>Building</altitudeLayer>
<passability>PassThroughOnly</passability>
<terrainAffordanceNeeded>ARA_Creep</terrainAffordanceNeeded>
<pathCost>50</pathCost>
<statBases>
<MaxHitPoints>250</MaxHitPoints>
<WorkToBuild>2800</WorkToBuild>
<Flammability>1.0</Flammability>
</statBases>
<placeWorkers>
<li>PlaceWorker_PreventInteractionSpotOverlap</li>
</placeWorkers>
<fillPercent>0.8</fillPercent>
<interactionCellOffset>(0,0,-1)</interactionCellOffset>
<hasInteractionCell>true</hasInteractionCell>
<designationCategory>ARA_Buildings</designationCategory>
<uiOrder>2600</uiOrder>
<surfaceType>Item</surfaceType>
<building>
<workTableRoomRole>Laboratory</workTableRoomRole>
<workTableNotInRoomRoleFactor>0.8</workTableNotInRoomRoleFactor>
</building>
<comps>
<!-- a. 我们自己的队列生产组件 -->
<li Class="ArachnaeSwarm.CompProperties_QueuedPawnSpawner">
<productionQueueLimit>5</productionQueueLimit>
<minNutritionToStart>0.5</minNutritionToStart>
<whitelist>
<li>ARA_ArachnaeQueen</li>
</whitelist>
<spawnablePawns>
<li>
<pawnKind>ArachnaeNode_Race_Myrmecocystus</pawnKind>
<delayTicks>180000</delayTicks>
<totalNutritionNeeded>5.0</totalNutritionNeeded>
</li>
<li>
<pawnKind>ArachnaeNode_Race_ShieldHead</pawnKind>
<delayTicks>180000</delayTicks>
<totalNutritionNeeded>5.0</totalNutritionNeeded>
</li>
<li>
<pawnKind>ArachnaeNode_Race_WeaponSmith</pawnKind>
<delayTicks>180000</delayTicks>
<totalNutritionNeeded>5.0</totalNutritionNeeded>
<!--<requiredResearch>ARA_AdvancedBiology</requiredResearch>-->
</li>
</spawnablePawns>
</li>
<!-- b. 我们的营养燃料组件 -->
<li Class="ArachnaeSwarm.CompProperties_RefuelableNutrition">
<fuelCapacity>100.0</fuelCapacity>
<fuelFilter>
<categories>
<li>Foods</li>
</categories>
</fuelFilter>
<fuelGizmoLabel>生物质</fuelGizmoLabel>
<showAllowAutoRefuelToggle>true</showAllowAutoRefuelToggle>
<targetFuelLevelConfigurable>true</targetFuelLevelConfigurable>
</li>
<!-- c. 原版的设施链接接收组件 -->
<li Class="CompProperties_AffectedByFacilities">
<linkableFacilities>
<li>ARA_IncubationAccelerator</li>
</linkableFacilities>
</li>
</comps>
</ThingDef>
</Defs>

View File

@@ -0,0 +1,431 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<TerrainDef ParentName="FloorBase">
<defName>ARA_InsectCreep</defName>
<label>阿拉克涅菌毯</label>
<description>由阿拉克涅虫族所铺设的由真菌、甲壳素分泌物混合得到的地面,会自动在各种拉克涅虫族建筑附近蔓延。这种奇特的结构质地紧密且暗藏大量营养输送组织,可以支撑重型建筑、种植作物、加速其上的阿拉克涅虫族移动速度,但是除了虫族以外没人想踩在这坨软乎乎的活体结构上。</description>
<designationCategory>ARA_Buildings</designationCategory>
<texturePath>Terrain/Surfaces/InsectSludge</texturePath>
<color>(203, 163, 68)</color>
<pollutionShaderType MayRequire="Ludeon.RimWorld.Biotech">TerrainFadeRoughLinearBurn</pollutionShaderType>
<pollutionOverlayTexturePath>Terrain/Surfaces/PollutionMud</pollutionOverlayTexturePath>
<pollutionColor>(1, 1, 1, 1)</pollutionColor>
<edgeType>FadeRough</edgeType>
<resourcesFractionWhenDeconstructed>0</resourcesFractionWhenDeconstructed>
<renderPrecedence>330</renderPrecedence>
<pathCost>2</pathCost>
<generatedFilth>Filth_Slime</generatedFilth>
<researchPrerequisites>
<li>ARA_Base_Technology</li>
</researchPrerequisites>
<filthAcceptanceMask>
<li>Unnatural</li>
</filthAcceptanceMask>
<natural>true</natural>
<takeFootprints>True</takeFootprints>
<avoidWander>false</avoidWander>
<statBases>
<Beauty>-6</Beauty>
<CleaningTimeFactor>0.25</CleaningTimeFactor>
<Cleanliness>0</Cleanliness>
<Flammability>0.2</Flammability>
</statBases>
<fertility>1.25</fertility>
<affordances Inherit="False">
<li>ARA_Creep</li>
<li>Light</li>
<li>Medium</li>
<li>Heavy</li>
<li>GrowSoil</li>
</affordances>
<tags>
<li>ARA_Creep</li>
</tags>
<costList>
<ARA_Carapace>1</ARA_Carapace>
</costList>
<!-- <tags>
<li>Insect</li>
</tags> -->
</TerrainDef>
<ThingDef ParentName="Wall">
<defName>ARA_InsectWall</defName>
<label>阿拉克涅甲壳墙</label>
<description>阿拉克涅工蜂将硬质岩石和甲壳素混合堆起来形成的墙壁,非常坚硬,就是看起来不太美观,而且需要在阿拉克涅菌毯上建造。</description>
<uiOrder>1800</uiOrder>
<uiIconPath>ArachnaeSwarm/Building/Linked/ARA_InsectWall_MenuIcon</uiIconPath>
<graphicData>
<texPath>ArachnaeSwarm/Building/Linked/ARA_InsectWall</texPath>
<graphicClass>Graphic_Single</graphicClass>
<shaderType>CutoutComplex</shaderType>
</graphicData>
<designationCategory>ARA_Buildings</designationCategory>
<!-- <mineable>true</mineable> -->
<blockLight>true</blockLight>
<statBases>
<MarketValue>0</MarketValue>
<Beauty>-6</Beauty>
<MaxHitPoints>1000</MaxHitPoints>
<WorkToBuild>1500</WorkToBuild>
<Flammability>0</Flammability>
<Cleanliness>0</Cleanliness>
</statBases>
<building>
<isAirtight>true</isAirtight>
<!-- <isNaturalRock>true</isNaturalRock> -->
<smoothedThing>SmoothedGranite</smoothedThing>
<blueprintGraphicData>
<texPath>ArachnaeSwarm/Building/Linked/ARA_InsectWall_Blueprint</texPath>
</blueprintGraphicData>
<canBuildNonEdificesUnder>true</canBuildNonEdificesUnder>
<artificialForMeditationPurposes>false</artificialForMeditationPurposes>
</building>
<useStuffTerrainAffordance>false</useStuffTerrainAffordance>
<terrainAffordanceNeeded>Heavy</terrainAffordanceNeeded>
<researchPrerequisites>
<li>ARA_Base_Technology</li>
</researchPrerequisites>
<!-- <terrainAffordanceNeeded>ARA_Creep</terrainAffordanceNeeded> -->
<!-- <tickerType>Normal</tickerType> -->
<repairEffect>EatVegetarian</repairEffect>
<costStuffCount>0</costStuffCount>
<stuffCategories Inherit="False"/>
<costList>
<ARA_Carapace>2</ARA_Carapace>
</costList>
<!-- <placeWorkers>
<li>PlaceWorker_OnSubstructure</li>
</placeWorkers> -->
<damageMultipliers Inherit="False">
<li>
<damageDef>Bomb</damageDef>
<multiplier>0.1</multiplier>
</li>
<li>
<damageDef>Thump</damageDef>
<multiplier>0.1</multiplier>
</li>
</damageMultipliers>
</ThingDef>
<ThingDef ParentName="DoorBase">
<defName>ARA_InsectDoor</defName>
<label>阿拉克涅甲壳门</label>
<description>阿拉克涅虫巢的入口,主体由硬质岩石和甲壳素混合而成,而开合机构是没有完整意识的阿拉克涅虫组织结构,这使得其可以实现自动开关,需要在阿拉克涅菌毯上建造。</description>
<thingClass>Building_MultiTileDoor</thingClass>
<category>Building</category>
<altitudeLayer>DoorMoveable</altitudeLayer>
<fillPercent>1</fillPercent>
<useHitPoints>true</useHitPoints>
<graphicData>
<texPath>ArachnaeSwarm/Building/Door/ARA_InsectDoor</texPath>
<graphicClass>Graphic_Multi</graphicClass>
<damageData>
<!-- no damage marks because they don't move with the door
<rect>(0,0.12,1,0.76)</rect>-->
<enabled>false</enabled>
</damageData>
</graphicData>
<statBases>
<MarketValue>2</MarketValue>
<MaxHitPoints>1200</MaxHitPoints>
<Flammability>0</Flammability>
<WorkToBuild>1000</WorkToBuild>
<Beauty>-10</Beauty>
<DoorOpenSpeed>2</DoorOpenSpeed>
</statBases>
<costList>
<ARA_Carapace>5</ARA_Carapace>
<ARA_InsectJelly>2</ARA_InsectJelly>
</costList>
<leaveResourcesWhenKilled>false</leaveResourcesWhenKilled>
<selectable>true</selectable>
<tickerType>Normal</tickerType>
<researchPrerequisites>
<li>ARA_Base_Technology</li>
</researchPrerequisites>
<!-- <rotatable>false</rotatable> -->
<!--<soundImpactDefault>BulletImpact_Metal</soundImpactDefault>-->
<useStuffTerrainAffordance>false</useStuffTerrainAffordance>
<stuffCategories Inherit="False"></stuffCategories>
<terrainAffordanceNeeded>Heavy</terrainAffordanceNeeded>
<!-- <terrainAffordanceNeeded>ARA_Creep</terrainAffordanceNeeded> -->
<designationCategory>ARA_Buildings</designationCategory>
<holdsRoof>true</holdsRoof>
<staticSunShadowHeight>1.0</staticSunShadowHeight>
<blockLight>true</blockLight>
<drawerType>RealtimeOnly</drawerType>
<repairEffect>EatVegetarian</repairEffect>
<damageMultipliers Inherit="False">
<li>
<damageDef>Bomb</damageDef>
<multiplier>0.1</multiplier>
</li>
<li>
<damageDef>Thump</damageDef>
<multiplier>0.1</multiplier>
</li>
</damageMultipliers>
<building>
<paintable>true</paintable>
<isInert>true</isInert>
<canPlaceOverWall>true</canPlaceOverWall>
<soundDoorOpenPowered>Door_OpenPowered</soundDoorOpenPowered>
<soundDoorClosePowered>Door_ClosePowered</soundDoorClosePowered>
<soundDoorOpenManual>Door_OpenManual</soundDoorOpenManual>
<soundDoorCloseManual>Door_CloseManual</soundDoorCloseManual>
<blueprintClass>Blueprint_Build</blueprintClass>
<ai_chillDestination>false</ai_chillDestination>
<isSupportDoor>true</isSupportDoor>
<blueprintGraphicData>
<texPath>ArachnaeSwarm/Building/Door/ARA_InsectDoor_BluePrint</texPath>
</blueprintGraphicData>
<doorTopGraphic>
<texPath>ArachnaeSwarm/Building/Door/ARA_InsectDoor_Top</texPath>
<graphicClass>Graphic_Multi</graphicClass>
<drawSize>(1.7, 1.2)</drawSize>
</doorTopGraphic>
<doorSupportGraphic>
<texPath>ArachnaeSwarm/Building/Door/ARA_InsectDoor_Support</texPath>
<graphicClass>Graphic_Multi</graphicClass>
<drawSize>(1.7, 1.2)</drawSize>
</doorSupportGraphic>
</building>
<uiOrder>2505</uiOrder>
<uiIconPath>ArachnaeSwarm/Building/Door/ARA_InsectDoor_Icon</uiIconPath>
<designationHotKey>Misc2</designationHotKey>
<constructionSkillPrerequisite>6</constructionSkillPrerequisite>
<comps>
<li Class="CompProperties_Breakdownable"/>
<li Class="CompProperties_Forbiddable">
<allowNonPlayer>true</allowNonPlayer>
</li>
<li Class="CompProperties_Power">
<compClass>CompPowerTrader</compClass>
<basePowerConsumption>0</basePowerConsumption>
<transmitsPower>true</transmitsPower>
</li>
</comps>
</ThingDef>
<ThingDef ParentName="BuildingNaturalBase">
<defName>ARA_Tumor</defName>
<label>阿拉克涅菌瘤</label>
<description>会发出微光以照亮阿拉克涅巢穴的菌瘤,除了照明外还会在地上大范围地扩散菌毯,以便工蜂建立更多的阿拉克涅建筑。</description>
<thingClass>Building</thingClass>
<!-- <minifiedDef>MinifiedThing</minifiedDef> -->
<altitudeLayer>Building</altitudeLayer>
<passability>PassThroughOnly</passability>
<selectable>true</selectable>
<fillPercent>0.20</fillPercent>
<leaveResourcesWhenKilled>false</leaveResourcesWhenKilled>
<rotatable>false</rotatable>
<tickerType>Normal</tickerType>
<designationCategory>ARA_Buildings</designationCategory>
<repairEffect>EatVegetarian</repairEffect>
<filthLeaving>Filth_Slime</filthLeaving>
<terrainAffordanceNeeded>ARA_Creep</terrainAffordanceNeeded>
<researchPrerequisites>
<li>ARA_Base_Technology</li>
</researchPrerequisites>
<!-- <thingCategories>
<li>BuildingsSpecial</li>
</thingCategories> -->
<statBases>
<MaxHitPoints>50</MaxHitPoints>
<Mass>4</Mass>
<Flammability>1.0</Flammability>
<MarketValue>50</MarketValue>
</statBases>
<costList>
<ARA_InsectJelly>3</ARA_InsectJelly>
</costList>
<graphicData>
<texPath>ArachnaeSwarm/Building/ARA_Tumor</texPath>
<graphicClass>Graphic_Single</graphicClass>
<shadowData>
<volume>(0.3, 0.6, 0.3)</volume>
<offset>(0,0,-0.1)</offset>
</shadowData>
<damageData>
<rect>(0.2,0.2,0.6,0.6)</rect>
</damageData>
</graphicData>
<placeWorkers>
<li>PlaceWorker_GlowRadius</li>
</placeWorkers>
<comps>
<li Class="CompProperties_Glower">
<glowRadius>6</glowRadius>
<glowColor>(220,210,171,0)</glowColor>
</li>
<li Class="CompProperties_Lifespan">
<lifespanTicks>1200000</lifespanTicks>
</li>
<li Class="ArachnaeSwarm.CompProperties_DelayedTerrainSpawn">
<terrainToSpawn>ARA_InsectCreep</terrainToSpawn>
<spawnRadius>6</spawnRadius>
</li>
</comps>
</ThingDef>
<ThingDef ParentName="BuildingNaturalBase">
<defName>ARA_Tumor_SunLamp</defName>
<label>阿拉克涅光瘤</label>
<description>一个比普通菌瘤更大的菌瘤,内部的发光器官亮的难以想象,可以支持作物的光照条件,但是其寿命比普通菌瘤要短得多,并且不会蔓延菌毯。</description>
<thingClass>Building_SunLamp</thingClass>
<graphicData>
<texPath>ArachnaeSwarm/Building/ARA_Tumor_SunLamp</texPath>
<graphicClass>Graphic_Single</graphicClass>
<drawSize>(3, 3)</drawSize>
<shadowData>
<volume>(1.3, 1.6, 1)</volume>
<offset>(-0.5,0,-0.1)</offset>
</shadowData>
</graphicData>
<size>(3,3)</size>
<blockWind>true</blockWind>
<tickerType>Rare</tickerType>
<statBases>
<WorkToBuild>600</WorkToBuild>
<Mass>4.5</Mass>
</statBases>
<designationCategory>ARA_Buildings</designationCategory>
<costList>
<ARA_InsectJelly>10</ARA_InsectJelly>
</costList>
<uiOrder>2995</uiOrder>
<terrainAffordanceNeeded>ARA_Creep</terrainAffordanceNeeded>
<researchPrerequisites>
<li>ARA_Technology_5SHL</li>
</researchPrerequisites>
<comps>
<li Class="CompProperties_Glower">
<overlightRadius>7.0</overlightRadius>
<glowRadius>14</glowRadius>
<glowColor>(220,210,171,0)</glowColor>
<colorPickerEnabled>true</colorPickerEnabled>
</li>
<li Class="CompProperties_Lifespan">
<lifespanTicks>600000</lifespanTicks>
</li>
<!-- <li Class="CompProperties_Schedule">
<startTime>0.25</startTime>
<endTime>0.8</endTime>
<offMessage>Off for plant resting period</offMessage>
</li> -->
<!-- <li Class="CompProperties_HeatPusher">
<compClass>CompHeatPusherPowered</compClass>
<heatPerSecond>3</heatPerSecond>
</li> -->
</comps>
<!-- Determined by trial and error
This value isn't perfect because these radii use different algorithms
but it matches in this case-->
<specialDisplayRadius>5.8</specialDisplayRadius>
</ThingDef>
<ThingDef ParentName="BenchBase">
<defName>ARA_ResearchBench</defName>
<label>阿拉克涅研究台</label>
<description>一个供阿拉克涅女皇种和智囊种进行研究的活体结构,可以让虫群尽情地探索变异和进化方向。</description>
<thingClass>Building_ResearchBench</thingClass>
<size>(3,3)</size>
<stuffCategories Inherit="False"/>
<costStuffCount>0</costStuffCount>
<costList>
<ARA_Carapace>50</ARA_Carapace>
</costList>
<graphicData>
<texPath>ArachnaeSwarm/Building/ARA_ResearchBench</texPath>
<graphicClass>Graphic_Single</graphicClass>
<shaderType>CutoutComplex</shaderType>
<drawSize>(3,4.5)</drawSize>
</graphicData>
<castEdgeShadows>false</castEdgeShadows>
<staticSunShadowHeight>0</staticSunShadowHeight>
<altitudeLayer>Building</altitudeLayer>
<passability>PassThroughOnly</passability>
<terrainAffordanceNeeded>ARA_Creep</terrainAffordanceNeeded>
<pathCost>50</pathCost>
<statBases>
<MaxHitPoints>250</MaxHitPoints>
<WorkToBuild>2800</WorkToBuild>
<Flammability>1.0</Flammability>
</statBases>
<placeWorkers>
<li>PlaceWorker_PreventInteractionSpotOverlap</li>
</placeWorkers>
<fillPercent>0.8</fillPercent>
<interactionCellOffset>(0,0,-1)</interactionCellOffset>
<hasInteractionCell>true</hasInteractionCell>
<designationCategory>ARA_Buildings</designationCategory>
<uiOrder>2600</uiOrder>
<surfaceType>Item</surfaceType>
<building>
<workTableRoomRole>Laboratory</workTableRoomRole>
<workTableNotInRoomRoleFactor>0.8</workTableNotInRoomRoleFactor>
</building>
<comps Inherit="False">
<li Class="CompProperties_ReportWorkSpeed">
<workSpeedStat>ResearchSpeedFactor</workSpeedStat>
</li>
<li Class="ArachnaeSwarm.CompProperties_DelayedTerrainSpawn">
<terrainToSpawn>ARA_InsectCreep</terrainToSpawn>
<spawnRadius>4</spawnRadius>
</li>
</comps>
</ThingDef>
<ThingDef ParentName="BasicBedBase">
<defName>ARA_NodeNest</defName>
<thingClass>Building_Bed</thingClass>
<label>阿拉克涅督虫巢穴</label>
<description>供阿拉克涅督虫栖息的巢穴,由几丁质甲壳、肌肉和结缔组织形成的“被窝”对督虫来说是非常好的补充精力的场地。</description>
<tickerType>Normal</tickerType>
<graphicData>
<texPath>ArachnaeSwarm/Building/ARA_NodeNest</texPath>
<graphicClass>Graphic_Multi</graphicClass>
<shaderType>CutoutComplex</shaderType>
<drawSize>(2,2)</drawSize>
</graphicData>
<staticSunShadowHeight Inherit="False" IsNull="True" />
<castEdgeShadows>False</castEdgeShadows>
<statBases>
<Comfort>0.75</Comfort>
<MaxHitPoints>140</MaxHitPoints>
<Beauty>1</Beauty>
<WorkToBuild>800</WorkToBuild>
<Mass>30</Mass>
<Flammability>1.0</Flammability>
<BedRestEffectiveness>1.2</BedRestEffectiveness>
<Comfort>0.80</Comfort>
<ImmunityGainSpeedFactor>1.1</ImmunityGainSpeedFactor>
<MedicalTendQualityOffset>0.10</MedicalTendQualityOffset>
<SurgerySuccessChanceFactor>1.1</SurgerySuccessChanceFactor>
</statBases>
<terrainAffordanceNeeded>ARA_Creep</terrainAffordanceNeeded>
<size>(1,2)</size>
<costList>
<ARA_InsectJelly>3</ARA_InsectJelly>
<ARA_Carapace>15</ARA_Carapace>
</costList>
<uiOrder>2010</uiOrder>
<fillPercent>0.5</fillPercent>
<designationCategory>ARA_Buildings</designationCategory>
<researchPrerequisites Inherit="False">
<li>ARA_Base_Technology</li>
</researchPrerequisites>
<stuffCategories Inherit="False" IsNull="True" />
<building>
<paintable>false</paintable>
<bed_showSleeperBody>true</bed_showSleeperBody>
<bed_healPerDay>10</bed_healPerDay>
<bed_defaultMedical>false</bed_defaultMedical>
</building>
<comps>
<li Class="ArachnaeSwarm.CompProperties_DelayedTerrainSpawn">
<terrainToSpawn>ARA_InsectCreep</terrainToSpawn>
<spawnRadius>3</spawnRadius>
</li>
</comps>
</ThingDef>
</Defs>

View File

@@ -1,23 +1,20 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<ThingDef ParentName="BuildingNaturalBase">
<defName>ARA_InteractiveEggSac</defName>
<label>阿拉克涅虫卵囊-休眠中</label>
<description>一个脆弱、易燃、黏滑的囊状物,是阿拉克涅女皇种所诞之卵,内含哺育一只新督虫所需的营养和遗传物质——可以通过阿拉克涅女皇种的交互完成激活进程。</description>
<ThingDef Name="ARA_InteractiveEggSac_Base" ParentName="BuildingNaturalBase" Abstract="True">
<thingClass>Building</thingClass>
<descriptionHyperlinks>
<ThingDef>ArachnaeNode_Race_Myrmecocystus</ThingDef>
</descriptionHyperlinks>
<category>Building</category>
<size>(1,1)</size>
<minifiedDef>MinifiedThing</minifiedDef>
<thingCategories>
<!-- <minifiedDef>MinifiedThing</minifiedDef> -->
<!-- <thingCategories>
<li>BuildingsMisc</li>
</thingCategories>
</thingCategories> -->
<graphicData>
<texPath>ArachnaeSwarm/Building/ARA_EggSac</texPath>
<graphicClass>Graphic_Single</graphicClass>
<drawSize>(1.5,1.5)</drawSize>
<drawSize>(1.2,1.2)</drawSize>
<shadowData>
<volume>(0.8, 0.8, 0.3)</volume>
</shadowData>
</graphicData>
<altitudeLayer>Building</altitudeLayer>
<passability>PassThroughOnly</passability>
@@ -36,7 +33,6 @@
<!-- <claimable>false</claimable> -->
<deconstructible>false</deconstructible>
<repairable>false</repairable>
<quickTargetable>true</quickTargetable>
<isTargetable>true</isTargetable>
<expandHomeArea>false</expandHomeArea>
</building>
@@ -46,88 +42,113 @@
<glowRadius>6</glowRadius>
<glowColor>(113,141,117,0)</glowColor>
</li>
<li Class="ArachnaeSwarm.CompProperties_SpawnPawnFromList">
<pawnKinds>
<li>Megascarab</li>
<li>Spelopede</li>
<li>Megaspider</li>
<li>ArachnaeNode_Race_Myrmecocystus</li>
</pawnKinds>
<whitelist>
<li>ARA_ArachnaeQueen</li>
</whitelist>
<pawnKindDelays>
<li>
<pawnKind>Megascarab</pawnKind>
<delay>3000</delay>
</li>
<li>
<pawnKind>Spelopede</pawnKind>
<delay>3000</delay>
</li>
<li>
<pawnKind>Megaspider</pawnKind>
<delay>3000</delay>
</li>
<li>
<pawnKind>ArachnaeNode_Race_Myrmecocystus</pawnKind>
<delay>300</delay>
</li>
</pawnKindDelays>
<destroyOnSpawn>true</destroyOnSpawn>
</li>
<li Class="CompProperties_Maintainable">
<ticksHealthy>60000</ticksHealthy>
<ticksNeedsMaintenance>60000</ticksNeedsMaintenance>
<damagePerTickRare>10</damagePerTickRare>
</li>
<li Class="CompProperties_SpawnEffecterOnDestroy">
<effect>CocoonDestroyed</effect>
</li>
<li Class="CompProperties_SpawnerFilth">
<filthDef>Filth_Slime</filthDef>
<spawnCountOnSpawn>10</spawnCountOnSpawn>
<spawnMtbHours>4</spawnMtbHours>
<spawnRadius>5</spawnRadius>
</li>
<li Class="ArachnaeSwarm.CompProperties_DelayedTerrainSpawn">
<delayTicks>60</delayTicks> <!-- 60 ticks = 1 second -->
<terrainToSpawn>ARA_InsectSludge</terrainToSpawn>
<terrainToSpawn>ARA_InsectCreep</terrainToSpawn>
<spawnRadius>4.6</spawnRadius>
</li>
</comps>
</ThingDef>
<TerrainDef ParentName="FloorBase">
<defName>ARA_InsectSludge</defName>
<label>阿拉克涅菌毯</label>
<description>阿拉克涅虫族所铺设的由真菌和分泌物混合得到的地面,清洁速度很快,但是对其他种族来说不太好看。</description>
<designationCategory>Floors</designationCategory>
<texturePath>Terrain/Surfaces/InsectSludge</texturePath>
<pollutionShaderType MayRequire="Ludeon.RimWorld.Biotech">TerrainFadeRoughLinearBurn</pollutionShaderType>
<pollutionOverlayTexturePath>Terrain/Surfaces/PollutionMud</pollutionOverlayTexturePath>
<pollutionColor>(1, 1, 1, 1)</pollutionColor>
<edgeType>FadeRough</edgeType>
<resourcesFractionWhenDeconstructed>0</resourcesFractionWhenDeconstructed>
<renderPrecedence>330</renderPrecedence>
<pathCost>0</pathCost>
<generatedFilth>Filth_Slime</generatedFilth>
<filthAcceptanceMask>
<li>Unnatural</li>
</filthAcceptanceMask>
<natural>true</natural>
<fertility>0</fertility>
<takeFootprints>True</takeFootprints>
<avoidWander>false</avoidWander>
<statBases>
<Beauty>-6</Beauty>
<CleaningTimeFactor>0.25</CleaningTimeFactor>
<Cleanliness>0</Cleanliness>
<Flammability>0.2</Flammability>
</statBases>
<!-- <tags>
<li>Insect</li>
</tags> -->
</TerrainDef>
<!-- T1 -->
<ThingDef ParentName="ARA_EggSpew_Base_Proj">
<defName>ARA_Proj_EggSac</defName>
<label>阿拉克涅虫</label>
<projectile>
<spawnsThingDef>ARA_InteractiveEggSac</spawnsThingDef>
</projectile>
</ThingDef>
<ThingDef ParentName="ARA_InteractiveEggSac_Base">
<defName>ARA_InteractiveEggSac</defName>
<label>阿拉克涅虫卵囊</label>
<description>一个脆弱、易燃、黏滑的囊状物,是阿拉克涅女皇种所诞之卵,内含哺育一只新督虫所需的营养和遗传物质,可以通过阿拉克涅女皇种的交互完成激活进程——参阅虫卵的超链接,了解各个督虫的特点。\n\n卵囊对温度极度敏感该类型的卵适温为-25~30°C需要小心保护</description>
<descriptionHyperlinks>
<ThingDef>ArachnaeNode_Race_Myrmecocystus</ThingDef>
<ThingDef>ArachnaeNode_Race_ShieldHead</ThingDef>
<ThingDef>ArachnaeNode_Race_WeaponSmith</ThingDef>
<ThingDef>ArachnaeNode_Race_Fighter</ThingDef>
</descriptionHyperlinks>
<researchPrerequisites>
<li>ARA_Base_Technology</li>
</researchPrerequisites>
<comps>
<li Class="ArachnaeSwarm.CompProperties_SpawnPawnFromList">
<spawnablePawns>
<li>
<pawnKind>ArachnaeNode_Race_Myrmecocystus</pawnKind>
<delayTicks>10000</delayTicks>
</li>
<li>
<pawnKind>ArachnaeNode_Race_ShieldHead</pawnKind>
<delayTicks>120000</delayTicks>
</li>
<li>
<pawnKind>ArachnaeNode_Race_WeaponSmith</pawnKind>
<delayTicks>180000</delayTicks>
</li>
<li>
<pawnKind>ArachnaeNode_Race_Fighter</pawnKind>
<delayTicks>120000</delayTicks>
<requiredResearch>ARA_Technology_1KYC</requiredResearch>
</li>
</spawnablePawns>
<whitelist>
<li>ARA_ArachnaeQueen</li>
</whitelist>
<destroyOnSpawn>true</destroyOnSpawn>
</li>
<li Class="ArachnaeSwarm.CompProperties_TemperatureRuinableDamage">
<minSafeTemperature>-25</minSafeTemperature>
<maxSafeTemperature>30</maxSafeTemperature>
<progressPerDegreePerTick>0.00005</progressPerDegreePerTick>
<damagePerTick>0.005</damagePerTick>
<recoveryRate>0.001</recoveryRate>
</li>
</comps>
</ThingDef>
<ThingDef ParentName="ARA_InteractiveEggSac_Base">
<defName>ARA_InteractiveEggSac_Start</defName>
<label>初诞阿拉克涅虫卵囊</label>
<description>一个脆弱、易燃、黏滑的囊状物,是阿拉克涅女皇种初到此地所诞之卵,内含哺育一只新督虫所需的营养和遗传物质,可以通过阿拉克涅女皇种的交互完成激活进程。\n\n初诞卵囊可以抵御极端天气并且拥有极快的孵化速度但是它们只能支持少数几种虫族的孵化。</description>
<minifiedDef Inherit="False" />
<thingCategories Inherit="False" />
<descriptionHyperlinks>
<ThingDef>ArachnaeNode_Race_Myrmecocystus</ThingDef>
<ThingDef>ArachnaeNode_Race_ShieldHead</ThingDef>
<ThingDef>ArachnaeNode_Race_WeaponSmith</ThingDef>
</descriptionHyperlinks>
<comps>
<li Class="ArachnaeSwarm.CompProperties_SpawnPawnFromList">
<spawnablePawns>
<li>
<pawnKind>ArachnaeNode_Race_Myrmecocystus</pawnKind>
<delayTicks>300</delayTicks>
</li>
<li>
<pawnKind>ArachnaeNode_Race_ShieldHead</pawnKind>
<delayTicks>300</delayTicks>
</li>
<li>
<pawnKind>ArachnaeNode_Race_WeaponSmith</pawnKind>
<delayTicks>300</delayTicks>
</li>
</spawnablePawns>
<whitelist>
<li>ARA_ArachnaeQueen</li>
</whitelist>
<destroyOnSpawn>true</destroyOnSpawn>
</li>
<li Class="ArachnaeSwarm.CompProperties_TemperatureRuinableDamage">
<minSafeTemperature>-300</minSafeTemperature>
<maxSafeTemperature>100</maxSafeTemperature>
<progressPerDegreePerTick>0.00005</progressPerDegreePerTick>
<damagePerTick>0.005</damagePerTick>
<recoveryRate>0.001</recoveryRate>
</li>
</comps>
</ThingDef>
</Defs>

View File

@@ -0,0 +1,41 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<ThingDef Name="ARA_BioforgeIncubator_Base" ParentName="BuildingBase" Abstract="True">
<thingClass>Building</thingClass>
<graphicData>
<texPath>ArachnaeSwarm/Building/ARA_BioforgeIncubator</texPath>
<graphicClass>Graphic_Single</graphicClass>
<drawSize>(1.1,1.1)</drawSize>
</graphicData>
<size>(1,1)</size>
<altitudeLayer>Building</altitudeLayer>
<passability>PassThroughOnly</passability>
<fillPercent>0.3</fillPercent>
<rotatable>false</rotatable>
<tickerType>Normal</tickerType>
<statBases>
<MaxHitPoints>50</MaxHitPoints>
<Flammability>1</Flammability>
</statBases>
<building>
<deconstructible>false</deconstructible>
<repairable>false</repairable>
</building>
<comps>
<li Class="CompProperties_SpawnEffecterOnDestroy">
<effect>CocoonDestroyed</effect>
</li>
<li Class="CompProperties_SpawnerFilth">
<filthDef>Filth_Slime</filthDef>
<spawnCountOnSpawn>10</spawnCountOnSpawn>
<spawnMtbHours>4</spawnMtbHours>
<spawnRadius>5</spawnRadius>
</li>
<li Class="ArachnaeSwarm.CompProperties_DelayedTerrainSpawn">
<terrainToSpawn>ARA_InsectCreep</terrainToSpawn>
<spawnRadius>2.5</spawnRadius>
</li>
</comps>
</ThingDef>
</Defs>

View File

@@ -1,7 +1,456 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<ThinkTreeDef>
<defName>ARA_Humanlike</defName> <!-- 更改defName以避免与原版Humanlike冲突 -->
<defName>ARA_Insect_WithPlanting</defName>
<thinkRoot Class="ThinkNode_Priority">
<subNodes>
<!-- Keep lying down if we have to -->
<li Class="ThinkNode_ConditionalMustKeepLyingDown">
<subNodes>
<!-- Do a queued job if possible -->
<li Class="ThinkNode_QueuedJob">
<inBedOnly>true</inBedOnly>
</li>
<!-- Keep lying down -->
<li Class="JobGiver_KeepLyingDown"/>
</subNodes>
</li>
<li Class="ThinkNode_Subtree">
<treeDef>Downed</treeDef>
</li>
<li Class="ThinkNode_Subtree">
<treeDef>BurningResponse</treeDef>
</li>
<li Class="ThinkNode_Subtree">
<treeDef>MentalStateCritical</treeDef>
</li>
<!-- React to close melee threat -->
<li Class="JobGiver_ReactToCloseMeleeThreat"/>
<!-- Do a queued job -->
<li Class="ThinkNode_QueuedJob"/>
<!-- Wild insects dig out if no path to map edge and starving -->
<li Class="ThinkNode_ConditionalHasFaction">
<invert>true</invert>
<subNodes>
<li Class="ThinkNode_ConditionalStarving">
<subNodes>
<li Class="ThinkNode_ConditionalBodySize">
<min>0.7</min>
<subNodes>
<li Class="ThinkNode_Subtree">
<treeDef>DigOutIfCannotReachMapEdge</treeDef>
</li>
</subNodes>
</li>
</subNodes>
</li>
</subNodes>
</li>
<!-- Leave if timed out -->
<li Class="ThinkNode_ConditionalExitTimedOut">
<subNodes>
<li Class="ThinkNode_Tagger">
<tagToGive>Misc</tagToGive>
<subNodes>
<li Class="JobGiver_ExitMapRandom">
<defaultLocomotion>Walk</defaultLocomotion>
</li>
</subNodes>
</li>
</subNodes>
</li>
<!-- Mental state non critical -->
<li Class="ThinkNode_Subtree">
<treeDef>MentalStateNonCritical</treeDef>
</li>
<!-- Forced goto -->
<li Class="ThinkNode_ConditionalForcedGoto">
<subNodes>
<li Class="ThinkNode_Tagger">
<tagToGive>Misc</tagToGive>
<subNodes>
<li Class="JobGiver_ForcedGoto"/>
</subNodes>
</li>
</subNodes>
</li>
<!-- Behavior when roped -->
<li Class="ThinkNode_Subtree">
<treeDef>RopedPawn</treeDef>
</li>
<!-- Lord directives -->
<li Class="ThinkNode_Subtree">
<treeDef>LordDuty</treeDef>
</li>
<!-- Insertion hook for modders -->
<li Class="ThinkNode_SubtreesByTag">
<insertTag>Animal_PreMain</insertTag>
</li>
<li Class="ThinkNode_SubtreesByTag">
<insertTag>Insect_PreMain</insertTag>
</li>
<li Class="ThinkNode_ConditionalHasFaction">
<invert>true</invert>
<subNodes>
<!-- Wild insects with no lord will fight nearby enemies -->
<li Class="JobGiver_AIFightEnemies">
<targetAcquireRadius>30</targetAcquireRadius> <!-- Same as DefendAndExpandHive -->
<targetKeepRadius>35</targetKeepRadius>
</li>
<!-- Wild insects leave map in some conditions -->
<li Class="ThinkNode_Subtree">
<treeDef>LeaveIfWrongSeason</treeDef>
</li>
<li Class="ThinkNode_Subtree">
<treeDef>LeaveIfStarving</treeDef>
</li>
<!-- Wild insects randomly leave map -->
<li Class="ThinkNode_ChancePerHour_Constant">
<mtbDays>60</mtbDays>
<subNodes>
<li Class="ThinkNode_Tagger">
<tagToGive>Misc</tagToGive>
<subNodes>
<li Class="JobGiver_ExitMapRandom">
<defaultLocomotion>Walk</defaultLocomotion>
</li>
</subNodes>
</li>
</subNodes>
</li>
</subNodes>
</li>
<!-- Insects of a faction that's not the players without a lord leave randomly -->
<li Class="ThinkNode_ConditionalOfPlayerFaction">
<invert>true</invert>
<subNodes>
<li Class="ThinkNode_ConditionalHasFaction">
<subNodes>
<li Class="ThinkNode_ConditionalNoLord">
<subNodes>
<li Class="ThinkNode_ChancePerHour_Constant">
<mtbDays>60</mtbDays>
<subNodes>
<li Class="ThinkNode_Tagger">
<tagToGive>Misc</tagToGive>
<subNodes>
<li Class="JobGiver_ExitMapRandom">
<defaultLocomotion>Walk</defaultLocomotion>
</li>
</subNodes>
</li>
</subNodes>
</li>
</subNodes>
</li>
</subNodes>
</li>
</subNodes>
</li>
<!-- Tame insects -->
<li Class="ThinkNode_ConditionalOfPlayerFaction">
<subNodes>
<li Class="ThinkNode_Tagger">
<tagToGive>TrainedAnimalBehavior</tagToGive>
<subNodes>
<!-- Trained behavior: obedience: Follow and defend master -->
<li Class="ThinkNode_ConditionalTrainableCompleted">
<trainable>Obedience</trainable>
<subNodes>
<li Class="ThinkNode_ConditionalShouldFollowMaster">
<subNodes>
<li Class="JobGiver_AIDefendMaster">
<attackMeleeThreatEvenIfNotHostile>true</attackMeleeThreatEvenIfNotHostile>
</li>
<li Class="JobGiver_AIFollowMaster"/>
<li Class="JobGiver_WanderNearMaster"/>
</subNodes>
</li>
</subNodes>
</li>
<!-- Trained behavior: Rescue-->
<li Class="ThinkNode_ConditionalTrainableCompleted">
<trainable>Rescue</trainable>
<subNodes>
<li Class="JobGiver_RescueNearby">
<radius>500</radius>
</li>
</subNodes>
</li>
</subNodes>
</li>
<!-- Take care of critical needs (below rescue - so heroic!)-->
<li Class="ThinkNode_Tagger">
<tagToGive>RestingForMedicalReasons</tagToGive>
<subNodes>
<li Class="JobGiver_PatientGoToBed"/>
</subNodes>
</li>
<li Class="JobGiver_SeekAllowedArea"/>
<li Class="JobGiver_SeekSafeTemperature"/>
</subNodes>
</li>
<!-- Eat random things out of curiosity -->
<li Class="ThinkNode_ChancePerHour_Constant">
<mtbDays>60</mtbDays>
<subNodes>
<li Class="ThinkNode_Tagger">
<tagToGive>SatisfyingNeeds</tagToGive>
<subNodes>
<li Class="JobGiver_EatRandom"/>
</subNodes>
</li>
</subNodes>
</li>
<!-- Satisfy basic needs -->
<li Class="ThinkNode_Subtree">
<treeDef>SatisfyBasicNeeds</treeDef>
</li>
<!-- Tame insect: do useful things for the colony-->
<li Class="ThinkNode_ConditionalHasFaction">
<subNodes>
<!-- Try to mate -->
<li Class="ThinkNode_ChancePerHour_Mate">
<subNodes>
<li Class="ThinkNode_Tagger">
<tagToGive>SatisfyingNeeds</tagToGive>
<subNodes>
<li Class="JobGiver_Mate"/>
</subNodes>
</li>
</subNodes>
</li>
<!-- Nuzzle randoms -->
<li Class="ThinkNode_ChancePerHour_Nuzzle">
<subNodes>
<li Class="ThinkNode_Tagger">
<tagToGive>Misc</tagToGive>
<subNodes>
<li Class="JobGiver_Nuzzle"/>
</subNodes>
</li>
</subNodes>
</li>
<!-- Roamers gonna roam -->
<li Class="ThinkNode_ChancePerDay_Roam">
<subNodes>
<li Class="ThinkNode_Tagger">
<tagToGive>Misc</tagToGive>
<subNodes>
<li Class="JobGiver_StartRoaming"/>
</subNodes>
</li>
</subNodes>
</li>
<!-- Trained behavior: Haul-->
<li Class="ThinkNode_ChancePerHour_Constant">
<mtbHours>0.15</mtbHours>
<subNodes>
<li Class="ThinkNode_ConditionalRequireCapacities">
<requiredCapacities>
<li>Manipulation</li>
</requiredCapacities>
<subNodes>
<li Class="ThinkNode_ConditionalTrainableCompleted">
<trainable>Haul</trainable>
<subNodes>
<li Class="ThinkNode_Tagger">
<tagToGive>TrainedAnimalBehavior</tagToGive>
<subNodes>
<li Class="JobGiver_Haul"/>
</subNodes>
</li>
</subNodes>
</li>
</subNodes>
</li>
</subNodes>
</li>
<!-- Trained behavior: Forage -->
<li Class="ThinkNode_ConditionalTrainableCompleted" MayRequire="Ludeon.RimWorld.Odyssey">
<trainable>Forage</trainable>
<subNodes>
<li Class="ThinkNode_ChancePerHour_Forage">
<subNodes>
<li Class="ThinkNode_ConditionalAnimalShouldForage">
<subNodes>
<li Class="JobGiver_Forage" />
</subNodes>
</li>
</subNodes>
</li>
</subNodes>
</li>
<li Class="ThinkNode_ConditionalAnimalShouldDig">
<subNodes>
<li Class="JobGiver_Mine" />
</subNodes>
</li>
<!-- Trained behavior: Mine
<li Class="ThinkNode_ConditionalTrainableCompleted" MayRequire="Ludeon.RimWorld.Odyssey">
<trainable>Dig</trainable>
<subNodes>
</subNodes>
</li>-->
<!-- OUR CUSTOM LOGIC INJECTION FOR PLANT HARVESTING -->
<li Class="ArachnaeSwarm.ThinkNode_ConditionalAnimalShouldDoGrowingWork">
<subNodes>
<!-- 统一的、智能的农业 JobGiver -->
<li Class="ArachnaeSwarm.JobGiver_Grower" />
</subNodes>
</li>
<!-- OUR CUSTOM LOGIC INJECTION FOR CLEANING -->
<li Class="ArachnaeSwarm.ThinkNode_ConditionalAnimalShouldDoCleaningWork">
<subNodes>
<li Class="ArachnaeSwarm.JobGiver_Cleaner" />
</subNodes>
</li>
</subNodes>
</li>
<!-- Insertion hook for modders -->
<li Class="ThinkNode_SubtreesByTag">
<insertTag>Animal_PreWander</insertTag>
</li>
<li Class="ThinkNode_SubtreesByTag">
<insertTag>Insect_PreWander</insertTag>
</li>
<!-- Tame insect: wander near colony if possible -->
<li Class="ThinkNode_ConditionalOfPlayerFaction">
<subNodes>
<li Class="ThinkNode_Tagger">
<tagToGive>Idle</tagToGive>
<subNodes>
<!-- Wander near your current position if in hostile map -->
<li Class="ThinkNode_ConditionalAnyEnemyInHostileMap">
<subNodes>
<li Class="JobGiver_WanderAnywhere">
<maxDanger>None</maxDanger>
<ticksBetweenWandersRange>120~240</ticksBetweenWandersRange>
</li>
</subNodes>
</li>
<li Class="ThinkNode_ConditionalRoamer">
<subNodes>
<li Class="JobGiver_WanderInRoofedCellsInPen">
<maxDanger>None</maxDanger>
<ticksBetweenWandersRange>120~240</ticksBetweenWandersRange>
<expiryInterval>500</expiryInterval>
</li>
<!-- tame roamers should not wander too far, and if unenclosed wander near a suitable pen marker 10% of the time -->
<li Class="ThinkNode_ConditionalRandom">
<chance>0.1</chance>
<subNodes>
<li Class="JobGiver_WanderInPen">
<maxDanger>None</maxDanger>
<ticksBetweenWandersRange>120~240</ticksBetweenWandersRange>
<expiryInterval>500</expiryInterval>
</li>
</subNodes>
</li>
<li Class="JobGiver_WanderAnywhere">
<maxDanger>None</maxDanger>
<ticksBetweenWandersRange>120~240</ticksBetweenWandersRange>
</li>
</subNodes>
</li>
<!-- Wander near colony -->
<li Class="JobGiver_WanderColony">
<maxDanger>None</maxDanger>
<ticksBetweenWandersRange>120~240</ticksBetweenWandersRange>
</li>
</subNodes>
</li>
</subNodes>
</li>
<!-- Of neutral faction: rest and then exit the map -->
<li Class="ThinkNode_ConditionalNonPlayerNonHostileFaction">
<subNodes>
<li Class="ThinkNode_Tagger">
<tagToGive>RestingForMedicalReasons</tagToGive>
<subNodes>
<li Class="JobGiver_PatientGoToBed"/>
</subNodes>
</li>
<li Class="ThinkNode_Tagger">
<tagToGive>Misc</tagToGive>
<subNodes>
<li Class="JobGiver_ExitMapBest">
<defaultLocomotion>Walk</defaultLocomotion>
</li>
</subNodes>
</li>
</subNodes>
</li>
<!-- Wander -->
<li Class="ThinkNode_Tagger">
<tagToGive>Idle</tagToGive>
<subNodes>
<li Class="ThinkNode_ConditionalHerdAnimal">
<subNodes>
<li Class="JobGiver_WanderHerd">
<maxDanger>Deadly</maxDanger>
<ticksBetweenWandersRange>120~240</ticksBetweenWandersRange>
</li>
</subNodes>
</li>
<li Class="JobGiver_WanderAnywhere">
<maxDanger>Deadly</maxDanger>
<ticksBetweenWandersRange>120~240</ticksBetweenWandersRange>
</li>
</subNodes>
</li>
<li Class="JobGiver_IdleError"/>
</subNodes>
</thinkRoot>
</ThinkTreeDef>
<ThinkTreeDef>
<defName>ARA_Humanlike</defName> <!-- 更改defName以避免与原版Humanlike冲突 -->
<thinkRoot Class="ThinkNode_Priority">
<subNodes>
@@ -20,7 +469,7 @@
</li>
</subNodes>
</li>
<!-- If we HAVE to keep lying down... -->
<li Class="ThinkNode_ConditionalMustKeepLyingDown">
<subNodes>
@@ -45,12 +494,12 @@
</li>
</subNodes>
</li>
<!-- Keep lying down -->
<li Class="JobGiver_KeepLyingDown" />
</subNodes>
</li>
<li Class="ThinkNode_Subtree">
<treeDef>Downed</treeDef>
</li>
@@ -65,7 +514,7 @@
<li Class="ThinkNode_Subtree" MayRequire="Ludeon.RimWorld.Biotech">
<treeDef>Abilities_Escape</treeDef>
</li>
<!-- React to close melee threat -->
<li Class="JobGiver_ReactToCloseMeleeThreat" />
@@ -83,7 +532,7 @@
<li Class="ThinkNode_SubtreesByTag">
<insertTag>Humanlike_PostMentalState</insertTag>
</li>
<!-- Do a queued job -->
<li Class="ThinkNode_QueuedJob" />
@@ -121,21 +570,21 @@
<li Class="ThinkNode_SubtreesByTag">
<insertTag>Humanlike_PostDuty</insertTag>
</li>
<!-- JobGiver_MaintainBuildings start -->
<li Class="ThinkNode_ChancePerHour_Constant">
<mtbHours>2.5</mtbHours>
<subNodes>
<li Class="ArachnaeSwarm.JobGiver_MaintainBuildings">
<maintainableThingDefs>
<li>ARA_InteractiveEggSac</li> <!-- 默认维护Hive -->
<li>ARA_InteractiveEggSac</li> <!-- 默认维护Hive -->
</maintainableThingDefs>
</li>
</subNodes>
</li>
<li Class="ArachnaeSwarm.JobGiver_MaintainBuildings">
<maintainableThingDefs>
<li>ARA_InteractiveEggSac</li> <!-- 默认维护Hive -->
<li>ARA_InteractiveEggSac</li> <!-- 默认维护Hive -->
</maintainableThingDefs>
<onlyIfDamagingState>true</onlyIfDamagingState>
</li>
@@ -158,7 +607,7 @@
</li>
</subNodes>
</li>
<!-- Escape -->
<li Class="ThinkNode_Tagger">
<tagToGive>Escaping</tagToGive>
@@ -168,7 +617,7 @@
</li>
</subNodes>
</li>
<!-- Exit map if released -->
<li Class="ThinkNode_ConditionalReleased">
<subNodes>
@@ -189,14 +638,14 @@
<li Class="JobGiver_PatientGoToBed" />
</subNodes>
</li>
<li Class="ThinkNode_Tagger">
<tagToGive>ChangingApparel</tagToGive>
<subNodes>
<li Class="JobGiver_PrisonerGetDressed" />
</subNodes>
</li>
<li Class="ThinkNode_Tagger">
<tagToGive>SatisfyingNeeds</tagToGive>
<subNodes>
@@ -220,7 +669,7 @@
</li>
</subNodes>
</li>
<!-- If in non-PlayerHomeMap -->
<li Class="ThinkNode_ConditionalInNonPlayerHomeMap">
<subNodes>
@@ -247,7 +696,7 @@
</li>
</subNodes>
</li>
<li Class="ThinkNode_Tagger">
<tagToGive>Idle</tagToGive>
<subNodes>
@@ -256,7 +705,7 @@
</li>
</subNodes>
</li>
<li Class="JobGiver_IdleError" />
</subNodes>
</li>
@@ -279,7 +728,7 @@
<leaveJoinableLordIfIssuesJob>true</leaveJoinableLordIfIssuesJob>
<emergency>true</emergency>
</li>
<!-- Get food (only if starving) -->
<li Class="ThinkNode_ConditionalStarving">
<subNodes>
@@ -375,7 +824,7 @@
<li Class="ThinkNode_SubtreesByTag">
<insertTag>Humanlike_PreMain</insertTag>
</li>
<!-- Main colonist behavior core -->
<li Class="ThinkNode_ConditionalColonist">
<subNodes>
@@ -416,7 +865,7 @@
<li Class="JobGiver_IdleJoy" />
</subNodes>
</li>
<!-- Wander -->
<li Class="JobGiver_WanderColony">
<maxDanger>None</maxDanger>
@@ -454,7 +903,7 @@
<li Class="JobGiver_PatientGoToBed" />
</subNodes>
</li>
<li Class="ThinkNode_Tagger">
<tagToGive>Misc</tagToGive>
<subNodes>
@@ -498,4 +947,5 @@
</subNodes>
</thinkRoot>
</ThinkTreeDef>
</Defs>

View File

@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<TrainableDef>
<defName>ARA_Cleaning</defName>
<label>清洁</label>
<description>允许该生物执行清洁任务。</description>
<!-- 标记为特殊训练,这样它就会被 PawnColumnWorker_Trainable_Special 统一管理 -->
<specialTrainable>true</specialTrainable>
<!-- 训练难度和所需智力 -->
<difficulty>5</difficulty>
<requiredTrainability>Advanced</requiredTrainability>
<!-- 训练所需步骤 -->
<steps>3</steps>
<!-- 在UI中的排序 -->
<listPriority>100</listPriority>
</TrainableDef>
</Defs>

View File

@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<TrainableDef>
<defName>ARA_Sowing</defName>
<label>种植</label>
<description>允许该生物执行种植任务。</description>
<!-- 标记为特殊训练,这样它就会被 PawnColumnWorker_Trainable_Special 统一管理 -->
<specialTrainable>true</specialTrainable>
<!-- 训练难度和所需智力 -->
<difficulty>5</difficulty>
<requiredTrainability>Advanced</requiredTrainability>
<!-- 训练所需步骤 -->
<steps>3</steps>
<!-- 在UI中的排序 -->
<listPriority>100</listPriority>
</TrainableDef>
</Defs>

View File

@@ -4,4 +4,22 @@
<ARA_Incubate>孵化 {0}</ARA_Incubate>
<ARA_NeedsInteraction>未孵化,需要阿拉克涅女皇种交互</ARA_NeedsInteraction>
<!-- CompAbilityEffect_BindDrone -->
<ARA_BindDrone_Success>{0} 已成功绑定到 {1} 的蜂巢思维。</ARA_BindDrone_Success>
<ARA_BindDrone_Failure>无法将 {0} 绑定到 {1} 的蜂巢思维。</ARA_BindDrone_Failure>
<ARA_BindDrone_NoDroneHediff>目标 {0} 没有“ARA_HiveMindDrone”的 hediff。</ARA_BindDrone_NoDroneHediff>
<ARA_BindDrone_AlreadyBound>目标 {0} 已绑定到 {1}。</ARA_BindDrone_AlreadyBound>
<ARA_BindDrone_NoMasterHediff>施法者 {0} 没有“ARA_HiveMindMaster”的 hediff。</ARA_BindDrone_NoMasterHediff>
<!-- Possession Ability Keys -->
<ARA_MustBeHumanlike>目标必须是类人生物。</ARA_MustBeHumanlike>
<ARA_AlreadyPossessed>{0} 已被寄生。</ARA_AlreadyPossessed>
<ARA_CannotPossessRace>无法寄生 {0} 种族。</ARA_CannotPossessRace>
<!-- Hive Mind Tooltips -->
<ARA_TipString_LinkedTo>链接至: {0}</ARA_TipString_LinkedTo>
<ARA_TipString_NotLinked>未链接至任何女皇种。</ARA_TipString_NotLinked>
<ARA_TipString_ControlledDrones>控制的虫族:</ARA_TipString_ControlledDrones>
<ARA_TipString_NoDronesBound>尚未绑定任何虫族。</ARA_TipString_NoDronesBound>
</LanguageData>

View File

@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="utf-8" ?>
<LanguageData>
<EstimatedQuality>预计品质</EstimatedQuality>
<QualityScore>品质评分</QualityScore>
<TemperaturePenalty>温度惩罚</TemperaturePenalty>
<CurrentTemperature>当前温度: {0}</CurrentTemperature>
<SafeTemperatureRange>安全范围</SafeTemperatureRange>
<CannotStartProduction>无法开始生产</CannotStartProduction>
<NoFuel>无燃料</NoFuel>
<StartProduction>开始生产 {0}</StartProduction>
<CommandCancelProduction>取消生产</CommandCancelProduction>
<CommandCancelProductionDesc>停止当前的生产流程。</CommandCancelProductionDesc>
<Producing>正在生产 {0}</Producing>
<TimeLeft>剩余时间</TimeLeft>
<ProjectedQuality>预计品质</ProjectedQuality>
<NotProducing>未在生产</NotProducing>
<ARA_NeedArachnaeToStartIncubation>未孵化,需要阿拉克涅工艺种交互</ARA_NeedArachnaeToStartIncubation>
<!-- Added for CompQueuedPawnSpawner -->
<NutritionNeeded>所需营养</NutritionNeeded>
<ARA_Incubate>孵化 {0}</ARA_Incubate>
</LanguageData>

View File

@@ -1 +1 @@
3528588530
3563955520

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 196 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 355 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

Some files were not shown because too many files have changed in this diff Show More