178 Commits

Author SHA1 Message Date
ProjectKoi-Kalo\Kalo
b9e6d6ca8b 虫洞 2025-09-21 16:48:23 +08:00
ProjectKoi-Kalo\Kalo
a27f7a8289 暂存 2025-09-21 16:28:11 +08:00
ProjectKoi-Kalo\Kalo
d5d986e62a 暂存 2025-09-21 16:17:08 +08:00
ProjectKoi-Kalo\Kalo
4fb30a03aa 暂存 2025-09-21 15:21:22 +08:00
ProjectKoi-Kalo\Kalo
5d2d2c5e4d 暂存 2025-09-21 15:15:41 +08:00
ProjectKoi-Kalo\Kalo
182cb72cb0 暂存 2025-09-21 14:54:33 +08:00
ProjectKoi-Kalo\Kalo
6000bb58f6 虫洞1 2025-09-21 14:20:33 +08:00
Tourswen
ec4a6631fd 大量更新 2025-09-21 02:08:51 +08:00
Tourswen
534cb901d4 画了一堆 2025-09-20 17:17:01 +08:00
Tourswen
feba171a2c 改动一大堆 2025-09-20 12:00:15 +08:00
Tourswen
5b231de977 Merge branch 'master' of https://git.ra3battle.cn/Kalospacer/ArachnaeSwarm 2025-09-20 00:28:48 +08:00
Tourswen
fb5fd2b28c 脑虫pawn画了一半 2025-09-20 00:28:39 +08:00
ProjectKoi-Kalo\Kalo
5bd9197d0a 再修动物 2025-09-19 20:35:47 +08:00
ProjectKoi-Kalo\Kalo
5f63216c5d 虫可以次蜜晶糕 2025-09-19 20:28:21 +08:00
ProjectKoi-Kalo\Kalo
a2c81a86ad 暂存改动物吃营养膏 2025-09-19 20:24:07 +08:00
ProjectKoi-Kalo\Kalo
2a6343097d 存营养膏 2025-09-19 20:06:29 +08:00
ProjectKoi-Kalo\Kalo
0b6ae6c398 Merge branch 'master' of https://git.ra3battle.cn/Kalospacer/ArachnaeSwarm 2025-09-19 20:02:00 +08:00
ProjectKoi-Kalo\Kalo
4fdfad7021 暂存 2025-09-19 20:01:32 +08:00
Tourswen
377cc3d7ce 营养管 2025-09-19 19:15:45 +08:00
Tourswen
9f6208ebe4 2025-09-19 17:29:04 +08:00
Tourswen
29d5232ff2 开关自动生产,恐吓非虫族殖民者机制 2025-09-19 15:10:45 +08:00
Tourswen
b5fe07e968 讲述者 2025-09-19 12:12:54 +08:00
Tourswen
4e5901a94e 脑虫 2025-09-19 00:53:32 +08:00
Tourswen
15a44726d5 脑虫的立绘 2025-09-18 22:57:24 +08:00
Tourswen
fdee401817 我去,虫批 2025-09-18 17:27:10 +08:00
Tourswen
ca2fba145a 这是什么地方 2025-09-18 12:36:40 +08:00
Tourswen
cfbb810aad 我们啥比也是要更新mod的 2025-09-18 12:00:49 +08:00
Tourswen
662d20a27a Merge branch 'master' of https://git.ra3battle.cn/Kalospacer/ArachnaeSwarm 2025-09-17 23:59:49 +08:00
Tourswen
969fc15f65 Update 脑虫.sai2 2025-09-17 23:59:38 +08:00
ProjectKoi-Kalo\Kalo
c3a2f33f26 修脑虫没序列化存档丢人 2025-09-17 18:35:28 +08:00
ProjectKoi-Kalo\Kalo
fe6f2ad563 改虫蜜填槽位 2025-09-17 18:27:42 +08:00
Tourswen
690de72ae8 科技补充 2025-09-17 17:29:23 +08:00
ProjectKoi-Kalo\Kalo
43d7e3fb78 暂存线 2025-09-17 16:28:23 +08:00
ProjectKoi-Kalo\Kalo
4d41be964d 暂存 2025-09-17 16:18:42 +08:00
ProjectKoi-Kalo\Kalo
40be0d2faf 暂存 2025-09-17 15:20:42 +08:00
ProjectKoi-Kalo\Kalo
0c118ca8a6 暂存 2025-09-17 14:53:26 +08:00
ProjectKoi-Kalo\Kalo
ee9ada0edb 暂存 2025-09-17 14:01:07 +08:00
ProjectKoi-Kalo\Kalo
684a46df6c 整理2 2025-09-17 12:58:16 +08:00
ProjectKoi-Kalo\Kalo
c77def63c2 整理 2025-09-17 12:54:07 +08:00
Tourswen
9e992fc08b Update 脑虫.sai2 2025-09-17 11:51:46 +08:00
Tourswen
9d8129ad0e Update 脑虫.sai2 2025-09-17 00:55:50 +08:00
Tourswen
40cd353955 Merge branch 'master' of https://git.ra3battle.cn/Kalospacer/ArachnaeSwarm 2025-09-16 20:35:06 +08:00
Tourswen
a8621f1564 脑虫讲述者的初稿 2025-09-16 20:34:57 +08:00
ProjectKoi-Kalo\Kalo
a9ecd1e0fa 暂存 2025-09-16 19:43:52 +08:00
ProjectKoi-Kalo\Kalo
bfc20d53a1 暂存 2025-09-16 18:46:30 +08:00
ProjectKoi-Kalo\Kalo
26f66d2ca4 暂存 2025-09-16 14:00:50 +08:00
ProjectKoi-Kalo\Kalo
a7c96c6aed 暂存 2025-09-16 13:05:42 +08:00
ProjectKoi-Kalo\Kalo
c336450e87 暂存 2025-09-16 12:20:36 +08:00
ProjectKoi-Kalo\Kalo
040bb17f94 暂存烧脑 2025-09-16 11:51:29 +08:00
ProjectKoi-Kalo\Kalo
35ed2c01d5 暂存地形刺激 2025-09-16 11:22:59 +08:00
Tourswen
14a61b46e9 更新衣服的科技依赖 2025-09-15 21:52:43 +08:00
Tourswen
fda9a18124 虫群女仆装 2025-09-15 21:44:40 +08:00
Tourswen
629345e2f8 Update ARA_RaceNodeSwarm.xml 2025-09-15 15:53:15 +08:00
Tourswen
ba622f1e89 各种素材的更新 2025-09-14 07:10:54 +08:00
ProjectKoi-Kalo\Kalo
ba9c515b3f 酸爆种和土豆雷 2025-09-12 16:16:21 +08:00
ProjectKoi-Kalo\Kalo
5c32da8634 暂存 2025-09-12 15:31:34 +08:00
ProjectKoi-Kalo\Kalo
1b3c01d8bc 暂存 2025-09-11 22:45:43 +08:00
ProjectKoi-Kalo\Kalo
6c2527e695 暂存 2025-09-11 22:32:55 +08:00
ProjectKoi-Kalo\Kalo
929d362856 织域种 2025-09-11 21:48:48 +08:00
ProjectKoi-Kalo\Kalo
a114b6f037 暂存 2025-09-11 21:35:47 +08:00
ProjectKoi-Kalo\Kalo
8cbd09e036 暂存 2025-09-11 21:12:51 +08:00
ProjectKoi-Kalo\Kalo
f3d6c4e35e 暂存 2025-09-11 21:02:32 +08:00
ProjectKoi-Kalo\Kalo
f55952befc 暂存 2025-09-11 20:57:42 +08:00
ProjectKoi-Kalo\Kalo
6c1e7743dc 暂存 2025-09-11 19:47:02 +08:00
ProjectKoi-Kalo\Kalo
dede557c05 暂存 2025-09-11 18:56:31 +08:00
ProjectKoi-Kalo\Kalo
c102458a43 暂存 2025-09-11 18:38:21 +08:00
Tourswen
f815e468eb 对营养值和花费的调整 2025-09-11 08:37:52 +08:00
Tourswen
505076b835 空天种完成 2025-09-10 23:53:25 +08:00
ProjectKoi-Kalo\Kalo
2bd1f6260f 存去掉随机似 2025-09-10 19:31:06 +08:00
ProjectKoi-Kalo\Kalo
458e9b313b 暂存去掉急救标 2025-09-10 19:24:03 +08:00
ProjectKoi-Kalo\Kalo
2a70345b8e 暂存 2025-09-10 19:21:42 +08:00
ProjectKoi-Kalo\Kalo
f531d0a136 暂存拟线虫药物 2025-09-10 19:08:42 +08:00
ProjectKoi-Kalo\Kalo
d31f5c616a 暂存工作寄生体 2025-09-10 18:21:33 +08:00
ProjectKoi-Kalo\Kalo
d18f489113 暂存 2025-09-10 17:41:53 +08:00
Tourswen
12e860d637 修复督虫出生就超过预定年龄的问题 2025-09-10 17:30:02 +08:00
ProjectKoi-Kalo\Kalo
09fd8c2c82 Merge branch '拟线种' 2025-09-10 15:00:54 +08:00
ProjectKoi-Kalo\Kalo
a072b7c532 暂存 2025-09-10 15:00:11 +08:00
ProjectKoi-Kalo\Kalo
250844ab00 暂存3 2025-09-10 14:47:33 +08:00
ProjectKoi-Kalo\Kalo
26dba2f16b 暂存2 2025-09-10 14:41:40 +08:00
ProjectKoi-Kalo\Kalo
17722d473a 暂存 2025-09-10 13:13:41 +08:00
ProjectKoi-Kalo\Kalo
ef14ad1caf 暂存 2025-09-10 12:38:56 +08:00
ProjectKoi-Kalo\Kalo
6fe5db0b4f 暂存3 2025-09-10 12:22:03 +08:00
ProjectKoi-Kalo\Kalo
5ed1b3ec62 暂存 2025-09-10 12:17:47 +08:00
ProjectKoi-Kalo\Kalo
cc5206c3c6 暂存 2025-09-10 12:14:30 +08:00
Tourswen
7da13bd49d 描述 2025-09-10 12:00:11 +08:00
ProjectKoi-Kalo\Kalo
54de15873f 暂存 2025-09-10 11:25:51 +08:00
Tourswen
ee48fb4491 描述修改,给冲撞增加前置 2025-09-10 10:43:35 +08:00
Tourswen
64fd63796d 各种描述修改,两个水货武器,科技调整,完善升级树,将武器标签系统搬过来 2025-09-10 10:01:21 +08:00
ProjectKoi-Kalo\Kalo
12ea403c97 暂存 2025-09-10 01:02:08 +08:00
ProjectKoi-Kalo\Kalo
c9fd2e8844 Merge branch 'master' of https://git.ra3battle.cn/Kalospacer/ArachnaeSwarm 2025-09-09 23:54:51 +08:00
ProjectKoi-Kalo\Kalo
f3fb6122e3 暂存 2025-09-09 23:54:48 +08:00
Tourswen
72fbec8d21 Update ArachnaeNode_Race_Addons_Skyraider_Wing_south.sai2 2025-09-09 23:47:00 +08:00
Tourswen
c2299e22e6 杂七杂八的调整 2025-09-09 23:46:51 +08:00
ProjectKoi-Kalo\Kalo
d1f9e7f17a 虫肉虫肉 2025-09-09 23:18:27 +08:00
ProjectKoi-Kalo\Kalo
19de1bfd8f Merge branch 'master' of https://git.ra3battle.cn/Kalospacer/ArachnaeSwarm 2025-09-09 17:51:22 +08:00
ProjectKoi-Kalo\Kalo
de5c7412b3 虫烟 2025-09-09 17:51:20 +08:00
Tourswen
770f81e4c8 科技和虫卵 2025-09-09 17:32:27 +08:00
ProjectKoi-Kalo\Kalo
6e9b0829b7 暂存 2025-09-09 15:15:34 +08:00
ProjectKoi-Kalo\Kalo
6694ff2d62 存天巢种 2025-09-09 14:56:06 +08:00
ProjectKoi-Kalo\Kalo
b1a0a35b94 Merge branch 'master' of https://git.ra3battle.cn/Kalospacer/ArachnaeSwarm 2025-09-09 12:44:49 +08:00
ProjectKoi-Kalo\Kalo
17cdfd07eb 暂存 2025-09-09 12:44:47 +08:00
Tourswen
54ad384068 大型虫族的确立 2025-09-09 12:00:40 +08:00
Tourswen
d18e70f2e4 将所有的verb从乌拉迁移(不包括咖喱棒) 2025-09-09 11:05:06 +08:00
Tourswen
025881a310 将种族限定区域hediff挪过来 2025-09-09 10:56:15 +08:00
Tourswen
6b8fb58777 Merge branch 'master' of https://git.ra3battle.cn/Kalospacer/ArachnaeSwarm 2025-09-09 01:14:39 +08:00
Tourswen
3add58d294 浓雾种 2025-09-09 01:12:18 +08:00
ProjectKoi-Kalo\Kalo
501bc91e35 Merge branch '空天种' 2025-09-08 23:36:01 +08:00
ProjectKoi-Kalo\Kalo
390128f503 暂存 2025-09-08 23:31:22 +08:00
Tourswen
6516871763 生物孵化池的立绘 2025-09-08 22:16:09 +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
Tourswen
a136c0eb50 Merge branch 'master' of https://git.ra3battle.cn/Kalospacer/ArachnaeSwarm 2025-09-08 19:21:43 +08:00
Tourswen
42a96c6cfb 修改茧名字,修改产物速率,修改菌毯减速 2025-09-08 19:21:27 +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
Tourswen
f6071f3bea 骨刀,酸炮,以及其他若干 2025-09-04 22:09:48 +08:00
432 changed files with 22004 additions and 2324 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

@@ -3,13 +3,13 @@
<AbilityDef ParentName="AbilityTouchBase">
<defName>ARA_BindDrone</defName>
<label>信息素标记</label>
<description>使用信息素标记一只阿拉克涅督虫,受到标记的督虫和其麾下的辅虫将誓死效忠于女皇种,并与其建立心灵链接。</description>
<iconPath>UI/Commands/EggSpew</iconPath> <!-- Placeholder: You'll need to create this icon -->
<description>使用信息素标记一只阿拉克涅督虫,受到标记的督虫和其麾下的辅虫将誓死效忠于女皇种,并与其建立心灵链接。\n\n除了手动链接外女皇种也会每60秒尝试自动链接所有未链接的阿拉克涅督虫此类链接和手动链接不一样不需要目视。</description>
<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,51 +31,68 @@
</li>
</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>
<defName>ARA_RaceBaseSwarmProduceOn</defName>
<label>取消繁育抑制</label>
<description>重启该阿拉克涅督虫自动抚育辅虫的能力</description>
<iconPath>ArachnaeSwarm/UI/Abilities/ARA_RaceBaseSwarmProduceOn</iconPath>
<cooldownTicksRange>601</cooldownTicksRange>
<hostile>false</hostile>
<showOnCharacterCard>true</showOnCharacterCard>
<aiCanUse>false</aiCanUse>
<verbProperties>
<verbClass>Verb_CastAbility</verbClass>
<range>1</range>
<warmupTime>12</warmupTime>
<soundCast>AcidSpray_Resolve</soundCast>
<violent>false</violent>
<warmupTime>0</warmupTime>
<drawAimPie>false</drawAimPie>
<requireLineOfSight>false</requireLineOfSight>
<targetable>false</targetable>
<targetParams>
<canTargetSelf>True</canTargetSelf>
<canTargetSelf>true</canTargetSelf>
</targetParams>
</verbProperties>
<comps>
<li Class="CompProperties_AbilityLaunchProjectile">
<projectileDef>ARA_Proj_EggSac</projectileDef>
<!-- 这是正确的用法 -->
<li Class="RimWorld.CompProperties_AbilityRemoveHediff">
<compClass>ArachnaeSwarm.CompAbilityEffect_RemoveSwitchHediff</compClass>
<hediffDef>ARA_RaceBaseSwarmProduceSwitchHediff</hediffDef>
<applyToSelf>true</applyToSelf>
</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>
</comps>
</AbilityDef>
<AbilityDef>
<defName>ARA_RaceBaseSwarmProduceOff</defName>
<label>繁育抑制</label>
<description>关闭该阿拉克涅督虫自动抚育辅虫的能力。</description>
<iconPath>ArachnaeSwarm/UI/Abilities/ARA_RaceBaseSwarmProduceOff</iconPath>
<cooldownTicksRange>601</cooldownTicksRange>
<hostile>false</hostile>
<showOnCharacterCard>true</showOnCharacterCard>
<aiCanUse>false</aiCanUse>
<verbProperties>
<verbClass>Verb_CastAbility</verbClass>
<warmupTime>0</warmupTime>
<drawAimPie>false</drawAimPie>
<requireLineOfSight>false</requireLineOfSight>
<targetable>false</targetable>
<targetParams>
<canTargetSelf>true</canTargetSelf>
</targetParams>
</verbProperties>
<comps>
<li Class="RimWorld.CompProperties_AbilityGiveHediff">
<compClass>ArachnaeSwarm.CompAbilityEffect_GiveSwitchHediff</compClass>
<hediffDef>ARA_RaceBaseSwarmProduceSwitchHediff</hediffDef>
<applyToSelf>true</applyToSelf>
</li>
</comps>
</AbilityDef>
<AbilityDef>
<defName>ARA_EggSpewBioforgeIncubator</defName>
<label>生育孵化茧</label>
<description>孵化茧</description>
<defName>ARA_TrapSpew</defName>
<label>酸爆茧投射</label>
<description>发射一排阿拉克涅休眠茧,其中装有阿拉克涅酸爆种,这些危险的虫族被唤醒后就会开始寻仇,匆匆了结自己的生命.</description>
<iconPath>UI/Commands/EggSpew</iconPath>
<cooldownTicksRange>5000</cooldownTicksRange>
<cooldownTicksRange>5000</cooldownTicksRange> <!-- 2 hours -->
<aiCanUse>true</aiCanUse>
<displayOrder>300</displayOrder>
<displayGizmoWhileUndrafted>true</displayGizmoWhileUndrafted>
@@ -83,36 +100,133 @@
<warmupStartSound>AcidSpray_Warmup</warmupStartSound>
<verbProperties>
<verbClass>Verb_CastAbility</verbClass>
<range>1</range>
<warmupTime>12</warmupTime>
<range>14.9</range>
<warmupTime>0.25</warmupTime>
<soundCast>AcidSpray_Resolve</soundCast>
<targetParams>
<canTargetLocations>true</canTargetLocations>
</targetParams>
</verbProperties>
<comps>
<li Class="CompProperties_AbilitySprayLiquid">
<projectileDef>ARA_Proj_StrongSludgeSpray</projectileDef>
<numCellsToHit>8</numCellsToHit>
<sprayEffecter>AcidSpray_Directional</sprayEffecter>
</li>
<li Class="ArachnaeSwarm.CompProperties_AbilityLaunchMultiProjectile">
<projectileDef>ARA_Proj_Trap</projectileDef>
<numProjectiles>3</numProjectiles>
</li>
</comps>
</AbilityDef>
<ThingDef ParentName="ARA_EggSpew_Base_Proj">
<defName>ARA_Proj_Trap</defName>
<label>阿拉克涅酸爆茧</label>
<projectile>
<spawnsThingDef>Arachnae_AcidlingTrap</spawnsThingDef>
</projectile>
</ThingDef>
<AbilityDef>
<defName>ARA_TumorSpew</defName>
<label>菌瘤释放</label>
<description>排出一枚菌瘤,将附近的大片地区转变为菌毯地形,以方便虫群进行活动,并阻碍敌军的前进。</description>
<iconPath>ArachnaeSwarm/UI/Abilities/ARA_TumorSpew</iconPath>
<cooldownTicksRange>5000</cooldownTicksRange>
<aiCanUse>false</aiCanUse>
<displayOrder>300</displayOrder>
<displayGizmoWhileUndrafted>true</displayGizmoWhileUndrafted>
<disableGizmoWhileUndrafted>false</disableGizmoWhileUndrafted>
<targetRequired>false</targetRequired>
<hostile>false</hostile>
<casterMustBeCapableOfViolence>false</casterMustBeCapableOfViolence>
<warmupStartSound>AcidSpray_Warmup</warmupStartSound>
<verbProperties>
<verbClass>Verb_CastAbility</verbClass>
<range>13</range>
<warmupTime>1</warmupTime>
<soundCast>AcidSpray_Resolve</soundCast>
<violent>false</violent>
<targetable>false</targetable>
<drawAimPie>false</drawAimPie>
<targetParams>
<canTargetSelf>True</canTargetSelf>
</targetParams>
</verbProperties>
<comps>
<li Class="CompProperties_AbilityLaunchProjectile">
<projectileDef>ARA_Proj_BioforgeIncubator</projectileDef>
</li>
<li Class="ArachnaeSwarm.CompProperties_AbilityNeedCost">
<needDef>Food</needDef>
<needCost>1</needCost>
<needCost>0.2</needCost>
<failMessage>营养值不足,需要进食</failMessage>
</li>
<li Class="CompProperties_AbilityLaunchProjectile">
<projectileDef>ARA_Proj_Tumor</projectileDef>
</li>
</comps>
</AbilityDef>
<ThingDef ParentName="ARA_EggSpew_Base_Proj">
<defName>ARA_Proj_Tumor</defName>
<label>阿拉克涅菌瘤</label>
<projectile>
<spawnsThingDef>ARA_Tumor_Smokepop</spawnsThingDef>
</projectile>
</ThingDef>
<ThingDef ParentName="BuildingNaturalBase">
<defName>ARA_Tumor_Smokepop</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>
<repairEffect>EatVegetarian</repairEffect>
<filthLeaving>Filth_Slime</filthLeaving>
<statBases>
<MaxHitPoints>10</MaxHitPoints>
<Mass>4</Mass>
<Flammability>1.0</Flammability>
<MarketValue>50</MarketValue>
</statBases>
<graphicData>
<texPath>ArachnaeSwarm/Building/ARA_Tumor</texPath>
<graphicClass>Graphic_Single</graphicClass>
<drawSize>1.2</drawSize>
<shadowData>
<volume>(0.3, 0.6, 0.3)</volume>
<offset>(0,0,-0.1)</offset>
</shadowData>
</graphicData>
<placeWorkers>
<li>PlaceWorker_GlowRadius</li>
</placeWorkers>
<comps>
<li Class="CompProperties_Glower">
<glowRadius>13</glowRadius>
<glowColor>(220,210,171,0)</glowColor>
</li>
<li Class="CompProperties_Lifespan">
<lifespanTicks>9000</lifespanTicks>
</li>
<li Class="ArachnaeSwarm.CompProperties_DelayedTerrainSpawn">
<terrainToSpawn>ARA_InsectCreep</terrainToSpawn>
<spawnRadius>13</spawnRadius>
</li>
</comps>
</ThingDef>
<AbilityDef>
<defName>ARA_AcidSprayBurst</defName>
<defName>ARA_AcidSprayBurst_Queen</defName>
<label>女皇种酸液轰炸</label>
<description>阿拉克涅女皇种向目标地点喷射大量腐蚀性酸液,喷射将持续数秒以完全覆盖一片区域。</description>
<iconPath>UI/Abilities/AcidSpray</iconPath>
<cooldownTicksRange>5000</cooldownTicksRange> <!-- 2 hours -->
<iconPath>ArachnaeSwarm/UI/Abilities/ARA_AcidSprayBurst</iconPath>
<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>
@@ -131,10 +245,10 @@
<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>
@@ -143,52 +257,12 @@
<requiredPart>ARA_Acid_sac</requiredPart>
<failMessage>酸囊受损或缺失,无法喷射酸液</failMessage>
</li>
</comps>
</AbilityDef>
<AbilityDef>
<defName>ARA_AcidSprayBurst_Myrmecocystus</defName>
<label>蜜罐种酸液轰炸</label>
<description>阿拉克涅蜜罐种向目标地点喷射大量腐蚀性酸液,虽然不如女皇种所喷射的酸雨那样强劲,但是虫酸的伤害依然是实打实的。</description>
<iconPath>UI/Abilities/AcidSpray</iconPath>
<cooldownTicksRange>12000</cooldownTicksRange> <!-- 2 hours -->
<aiCanUse>true</aiCanUse>
<displayOrder>300</displayOrder>
<displayGizmoWhileUndrafted>true</displayGizmoWhileUndrafted>
<disableGizmoWhileUndrafted>false</disableGizmoWhileUndrafted>
<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 Class="ArachnaeSwarm.CompProperties_AbilityResearchPrereq">
<requiredResearch>ARA_Technology_6VXI</requiredResearch>
<failMessage>需要科技 节点VXI-6"酸囊" 以解锁技能</failMessage>
</li>
</comps>
</AbilityDef>
<ThingDef>
<defName>ARA_Proj_StrongSludgeSpray</defName>
<label>阿拉克涅虫族酸液</label>
@@ -214,65 +288,118 @@
<shadowSize>0</shadowSize>
<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>
<ThingDef ParentName="BaseGrenadeProjectile">
<defName>ARA_Proj_EggSac</defName>
<label>阿拉克涅虫卵</label>
<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>
<spawnsThingDef>ARA_InteractiveEggSac</spawnsThingDef>
<tryAdjacentFreeSpaces>true</tryAdjacentFreeSpaces>
</projectile>
</ThingDef>
<AbilityDef>
<defName>ARA_AcidSprayBurst</defName>
<label>酸液轰炸</label>
<description>阿拉克涅督虫向目标地点喷射大量腐蚀性酸液,虽然不如女皇种所喷射的酸雨那样强劲,但是虫酸的伤害依然是实打实的。</description>
<iconPath>ArachnaeSwarm/UI/Abilities/ARA_AcidSprayBurst</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>ArachnaeSwarm/UI/Abilities/ARA_Toxic_Needle_Fire</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>
<ThingDef ParentName="BaseGrenadeProjectile">
<defName>ARA_Proj_BioforgeIncubator</defName>
<label>阿拉克涅孵化茧</label>
<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>
<spawnsThingDef>ARA_BioforgeIncubator</spawnsThingDef>
<tryAdjacentFreeSpaces>true</tryAdjacentFreeSpaces>
</projectile>
</ThingDef>
<AbilityDef>
<defName>ARA_BaseRace_Acid_Launcher</defName>
<label>种投射</label>
<description></description>
<iconPath>UI/Commands/EggSpew</iconPath>
<label>种投射</label>
<description>将一只阿拉克涅酸噬种辅虫发射到指定地点,落地后这只寿命有限的辅虫将立刻对敌人展开攻击。</description>
<iconPath>ArachnaeSwarm/UI/Abilities/ARA_BaseRace_Launcher</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>
<targetable>false</targetable>
<targetParams>
<canTargetSelf>false</canTargetSelf>
<canTargetLocations>true</canTargetLocations>
</targetParams>
</verbProperties>
<comps>
@@ -281,23 +408,19 @@
</li>
<li Class="ArachnaeSwarm.CompProperties_AbilityNeedCost">
<needDef>Food</needDef>
<needCost>0.5</needCost>
<needCost>0.2</needCost>
<failMessage>营养值不足,需要进食</failMessage>
</li>
<!-- <li Class="ArachnaeSwarm.CompProperties_AbilityBodyPartCheck">
<requiredPart>ARA_Ovary</requiredPart>
<failMessage>卵巢受损或缺失,无法生育</failMessage>
</li> -->
</comps>
</AbilityDef>
<ThingDef ParentName="BaseGrenadeProjectile">
<defName>ArachnaeBase_Race_Acid_Proj</defName>
<label>阿拉克涅酸</label>
<label>阿拉克涅酸</label>
<thingClass>Projectile_SpawnsPawnZeroAge</thingClass>
<uiIconPath>Wula/Things/WULA_Attack_Cat/WULA_Cat_Thin_south</uiIconPath>
<graphicData>
<texPath>Wula/Things/WULA_Attack_Cat/WULA_Cat_Thin_south</texPath>
<graphicClass>Graphic_Single</graphicClass>
<texPath>Things/Pawn/Animal/Spelopede/Spelopede</texPath>
<graphicClass>Graphic_Multi</graphicClass>
</graphicData>
<projectile>
<speed>41</speed>
@@ -307,4 +430,350 @@
<damageAmountBase>10</damageAmountBase>
</projectile>
</ThingDef>
<AbilityDef>
<defName>ARA_BaseRace_Skyhive_Launcher</defName>
<label>天巢种喷射巢</label>
<description>将三只阿拉克涅天巢种辅虫发射到目标身上,天巢种将附着到敌人身上撕咬,脱落后仍然能继续对敌人展开攻击。</description>
<iconPath>ArachnaeSwarm/UI/Abilities/ARA_BaseRace_Launcher</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>
<canTargetPawns>True</canTargetPawns>
</targetParams>
</verbProperties>
<comps>
<li Class="ArachnaeSwarm.CompProperties_AbilityLaunchMultiProjectile">
<projectileDef>Bullet_ARA_RW_Basic_SkyHive_Gun</projectileDef>
<numProjectiles>3</numProjectiles>
</li>
<li Class="ArachnaeSwarm.CompProperties_AbilityNeedCost">
<needDef>Food</needDef>
<needCost>0.2</needCost>
<failMessage>营养值不足,需要进食</failMessage>
</li>
</comps>
</AbilityDef>
<AbilityDef>
<defName>ARA_Skyraider_jump</defName>
<label>高空机动</label>
<description>使用强壮的翅膀瞬间加力,以重定位至一处新的地点。</description>
<iconPath>ArachnaeSwarm/UI/Abilities/ARA_Skyraider_jump</iconPath> <!-- Placeholder Icon -->
<cooldownTicksRange>5000</cooldownTicksRange>
<hostile>false</hostile>
<casterMustBeCapableOfViolence>false</casterMustBeCapableOfViolence>
<charges>2</charges>
<cooldownPerCharge>true</cooldownPerCharge>
<verbProperties>
<verbClass>Verb_CastAbilityJump</verbClass>
<label>jump</label>
<violent>false</violent>
<forceNormalTimeSpeed>false</forceNormalTimeSpeed>
<warmupTime>0</warmupTime>
<range>150</range>
<requireLineOfSight>true</requireLineOfSight>
<soundCast>Longjump_Jump</soundCast>
<soundLanding>Longjump_Land</soundLanding>
<targetParams>
<canTargetLocations>true</canTargetLocations>
<canTargetPawns>false</canTargetPawns>
<canTargetBuildings>false</canTargetBuildings>
</targetParams>
</verbProperties>
<jobDef>CastJump</jobDef>
<comps>
<li Class="ArachnaeSwarm.CompProperties_AbilityNeedCost">
<needDef>Food</needDef>
<needCost>0.3</needCost>
<failMessage>营养值不足,需要进食</failMessage>
</li>
</comps>
</AbilityDef>
<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>
<AbilityDef>
<defName>ARA_Ability_Smokepop</defName>
<label>信息素浓雾释放</label>
<description>浓雾种使用其腹部释放大量阿拉克涅信息素烟雾,形成一大片可以遮蔽虫族身形和阻燃的烟雾。这些信息素会吸引附近的阿拉克涅辅虫破土而出支援虫群,沾染信息素的目标越多(无论敌我),前来支援的虫族就越多。</description>
<iconPath>ArachnaeSwarm/UI/Abilities/ARA_Ability_Smokepop</iconPath>
<cooldownTicksRange>6000</cooldownTicksRange>
<targetRequired>false</targetRequired>
<hostile>false</hostile>
<casterMustBeCapableOfViolence>false</casterMustBeCapableOfViolence>
<verbProperties>
<verbClass>Verb_CastAbility</verbClass>
<warmupTime>1</warmupTime>
<range>10</range>
<drawAimPie>false</drawAimPie>
<targetParams>
<canTargetSelf>true</canTargetSelf>
</targetParams>
</verbProperties>
<comps>
<li Class="ArachnaeSwarm.CompProperties_AbilityNeedCost">
<needDef>Food</needDef>
<needCost>0.25</needCost>
<failMessage>营养值不足,需要进食</failMessage>
</li>
<!--<li Class="CompProperties_AbilityFirefoampop">
<firefoamRadius>10</firefoamRadius>
<clamorType>Ability</clamorType>
<clamorRadius>15</clamorRadius>
</li>-->
<li Class="ArachnaeSwarm.CompProperties_AbilityDRM_Deaddustpop">
<damageDef>ARA_ReinforceGas</damageDef>
<damageAmount>5</damageAmount>
<armorPenetration>2.0</armorPenetration>
<smokeRadius>10</smokeRadius>
<explosionSound>Explosion_Smoke</explosionSound>
<clamorType>Ability</clamorType>
<clamorRadius>15</clamorRadius>
<postExplosionSpawnThingDef>ARA_ReinforceGasCloud</postExplosionSpawnThingDef> <!-- ARL_ToxicGasCloud -->
<postExplosionSpawnChance>1</postExplosionSpawnChance>
<postExplosionSpawnThingCount>1</postExplosionSpawnThingCount>
</li>
<!-- <li Class="ArachnaeSwarm.CompProperties_AbilityBodyPartCheck">
<requiredPart>ARA_Toxic_Needle</requiredPart>
<failMessage>毒针腺受损或缺失,无法发射毒针</failMessage>
</li> -->
</comps>
</AbilityDef>
<AbilityDef>
<defName>ARA_Ability_TrackingCharge</defName>
<label>蛮力冲撞</label>
<description>对目标发起蓄势冲撞,对路径上的一切造成伤害。在冲击中途经的距离越远,伤害越高。</description>
<iconPath>ArachnaeSwarm/UI/Abilities/ARA_Ability_TrackingCharge</iconPath> <!-- Placeholder Icon -->
<cooldownTicksRange>6000</cooldownTicksRange>
<charges>2</charges>
<cooldownPerCharge>true</cooldownPerCharge>
<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>18</range>
<warmupTime>1.0</warmupTime>
</verbProperties>
<comps>
<li Class="ArachnaeSwarm.CompProperties_TrackingCharge">
<homingSpeed>1.5</homingSpeed>
<initialDamage>15</initialDamage>
<damagePerTile>1.5</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>
<li Class="ArachnaeSwarm.CompProperties_AbilityResearchPrereq">
<requiredResearch>ARA_Technology_1VTE</requiredResearch>
<failMessage>需要科技 节点VTE-1"爆发激素" 以解锁技能</failMessage>
</li>
<li Class="ArachnaeSwarm.CompProperties_AbilityNeedCost">
<needDef>Food</needDef>
<needCost>0.2</needCost>
<failMessage>营养值不足,需要进食</failMessage>
</li>
</comps>
</AbilityDef>
<ThingDef ParentName="PawnFlyerBase">
<defName>ARA_Flyer_TrackingCharge</defName>
<thingClass>ArachnaeSwarm.PawnFlyer_TrackingCharge</thingClass>
<pawnFlyer>
<flightSpeed>0.5</flightSpeed>
<heightFactor>0</heightFactor>
</pawnFlyer>
</ThingDef>
<AbilityDef>
<defName>ARA_PsychicBrainburn</defName>
<label>心灵烧灼</label>
<description>以强大的纯净灵能冲击目标,烧毁目标的中枢神经系统——这会直接杀死目标。</description>
<abilityClass>Psycast</abilityClass>
<category>Psychic</category>
<iconPath>ArachnaeSwarm/UI/Abilities/ARA_PsychicBrainburn</iconPath>
<cooldownTicksRange>18000</cooldownTicksRange>
<aiCanUse>false</aiCanUse>
<displayOrder>300</displayOrder>
<displayGizmoWhileUndrafted>false</displayGizmoWhileUndrafted>
<showPsycastEffects>true</showPsycastEffects>
<sendMessageOnCooldownComplete>true</sendMessageOnCooldownComplete>
<stunTargetWhileCasting>true</stunTargetWhileCasting>
<moteOffsetAmountTowardsTarget>0.5</moteOffsetAmountTowardsTarget>
<warmupMote>Mote_HoraxSmallSpellWarmup</warmupMote>
<warmupEffecter>HoraxianAbilityCasting</warmupEffecter>
<warmupSound>AnomalyAbilityWarmup</warmupSound>
<writeCombatLog>true</writeCombatLog>
<statBases>
<Ability_EntropyGain>75</Ability_EntropyGain>
<Ability_PsyfocusCost>-1</Ability_PsyfocusCost>
<Ability_Duration>0</Ability_Duration>
</statBases>
<verbProperties>
<verbClass>Verb_CastAbility</verbClass>
<warmupTime>6</warmupTime>
<range>18</range>
<targetParams>
<canTargetPawns>true</canTargetPawns>
<canTargetBuildings>false</canTargetBuildings>
<canTargetSelf>false</canTargetSelf>
</targetParams>
</verbProperties>
<comps>
<li Class="ArachnaeSwarm.CompProperties_PsychicBrainburn">
<psychic>True</psychic>
<!-- 视觉效果 -->
<effecterDef>Skip_Entry</effecterDef>
<!-- 设为 true 则只能对血肉生物使用。设为 false 则也可以对机械体使用。 -->
<requiresFlesh>false</requiresFlesh>
</li>
</comps>
</AbilityDef>
<AbilityDef>
<defName>ARA_NeuroSwarm_jump</defName>
<label>高空机动</label>
<description>增强用于使身体悬浮的力量快速进入较高的高度,然后飞到一处新的地点。</description>
<iconPath>ArachnaeSwarm/UI/Abilities/ARA_Skyraider_jump</iconPath>
<cooldownTicksRange>5000</cooldownTicksRange>
<hostile>false</hostile>
<casterMustBeCapableOfViolence>false</casterMustBeCapableOfViolence>
<charges>1</charges>
<cooldownPerCharge>true</cooldownPerCharge>
<verbProperties>
<verbClass>Verb_CastAbilityJump</verbClass>
<label>jump</label>
<violent>false</violent>
<forceNormalTimeSpeed>false</forceNormalTimeSpeed>
<warmupTime>0</warmupTime>
<range>50</range>
<requireLineOfSight>true</requireLineOfSight>
<soundCast>Longjump_Jump</soundCast>
<soundLanding>Longjump_Land</soundLanding>
<targetParams>
<canTargetLocations>true</canTargetLocations>
<canTargetPawns>false</canTargetPawns>
<canTargetBuildings>false</canTargetBuildings>
</targetParams>
</verbProperties>
<jobDef>CastJump</jobDef>
</AbilityDef>
<AbilityDef>
<defName>ARA_MimicNematode_Needle_Fire</defName>
<label>拟线种寄生针</label>
<description>向目标喷射若干伤害较低但是会引发阿拉克涅拟线种寄生的囊针,随着感染的推进,目标将逐渐被拟线种控制,逐渐无视外部刺激以获得强大的抗击打能力。\n\n这是一种危险的交易拟线种无法被女皇种控制聪明的虫巢在使用拟线种的力量前都需要思虑再三。</description>
<writeCombatLog>True</writeCombatLog>
<showPsycastEffects>False</showPsycastEffects>
<cooldownTicksRange>6000</cooldownTicksRange>
<iconPath>ArachnaeSwarm/UI/Abilities/ARA_Toxic_Needle_Fire</iconPath>
<displayGizmoWhileUndrafted>false</displayGizmoWhileUndrafted>
<verbProperties>
<verbClass>Verb_AbilityShoot</verbClass>
<defaultProjectile>Bullet_ARA_MimicNematode_Needle</defaultProjectile>
<range>5</range>
<soundCast>Heatspikes_Shot</soundCast>
<soundCastTail>Heatspikes_Tail</soundCastTail>
<muzzleFlashScale>9</muzzleFlashScale>
<ticksBetweenBurstShots>2</ticksBetweenBurstShots>
<warmupTime>0</warmupTime>
<burstShotCount>32</burstShotCount>
<accuracyTouch>1</accuracyTouch>
<accuracyShort>1</accuracyShort>
<accuracyMedium>1</accuracyMedium>
<accuracyLong>1</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_2MED</requiredResearch>
<failMessage>需要科技 节点MED-2"拟线寄生" 以解锁技能</failMessage>
</li>
</comps>
</AbilityDef>
<ThingDef ParentName="BaseBullet">
<defName>Bullet_ARA_MimicNematode_Needle</defName>
<label>拟线种寄生针</label>
<graphicData>
<texPath>Things/Projectile/Bullet_Small</texPath>
<graphicClass>Graphic_Single</graphicClass>
<color>(117, 204, 49, 180)</color>
</graphicData>
<projectile>
<damageDef>ARA_MimicNematodeBite</damageDef>
<damageAmountBase>1</damageAmountBase>
<speed>40</speed>
</projectile>
</ThingDef>
</Defs>

View File

@@ -1,27 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<!-- ==================== Ability Def ==================== -->
<AbilityDef>
<defName>ARA_Ability_Possess</defName>
<label>阿拉克涅寄生</label>
<description>将你的意识注入另一个生物的身体,完全占据它。</description>
<iconPath>UI/Commands/EggSpew</iconPath>
<cooldownTicksRange>600</cooldownTicksRange>
<verbProperties>
<verbClass>Verb_CastAbility</verbClass>
<warmupTime>1.5</warmupTime>
<range>5.9</range>
<targetParams>
<canTargetPawns>true</canTargetPawns>
<canTargetBuildings>false</canTargetBuildings>
<canTargetSelf>false</canTargetSelf>
<canTargetLocations>false</canTargetLocations>
</targetParams>
</verbProperties>
<comps>
<li Class="ArachnaeSwarm.CompProperties_AbilityPossess"/>
</comps>
</AbilityDef>
</Defs>

View File

@@ -0,0 +1,223 @@
<?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_Cocoon</texPath>
<graphicClass>Graphic_Single</graphicClass>
</graphicData>
<projectile>
<damageDef>Bullet</damageDef>
<speed>21</speed>
<damageAmountBase>0</damageAmountBase>
<tryAdjacentFreeSpaces>true</tryAdjacentFreeSpaces>
</projectile>
</ThingDef>
<!-- T0 -->
<AbilityDef ParentName="ARA_EggSpew_Base">
<defName>ARA_EggSpew</defName>
<label>生育虫卵</label>
<description>从卵巢中排出一颗休眠的虫卵,阿拉克涅女皇种可以通过与其交互将其激活,并选择孵化的督虫虫族类型——参阅虫卵的具体信息,了解各个督虫的特点。\n\n该虫卵只能孵化小型虫族。</description>
<iconPath>ArachnaeSwarm/UI/Abilities/ARA_EggSpew</iconPath>
<comps>
<li Class="CompProperties_AbilityLaunchProjectile">
<projectileDef>ARA_Proj_EggSac</projectileDef>
</li>
</comps>
</AbilityDef>
<AbilityDef ParentName="ARA_EggSpew_Base">
<defName>ARA_EggSpew_Huge</defName>
<label>生育大型虫卵</label>
<description>从卵巢中排出一颗休眠的大型虫卵,阿拉克涅女皇种可以通过与其交互将其激活,并选择孵化的督虫虫族类型——参阅虫卵的具体信息,了解各个督虫的特点。\n\n该虫卵只能孵化大型虫族。</description>
<iconPath>ArachnaeSwarm/UI/Abilities/ARA_EggSpew_Huge</iconPath>
<comps>
<li Class="CompProperties_AbilityLaunchProjectile">
<projectileDef>ARA_Proj_EggSac_Huge</projectileDef>
</li>
</comps>
</AbilityDef>
<!-- T1 -->
<AbilityDef ParentName="ARA_EggSpew_Base">
<defName>ARA_EggSpew_1Stage</defName>
<label>生育虫卵——等级1</label>
<description>从卵巢中排出一颗休眠的虫卵,阿拉克涅女皇种可以通过与其交互将其激活,并选择孵化的督虫虫族类型——参阅虫卵的具体信息,了解各个督虫的特点。\n\n该虫卵只能孵化小型虫族。</description>
<iconPath>ArachnaeSwarm/UI/Abilities/ARA_EggSpew_1Stage</iconPath>
<comps>
<li Class="CompProperties_AbilityLaunchProjectile">
<projectileDef>ARA_Proj_EggSac_1Stage</projectileDef>
</li>
</comps>
</AbilityDef>
<AbilityDef ParentName="ARA_EggSpew_Base">
<defName>ARA_EggSpew_Huge_1Stage</defName>
<label>生育大型虫卵——等级1</label>
<description>从卵巢中排出一颗休眠的大型虫卵,阿拉克涅女皇种可以通过与其交互将其激活,并选择孵化的督虫虫族类型——参阅虫卵的具体信息,了解各个督虫的特点。\n\n该虫卵只能孵化大型虫族。</description>
<iconPath>ArachnaeSwarm/UI/Abilities/ARA_EggSpew_Huge_1Stage</iconPath>
<comps>
<li Class="CompProperties_AbilityLaunchProjectile">
<projectileDef>ARA_Proj_EggSac_Huge_1Stage</projectileDef>
</li>
</comps>
</AbilityDef>
<!-- T2 -->
<AbilityDef ParentName="ARA_EggSpew_Base">
<defName>ARA_EggSpew_2Stage</defName>
<label>生育虫卵——等级2</label>
<description>从卵巢中排出一颗休眠的虫卵,阿拉克涅女皇种可以通过与其交互将其激活,并选择孵化的督虫虫族类型——参阅虫卵的具体信息,了解各个督虫的特点。\n\n该虫卵只能孵化小型虫族。</description>
<iconPath>ArachnaeSwarm/UI/Abilities/ARA_EggSpew_2Stage</iconPath>
<comps>
<li Class="CompProperties_AbilityLaunchProjectile">
<projectileDef>ARA_Proj_EggSac_2Stage</projectileDef>
</li>
</comps>
</AbilityDef>
<AbilityDef ParentName="ARA_EggSpew_Base">
<defName>ARA_EggSpew_Huge_2Stage</defName>
<label>生育大型虫卵——等级2</label>
<description>从卵巢中排出一颗休眠的大型虫卵,阿拉克涅女皇种可以通过与其交互将其激活,并选择孵化的督虫虫族类型——参阅虫卵的具体信息,了解各个督虫的特点。\n\n该虫卵只能孵化大型虫族。</description>
<iconPath>ArachnaeSwarm/UI/Abilities/ARA_EggSpew_Huge_2Stage</iconPath>
<comps>
<li Class="CompProperties_AbilityLaunchProjectile">
<projectileDef>ARA_Proj_EggSac_Huge_2Stage</projectileDef>
</li>
</comps>
</AbilityDef>
<!-- T0 -->
<AbilityDef ParentName="ARA_CocoonSpew_Base">
<defName>ARA_Cocoon_Cloth</defName>
<label>织物孵化茧</label>
<description>投放一枚织物茧,内含可以孵化一套基础织物的营养和遗传物质——参阅茧的超链接,了解其能生产的所有装备的特点。</description>
<iconPath>ArachnaeSwarm/UI/Abilities/ARA_Cocoon_Cloth</iconPath>
<comps>
<li Class="CompProperties_AbilityLaunchProjectile">
<projectileDef>ARA_Cocoon_Proj_Cloth</projectileDef>
</li>
<li Class="ArachnaeSwarm.CompProperties_AbilityResearchPrereq">
<requiredResearch>ARA_Technology_4DIL</requiredResearch>
<failMessage>需要科技 节点DIL-4"编织" 以解锁此孵化路径</failMessage>
</li>
</comps>
</AbilityDef>
<AbilityDef ParentName="ARA_CocoonSpew_Base">
<defName>ARA_Cocoon_Weapon</defName>
<label>武装器官孵化茧</label>
<description>投放一枚武装器官茧,内含可以孵化一套基础武装器官的营养和遗传物质——参阅茧的超链接,了解其能生产的所有装备的特点。</description>
<iconPath>ArachnaeSwarm/UI/Abilities/ARA_Cocoon_Weapon</iconPath>
<comps>
<li Class="CompProperties_AbilityLaunchProjectile">
<projectileDef>ARA_Cocoon_Proj_Weapon</projectileDef>
</li>
</comps>
</AbilityDef>
<!-- T1 -->
<AbilityDef ParentName="ARA_CocoonSpew_Base">
<defName>ARA_Cocoon_Cloth_1Stage</defName>
<label>织物孵化茧——等级1</label>
<description>投放一枚织物茧,内含可以孵化一套基础织物的营养和遗传物质——参阅茧的超链接,了解其能生产的所有装备的特点。</description>
<iconPath>ArachnaeSwarm/UI/Abilities/ARA_Cocoon_Cloth_1Stage</iconPath>
<comps>
<li Class="CompProperties_AbilityLaunchProjectile">
<projectileDef>ARA_Cocoon_Proj_Cloth</projectileDef>
</li>
<li Class="ArachnaeSwarm.CompProperties_AbilityResearchPrereq">
<requiredResearch>ARA_Technology_4DIL</requiredResearch>
<failMessage>需要科技 节点DIL-4"编织" 以解锁此孵化路径</failMessage>
</li>
</comps>
</AbilityDef>
<AbilityDef ParentName="ARA_CocoonSpew_Base">
<defName>ARA_Cocoon_Weapon_1Stage</defName>
<label>武装器官孵化茧——等级1</label>
<description>投放一枚武装器官茧,内含可以孵化一套基础武装器官的营养和遗传物质——参阅茧的超链接,了解其能生产的所有装备的特点。</description>
<iconPath>ArachnaeSwarm/UI/Abilities/ARA_Cocoon_Weapon_1Stage</iconPath>
<comps>
<li Class="CompProperties_AbilityLaunchProjectile">
<projectileDef>ARA_Cocoon_Proj_Weapon_1Stage</projectileDef>
</li>
</comps>
</AbilityDef>
<AbilityDef ParentName="ARA_CocoonSpew_Base">
<defName>ARA_Cocoon_Medicine</defName>
<label>织物医药茧</label>
<description>投放一枚医药茧,内含可以孵化一组医疗用品或化学品的营养和遗传物质——参阅茧的超链接,了解其能生产的所有装备的特点。</description>
<iconPath>ArachnaeSwarm/UI/Abilities/ARA_Cocoon_Medicine</iconPath>
<comps>
<li Class="CompProperties_AbilityLaunchProjectile">
<projectileDef>ARA_Cocoon_Proj_Medicine</projectileDef>
</li>
</comps>
</AbilityDef>
</Defs>

View File

@@ -0,0 +1,33 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<!-- 变形技能的定义 -->
<AbilityDef>
<defName>ARA_Ability_Morph</defName>
<label>织域形态</label>
<description>将自己转换为一个坚固的静态建筑形态,或从建筑形态恢复。</description>
<iconPath>UI/Commands/EggSpew</iconPath>
<cooldownTicksRange>6000</cooldownTicksRange>
<hotKey>Misc12</hotKey>
<targetRequired>false</targetRequired>
<casterMustBeCapableOfViolence>false</casterMustBeCapableOfViolence>
<verbProperties>
<verbClass>Verb_CastAbility</verbClass>
<drawAimPie>false</drawAimPie>
<requireLineOfSight>false</requireLineOfSight>
<nonInterruptingSelfCast>true</nonInterruptingSelfCast>
<warmupTime>1</warmupTime>
<range>19.9</range>
<targetable>false</targetable>
<targetParams>
<canTargetSelf>True</canTargetSelf>
</targetParams>
</verbProperties>
<comps>
<li Class="ArachnaeSwarm.CompProperties_AbilityTransform">
<buildingDef>ARA_MorphableResearchBench</buildingDef>
</li>
</comps>
</AbilityDef>
</Defs>

View File

@@ -0,0 +1,165 @@
<?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>6</tick></li>
<li><graphicState>ARA_FlyEast_1</graphicState><tick>12</tick></li>
<li><graphicState>ARA_FlyEast_2</graphicState><tick>18</tick></li>
<li><graphicState>ARA_FlyEast_3</graphicState><tick>24</tick></li>
<li><graphicState>ARA_FlyEast_4</graphicState><tick>32</tick></li>
<li><graphicState>ARA_FlyEast_3</graphicState><tick>48</tick></li>
<li><graphicState>ARA_FlyEast_2</graphicState><tick>52</tick></li>
<li><graphicState>ARA_FlyEast_1</graphicState><tick>58</tick></li>
<li><graphicState>ARA_FlyEast_0</graphicState><tick>60</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>6</tick></li>
<li><graphicState>ARA_FlyNorth_1</graphicState><tick>12</tick></li>
<li><graphicState>ARA_FlyNorth_2</graphicState><tick>18</tick></li>
<li><graphicState>ARA_FlyNorth_3</graphicState><tick>24</tick></li>
<li><graphicState>ARA_FlyNorth_4</graphicState><tick>32</tick></li>
<li><graphicState>ARA_FlyNorth_3</graphicState><tick>48</tick></li>
<li><graphicState>ARA_FlyNorth_2</graphicState><tick>52</tick></li>
<li><graphicState>ARA_FlyNorth_1</graphicState><tick>58</tick></li>
<li><graphicState>ARA_FlyNorth_0</graphicState><tick>60</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>6</tick></li>
<li><graphicState>ARA_FlySouth_1</graphicState><tick>12</tick></li>
<li><graphicState>ARA_FlySouth_2</graphicState><tick>18</tick></li>
<li><graphicState>ARA_FlySouth_3</graphicState><tick>24</tick></li>
<li><graphicState>ARA_FlySouth_4</graphicState><tick>32</tick></li>
<li><graphicState>ARA_FlySouth_3</graphicState><tick>48</tick></li>
<li><graphicState>ARA_FlySouth_2</graphicState><tick>52</tick></li>
<li><graphicState>ARA_FlySouth_1</graphicState><tick>58</tick></li>
<li><graphicState>ARA_FlySouth_0</graphicState><tick>60</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_Psi_FlyEast</defName>
<durationTicks>60</durationTicks>
<keyframeParts>
<!-- <li>
<key>ARA_Flight_Attachment</key>
<value>
<keyframes>
<li><graphicState>ARA_FlyEast_0</graphicState><tick>6</tick></li>
<li><graphicState>ARA_FlyEast_1</graphicState><tick>12</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_Psi_FlyNorth</defName>
<durationTicks>60</durationTicks>
<keyframeParts>
<!-- <li>
<key>ARA_Flight_Attachment</key>
<value>
<keyframes>
<li><graphicState>ARA_FlyNorth_0</graphicState><tick>6</tick></li>
<li><graphicState>ARA_FlyNorth_1</graphicState><tick>12</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_Psi_FlySouth</defName>
<durationTicks>60</durationTicks>
<keyframeParts>
<!-- <li>
<key>ARA_Flight_Attachment</key>
<value>
<keyframes>
<li><graphicState>ARA_FlySouth_0</graphicState><tick>6</tick></li>
<li><graphicState>ARA_FlySouth_1</graphicState><tick>12</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

@@ -1,84 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<FacialAnimation.FaceAnimationDef MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_normal</defName>
<raceName>ArachnaeNode_Race_Myrmecocystus</raceName>
<animationFrames>
<li>
<duration>1</duration>
<browShapeDef>normal</browShapeDef>
<lidShapeDef>normal</lidShapeDef>
<mouthShapeDef>normal</mouthShapeDef>
<headShapeDef>normal</headShapeDef>
</li>
</animationFrames>
<priority>0</priority>
</FacialAnimation.FaceAnimationDef>
<FacialAnimation.FaceAnimationDef MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_eyeMoving</defName>
<raceName>ArachnaeNode_Race_Myrmecocystus</raceName>
<animationFrames>
<li>
<duration>15</duration>
<eyeballOffset>(-0.005,0,0)</eyeballOffset>
</li>
</animationFrames>
<priority>1002</priority>
<roopIntervalMin>30 </roopIntervalMin>
<roopIntervalMax>500</roopIntervalMax>
</FacialAnimation.FaceAnimationDef>
<FacialAnimation.FaceAnimationDef MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_eyeMoving2</defName>
<raceName>ArachnaeNode_Race_Myrmecocystus</raceName>
<animationFrames>
<li>
<duration>15</duration>
<eyeballOffset>(0.005,0,0)</eyeballOffset>
</li>
</animationFrames>
<priority>1001</priority>
<roopIntervalMin>30 </roopIntervalMin>
<roopIntervalMax>500</roopIntervalMax>
</FacialAnimation.FaceAnimationDef>
<FacialAnimation.FaceAnimationDef MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_eyeFlicker</defName>
<raceName>ArachnaeNode_Race_Myrmecocystus</raceName>
<animationFrames>
<li>
<duration>3</duration>
</li>
</animationFrames>
<priority>1001</priority>
<roopIntervalMin>10 </roopIntervalMin>
<roopIntervalMax>30</roopIntervalMax>
</FacialAnimation.FaceAnimationDef>
<FacialAnimation.FaceAnimationDef MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_blink</defName>
<raceName>ArachnaeNode_Race_Myrmecocystus</raceName>
<animationFrames>
<li>
<duration>3</duration>
<browOffset>(0,0,-0.005)</browOffset>
<lidOffset>(0,0,-0.005)</lidOffset>
<lidShapeDef>normal</lidShapeDef>
</li>
<li>
<duration>12</duration>
<browOffset>(0,0,-0.01)</browOffset>
<lidShapeDef>close</lidShapeDef>
</li>
<li>
<duration>3</duration>
<browOffset>(0,0,-0.005)</browOffset>
<lidOffset>(0,0,-0.005)</lidOffset>
<lidShapeDef>normal</lidShapeDef>
</li>
</animationFrames>
<roopIntervalMin>30 </roopIntervalMin>
<roopIntervalMax>500</roopIntervalMax>
<priority>1000</priority>
</FacialAnimation.FaceAnimationDef>
</Defs>

View File

@@ -1,29 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<!-- 裸体想法 -->
<!-- <FacialAnimation.FaceAnimationDef MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_Thought_Naked</defName>
<raceName>ArachnaeNode_Race_Myrmecocystus</raceName>
<animationFrames>
<li>
<duration>1</duration>
<headShapeDef>blush</headShapeDef>
<browShapeDef>s-shaped</browShapeDef>
</li>
</animationFrames>
<priority>200</priority>
<targetThoughtDefs>
<li>Naked</li>
<li>GroinUncovered_Disapproved_Male</li>
<li>GroinUncovered_Disapproved_Female</li>
<li>GroinOrChestUncovered_Disapproved_Male</li>
<li>GroinOrChestUncovered_Disapproved_Female</li>
<li>GroinChestOrHairUncovered_Disapproved_Male</li>
<li>GroinChestOrHairUncovered_Disapproved_Female</li>
<li>GroinChestHairOrFaceUncovered_Disapproved_Male</li>
<li>GroinChestHairOrFaceUncovered_Disapproved_Female</li>
</targetThoughtDefs>
</FacialAnimation.FaceAnimationDef> -->
</Defs>

View File

@@ -1,37 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<FacialAnimation.FaceAnimationDef MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_AttackMelee</defName>
<raceName>ArachnaeNode_Race_Myrmecocystus</raceName>
<animationFrames>
<li>
<duration>1</duration>
<browShapeDef>angled</browShapeDef>
<mouthShapeDef>open</mouthShapeDef>
<browOffset>(0,0,-0.00875)</browOffset>
<lidOffset>(0.0,0,-0.005)</lidOffset>
</li>
</animationFrames>
<targetJobs>
<li>AttackMelee</li>
</targetJobs>
<priority>10200</priority>
</FacialAnimation.FaceAnimationDef>
<FacialAnimation.FaceAnimationDef MayRequire="Nals.FacialAnimation">
<defName>AttackMelee2</defName>
<animationFrames>
<li>
<duration>1</duration>
<browShapeDef>angled</browShapeDef>
<mouthShapeDef>normal</mouthShapeDef>
</li>
</animationFrames>
<targetJobs>
<li>AttackMelee</li>
</targetJobs>
<priority>10201</priority>
<applyWhenStandingOnly>true</applyWhenStandingOnly>
</FacialAnimation.FaceAnimationDef>
</Defs>

View File

@@ -1,37 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<FacialAnimation.FaceAnimationDef MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_AttackStatic</defName>
<raceName>ArachnaeNode_Race_Myrmecocystus</raceName>
<animationFrames>
<li>
<duration>1</duration>
<browShapeDef>angled</browShapeDef>
<mouthShapeDef>open</mouthShapeDef>
<browOffset>(0,0,-0.00875)</browOffset>
<lidOffset>(0.0,0,-0.005)</lidOffset>
</li>
</animationFrames>
<targetJobs>
<li>AttackStatic</li>
</targetJobs>
<priority>10200</priority>
</FacialAnimation.FaceAnimationDef>
<FacialAnimation.FaceAnimationDef MayRequire="Nals.FacialAnimation">
<defName>AttackStatic2</defName>
<animationFrames>
<li>
<duration>1</duration>
<browShapeDef>angled</browShapeDef>
<mouthShapeDef>normal</mouthShapeDef>
</li>
</animationFrames>
<targetJobs>
<li>AttackStatic</li>
</targetJobs>
<priority>10201</priority>
<applyWhenStandingOnly>true</applyWhenStandingOnly>
</FacialAnimation.FaceAnimationDef>
</Defs>

View File

@@ -1,67 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<FacialAnimation.FaceAnimationDef MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_DoBill</defName>
<raceName>ArachnaeNode_Race_Myrmecocystus</raceName>
<animationFrames>
<li>
<duration>1</duration>
<lidOffset>(0,0,-0.00625)</lidOffset>
<eyeballOffset>(0.0,0,-0.0075)</eyeballOffset>
<headOffset>(0,0,-0.0007)</headOffset>
<browShapeDef>normal</browShapeDef>
<browOffset>(0,0,-0.00325)</browOffset>
<mouthOffset>(0,0,-0.00125)</mouthOffset>
</li>
</animationFrames>
<roopIntervalMin>0</roopIntervalMin>
<roopIntervalMax>0</roopIntervalMax>
<targetJobs>
<li>DoBill</li>
</targetJobs>
<priority>10000</priority>
<applyWhenStandingOnly>true</applyWhenStandingOnly>
</FacialAnimation.FaceAnimationDef>
<FacialAnimation.FaceAnimationDef MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_DoBill2</defName>
<raceName>ArachnaeNode_Race_Myrmecocystus</raceName>
<animationFrames>
<li>
<duration>3</duration>
<lidOffset>(0,0,-0.0035)</lidOffset>
<eyeballOffset>(0.0,0,-0.00375)</eyeballOffset>
<headOffset>(0,0,-0.0035)</headOffset>
<browShapeDef>normal</browShapeDef>
<browOffset>(0,0,-0.00025)</browOffset>
<mouthOffset>(0,0,-0.000625)</mouthOffset>
</li>
<li>
<duration>6</duration>
<lidOffset>(0,0,-0.007)</lidOffset>
<eyeballOffset>(0.0,0,-0.00525)</eyeballOffset>
<headOffset>(0,0,-0.0075)</headOffset>
<browShapeDef>normal</browShapeDef>
<browOffset>(0,0,-0.00375)</browOffset>
<mouthOffset>(0,0,-0.00125)</mouthOffset>
</li>
<li>
<duration>3</duration>
<lidOffset>(0,0,-0.0035)</lidOffset>
<eyeballOffset>(0.0,0,-0.00375)</eyeballOffset>
<headOffset>(0,0,-0.0035)</headOffset>
<browShapeDef>normal</browShapeDef>
<browOffset>(0,0,-0.00025)</browOffset>
<mouthOffset>(0,0,-0.000625)</mouthOffset>
</li>
</animationFrames>
<roopIntervalMin>100</roopIntervalMin>
<roopIntervalMax>200</roopIntervalMax>
<targetJobs>
<li>DoBill</li>
</targetJobs>
<priority>10001</priority>
<applyWhenStandingOnly>true</applyWhenStandingOnly>
</FacialAnimation.FaceAnimationDef>
</Defs>

View File

@@ -1,20 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<FacialAnimation.FaceAnimationDef MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_Goto</defName>
<raceName>ArachnaeNode_Race_Myrmecocystus</raceName>
<animationFrames>
<li>
<duration>1</duration>
<browShapeDef>angled</browShapeDef>
<mouthShapeDef>normal</mouthShapeDef>
<headOffset>(0.0,0,-0.0025)</headOffset>
</li>
</animationFrames>
<targetJobs>
<li>Goto</li>
</targetJobs>
<priority>10300</priority>
</FacialAnimation.FaceAnimationDef>
</Defs>

View File

@@ -1,32 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<FacialAnimation.FaceAnimationDef MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_Ingest</defName>
<raceName>ArachnaeNode_Race_Myrmecocystus</raceName>
<animationFrames>
<li>
<duration>4</duration>
<headOffset>(0.0,0,0.0025)</headOffset>
<mouthShapeDef>open</mouthShapeDef>
</li>
<li>
<duration>4</duration>
<headOffset>(0.0,0,0.005)</headOffset>
<mouthShapeDef>open</mouthShapeDef>
</li>
<li>
<duration>6</duration>
<headOffset>(0.0,0,0)</headOffset>
<mouthShapeDef>normal</mouthShapeDef>
</li>
</animationFrames>
<roopIntervalMin>0</roopIntervalMin>
<roopIntervalMax>30</roopIntervalMax>
<targetJobs>
<li>Ingest</li>
</targetJobs>
<priority>10</priority>
<applyWhenStandingOnly>true</applyWhenStandingOnly>
</FacialAnimation.FaceAnimationDef>
</Defs>

View File

@@ -1,76 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<FacialAnimation.FaceAnimationDef MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_laydown</defName>
<raceName>ArachnaeNode_Race_Myrmecocystus</raceName>
<animationFrames>
<li>
<duration>1</duration>
<browShapeDef>flat</browShapeDef>
<lidShapeDef>close</lidShapeDef>
<mouthShapeDef>normal</mouthShapeDef>
</li>
</animationFrames>
<roopIntervalMin>0</roopIntervalMin>
<roopIntervalMax>0</roopIntervalMax>
<targetJobs>
<li>LayDown</li>
</targetJobs>
<priority>10001</priority>
<applyWhenStandingOnly>true</applyWhenStandingOnly>
</FacialAnimation.FaceAnimationDef>
<FacialAnimation.FaceAnimationDef MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_laydown2</defName>
<raceName>ArachnaeNode_Race_Myrmecocystus</raceName>
<animationFrames>
<li>
<duration>240</duration>
<mouthShapeDef>open</mouthShapeDef>
</li>
</animationFrames>
<roopIntervalMin>100</roopIntervalMin>
<roopIntervalMax>500</roopIntervalMax>
<targetJobs>
<li>LayDown</li>
</targetJobs>
<priority>10002</priority>
<applyWhenStandingOnly>true</applyWhenStandingOnly>
</FacialAnimation.FaceAnimationDef>
<FacialAnimation.FaceAnimationDef MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_laydown3</defName>
<raceName>ArachnaeNode_Race_Myrmecocystus</raceName>
<animationFrames>
<li>
<duration>15</duration>
<lidOffset>(0.0,0,0.0015)</lidOffset>
<headOffset>(0,0,0.0035)</headOffset>
<browOffset>(0,0,0.00025)</browOffset>
<mouthOffset>(0,0,0.000625)</mouthOffset>
</li>
<li>
<duration>60</duration>
<lidOffset>(0.0,0,0.00275)</lidOffset>
<headOffset>(0,0,0.0075)</headOffset>
<browOffset>(0,0,0.00375)</browOffset>
<mouthOffset>(0,0,0.00125)</mouthOffset>
</li>
<li>
<duration>10</duration>
<lidOffset>(0.0,0,0.0015)</lidOffset>
<headOffset>(0,0,0.0035)</headOffset>
<browOffset>(0,0,0.00025)</browOffset>
<mouthOffset>(0,0,0.000625)</mouthOffset>
</li>
</animationFrames>
<roopIntervalMin>40</roopIntervalMin>
<roopIntervalMax>200</roopIntervalMax>
<targetJobs>
<li>LayDown</li>
</targetJobs>
<priority>10003</priority>
<applyWhenStandingOnly>true</applyWhenStandingOnly>
</FacialAnimation.FaceAnimationDef>
</Defs>

View File

@@ -1,80 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<FacialAnimation.FaceAnimationDef MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_Lovin</defName>
<raceName>ArachnaeNode_Race_Myrmecocystus</raceName>
<animationFrames>
<li>
<duration>8</duration>
<browShapeDef>s-shaped</browShapeDef>
<headOffset>(0.0,0,0.00125)</headOffset>
<browOffset>(0.0,0,-0.005)</browOffset>
<lidShapeDef>close</lidShapeDef>
<lidOffset>(0.0,0,-0.001)</lidOffset>
<eyeballOffset>(0.0,0,0.0075)</eyeballOffset>
<mouthShapeDef>open</mouthShapeDef>
<headShapeDef>blush</headShapeDef>
</li>
<li>
<duration>8</duration>
<browShapeDef>s-shaped</browShapeDef>
<headOffset>(0.0,0,-0.00375)</headOffset>
<browOffset>(0.0,0,-0.0075)</browOffset>
<lidShapeDef>close</lidShapeDef>
<lidOffset>(0.0,0,-0.0015)</lidOffset>
<eyeballOffset>(0.0,0,0.0075)</eyeballOffset>
<mouthShapeDef>open</mouthShapeDef>
<mouthOffset>(0,0,-0.002)</mouthOffset>
<headShapeDef>blush</headShapeDef>
</li>
<li>
<duration>8</duration>
<browShapeDef>s-shaped</browShapeDef>
<headOffset>(0.0,0,0.0075)</headOffset>
<browOffset>(0.0,0,0.00125)</browOffset>
<lidShapeDef>close</lidShapeDef>
<lidOffset>(0.0,0,0.001)</lidOffset>
<eyeballOffset>(0.0,0,0.0075)</eyeballOffset>
<mouthShapeDef>open</mouthShapeDef>
<mouthOffset>(0,0,-0.001)</mouthOffset>
<headShapeDef>blush</headShapeDef>
</li>
</animationFrames>
<applyWhenStandingOnly>true</applyWhenStandingOnly>
<targetJobs>
<li>Lovin</li>
<li>MLI_Jobs_MassLoveIn</li>
<li>MLI_Jobs_SingleLoveIn</li>
</targetJobs>
<priority>10400</priority>
</FacialAnimation.FaceAnimationDef>
<FacialAnimation.FaceAnimationDef MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_Lovin2</defName>
<raceName>ArachnaeNode_Race_Myrmecocystus</raceName>
<animationFrames>
<li>
<duration>240</duration>
<browShapeDef>s-shaped</browShapeDef>
<headOffset>(0.0,0,0.01)</headOffset>
<browOffset>(0.0,0,-0.00)</browOffset>
<lidShapeDef>normal</lidShapeDef>
<lidOffset>(0.0,0,-0.001)</lidOffset>
<mouthOffset>(0,0,-0.001)</mouthOffset>
<eyeballOffset>(0.0,0,0.005)</eyeballOffset>
<mouthShapeDef>normal</mouthShapeDef>
<headShapeDef>blush</headShapeDef>
</li>
</animationFrames>
<roopIntervalMin>240</roopIntervalMin>
<roopIntervalMax>240</roopIntervalMax>
<applyWhenStandingOnly>true</applyWhenStandingOnly>
<targetJobs>
<li>Lovin</li>
<li>MLI_Jobs_MassLoveIn</li>
<li>MLI_Jobs_SingleLoveIn</li>
</targetJobs>
<priority>10500</priority>
</FacialAnimation.FaceAnimationDef>
</Defs>

View File

@@ -1,33 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<FacialAnimation.FaceAnimationDef MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_Mine</defName>
<raceName>ArachnaeNode_Race_Myrmecocystus</raceName>
<animationFrames>
<li>
<duration>10</duration>
<lidOffset>(0,0,0.005)</lidOffset>
<headOffset>(0,0,0)</headOffset>
<browShapeDef>angled</browShapeDef>
<mouthOffset>(0,0,0.0025)</mouthOffset>
<mouthShapeDef>open</mouthShapeDef>
</li>
<li>
<duration>5</duration>
<lidOffset>(0,0,0.01)</lidOffset>
<headOffset>(0,0,-0.01)</headOffset>
<browShapeDef>angled</browShapeDef>
<mouthOffset>(0,0,-0.0025)</mouthOffset>
<mouthShapeDef>open</mouthShapeDef>
</li>
</animationFrames>
<roopIntervalMin>0</roopIntervalMin>
<roopIntervalMax>0</roopIntervalMax>
<targetJobs>
<li>Mine</li>
</targetJobs>
<priority>10000</priority>
<applyWhenStandingOnly>true</applyWhenStandingOnly>
</FacialAnimation.FaceAnimationDef>
</Defs>

View File

@@ -1,78 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<FacialAnimation.FaceAnimationDef MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_RemoveApparel</defName>
<raceName>ArachnaeNode_Race_Myrmecocystus</raceName>
<animationFrames>
<li>
<duration>10</duration>
<lidOffset>(0,0,0.0)</lidOffset>
<eyeballOffset>(-0.005,0,0.005)</eyeballOffset>
<mouthShapeDef>open</mouthShapeDef>
<headShapeDef>blush</headShapeDef>
</li>
<li>
<duration>10</duration>
<lidOffset>(0,0,0.0)</lidOffset>
<eyeballOffset>(0.005,0,0.005)</eyeballOffset>
<mouthShapeDef>open</mouthShapeDef>
<headShapeDef>blush</headShapeDef>
</li>
<li>
<duration>10</duration>
<lidOffset>(0,0,0.0)</lidOffset>
<eyeballOffset>(0,0,0.005)</eyeballOffset>
<mouthShapeDef>open</mouthShapeDef>
<headShapeDef>blush</headShapeDef>
</li>
</animationFrames>
<targetJobs>
<li>RemoveApparel</li>
</targetJobs>
<priority>105</priority>
<applyWhenStandingOnly>true</applyWhenStandingOnly>
<roopIntervalMin>30 </roopIntervalMin>
<roopIntervalMax>300</roopIntervalMax>
</FacialAnimation.FaceAnimationDef>
<FacialAnimation.FaceAnimationDef MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_RemoveApparel2</defName>
<raceName>ArachnaeNode_Race_Myrmecocystus</raceName>
<animationFrames>
<li>
<duration>1</duration>
<browShapeDef>s-shaped</browShapeDef>
<lidShapeDef>normal</lidShapeDef>
<eyeballOffset>(0.0,0,0.005)</eyeballOffset>
<headShapeDef>blush</headShapeDef>
</li>
</animationFrames>
<targetJobs>
<li>RemoveApparel</li>
</targetJobs>
<priority>104</priority>
<applyWhenStandingOnly>true</applyWhenStandingOnly>
</FacialAnimation.FaceAnimationDef>
<FacialAnimation.FaceAnimationDef MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_RemoveApparel3</defName>
<raceName>ArachnaeNode_Race_Myrmecocystus</raceName>
<animationFrames>
<li>
<duration>120</duration>
<browShapeDef>flat</browShapeDef>
<lidShapeDef>close</lidShapeDef>
<headOffset>(0.0,0,0.005)</headOffset>
<headShapeDef>blush</headShapeDef>
</li>
</animationFrames>
<targetJobs>
<li>RemoveApparel</li>
</targetJobs>
<priority>110</priority>
<applyWhenStandingOnly>true</applyWhenStandingOnly>
<roopIntervalMin>30 </roopIntervalMin>
<roopIntervalMax>300</roopIntervalMax>
</FacialAnimation.FaceAnimationDef>
</Defs>

View File

@@ -1,100 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<FacialAnimation.FaceAnimationDef MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_Research</defName>
<raceName>ArachnaeNode_Race_Myrmecocystus</raceName>
<animationFrames>
<li>
<duration>10</duration>
<lidOffset>(0,0,-0.005)</lidOffset>
<headOffset>(0,0,-0.01)</headOffset>
<browShapeDef>flat</browShapeDef>
<mouthShapeDef>normal</mouthShapeDef>
<mouthOffset>(0,0,-0.00375)</mouthOffset>
</li>
</animationFrames>
<targetJobs>
<li>Research</li>
</targetJobs>
<priority>10001</priority>
<applyWhenStandingOnly>true</applyWhenStandingOnly>
</FacialAnimation.FaceAnimationDef>
<FacialAnimation.FaceAnimationDef MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_Research2</defName>
<raceName>ArachnaeNode_Race_Myrmecocystus</raceName>
<animationFrames>
<li>
<duration>4</duration>
<browOffset>(0,0,0.00325)</browOffset>
<lidOffset>(0,0,0.00625)</lidOffset>
<headOffset>(0,0,0.005)</headOffset>
<browShapeDef>normal</browShapeDef>
<mouthShapeDef>open</mouthShapeDef>
</li>
<li>
<duration>40</duration>
<browOffset>(0,0,0.00625)</browOffset>
<lidOffset>(0,0,0.00875)</lidOffset>
<headOffset>(0,0,0.01)</headOffset>
<browShapeDef>normal</browShapeDef>
<mouthOffset>(0,0,0.0025)</mouthOffset>
<mouthShapeDef>open</mouthShapeDef>
</li>
<li>
<duration>3</duration>
<browOffset>(0,0,0.00625)</browOffset>
<lidOffset>(0,0,0.00875)</lidOffset>
<headOffset>(0,0,0.01)</headOffset>
<lidShapeDef>close</lidShapeDef>
<browShapeDef>normal</browShapeDef>
<mouthOffset>(0,0,0.0025)</mouthOffset>
<mouthShapeDef>open</mouthShapeDef>
</li>
<li>
<duration>20</duration>
<browOffset>(0,0,0.00625)</browOffset>
<lidOffset>(0,0,0.00875)</lidOffset>
<headOffset>(0,0,0.01)</headOffset>
<browShapeDef>normal</browShapeDef>
<mouthOffset>(0,0,0.0025)</mouthOffset>
<mouthShapeDef>open</mouthShapeDef>
</li>
<li>
<duration>3</duration>
<browOffset>(0,0,0.00625)</browOffset>
<lidOffset>(0,0,0.00875)</lidOffset>
<headOffset>(0,0,0.01)</headOffset>
<lidShapeDef>close</lidShapeDef>
<browShapeDef>normal</browShapeDef>
<mouthOffset>(0,0,0.0025)</mouthOffset>
<mouthShapeDef>open</mouthShapeDef>
</li>
<li>
<duration>40</duration>
<browOffset>(0,0,0.00625)</browOffset>
<lidOffset>(0,0,0.00875)</lidOffset>
<headOffset>(0,0,0.01)</headOffset>
<browShapeDef>normal</browShapeDef>
<mouthOffset>(0,0,0.0025)</mouthOffset>
<mouthShapeDef>open</mouthShapeDef>
</li>
<li>
<duration>8</duration>
<browOffset>(0,0,0.00325)</browOffset>
<lidOffset>(0,0,0.00625)</lidOffset>
<headOffset>(0,0,0.005)</headOffset>
<browShapeDef>normal</browShapeDef>
<mouthShapeDef>open</mouthShapeDef>
</li>
</animationFrames>
<roopIntervalMin>900</roopIntervalMin>
<roopIntervalMax>1200</roopIntervalMax>
<targetJobs>
<li>Research</li>
</targetJobs>
<priority>10002</priority>
<applyWhenStandingOnly>true</applyWhenStandingOnly>
</FacialAnimation.FaceAnimationDef>
</Defs>

View File

@@ -1,19 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<FacialAnimation.FaceAnimationDef MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_SocialRelax</defName>
<raceName>ArachnaeNode_Race_Myrmecocystus</raceName>
<animationFrames>
<li>
<duration>1</duration>
<browShapeDef>normal</browShapeDef>
<lidShapeDef>close</lidShapeDef>
</li>
</animationFrames>
<targetJobs>
<li>SocialRelax</li>
</targetJobs>
<priority>10200</priority>
</FacialAnimation.FaceAnimationDef>
</Defs>

View File

@@ -1,35 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<FacialAnimation.FaceAnimationDef MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_StandAndBeSociallyActive</defName>
<raceName>ArachnaeNode_Race_Myrmecocystus</raceName>
<animationFrames>
<li>
<duration>3</duration>
<browShapeDef>normal</browShapeDef>
<headOffset>(0.0,0,-0.0025)</headOffset>
<mouthShapeDef>open</mouthShapeDef>
</li>
<li>
<duration>3</duration>
<browShapeDef>normal</browShapeDef>
<headOffset>(0.0,0,-0.005)</headOffset>
<mouthShapeDef>open</mouthShapeDef>
</li>
<li>
<duration>3</duration>
<browShapeDef>normal</browShapeDef>
<headOffset>(0.0,0,0)</headOffset>
<mouthShapeDef>normal</mouthShapeDef>
</li>
</animationFrames>
<roopIntervalMin>0</roopIntervalMin>
<roopIntervalMax>100</roopIntervalMax>
<targetJobs>
<li>StandAndBeSociallyActive</li>
</targetJobs>
<priority>10</priority>
<applyWhenStandingOnly>true</applyWhenStandingOnly>
</FacialAnimation.FaceAnimationDef>
</Defs>

View File

@@ -1,53 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<FacialAnimation.FaceAnimationDef MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_Strip</defName>
<raceName>ArachnaeNode_Race_Myrmecocystus</raceName>
<animationFrames>
<li>
<duration>10</duration>
<lidOffset>(0,0,0.0)</lidOffset>
<eyeballOffset>(-0.005,0,0.005)</eyeballOffset>
<headShapeDef>blush</headShapeDef>
</li>
<li>
<duration>10</duration>
<lidOffset>(0,0,0.0)</lidOffset>
<eyeballOffset>(0.005,0,0.005)</eyeballOffset>
<headShapeDef>blush</headShapeDef>
</li>
<li>
<duration>10</duration>
<lidOffset>(0,0,0.0)</lidOffset>
<eyeballOffset>(0,0,0.005)</eyeballOffset>
<headShapeDef>blush</headShapeDef>
</li>
</animationFrames>
<targetJobs>
<li>Strip</li>
</targetJobs>
<priority>105</priority>
<applyWhenStandingOnly>true</applyWhenStandingOnly>
<roopIntervalMin>30 </roopIntervalMin>
<roopIntervalMax>300</roopIntervalMax>
</FacialAnimation.FaceAnimationDef>
<FacialAnimation.FaceAnimationDef MayRequire="Nals.FacialAnimation">
<defName>Strip2</defName>
<animationFrames>
<li>
<duration>1</duration>
<browShapeDef>s-shaped</browShapeDef>
<lidShapeDef>normal</lidShapeDef>
<mouthShapeDef>open</mouthShapeDef>
<headShapeDef>blush</headShapeDef>
</li>
</animationFrames>
<targetJobs>
<li>Strip</li>
</targetJobs>
<priority>106</priority>
<applyWhenStandingOnly>true</applyWhenStandingOnly>
</FacialAnimation.FaceAnimationDef>
</Defs>

View File

@@ -1,84 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<FacialAnimation.FaceAnimationDef MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_WaitCombat</defName>
<raceName>ArachnaeNode_Race_Myrmecocystus</raceName>
<animationFrames>
<li>
<duration>1</duration>
<browShapeDef>angled</browShapeDef>
<mouthShapeDef>normal</mouthShapeDef>
</li>
</animationFrames>
<targetJobs>
<li>Wait_Combat</li>
</targetJobs>
<priority>10200</priority>
</FacialAnimation.FaceAnimationDef>
<FacialAnimation.FaceAnimationDef MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_Wait_Combat_Rare</defName>
<raceName>ArachnaeNode_Race_Myrmecocystus</raceName>
<animationFrames>
<li>
<duration>15</duration>
<browShapeDef>normal</browShapeDef>
</li>
<li>
<duration>4</duration>
<browOffset>(0,0,-0.00375)</browOffset>
<browShapeDef>flat</browShapeDef>
<lidShapeDef>close</lidShapeDef>
<lidOffset>(0,0,-0.0025)</lidOffset>
<headOffset>(0,0,-0.00625)</headOffset>
<mouthShapeDef>open</mouthShapeDef>
</li>
<li>
<duration>45</duration>
<browOffset>(0,0,-0.01)</browOffset>
<browShapeDef>s-shaped</browShapeDef>
<lidShapeDef>close</lidShapeDef>
<lidOffset>(0,0,-0.005)</lidOffset>
<headOffset>(0,0,-0.0175)</headOffset>
<mouthShapeDef>open</mouthShapeDef>
<mouthOffset>(0,0,-0.005)</mouthOffset>
</li>
<li>
<duration>30</duration>
<browOffset>(0,0,-0.01)</browOffset>
<browShapeDef>s-shaped</browShapeDef>
<lidShapeDef>close</lidShapeDef>
<lidOffset>(0,0,-0.005)</lidOffset>
<headOffset>(0,0,-0.015)</headOffset>
<mouthShapeDef>open</mouthShapeDef>
<mouthOffset>(0,0,-0.005)</mouthOffset>
</li>
<li>
<duration>7</duration>
<browOffset>(0,0,-0.00375)</browOffset>
<browShapeDef>s-shaped</browShapeDef>
<lidShapeDef>close</lidShapeDef>
<lidOffset>(0,0,-0.0025)</lidOffset>
<headOffset>(0,0,-0.0085)</headOffset>
<mouthShapeDef>open</mouthShapeDef>
</li>
<li>
<duration>4</duration>
<browShapeDef>flat</browShapeDef>
<lidShapeDef>close</lidShapeDef>
<mouthShapeDef>normal</mouthShapeDef>
</li>
<li>
<duration>30</duration>
<browShapeDef>normal</browShapeDef>
</li>
</animationFrames>
<targetJobs>
<li>Wait_Combat</li>
</targetJobs>
<priority>10301</priority>
<roopIntervalMin>1000</roopIntervalMin>
<roopIntervalMax>2000</roopIntervalMax>
</FacialAnimation.FaceAnimationDef>
</Defs>

View File

@@ -1,50 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<FacialAnimation.FaceAnimationDef MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_Wait_Downed</defName>
<raceName>ArachnaeNode_Race_Myrmecocystus</raceName>
<animationFrames>
<li>
<duration>30</duration>
<browOffset>(0,0,0.015)</browOffset>
<lidOffset>(0,0,0.01)</lidOffset>
<headOffset>(0,0,0.01)</headOffset>
<browShapeDef>flat</browShapeDef>
<mouthOffset>(0,0,0.0025)</mouthOffset>
<mouthShapeDef>open</mouthShapeDef>
</li>
<li>
<duration>3</duration>
<browOffset>(0,0,0.0075)</browOffset>
<lidOffset>(0,0,0.005)</lidOffset>
<headOffset>(0,0,0.005)</headOffset>
<browShapeDef>flat</browShapeDef>
<mouthShapeDef>normal</mouthShapeDef>
</li>
</animationFrames>
<roopIntervalMin>0</roopIntervalMin>
<roopIntervalMax>100</roopIntervalMax>
<targetJobs>
<li>Wait_Downed</li>
</targetJobs>
<priority>10000</priority>
<applyWhenStandingOnly>true</applyWhenStandingOnly>
</FacialAnimation.FaceAnimationDef>
<FacialAnimation.FaceAnimationDef MayRequire="Nals.FacialAnimation">
<defName>Wait_Downed2</defName>
<animationFrames>
<li>
<duration>3</duration>
<lidOffset>(0,0,0.005)</lidOffset>
<browShapeDef>flat</browShapeDef>
</li>
</animationFrames>
<targetJobs>
<li>Wait_Downed</li>
</targetJobs>
<priority>10001</priority>
<applyWhenStandingOnly>true</applyWhenStandingOnly>
</FacialAnimation.FaceAnimationDef>
</Defs>

View File

@@ -1,77 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<FacialAnimation.FaceAnimationDef MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_Wear</defName>
<raceName>ArachnaeNode_Race_Myrmecocystus</raceName>
<animationFrames>
<li>
<duration>10</duration>
<lidOffset>(0,0,0.0)</lidOffset>
<eyeballOffset>(-0.005,0,0.005)</eyeballOffset>
<mouthShapeDef>open</mouthShapeDef>
<headShapeDef>blush</headShapeDef>
</li>
<li>
<duration>10</duration>
<lidOffset>(0,0,0.0)</lidOffset>
<eyeballOffset>(0.005,0,0.005)</eyeballOffset>
<mouthShapeDef>open</mouthShapeDef>
<headShapeDef>blush</headShapeDef>
</li>
<li>
<duration>10</duration>
<lidOffset>(0,0,0.0)</lidOffset>
<eyeballOffset>(0,0,0.005)</eyeballOffset>
<mouthShapeDef>open</mouthShapeDef>
<headShapeDef>blush</headShapeDef>
</li>
</animationFrames>
<targetJobs>
<li>Wear</li>
</targetJobs>
<priority>105</priority>
<applyWhenStandingOnly>true</applyWhenStandingOnly>
<roopIntervalMin>30 </roopIntervalMin>
<roopIntervalMax>300</roopIntervalMax>
</FacialAnimation.FaceAnimationDef>
<FacialAnimation.FaceAnimationDef MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_Wear2</defName>
<raceName>ArachnaeNode_Race_Myrmecocystus</raceName>
<animationFrames>
<li>
<duration>1</duration>
<browShapeDef>s-shaped</browShapeDef>
<lidShapeDef>normal</lidShapeDef>
<eyeballOffset>(0.0,0,0.005)</eyeballOffset>
<headShapeDef>blush</headShapeDef>
</li>
</animationFrames>
<targetJobs>
<li>Wear</li>
</targetJobs>
<priority>104</priority>
<applyWhenStandingOnly>true</applyWhenStandingOnly>
</FacialAnimation.FaceAnimationDef>
<FacialAnimation.FaceAnimationDef MayRequire="Nals.FacialAnimation">
<defName>Wear3</defName>
<animationFrames>
<li>
<duration>120</duration>
<browShapeDef>flat</browShapeDef>
<lidShapeDef>close</lidShapeDef>
<headOffset>(0.0,0,0.005)</headOffset>
<headShapeDef>blush</headShapeDef>
</li>
</animationFrames>
<targetJobs>
<li>Wear</li>
</targetJobs>
<priority>110</priority>
<applyWhenStandingOnly>true</applyWhenStandingOnly>
<roopIntervalMin>30 </roopIntervalMin>
<roopIntervalMax>300</roopIntervalMax>
</FacialAnimation.FaceAnimationDef>
</Defs>

View File

@@ -2,6 +2,12 @@
<Defs>
<AlienRace.AlienBackstoryDef Name="ARA_BaseBackStory" Abstract="True">
<requiresSpawnCategory>true</requiresSpawnCategory>
<forcedTraitsChance>
<li>
<defName Degree="0">ARA_CreepyCrawly</defName>
<chance>100</chance>
</li>
</forcedTraitsChance>
</AlienRace.AlienBackstoryDef>
<AlienRace.AlienBackstoryDef ParentName="ARA_BaseBackStory">
@@ -15,9 +21,6 @@
<Shooting>2</Shooting>
<Melee>2</Melee>
</skillGains>
<forcedHediffs>
<li>ARA_HiveMindMaster</li>
</forcedHediffs>
<spawnCategories>
<li>ArachnaeQueen_spawnCategoriesA</li>
@@ -38,7 +41,21 @@
<Intellectual>3</Intellectual>
<Social>3</Social>
</skillGains>
<workDisables>ManualDumb,Mining,PlantWork,Animals,Crafting,Cooking,Constructing,Hunting</workDisables>
<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>
<spawnCategories>
<li>ArachnaeQueen_spawnCategoriesB</li>
@@ -56,19 +73,34 @@
<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>
<description>[PAWN_nameDef]是一只阿拉克涅蜜罐种督虫。基因的选择性表达使其长出了肿胀的囊袋和复杂的口器,这使得她可以吞噬那些未经过处理的尸体和各种杂食或是将其进一步分解,并通过消化器官将其转变为阿拉克涅虫蜜以供其他虫族食用。\n\n[PAWN_nameDef]在战斗中并不是一个值得正视的对手,她的战斗技能非常笨拙,脆弱臃肿的特性也决定了她几乎无法躲开任何攻击。</description>
<slot>Adulthood</slot>
<requiredWorkTags>Cooking</requiredWorkTags>
<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>-10</Shooting>
<Melee>-10</Melee>
<Plants>5</Plants>
</skillGains>
<spawnCategories>
<li>ArachnaeNode_spawnCategories_Myrmecocystus</li>
@@ -80,6 +112,24 @@
<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>
<Construction>5</Construction>
</skillGains>
<spawnCategories>
<li>ArachnaeNode_spawnCategories_ShieldHead</li>
@@ -89,23 +139,173 @@
<defName>Arachnae_Node_BS_Adult_WeaponSmith</defName>
<title>阿拉克涅工艺种</title>
<titleShort>工艺种</titleShort>
<description>[PAWN_nameDef]是一只阿拉克涅工艺种督虫。能够产出专门用来孵化阿拉克涅武器种的孵化茧,负责阿拉克涅虫巢的基础维护。\n\n[PAWN_nameDef]在战斗中并不是一个值得正视的对手,她没有可以接入武装器官的副肢,脆弱臃肿的特性也决定了她几乎无法躲开任何攻击。</description>
<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_Smokepop</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>3</Shooting>
<Melee>3</Melee>
<Medicine>6</Medicine>
</skillGains>
<spawnCategories>
<li>ArachnaeNode_spawnCategories_Smokepop</li>
</spawnCategories>
</AlienRace.AlienBackstoryDef>
<AlienRace.AlienBackstoryDef ParentName="ARA_BaseBackStory">
<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>8</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>
<description>[PAWN_nameDef]是一只阿拉克涅原虫种督虫。[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>
<spawnCategories>
<li>ArachnaeNode_spawnCategories_Facehugger</li>
</spawnCategories>
</AlienRace.AlienBackstoryDef>
<AlienRace.AlienBackstoryDef ParentName="ARA_BaseBackStory">
<defName>Arachnae_Node_BS_Adult_NeuroSwarm</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>Artistic</li> -->
</workDisables>
<skillGains>
<Intellectual>10</Intellectual>
</skillGains>
<spawnCategories>
<li>ArachnaeNode_spawnCategories_NeuroSwarm</li>
</spawnCategories>
</AlienRace.AlienBackstoryDef>
</Defs>

View File

@@ -14,7 +14,7 @@
<!-- 背部组织,仅包含骨骼和甲片 -->
<li>
<def>ARA_Dorsum</def>
<coverage>0</coverage>
<coverage>0.25</coverage>
<groups>
<li>Torso</li>
</groups>
@@ -42,7 +42,7 @@
<!-- 胸部组织,包含骨骼和各类重点维生器官 -->
<li>
<def>ARA_Sternum</def>
<coverage>0</coverage>
<coverage>0.25</coverage>
<groups>
<li>Torso</li>
</groups>
@@ -156,7 +156,7 @@
<def>ARA_Tail</def>
<height>Bottom</height>
<depth>Inside</depth>
<coverage>0</coverage>
<coverage>0.25</coverage>
<groups>
<li>Torso</li>
</groups>
@@ -583,17 +583,29 @@
<BodyPartDef>
<defName>ARA_Dorsum</defName>
<label>背部组织群</label>
<conceptual>true</conceptual>
<hitPoints>50</hitPoints>
<permanentInjuryChanceFactor>0.5</permanentInjuryChanceFactor>
<skinCovered>true</skinCovered>
<solid>false</solid>
<bleedRate>0.25</bleedRate>
</BodyPartDef>
<BodyPartDef>
<defName>ARA_Sternum</defName>
<label>胸部组织群</label>
<conceptual>true</conceptual>
<hitPoints>50</hitPoints>
<permanentInjuryChanceFactor>0.5</permanentInjuryChanceFactor>
<skinCovered>true</skinCovered>
<solid>false</solid>
<bleedRate>0.25</bleedRate>
</BodyPartDef>
<BodyPartDef>
<defName>ARA_Tail</defName>
<label>尾部组织群</label>
<conceptual>true</conceptual>
<hitPoints>50</hitPoints>
<permanentInjuryChanceFactor>0.5</permanentInjuryChanceFactor>
<skinCovered>true</skinCovered>
<solid>false</solid>
<bleedRate>0.25</bleedRate>
</BodyPartDef>
<BodyPartDef>
<defName>ARA_Exoskeleton_Dorsum</defName>
@@ -658,6 +670,23 @@
<solid>false</solid>
<bleedRate>1.5</bleedRate>
</BodyPartDef>
<BodyPartDef>
<defName>ARA_Toxic_Needle</defName>
<label>毒针腺</label>
<hitPoints>10</hitPoints>
<permanentInjuryChanceFactor>0.1</permanentInjuryChanceFactor>
<skinCovered>false</skinCovered>
<solid>false</solid>
<bleedRate>1.5</bleedRate>
</BodyPartDef>
<BodyPartDef>
<defName>ARA_Sickle</defName>
<label>巨镰</label>
<hitPoints>25</hitPoints>
<skinCovered>false</skinCovered>
<solid>true</solid>
<bleedRate>0</bleedRate>
</BodyPartDef>
<BodyPartGroupDef>
<defName>ARA_Genitalias</defName>
@@ -669,6 +698,17 @@
<label>酸腺器官</label>
<listOrder>125</listOrder>
</BodyPartGroupDef>
<BodyPartGroupDef>
<defName>ARA_Toxic_Needles</defName>
<label>毒针器官</label>
<listOrder>126</listOrder>
</BodyPartGroupDef>
<BodyPartGroupDef>
<defName>ARA_Sickles</defName>
<label>巨镰器官</label>
<listOrder>126</listOrder>
</BodyPartGroupDef>
<BodyDef>
<defName>ArachnaeMyrmecocystus_Body</defName>
@@ -1028,6 +1068,15 @@
<li>ARA_Acid_sacs</li>
</groups>
</li>
<!-- 毒针腺 -->
<li>
<def>ARA_Toxic_Needle</def>
<coverage>0.005</coverage>
<depth>Inside</depth>
<groups>
<li>ARA_Toxic_Needles</li>
</groups>
</li>
</parts>
</li>
</parts>
@@ -1395,4 +1444,763 @@
</parts>
</corePart>
</BodyDef>
<BodyDef>
<defName>ArachnaeWeaponSmith_Body</defName>
<label>阿拉克涅工艺种</label> <!-- EN: beetle-like with claw -->
<corePart>
<def>Torso</def>
<height>Middle</height>
<depth>Outside</depth>
<groups>
<li>Torso</li>
</groups>
<parts>
<li>
<def>Ribcage</def>
<coverage>0.036</coverage>
<depth>Inside</depth>
<groups>
<li>Torso</li>
</groups>
</li>
<li>
<def>Sternum</def>
<coverage>0.015</coverage>
<depth>Inside</depth>
<groups>
<li>Torso</li>
</groups>
</li>
<li>
<def>Pelvis</def>
<coverage>0.025</coverage>
<height>Bottom</height>
<depth>Inside</depth>
<groups>
<li>Torso</li>
</groups>
</li>
<li>
<def>Spine</def>
<coverage>0.025</coverage>
<depth>Inside</depth>
<groups>
<li>Torso</li>
</groups>
</li>
<li>
<def>Stomach</def>
<coverage>0.025</coverage>
<depth>Inside</depth>
<groups>
<li>Torso</li>
</groups>
</li>
<li>
<def>Heart</def>
<coverage>0.020</coverage>
<depth>Inside</depth>
<groups>
<li>Torso</li>
</groups>
</li>
<li>
<def>Lung</def>
<customLabel>左肺</customLabel>
<coverage>0.025</coverage>
<depth>Inside</depth>
<groups>
<li>Torso</li>
</groups>
</li>
<li>
<def>Lung</def>
<customLabel>右肺</customLabel>
<coverage>0.025</coverage>
<depth>Inside</depth>
<groups>
<li>Torso</li>
</groups>
</li>
<li>
<def>Kidney</def>
<customLabel>左肾</customLabel>
<coverage>0.017</coverage>
<depth>Inside</depth>
<groups>
<li>Torso</li>
</groups>
</li>
<li>
<def>Kidney</def>
<customLabel>右肾</customLabel>
<coverage>0.017</coverage>
<depth>Inside</depth>
<groups>
<li>Torso</li>
</groups>
</li>
<li>
<def>Liver</def>
<coverage>0.025</coverage>
<depth>Inside</depth>
<groups>
<li>Torso</li>
</groups>
</li>
<li>
<def>Neck</def>
<coverage>0.075</coverage>
<height>Top</height>
<groups>
<li>Neck</li>
</groups>
<parts>
<li>
<def>Head</def>
<coverage>0.80</coverage>
<groups>
<li>UpperHead</li>
<li>FullHead</li>
<li>HeadAttackTool</li>
</groups>
<parts>
<li>
<def>Skull</def>
<coverage>0.18</coverage>
<depth>Inside</depth>
<groups>
<li>UpperHead</li>
<li>Eyes</li>
<li>FullHead</li>
</groups>
<parts>
<li>
<def>Brain</def>
<coverage>0.8</coverage>
<groups>
<li>UpperHead</li>
<li>Eyes</li>
<li>FullHead</li>
</groups>
</li>
</parts>
</li>
<li>
<def>Eye</def>
<customLabel>left eye</customLabel>
<coverage>0.07</coverage>
<groups>
<li>FullHead</li>
<li>Eyes</li>
</groups>
<woundAnchorTag>LeftEye</woundAnchorTag>
<flipGraphic>true</flipGraphic>
<visibleHediffRots>
<li>South</li>
<li>West</li>
</visibleHediffRots>
</li>
<li>
<def>Eye</def>
<customLabel>right eye</customLabel>
<coverage>0.07</coverage>
<groups>
<li>FullHead</li>
<li>Eyes</li>
</groups>
<woundAnchorTag>RightEye</woundAnchorTag>
<visibleHediffRots>
<li>South</li>
<li>East</li>
</visibleHediffRots>
</li>
<li>
<def>Ear</def>
<customLabel>左耳</customLabel>
<coverage>0.07</coverage>
<flipGraphic>true</flipGraphic>
<groups>
<li>UpperHead</li>
<li>FullHead</li>
</groups>
</li>
<li>
<def>Ear</def>
<customLabel>右耳</customLabel>
<coverage>0.07</coverage>
<groups>
<li>UpperHead</li>
<li>FullHead</li>
</groups>
</li>
<li>
<def>Nose</def>
<coverage>0.10</coverage>
<groups>
<li>FullHead</li>
</groups>
</li>
<li>
<def>Jaw</def>
<coverage>0.15</coverage>
<groups>
<li>Teeth</li>
<li>FullHead</li>
<li>Mouth</li>
</groups>
<parts>
<li>
<def>Tongue</def>
<coverage>0.001</coverage>
<depth>Inside</depth>
<groups>
<li>FullHead</li>
</groups>
</li>
</parts>
</li>
</parts>
</li>
</parts>
</li>
<li>
<def>Shoulder</def>
<customLabel>左肩</customLabel>
<coverage>0.12</coverage>
<woundAnchorTag>LeftShoulder</woundAnchorTag>
<groups>
<li>Shoulders</li>
</groups>
<parts>
<li>
<def>Arm</def>
<customLabel>左辅肢</customLabel>
<coverage>0.77</coverage>
<groups>
<li>Arms</li>
</groups>
<parts>
<li>
<def>Hand</def>
<customLabel>左手</customLabel>
<coverage>0.14</coverage>
<height>Bottom</height>
<groups>
<li>Hands</li>
</groups>
</li>
</parts>
</li>
</parts>
</li>
<li>
<def>Shoulder</def>
<customLabel>右肩</customLabel>
<coverage>0.12</coverage>
<woundAnchorTag>RightShoulder</woundAnchorTag>
<groups>
<li>Shoulders</li>
</groups>
<parts>
<li>
<def>Arm</def>
<customLabel>右辅肢</customLabel>
<coverage>0.77</coverage>
<groups>
<li>Arms</li>
</groups>
<parts>
<li>
<def>Hand</def>
<customLabel>右手</customLabel>
<coverage>0.14</coverage>
<height>Bottom</height>
<groups>
<li>Hands</li>
</groups>
</li>
</parts>
</li>
</parts>
</li>
<li>
<def>Waist</def>
<coverage>0</coverage>
<height>Bottom</height>
<groups>
<li>Waist</li>
</groups>
</li>
<li>
<def>Leg</def>
<customLabel>左腿</customLabel>
<coverage>0.14</coverage>
<height>Bottom</height>
<groups>
<li>Legs</li>
</groups>
<woundAnchorTag>LeftLeg</woundAnchorTag>
<flipGraphic>true</flipGraphic>
<parts>
<li>
<def>Foot</def>
<customLabel>左足</customLabel>
<coverage>0.1</coverage>
<flipGraphic>true</flipGraphic>
<groups>
<li>Feet</li>
</groups>
</li>
</parts>
</li>
<li>
<def>Leg</def>
<customLabel>右腿</customLabel>
<coverage>0.14</coverage>
<height>Bottom</height>
<groups>
<li>Legs</li>
</groups>
<woundAnchorTag>RightLeg</woundAnchorTag>
<parts>
<li>
<def>Foot</def>
<customLabel>右足</customLabel>
<coverage>0.1</coverage>
<groups>
<li>Feet</li>
</groups>
</li>
</parts>
</li>
<li>
<def>ARA_Dorsum</def>
<height>Bottom</height>
<depth>Inside</depth>
<coverage>0.25</coverage>
<groups>
<li>Torso</li>
</groups>
<parts>
<!-- 甲片,防御作用 -->
<li>
<def>ARA_Chitin_Shell</def>
<coverage>0.5</coverage>
<depth>Outside</depth>
<groups>
<li>Torso</li>
</groups>
</li>
<li>
<def>Arm</def>
<customLabel>左辅肢(其二)</customLabel>
<coverage>0.17</coverage>
<groups>
<li>Arms</li>
</groups>
</li>
<li>
<def>Arm</def>
<customLabel>右辅肢(其二)</customLabel>
<coverage>0.17</coverage>
<groups>
<li>Arms</li>
</groups>
</li>
</parts>
</li>
</parts>
</corePart>
</BodyDef>
<BodyDef>
<defName>ArachnaeFighter_Body</defName>
<label>阿拉克涅战士种</label> <!-- EN: beetle-like with claw -->
<corePart>
<def>Torso</def>
<height>Middle</height>
<depth>Outside</depth>
<groups>
<li>Torso</li>
</groups>
<parts>
<li>
<def>Ribcage</def>
<coverage>0.036</coverage>
<depth>Inside</depth>
<groups>
<li>Torso</li>
</groups>
</li>
<li>
<def>Sternum</def>
<coverage>0.015</coverage>
<depth>Inside</depth>
<groups>
<li>Torso</li>
</groups>
</li>
<li>
<def>Pelvis</def>
<coverage>0.025</coverage>
<height>Bottom</height>
<depth>Inside</depth>
<groups>
<li>Torso</li>
</groups>
</li>
<li>
<def>Spine</def>
<coverage>0.025</coverage>
<depth>Inside</depth>
<groups>
<li>Torso</li>
</groups>
</li>
<li>
<def>Stomach</def>
<coverage>0.025</coverage>
<depth>Inside</depth>
<groups>
<li>Torso</li>
</groups>
</li>
<li>
<def>Heart</def>
<coverage>0.020</coverage>
<depth>Inside</depth>
<groups>
<li>Torso</li>
</groups>
</li>
<li>
<def>Lung</def>
<customLabel>左肺</customLabel>
<coverage>0.025</coverage>
<depth>Inside</depth>
<groups>
<li>Torso</li>
</groups>
</li>
<li>
<def>Lung</def>
<customLabel>右肺</customLabel>
<coverage>0.025</coverage>
<depth>Inside</depth>
<groups>
<li>Torso</li>
</groups>
</li>
<li>
<def>Kidney</def>
<customLabel>左肾</customLabel>
<coverage>0.017</coverage>
<depth>Inside</depth>
<groups>
<li>Torso</li>
</groups>
</li>
<li>
<def>Kidney</def>
<customLabel>右肾</customLabel>
<coverage>0.017</coverage>
<depth>Inside</depth>
<groups>
<li>Torso</li>
</groups>
</li>
<li>
<def>Liver</def>
<coverage>0.025</coverage>
<depth>Inside</depth>
<groups>
<li>Torso</li>
</groups>
</li>
<li>
<def>Neck</def>
<coverage>0.075</coverage>
<height>Top</height>
<groups>
<li>Neck</li>
</groups>
<parts>
<li>
<def>Head</def>
<coverage>0.80</coverage>
<groups>
<li>UpperHead</li>
<li>FullHead</li>
<li>HeadAttackTool</li>
</groups>
<parts>
<li>
<def>Skull</def>
<coverage>0.18</coverage>
<depth>Inside</depth>
<groups>
<li>UpperHead</li>
<li>Eyes</li>
<li>FullHead</li>
</groups>
<parts>
<li>
<def>Brain</def>
<coverage>0.8</coverage>
<groups>
<li>UpperHead</li>
<li>Eyes</li>
<li>FullHead</li>
</groups>
</li>
</parts>
</li>
<li>
<def>Eye</def>
<customLabel>left eye</customLabel>
<coverage>0.07</coverage>
<groups>
<li>FullHead</li>
<li>Eyes</li>
</groups>
<woundAnchorTag>LeftEye</woundAnchorTag>
<flipGraphic>true</flipGraphic>
<visibleHediffRots>
<li>South</li>
<li>West</li>
</visibleHediffRots>
</li>
<li>
<def>Eye</def>
<customLabel>right eye</customLabel>
<coverage>0.07</coverage>
<groups>
<li>FullHead</li>
<li>Eyes</li>
</groups>
<woundAnchorTag>RightEye</woundAnchorTag>
<visibleHediffRots>
<li>South</li>
<li>East</li>
</visibleHediffRots>
</li>
<li>
<def>Ear</def>
<customLabel>左耳</customLabel>
<coverage>0.07</coverage>
<flipGraphic>true</flipGraphic>
<groups>
<li>UpperHead</li>
<li>FullHead</li>
</groups>
</li>
<li>
<def>Ear</def>
<customLabel>右耳</customLabel>
<coverage>0.07</coverage>
<groups>
<li>UpperHead</li>
<li>FullHead</li>
</groups>
</li>
<li>
<def>Nose</def>
<coverage>0.10</coverage>
<groups>
<li>FullHead</li>
</groups>
</li>
<li>
<def>Jaw</def>
<coverage>0.15</coverage>
<groups>
<li>Teeth</li>
<li>FullHead</li>
<li>Mouth</li>
</groups>
<parts>
<li>
<def>Tongue</def>
<coverage>0.001</coverage>
<depth>Inside</depth>
<groups>
<li>FullHead</li>
</groups>
</li>
</parts>
</li>
</parts>
</li>
</parts>
</li>
<li>
<def>Shoulder</def>
<customLabel>左肩</customLabel>
<coverage>0.12</coverage>
<woundAnchorTag>LeftShoulder</woundAnchorTag>
<groups>
<li>Shoulders</li>
</groups>
<parts>
<li>
<def>Arm</def>
<customLabel>左辅肢</customLabel>
<coverage>0.77</coverage>
<groups>
<li>Arms</li>
</groups>
<parts>
<li>
<def>Hand</def>
<customLabel>左手</customLabel>
<coverage>0.14</coverage>
<height>Bottom</height>
<groups>
<li>Hands</li>
</groups>
</li>
</parts>
</li>
</parts>
</li>
<li>
<def>Shoulder</def>
<customLabel>右肩</customLabel>
<coverage>0.12</coverage>
<woundAnchorTag>RightShoulder</woundAnchorTag>
<groups>
<li>Shoulders</li>
</groups>
<parts>
<li>
<def>Arm</def>
<customLabel>右辅肢</customLabel>
<coverage>0.77</coverage>
<groups>
<li>Arms</li>
</groups>
<parts>
<li>
<def>Hand</def>
<customLabel>右手</customLabel>
<coverage>0.14</coverage>
<height>Bottom</height>
<groups>
<li>Hands</li>
</groups>
</li>
</parts>
</li>
</parts>
</li>
<li>
<def>Waist</def>
<coverage>0</coverage>
<height>Bottom</height>
<groups>
<li>Waist</li>
</groups>
</li>
<li>
<def>Leg</def>
<customLabel>左腿</customLabel>
<coverage>0.14</coverage>
<height>Bottom</height>
<groups>
<li>Legs</li>
</groups>
<woundAnchorTag>LeftLeg</woundAnchorTag>
<flipGraphic>true</flipGraphic>
<parts>
<li>
<def>Foot</def>
<customLabel>左足</customLabel>
<coverage>0.1</coverage>
<flipGraphic>true</flipGraphic>
<groups>
<li>Feet</li>
</groups>
</li>
</parts>
</li>
<li>
<def>Leg</def>
<customLabel>右腿</customLabel>
<coverage>0.14</coverage>
<height>Bottom</height>
<groups>
<li>Legs</li>
</groups>
<woundAnchorTag>RightLeg</woundAnchorTag>
<parts>
<li>
<def>Foot</def>
<customLabel>右足</customLabel>
<coverage>0.1</coverage>
<groups>
<li>Feet</li>
</groups>
</li>
</parts>
</li>
<!-- 尾部组织群 -->
<li>
<def>ARA_Tail</def>
<height>Bottom</height>
<coverage>0.25</coverage>
<depth>Outside</depth>
<groups>
<li>Torso</li>
</groups>
<parts>
<!-- 甲片,防御作用 -->
<li>
<def>ARA_Chitin_Shell</def>
<coverage>0.01</coverage>
<depth>Outside</depth>
<groups>
<li>Torso</li>
</groups>
</li>
<!-- 酸囊 -->
<li>
<def>ARA_Acid_sac</def>
<coverage>0.005</coverage>
<depth>Inside</depth>
<groups>
<li>ARA_Acid_sacs</li>
</groups>
</li>
<!-- 毒针腺 -->
<li>
<def>ARA_Toxic_Needle</def>
<coverage>0.005</coverage>
<depth>Inside</depth>
<groups>
<li>ARA_Toxic_Needles</li>
</groups>
</li>
</parts>
</li>
<li>
<def>ARA_Sickle</def>
<customLabel>左镰刀</customLabel>
<coverage>0.1</coverage>
<depth>Outside</depth>
<groups>
<li>ARA_Sickles</li>
</groups>
</li>
<li>
<def>ARA_Sickle</def>
<customLabel>右镰刀</customLabel>
<coverage>0.1</coverage>
<depth>Outside</depth>
<groups>
<li>ARA_Sickles</li>
</groups>
</li>
</parts>
</corePart>
</BodyDef>
</Defs>

View File

@@ -14,8 +14,26 @@
<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</defName>
<defName>ARA_AcidCut_Damage</defName>
<label>酸性撕咬</label>
<workerClass>DamageWorker_AddInjury</workerClass>
<deathMessage>{0} 被携带酸液的巨颚咬死了。</deathMessage>
@@ -26,4 +44,76 @@
</li>
</additionalHediffs>
</DamageDef>
<DamageDef ParentName="Bite">
<defName>ARA_SkyhiveBite</defName>
<label>天巢种撕咬</label>
<additionalHediffsThisPart>
<li>
<hediff>ARA_SkyhiveBite</hediff>
</li>
</additionalHediffsThisPart>
</DamageDef>
<DamageDef ParentName="Bite">
<defName>ARA_MimicNematodeBite</defName>
<additionalHediffs>
<li>
<hediff>ARA_MimicNematode</hediff>
<severityPerDamageDealt>0.05</severityPerDamageDealt>
</li>
</additionalHediffs>
</DamageDef>
<DamageDef>
<defName>ARA_ReinforceGas</defName>
<label>信息素烟雾</label>
<workerClass>DamageWorker_AddInjury</workerClass>
<hasForcefulImpact>false</hasForcefulImpact>
<makesBlood>false</makesBlood>
<canInterruptJobs>false</canInterruptJobs>
<externalViolence>false</externalViolence>
<deathMessage>{0} 被烟呛死了。</deathMessage>
<hediff>Burn</hediff>
<minDamageToFragment>1</minDamageToFragment>
<defaultDamage>2</defaultDamage>
<defaultArmorPenetration>0</defaultArmorPenetration>
<explosionHeatEnergyPerCell>0</explosionHeatEnergyPerCell>
<armorCategory>Heat</armorCategory>
<soundExplosion>Explosion_Smoke</soundExplosion>
<combatLogRules>Damage_Smoke</combatLogRules>
<canUseDeflectMetalEffect>false</canUseDeflectMetalEffect>
<scaleDamageToBuildingsBasedOnFlammability>true</scaleDamageToBuildingsBasedOnFlammability>
<additionalHediffs>
<li>
<hediff>ARA_ReinforceGasCoverd</hediff>
</li>
</additionalHediffs>
</DamageDef>
<DamageDef ParentName="Wula_Dark_Matter_Beam_DMG">
<defName>ARA_Psi_Damage</defName>
<ignoreShields>true</ignoreShields>
<igniteChanceByTargetFlammability>
<points>
<li>(0, 0)</li>
<li>(1, 0.5)</li>
</points>
</igniteChanceByTargetFlammability>
<label>灵能闪电</label>
<ignoreShields>true</ignoreShields>
<workerClass>DamageWorker_AddInjury</workerClass>
<externalViolence>true</externalViolence>
<deathMessage>{0} 被灵能闪电烧死了。</deathMessage>
<harmAllLayersUntilOutside>true</harmAllLayersUntilOutside>
<impactSoundType>Bullet</impactSoundType>
<hediff>Burn</hediff>
<armorCategory>Heat</armorCategory>
<overkillPctToDestroyPart>0~0.7</overkillPctToDestroyPart>
<isRanged>true</isRanged>
<makesAnimalsFlee>false</makesAnimalsFlee>
<defaultDamage>20</defaultDamage>
<defaultArmorPenetration>1.5</defaultArmorPenetration>
<buildingDamageFactorImpassable>1</buildingDamageFactorImpassable>
<buildingDamageFactorPassable>1</buildingDamageFactorPassable>
</DamageDef>
</Defs>

View File

@@ -138,5 +138,190 @@
<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>
<FacialAnimation.BrowTypeDef ParentName="ArachnaeNode_Brow" MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_Race_Smokepop_BrowNormal</defName>
<raceName>ArachnaeNode_Race_Smokepop</raceName>
</FacialAnimation.BrowTypeDef>
<FacialAnimation.EyeballTypeDef ParentName="ArachnaeNode_EyeA" MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_Race_Smokepop_EyeNormal</defName>
<raceName>ArachnaeNode_Race_Smokepop</raceName>
</FacialAnimation.EyeballTypeDef>
<FacialAnimation.EyeballTypeDef ParentName="ArachnaeNode_EyeB" MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_Race_Smokepop_EyeNormal2</defName>
<raceName>ArachnaeNode_Race_Smokepop</raceName>
</FacialAnimation.EyeballTypeDef>
<FacialAnimation.EyeballTypeDef ParentName="ArachnaeNode_EyeC" MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_Race_Smokepop_EyeNormal3</defName>
<raceName>ArachnaeNode_Race_Smokepop</raceName>
</FacialAnimation.EyeballTypeDef>
<FacialAnimation.EyeballTypeDef ParentName="ArachnaeNode_EyeD" MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_Race_Smokepop_EyeNormal4</defName>
<raceName>ArachnaeNode_Race_Smokepop</raceName>
</FacialAnimation.EyeballTypeDef>
<FacialAnimation.HeadTypeDef ParentName="ArachnaeNode_Head" MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_Race_Smokepop_HeadNormal</defName>
<raceName>ArachnaeNode_Race_Smokepop</raceName>
</FacialAnimation.HeadTypeDef>
<FacialAnimation.LidTypeDef ParentName="ArachnaeNode_Lid" MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_Race_Smokepop_LidNormal</defName>
<raceName>ArachnaeNode_Race_Smokepop</raceName>
</FacialAnimation.LidTypeDef>
<FacialAnimation.MouthTypeDef ParentName="ArachnaeNode_Mouth" MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_Race_Smokepop_MouthNormal</defName>
<raceName>ArachnaeNode_Race_Smokepop</raceName>
</FacialAnimation.MouthTypeDef>
<FacialAnimation.SkinTypeDef ParentName="ArachnaeNode_Skin" MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_Race_Smokepop_SkinNormal</defName>
<raceName>ArachnaeNode_Race_Smokepop</raceName>
</FacialAnimation.SkinTypeDef>
<FacialAnimation.BrowTypeDef ParentName="ArachnaeNode_Brow" MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_Race_Skyraider_BrowNormal</defName>
<raceName>ArachnaeNode_Race_Skyraider</raceName>
</FacialAnimation.BrowTypeDef>
<FacialAnimation.EyeballTypeDef ParentName="ArachnaeNode_EyeA" MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_Race_Skyraider_EyeNormal</defName>
<raceName>ArachnaeNode_Race_Skyraider</raceName>
</FacialAnimation.EyeballTypeDef>
<FacialAnimation.EyeballTypeDef ParentName="ArachnaeNode_EyeB" MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_Race_Skyraider_EyeNormal2</defName>
<raceName>ArachnaeNode_Race_Skyraider</raceName>
</FacialAnimation.EyeballTypeDef>
<FacialAnimation.EyeballTypeDef ParentName="ArachnaeNode_EyeC" MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_Race_Skyraider_EyeNormal3</defName>
<raceName>ArachnaeNode_Race_Skyraider</raceName>
</FacialAnimation.EyeballTypeDef>
<FacialAnimation.EyeballTypeDef ParentName="ArachnaeNode_EyeD" MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_Race_Skyraider_EyeNormal4</defName>
<raceName>ArachnaeNode_Race_Skyraider</raceName>
</FacialAnimation.EyeballTypeDef>
<FacialAnimation.HeadTypeDef ParentName="ArachnaeNode_Head" MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_Race_Skyraider_HeadNormal</defName>
<raceName>ArachnaeNode_Race_Skyraider</raceName>
</FacialAnimation.HeadTypeDef>
<FacialAnimation.LidTypeDef ParentName="ArachnaeNode_Lid" MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_Race_Skyraider_LidNormal</defName>
<raceName>ArachnaeNode_Race_Skyraider</raceName>
</FacialAnimation.LidTypeDef>
<FacialAnimation.MouthTypeDef ParentName="ArachnaeNode_Mouth" MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_Race_Skyraider_MouthNormal</defName>
<raceName>ArachnaeNode_Race_Skyraider</raceName>
</FacialAnimation.MouthTypeDef>
<FacialAnimation.SkinTypeDef ParentName="ArachnaeNode_Skin" MayRequire="Nals.FacialAnimation">
<defName>ArachnaeNode_Race_Skyraider_SkinNormal</defName>
<raceName>ArachnaeNode_Race_Skyraider</raceName>
</FacialAnimation.SkinTypeDef>
</Defs>

View File

@@ -39,36 +39,30 @@
<defName>ARA_New_Hive_NamerFaction</defName>
<rulePack>
<rulesStrings>
<li>r_name->[msyl] [hivename]</li>
<li>r_name->[hivename1] [hivename2]</li>
<li>hivename1->猩红</li>
<li>hivename1->至高</li>
<li>hivename1->唯一</li>
<li>hivename1->蔓延</li>
<li>hivename1->永恒</li>
<li>hivename1->永续</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>
<li>hivename2->核心</li>
<li>hivename2->内核</li>
<li>hivename2->要点</li>
<li>hivename2->中心</li>
<li>hivename2->焦点</li>
<li>hivename2->原点</li>
<li>hivename2->支点</li>
<li>hivename2->枢轴</li>
<li>hivename2->中枢</li>
<li>hivename2->母体</li>
<li>hivename2->源泉</li>
<li>hivename2->源地</li>
<li>hivename2->基体</li>
<li>hivename2->始祖</li>
<li>hivename2->主脑</li>
<li>hivename2->巢心</li>
</rulesStrings>
</rulePack>
</RulePackDef>

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>ArachnaeSwarm/Things/ARA_HiveNode/Addons/Flying/ArachnaeNode_Race_Addons_Skyraider_Wing_1_south</texPath><drawSize>1.35</drawSize></defaultGraphicData></GraphicStateDef>
<GraphicStateDef><defName>ARA_FlyNorth_1</defName><defaultGraphicData><graphicClass>Graphic_Single</graphicClass><texPath>ArachnaeSwarm/Things/ARA_HiveNode/Addons/Flying/ArachnaeNode_Race_Addons_Skyraider_Wing_2_south</texPath><drawSize>1.35</drawSize></defaultGraphicData></GraphicStateDef>
<GraphicStateDef><defName>ARA_FlyNorth_2</defName><defaultGraphicData><graphicClass>Graphic_Single</graphicClass><texPath>ArachnaeSwarm/Things/ARA_HiveNode/Addons/Flying/ArachnaeNode_Race_Addons_Skyraider_Wing_3_south</texPath><drawSize>1.35</drawSize></defaultGraphicData></GraphicStateDef>
<GraphicStateDef><defName>ARA_FlyNorth_3</defName><defaultGraphicData><graphicClass>Graphic_Single</graphicClass><texPath>ArachnaeSwarm/Things/ARA_HiveNode/Addons/Flying/ArachnaeNode_Race_Addons_Skyraider_Wing_4_south</texPath><drawSize>1.35</drawSize></defaultGraphicData></GraphicStateDef>
<GraphicStateDef><defName>ARA_FlyNorth_4</defName><defaultGraphicData><graphicClass>Graphic_Single</graphicClass><texPath>ArachnaeSwarm/Things/ARA_HiveNode/Addons/Flying/ArachnaeNode_Race_Addons_Skyraider_Wing_5_south</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>ArachnaeSwarm/Things/ARA_HiveNode/Addons/Flying/ArachnaeNode_Race_Addons_Skyraider_Wing_1_east</texPath><drawSize>1.35</drawSize></defaultGraphicData></GraphicStateDef>
<GraphicStateDef><defName>ARA_FlyEast_1</defName><defaultGraphicData><graphicClass>Graphic_Single</graphicClass><texPath>ArachnaeSwarm/Things/ARA_HiveNode/Addons/Flying/ArachnaeNode_Race_Addons_Skyraider_Wing_2_east</texPath><drawSize>1.35</drawSize></defaultGraphicData></GraphicStateDef>
<GraphicStateDef><defName>ARA_FlyEast_2</defName><defaultGraphicData><graphicClass>Graphic_Single</graphicClass><texPath>ArachnaeSwarm/Things/ARA_HiveNode/Addons/Flying/ArachnaeNode_Race_Addons_Skyraider_Wing_3_east</texPath><drawSize>1.35</drawSize></defaultGraphicData></GraphicStateDef>
<GraphicStateDef><defName>ARA_FlyEast_3</defName><defaultGraphicData><graphicClass>Graphic_Single</graphicClass><texPath>ArachnaeSwarm/Things/ARA_HiveNode/Addons/Flying/ArachnaeNode_Race_Addons_Skyraider_Wing_4_east</texPath><drawSize>1.35</drawSize></defaultGraphicData></GraphicStateDef>
<GraphicStateDef><defName>ARA_FlyEast_4</defName><defaultGraphicData><graphicClass>Graphic_Single</graphicClass><texPath>ArachnaeSwarm/Things/ARA_HiveNode/Addons/Flying/ArachnaeNode_Race_Addons_Skyraider_Wing_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>ArachnaeSwarm/Things/ARA_HiveNode/Addons/Flying/ArachnaeNode_Race_Addons_Skyraider_Wing_1_south</texPath><drawSize>1.35</drawSize></defaultGraphicData></GraphicStateDef>
<GraphicStateDef><defName>ARA_FlySouth_1</defName><defaultGraphicData><graphicClass>Graphic_Single</graphicClass><texPath>ArachnaeSwarm/Things/ARA_HiveNode/Addons/Flying/ArachnaeNode_Race_Addons_Skyraider_Wing_2_south</texPath><drawSize>1.35</drawSize></defaultGraphicData></GraphicStateDef>
<GraphicStateDef><defName>ARA_FlySouth_2</defName><defaultGraphicData><graphicClass>Graphic_Single</graphicClass><texPath>ArachnaeSwarm/Things/ARA_HiveNode/Addons/Flying/ArachnaeNode_Race_Addons_Skyraider_Wing_3_south</texPath><drawSize>1.35</drawSize></defaultGraphicData></GraphicStateDef>
<GraphicStateDef><defName>ARA_FlySouth_3</defName><defaultGraphicData><graphicClass>Graphic_Single</graphicClass><texPath>ArachnaeSwarm/Things/ARA_HiveNode/Addons/Flying/ArachnaeNode_Race_Addons_Skyraider_Wing_4_south</texPath><drawSize>1.35</drawSize></defaultGraphicData></GraphicStateDef>
<GraphicStateDef><defName>ARA_FlySouth_4</defName><defaultGraphicData><graphicClass>Graphic_Single</graphicClass><texPath>ArachnaeSwarm/Things/ARA_HiveNode/Addons/Flying/ArachnaeNode_Race_Addons_Skyraider_Wing_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

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<Defs>
<HairDef>
<!--<HairDef>
<defName>ARA_Scattered_Hair_Long</defName>
<label>散发(长)</label>
<hairGender>Female</hairGender>
@@ -9,5 +9,5 @@
<styleTags>
<li>ARA_HiveNode_Style</li>
</styleTags>
</HairDef>
</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

@@ -0,0 +1,56 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<HediffDef>
<defName>ARA_TerrainMoveSpeedHediff</defName>
<label>菌毯加成:移动速度</label>
<description>这只阿拉克捏督虫所着织物使其可以在菌毯上获得更高的移动速度。在菌毯上呆的越久,效果越强,离开菌毯后效果将逐渐衰减。</description>
<hediffClass>HediffWithComps</hediffClass>
<maxSeverity>1.0</maxSeverity>
<minSeverity>-0.01</minSeverity>
<isBad>false</isBad>
<comps>
<li Class="ArachnaeSwarm.HediffCompProperties_TerrainBasedSeverity">
<interval>180</interval>
<!-- 目标地形列表 -->
<terrainDefs>
<!--<li>SterileTile</li> 无菌地砖 -->
<!-- 您可以在这里添加更多地形, 比如: -->
<li>ARA_InsectCreep</li>
</terrainDefs>
<!-- 站在目标地形上时,每次检查的严重性变化量 -->
<severityOnTerrain>0.05</severityOnTerrain>
<!-- 不在目标地形上时,每次检查的严重性变化量 (负数表示减少) -->
<severityOffTerrain>-0.0249</severityOffTerrain>
</li>
<li Class="HediffCompProperties_RemoveIfApparelDropped" />
</comps>
<stages>
<li>
<becomeVisible>false</becomeVisible>
<minSeverity>0</minSeverity>
<label></label>
</li>
<li>
<minSeverity>0.1</minSeverity>
<statOffsets>
<MoveSpeed>0.1</MoveSpeed>
</statOffsets>
</li>
<li>
<minSeverity>0.5</minSeverity>
<statOffsets>
<MoveSpeed>0.25</MoveSpeed>
</statOffsets>
</li>
<li>
<minSeverity>0.8</minSeverity>
<statOffsets>
<MoveSpeed>0.5</MoveSpeed>
</statOffsets>
</li>
</stages>
</HediffDef>
</Defs>

View File

@@ -1,87 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<HediffDef>
<defName>ARA_AcidCoverd</defName>
<label>阿拉克涅酸液</label>
<description>一支拥有酸囊的阿拉克涅虫族向此人喷射了强酸,沾染的液体将使得此人痛不欲生,盔甲和表皮软化,并持续灼烧它的身体。</description>
<defaultLabelColor>(1, 1, 0.8)</defaultLabelColor>
<hediffClass>ArachnaeSwarm.HediffCurseFlame</hediffClass>
<comps>
<li Class="HediffCompProperties_SeverityPerDay">
<severityPerDay>-4</severityPerDay>
</li>
<li Class="HediffCompProperties_Disappears">
<disappearsAfterTicks>1800</disappearsAfterTicks>
</li>
<li Class="HediffCompProperties_DisappearsOnDeath"/>
</comps>
<modExtensions>
<li Class="ArachnaeSwarm.CurseFlameModExt">
<damageDefName>AcidBurn</damageDefName>
<damageRange>1~2</damageRange>
<damageIntervalTicks>40</damageIntervalTicks>
</li>
</modExtensions>
<stages>
<li>
<label>minor</label>
<becomeVisible>true</becomeVisible>
</li>
<li>
<label>minor</label>
<minSeverity>0.2</minSeverity>
<statFactors>
<IncomingDamageFactor>1.25</IncomingDamageFactor>
</statFactors>
<statOffsets>
<ArmorRating_Sharp>-0.15</ArmorRating_Sharp>
<ArmorRating_Blunt>-0.1</ArmorRating_Blunt>
</statOffsets>
</li>
<li>
<label>moderate</label>
<minSeverity>0.35</minSeverity>
<statFactors>
<IncomingDamageFactor>1.75</IncomingDamageFactor>
</statFactors>
<statOffsets>
<ArmorRating_Sharp>-0.35</ArmorRating_Sharp>
<ArmorRating_Blunt>-0.3</ArmorRating_Blunt>
</statOffsets>
</li>
<li>
<label>serious</label>
<minSeverity>0.5</minSeverity>
<statFactors>
<IncomingDamageFactor>2.35</IncomingDamageFactor>
</statFactors>
<statOffsets>
<ArmorRating_Sharp>-0.65</ArmorRating_Sharp>
<ArmorRating_Blunt>-0.6</ArmorRating_Blunt>
</statOffsets>
</li>
<li>
<label>extreme</label>
<minSeverity>0.65</minSeverity>
<statFactors>
<IncomingDamageFactor>2.85</IncomingDamageFactor>
</statFactors>
<statOffsets>
<ArmorRating_Sharp>-0.8</ArmorRating_Sharp>
<ArmorRating_Blunt>-0.75</ArmorRating_Blunt>
</statOffsets>
</li>
<li>
<label>completely</label>
<minSeverity>0.85</minSeverity>
<statFactors>
<IncomingDamageFactor>3.25</IncomingDamageFactor>
</statFactors>
<statOffsets>
<ArmorRating_Sharp>-2</ArmorRating_Sharp>
<ArmorRating_Blunt>-2</ArmorRating_Blunt>
</statOffsets>
</li>
</stages>
</HediffDef>
</Defs>

View File

@@ -0,0 +1,199 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<HediffDef>
<defName>ARA_AcidCoverd</defName>
<label>阿拉克涅酸液</label>
<description>一只拥有酸囊的阿拉克涅虫族向此人喷射了强酸,沾染的液体将使得此人痛不欲生,盔甲和表皮软化,并持续灼烧它的身体。</description>
<defaultLabelColor>(1, 1, 0.8)</defaultLabelColor>
<hediffClass>ArachnaeSwarm.HediffCurseFlame</hediffClass>
<comps>
<li Class="HediffCompProperties_SeverityPerDay">
<severityPerDay>-4</severityPerDay>
</li>
<li Class="HediffCompProperties_Disappears">
<disappearsAfterTicks>1800</disappearsAfterTicks>
</li>
<li Class="HediffCompProperties_DisappearsOnDeath"/>
</comps>
<modExtensions>
<li Class="ArachnaeSwarm.CurseFlameModExt">
<damageDefName>AcidBurn</damageDefName>
<damageRange>1~2</damageRange>
<damageIntervalTicks>40</damageIntervalTicks>
</li>
</modExtensions>
<stages>
<li>
<label>minor</label>
<becomeVisible>true</becomeVisible>
</li>
<li>
<label>minor</label>
<minSeverity>0.2</minSeverity>
<statFactors>
<IncomingDamageFactor>1.25</IncomingDamageFactor>
</statFactors>
<statOffsets>
<ArmorRating_Sharp>-0.15</ArmorRating_Sharp>
<ArmorRating_Blunt>-0.1</ArmorRating_Blunt>
</statOffsets>
</li>
<li>
<label>moderate</label>
<minSeverity>0.35</minSeverity>
<statFactors>
<IncomingDamageFactor>1.75</IncomingDamageFactor>
</statFactors>
<statOffsets>
<ArmorRating_Sharp>-0.35</ArmorRating_Sharp>
<ArmorRating_Blunt>-0.3</ArmorRating_Blunt>
</statOffsets>
</li>
<li>
<label>serious</label>
<minSeverity>0.5</minSeverity>
<statFactors>
<IncomingDamageFactor>2.35</IncomingDamageFactor>
</statFactors>
<statOffsets>
<ArmorRating_Sharp>-0.65</ArmorRating_Sharp>
<ArmorRating_Blunt>-0.6</ArmorRating_Blunt>
</statOffsets>
</li>
<li>
<label>extreme</label>
<minSeverity>0.65</minSeverity>
<statFactors>
<IncomingDamageFactor>2.85</IncomingDamageFactor>
</statFactors>
<statOffsets>
<ArmorRating_Sharp>-0.8</ArmorRating_Sharp>
<ArmorRating_Blunt>-0.75</ArmorRating_Blunt>
</statOffsets>
</li>
<li>
<label>completely</label>
<minSeverity>0.85</minSeverity>
<statFactors>
<IncomingDamageFactor>3.25</IncomingDamageFactor>
</statFactors>
<statOffsets>
<ArmorRating_Sharp>-2</ArmorRating_Sharp>
<ArmorRating_Blunt>-2</ArmorRating_Blunt>
</statOffsets>
</li>
</stages>
</HediffDef>
<HediffDef>
<defName>ARA_SkyhiveBite</defName>
<label>天巢种虫族附着</label>
<description>一只可爱的天巢种阿拉克涅虫族咬到了你的身上,虫虫会不停的咬你直到从你身上脱离。这不会有太大问题...对吧?</description>
<!--<tendable>false</tendable> Must be removed via surgery -->
<!--<displayWound>true</displayWound>-->
<hediffClass>ArachnaeSwarm.HediffCurseFlame</hediffClass>
<defaultLabelColor>(0.6, 0.4, 0.8)</defaultLabelColor>
<comps>
<li Class="HediffCompProperties_Disappears">
<disappearsAfterTicks>600</disappearsAfterTicks>
<showRemainingTime>True</showRemainingTime>
</li>
<li Class="HediffCompProperties_DisappearsOnDeath"/>
<li Class="ArachnaeSwarm.HediffCompProperties_SpawnPawnOnRemoved">
<pawnKindDefs>
<li>ArachnaeBase_Race_Skyhive</li>
</pawnKindDefs>
<spawnCount>1</spawnCount>
<fixedBiologicalAge>0</fixedBiologicalAge>
</li>
</comps>
<modExtensions>
<li Class="ArachnaeSwarm.CurseFlameModExt">
<damageDefName>Bite</damageDefName>
<damageRange>3~5</damageRange>
<damageIntervalTicks>150</damageIntervalTicks>
</li>
</modExtensions>
<stages>
<li>
<painOffset>0.05</painOffset>
</li>
</stages>
<renderNodeProperties>
<li>
<debugLabel>Arachnae Skyhive</debugLabel>
<workerClass>PawnRenderNodeWorker_AttachmentBody</workerClass>
<texPaths>
<li>Things/Pawn/Insect/Locust/Locust_north</li>
<li>Things/Pawn/Insect/Locust/Locust_east</li>
</texPaths>
<color>(145,140,109)</color>
<baseLayer>65</baseLayer>
<texSeed>1</texSeed>
<drawData>
<dataNorth>
<rotationOffset>263</rotationOffset>
<offset>(-0.04, 0, 0.04)</offset>
</dataNorth>
<dataEast>
<rotationOffset>245</rotationOffset>
<offset>(0.05, 0, 0.02)</offset>
</dataEast>
<dataSouth>
<rotationOffset>2</rotationOffset>
<offset>(0.05, 0, 0.02)</offset>
</dataSouth>
<dataWest>
<rotationOffset>-245</rotationOffset>
<offset>(-0.04, 0, 0.04)</offset>
<flip>true</flip>
</dataWest>
</drawData>
</li>
</renderNodeProperties>
</HediffDef>
<HediffDef>
<defName>ARA_ReinforceGasCoverd</defName>
<label>阿拉克涅信息素沾染</label>
<description>你身上沾染了阿拉克涅信息素,有什么正在从在地下袭来。</description>
<!--<tendable>false</tendable> Must be removed via surgery -->
<!--<displayWound>true</displayWound>-->
<hediffClass>HediffWithComps</hediffClass>
<defaultLabelColor>(0.6, 0.4, 0.8)</defaultLabelColor>
<comps>
<li Class="HediffCompProperties_Disappears">
<disappearsAfterTicks>600</disappearsAfterTicks>
<showRemainingTime>True</showRemainingTime>
</li>
<li Class="HediffCompProperties_DisappearsOnDeath"/>
<li Class="ArachnaeSwarm.HediffCompProperties_SpawnPawnOnRemoved">
<pawnKindDefs>
<li>ArachnaeBase_Race_Acid</li>
</pawnKindDefs>
<spawnCount>1</spawnCount>
<fixedBiologicalAge>0</fixedBiologicalAge>
</li>
</comps>
</HediffDef>
<HediffDef>
<defName>ARA_Unburnable</defName>
<label>阻燃烟雾</label>
<description>一种特殊的烟雾覆盖了这片地区,使得置身其中的殖民者难以被点着.</description>
<hediffClass>HediffWithComps</hediffClass>
<stages>
<li>
<statFactors>
<Flammability>0</Flammability>
</statFactors>
</li>
</stages>
<comps>
<li Class="HediffCompProperties_Disappears">
<disappearsAfterTicks>1200</disappearsAfterTicks>
<showRemainingTime>True</showRemainingTime>
</li>
<li Class="HediffCompProperties_DisappearsOnDeath"/>
</comps>
</HediffDef>
</Defs>

View File

@@ -2,17 +2,18 @@
<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>
<stages>
<li>
<label>连接至 {0} 个虫群工蜂</label>
<minSeverity>0</minSeverity>
<foodPoisoningChanceFactor>0</foodPoisoningChanceFactor>
<!-- Stat offsets will be added here later -->
<disablesNeeds>
<li>Joy</li>
@@ -26,30 +27,24 @@
</enablesNeeds>
</li>
</stages>
<comps>
<li Class="ArachnaeSwarm.HediffCompProperties_HiveMindMaster">
<scanIntervalTicks>3200</scanIntervalTicks>
</li>
</comps>
</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>
<comps>
<li Class="ArachnaeSwarm.HediffCompProperties_HiveMindDrone">
<unlinkedDieDelayTicks>6400</unlinkedDieDelayTicks> <!-- Default to 30 seconds -->
</li>
<li Class="HediffCompProperties_MessageAfterTicks">
<ticks>1</ticks>
<letterLabel>{0_labelShort} 诞生</letterLabel>
<letterText>一只新的阿拉克涅督虫 {0_labelShort} 已经破茧而出!她正在四处徘徊,等待女皇种与其建立链接——使用阿拉克涅女皇种的信息素标记技能完成链接,否则督虫将在一段时间后死亡!</letterText>
<letterType>HumanPregnancy</letterType>
</li>
</comps>
<scenarioCanAdd>false</scenarioCanAdd>
<stages>
<li>
<minSeverity>0</minSeverity>
<foodPoisoningChanceFactor>0</foodPoisoningChanceFactor>
<disablesNeeds>
<li>Mood</li>
<li>Joy</li>
@@ -62,5 +57,248 @@
</disablesNeeds>
</li>
</stages>
<comps>
<li Class="ArachnaeSwarm.HediffCompProperties_HiveMindDrone">
<unlinkedDieDelayTicks>6400</unlinkedDieDelayTicks> <!-- Default to 30 seconds -->
</li>
<li Class="HediffCompProperties_MessageAfterTicks">
<ticks>1</ticks>
<letterLabel>{0_labelShort} 诞生</letterLabel>
<letterText>一只新的阿拉克涅督虫 {0_labelShort} 已经破茧而出!她正在四处徘徊,等待女皇种的指示——使用阿拉克涅女皇种的信息素标记技能完成链接,或者等待其自行建立链接。</letterText>
<letterType>HumanPregnancy</letterType>
</li>
</comps>
</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>
<li>
<minSeverity>0</minSeverity>
<disablesNeeds>
<li>Food</li>
<li>Rest</li>
</disablesNeeds>
</li>
</stages>
</HediffDef>
<HediffDef>
<defName>ARA_HiveStrength</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>
<li>
<minSeverity>0</minSeverity>
<regeneration>100</regeneration>
</li>
</stages>
</HediffDef>
<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>
<li Class="ArachnaeSwarm.HediffCompProperties_GiveHediffsInRangeToRace">
<range>6</range>
<hediff>ARA_CreepyCrawly_Hediff</hediff>
<mote>Mote_ARA_CreepyCrawly_HediffLinkLine</mote>
<!-- 定义可以被影响的种族列表 -->
<!-- <targetRaces>
<li>Human</li>
</targetRaces> -->
<!-- 其他参数和原版一样 -->
<targetingParameters>
<canTargetBuildings>false</canTargetBuildings>
<canTargetAnimals>false</canTargetAnimals>
<canTargetMechs>false</canTargetMechs>
<canTargetSelf>true</canTargetSelf>
<onlyTargetColonists>true</onlyTargetColonists>
</targetingParameters>
<onlyPawnsInSameFaction>false</onlyPawnsInSameFaction>
<hideMoteWhenNotDrafted>true</hideMoteWhenNotDrafted>
</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>
<HediffDef>
<defName>ARA_CreepyCrawly_Hediff</defName>
<label>原始恐惧</label>
<description>快把这些虫子从我身边支开!</description>
<defaultLabelColor>(0.52, 1, 0.95)</defaultLabelColor>
<hediffClass>HediffWithComps</hediffClass>
<isBad>false</isBad>
<debugLabelExtra>other</debugLabelExtra>
<initialSeverity>1</initialSeverity> <!-- 初始层数设置为10 -->
<maxSeverity>1</maxSeverity> <!-- 最大层数,可以根据需要调整 -->
<stages>
<li>
<minSeverity>0</minSeverity>
<becomeVisible>false</becomeVisible>
</li>
</stages>
<comps>
<li Class="HediffCompProperties_Disappears">
<showRemainingTime>false</showRemainingTime>
</li>
<li Class="HediffCompProperties_DisappearsOnDeath"/>
<li Class="HediffCompProperties_Link">
<requireLinkOnOtherPawn>false</requireLinkOnOtherPawn>
<maxDistance>0</maxDistance>
<customMote>Mote_ARA_CreepyCrawly_HediffLinkLine</customMote>
</li>
</comps>
</HediffDef>
<ThingDef ParentName="MoteBase">
<defName>Mote_ARA_CreepyCrawly_HediffLinkLine</defName>
<thingClass>MoteDualAttached</thingClass>
<altitudeLayer>MoteLow</altitudeLayer>
<mote>
<fadeInTime>0.1</fadeInTime>
<fadeOutTime>0.1</fadeOutTime>
<solidTime>999999</solidTime>
<needsMaintenance>True</needsMaintenance>
<rotateTowardsTarget>True</rotateTowardsTarget>
<scaleToConnectTargets>True</scaleToConnectTargets>
</mote>
<graphicData>
<shaderType>MoteGlow</shaderType>
<texPath>Things/Mote/WorkCommandLinkLine</texPath>
<color>(0,0,0,0)</color>
</graphicData>
</ThingDef>
<HediffDef>
<defName>ARA_RaceBaseSwarmProduceSwitchHediff</defName>
<label>繁育抑制</label>
<description>该阿拉克涅督虫已被蜂巢思维禁止进行辅虫的繁育。</description>
<hediffClass>HediffWithComps</hediffClass>
<isBad>false</isBad>
<defaultLabelColor>(0.6, 0.6, 0.6)</defaultLabelColor>
<scenarioCanAdd>false</scenarioCanAdd>
</HediffDef>
<HediffDef>
<defName>ARA_Psi_Master</defName>
<label>灵能专家</label>
<description>阿拉克涅织域种是虫巢中的灵能大师,她们对使用灵能能力得心应手,不仅自身可以依靠灵能进行飞行,还能为附近的己方单位提供保护,并将其作为灵能导线对敌人发射能量攻击。</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_GiveHediffsInRangeToRace">
<range>18</range>
<hediff>ARA_Psi_Conductor</hediff>
<!-- <mote>Mote_ARA_CreepyCrawly_HediffLinkLine</mote> -->
<!-- 定义可以被影响的种族列表 -->
<!-- <targetRaces>
<li>Human</li>
</targetRaces> -->
<!-- 其他参数和原版一样 -->
<targetingParameters>
<canTargetBuildings>false</canTargetBuildings>
<canTargetAnimals>true</canTargetAnimals>
<canTargetMechs>false</canTargetMechs>
<canTargetSelf>true</canTargetSelf>
<onlyTargetColonists>true</onlyTargetColonists>
</targetingParameters>
<onlyPawnsInSameFaction>true</onlyPawnsInSameFaction>
<hideMoteWhenNotDrafted>true</hideMoteWhenNotDrafted>
</li>
</comps>
<stages>
</stages>
</HediffDef>
<HediffDef>
<defName>ARA_Psi_Conductor</defName>
<label>灵能导体</label>
<description>一只阿拉克涅织域种将这个殖民者作为其强大灵能力量的导体,织域种可以通过控制这个殖民者的灵能对敌方发起自动攻击,并使得这个殖民者更加难以击倒——代价则是殖民者自身会短暂地出现灵能失聪的情况。</description>
<descriptionHyperlinks>
<ThingDef>ARA_Psi_Conductor_Turret</ThingDef>
</descriptionHyperlinks>
<hediffClass>HediffWithComps</hediffClass>
<isBad>false</isBad>
<defaultLabelColor>(0.6, 0.6, 0.6)</defaultLabelColor>
<scenarioCanAdd>false</scenarioCanAdd>
<stages>
<li>
<statFactors>
<IncomingDamageFactor>0.75</IncomingDamageFactor>
<PsychicSensitivity>0</PsychicSensitivity>
</statFactors>
</li>
</stages>
<comps>
<li Class="HediffCompProperties_Disappears">
<showRemainingTime>false</showRemainingTime>
</li>
<li Class="HediffCompProperties_DisappearsOnDeath"/>
<li Class="HediffCompProperties_Link">
<requireLinkOnOtherPawn>false</requireLinkOnOtherPawn>
<maxDistance>18</maxDistance>
<!-- <customMote>Mote_ARA_CreepyCrawly_HediffLinkLine</customMote> -->
</li>
<li Class="ArachnaeSwarm.HediffCompProperties_TopTurret">
<turretDef>ARA_Psi_Conductor_Turret</turretDef>
<angleOffset>0</angleOffset>
<autoAttack>true</autoAttack>
</li>
</comps>
</HediffDef>
</Defs>

View File

@@ -0,0 +1,302 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<HediffDef>
<defName>ARA_MimicNematode</defName>
<label>拟线种虫族寄生</label>
<description>该殖民者被阿拉克涅拟线种寄生了,如果不加以干预,拟线虫最终会杀死宿主并将其转化为没有意识的寄生体。拟线虫会通过寄生体的攻击行为感染其他躯体。</description>
<!-- 1. 指向我们创建的包含Comp的Hediff类 -->
<hediffClass>ArachnaeSwarm.Hediff_NecroticVirus</hediffClass>
<defaultLabelColor>(0.6, 0.4, 0.8)</defaultLabelColor>
<isBad>true</isBad>
<maxSeverity>1.0</maxSeverity>
<lethalSeverity>1.0</lethalSeverity>
<minSeverity>0.001</minSeverity>
<initialSeverity>0.001</initialSeverity>
<everCurableByItem>false</everCurableByItem>
<stages>
<li>
<label>休眠期</label>
<becomeVisible>false</becomeVisible>
<vomitMtbDays>5</vomitMtbDays>
</li>
<li>
<label>活跃期</label>
<minSeverity>0.5</minSeverity>
<vomitMtbDays>1</vomitMtbDays>
<painFactor>0.5</painFactor>
<totalBleedFactor>0.9</totalBleedFactor>
<becomeVisible>true</becomeVisible>
<capMods>
<li>
<capacity>Talking</capacity>
<postFactor>0</postFactor>
</li>
</capMods>
</li>
<li>
<label>终末期</label>
<minSeverity>0.7</minSeverity>
<painFactor>0</painFactor>
<totalBleedFactor>0.3</totalBleedFactor>
<becomeVisible>true</becomeVisible>
<capMods>
<li>
<capacity>Talking</capacity>
<postFactor>0</postFactor>
</li>
<li>
<capacity>BloodFiltration</capacity>
<offset>0.45</offset>
</li>
<li>
<capacity>BloodPumping</capacity>
<offset>0.1</offset>
</li>
<li>
<capacity>Metabolism</capacity>
<offset>0.1</offset>
</li>
<li>
<capacity>Breathing</capacity>
<offset>0.1</offset>
</li>
<li>
<capacity>Consciousness</capacity>
<offset>-0.1</offset>
</li>
</capMods>
<regeneration>50</regeneration>
</li>
<li>
<label>即将转化</label>
<minSeverity>0.9</minSeverity>
<painFactor>0</painFactor>
<totalBleedFactor>0.3</totalBleedFactor>
<lifeThreatening>true</lifeThreatening>
<becomeVisible>true</becomeVisible>
<capMods>
<li>
<capacity>Talking</capacity>
<postFactor>0</postFactor>
</li>
<li>
<capacity>BloodFiltration</capacity>
<offset>0.45</offset>
</li>
<li>
<capacity>BloodPumping</capacity>
<offset>0.1</offset>
</li>
<li>
<capacity>Metabolism</capacity>
<offset>0.1</offset>
</li>
<li>
<capacity>Breathing</capacity>
<offset>0.1</offset>
</li>
<li>
<capacity>Consciousness</capacity>
<setMax>0.1</setMax>
</li>
</capMods>
<regeneration>50</regeneration>
</li>
</stages>
<tendable>true</tendable>
<!-- 2. 这是最关键的配置部分 -->
<comps>
<li Class="HediffCompProperties_SeverityPerDay">
<severityPerDay>0.3</severityPerDay>
</li>
<li Class="HediffCompProperties_TendDuration">
<severityPerDayTended>-1</severityPerDayTended>
<baseTendDurationHours>24</baseTendDurationHours>
</li>
<li Class="HediffCompProperties_Disappears">
<disappearsAfterTicks>1800000~2400000</disappearsAfterTicks> <!-- 30 ! 45 days -->
<showRemainingTime>true</showRemainingTime>
</li>
<li Class="ArachnaeSwarm.HediffCompProperties_NecroticTransformation">
<mutantDef>ARA_MimicNematodeShambler</mutantDef>
<triggerSeverity>0.7</triggerSeverity>
</li>
<!-- ==================== 新增的共生组件 ==================== -->
<li Class="ArachnaeSwarm.HediffCompProperties_Symbiosis">
<!-- "钥匙": 只有当Pawn拥有这个Hediff时共生效果才会激活 -->
<requiredHediff>ARA_SymbioticStabilizer</requiredHediff>
<!-- "新的上限": 在共生状态下此Hediff的严重性最高只能达到0.8 -->
<newMaxSeverity>0.8</newMaxSeverity>
</li>
<li Class="HediffCompProperties_DisappearsOnDeath" />
</comps>
<modExtensions>
<li Class="ArachnaeSwarm.ProphecyGearEffect">
<!-- 只有当攻击者同时拥有'ARA_MimicNematode'这个仿生体时,以下效果才会触发 -->
<requiredBionicHediff>ARA_MimicNematode</requiredBionicHediff>
<!-- 额外造成5%的'ARA_MimicNematodeBite'伤害 -->
<enableExtraDamage>true</enableExtraDamage>
<extraDamageFactor>0.05</extraDamageFactor>
<extraDamageType>ARA_MimicNematodeBite</extraDamageType>
</li>
</modExtensions>
</HediffDef>
<RecipeDef ParentName="SurgeryFlesh">
<defName>ARA_CureBloodRot</defName>
<label>清除拟线虫感染</label>
<description>通过多种药物联合靶向治疗清除患者体内的阿拉克涅拟线种虫族感染,这种手术非常复杂,只能使用来自闪耀世界的医药进行。</description>
<workerClass>Recipe_RemoveHediff</workerClass>
<jobString>清除拟线虫感染.</jobString>
<workAmount>2000</workAmount>
<hideBodyPartNames>true</hideBodyPartNames>
<isViolation>false</isViolation>
<targetsBodyPart>false</targetsBodyPart>
<removesHediff>ARA_MimicNematode</removesHediff>
<successfullyRemovedHediffMessage>{0} 成功清除了 {1} 体内的拟线虫感染.</successfullyRemovedHediffMessage>
<skillRequirements>
<Medicine>5</Medicine>
</skillRequirements>
<ingredients>
<li>
<filter>
<thingDefs>
<li>MedicineUltratech</li>
</thingDefs>
</filter>
<count>2</count>
</li>
</ingredients>
<fixedIngredientFilter>
<categories>
<li>Medicine</li>
</categories>
</fixedIngredientFilter>
</RecipeDef>
<!-- 这是我们的主要变异体Hediff现在使用我们自己的可配置类 -->
<HediffDef>
<defName>ARA_MimicNematodeShambler</defName>
<label>阿拉克涅拟线种寄生体</label>
<description>这具尸体被一种阿拉克涅拟线虫所寄生并重新激活。被寄生的生物行动迟缓、没有心智,只会无情地攻击任何活物。在活动几天后,寄生体将因宿主新陈代谢衰竭而死亡。被捕获并固定后,寄生体无法移动,因此其生命活动会暂停。</description>
<hediffClass>ArachnaeSwarm.Hediff_ConfigurableMutant</hediffClass> <!-- 指向我们自己的类 -->
<defaultLabelColor>(0.6, 0.4, 0.8)</defaultLabelColor>
<everCurableByItem>false</everCurableByItem>
<duplicationAllowed>false</duplicationAllowed>
<keepOnBodyPartRestoration>True</keepOnBodyPartRestoration>
<stages>
<li>
<naturalHealingFactor>0</naturalHealingFactor>
<painFactor>0</painFactor>
<statFactors>
<MeleeCooldownFactor>1.5</MeleeCooldownFactor>
<PsychicSensitivity>0</PsychicSensitivity>
</statFactors>
<statOffsets>
<ComfyTemperatureMin>-60</ComfyTemperatureMin>
<ComfyTemperatureMax>30</ComfyTemperatureMax>
<MinimumContainmentStrength>25</MinimumContainmentStrength>
<ToxicResistance>1</ToxicResistance>
</statOffsets>
<capMods>
<li><capacity>Talking</capacity><postFactor>0</postFactor></li>
<li><capacity>Consciousness</capacity><postFactor>0.7</postFactor></li>
</capMods>
<regeneration>200</regeneration>
</li>
</stages>
<comps>
<!-- 原版的消失组件保持不变-->
<li Class="HediffCompProperties_DisappearsAndKills">
<compClass>HediffComp_DisappearsAndKills_Shambler</compClass>
<disappearsAfterTicks>1800000~2400000</disappearsAfterTicks> <!-- 30 ! 45 days -->
<showRemainingTime>true</showRemainingTime>
</li>
<li Class="HediffCompProperties_DisappearsOnDeath" />
<li Class="HediffCompProperties_AttachPoints" />
<!-- 添加我们的新配置组件 -->
<li Class="ArachnaeSwarm.HediffCompProperties_ConfigurableMutant">
<!-- 1. 定义起身和尸体状态 -->
<risingHediff>ARA_Rising</risingHediff>
<corpseHediff>ARA_MimicNematodeShamblerShamblerCorpse</corpseHediff>
<!-- 2. (可选) 覆盖其他默认值 -->
<bioferriteOnDeathChance>0</bioferriteOnDeathChance>
<bioferriteAmountOnDeath>0</bioferriteAmountOnDeath>
</li>
</comps>
<renderNodeProperties>
<li>
<debugLabel>ARA_Swarm_claws</debugLabel>
<workerClass>PawnRenderNodeWorker_AttachmentBody</workerClass>
<texPaths>
<li>ArachnaeSwarm/Things/ARA_HiveNode/Addons/ArachnaeNode_Race_Addons_Fighter_Claw</li>
</texPaths>
<baseLayer>60</baseLayer>
<texSeed>1</texSeed>
<drawData>
<dataNorth>
<flip>true</flip>
</dataNorth>
</drawData>
</li>
</renderNodeProperties>
</HediffDef>
<!-- ====================================================================== -->
<!-- 以下是上面引用的两个Hediff的定义保持不变 -->
<HediffDef>
<defName>ARA_Rising</defName>
<label>起身中</label>
<description>阿拉克涅拟线虫寄生赋予的强大再生能力正在复苏这具身体。</description>
<everCurableByItem>false</everCurableByItem>
<recordDownedTale>false</recordDownedTale>
<defaultLabelColor>(0.6, 0.4, 0.8)</defaultLabelColor>
<stages>
<li>
<painFactor>0</painFactor>
<capMods>
<li><capacity>Moving</capacity><postFactor>0</postFactor></li>
<li><capacity>Manipulation</capacity><postFactor>0</postFactor></li>
<li><capacity>Talking</capacity><postFactor>0</postFactor></li>
<li><capacity>Consciousness</capacity><setMax>0.1</setMax></li>
</capMods>
</li>
</stages>
</HediffDef>
<HediffDef>
<defName>ARA_MimicNematodeShamblerShamblerCorpse</defName>
<label>拟线种寄生体尸体</label>
<description>这具身体刚刚被阿拉克涅拟线种寄生"复活"过。</description>
<forceRemoveOnResurrection>true</forceRemoveOnResurrection>
<defaultLabelColor>(0.6, 0.4, 0.8)</defaultLabelColor>
<renderNodeProperties>
<li Class="PawnRenderNodeProperties_Overlay">
<debugLabel>Shambler wounds</debugLabel>
<workerClass>PawnRenderNodeWorker_OverlayShambler</workerClass>
<overlayLayer>Body</overlayLayer>
<baseLayer>20</baseLayer>
<pawnType>HumanlikeOnly</pawnType>
</li>
<li>
<debugLabel>Shambler wounds</debugLabel>
<nodeClass>PawnRenderNode_AnimalPart</nodeClass>
<workerClass>PawnRenderNodeWorker_OverlayShambler</workerClass>
<overlayLayer>Body</overlayLayer>
<baseLayer>20</baseLayer>
<pawnType>NonHumanlikeOnly</pawnType>
</li>
</renderNodeProperties>
</HediffDef>
</Defs>

View File

@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<HediffDef>
<defName>ARA_Possession</defName>
<label>阿拉克涅原虫</label>
@@ -14,30 +13,27 @@
<li>
<nodeClass>PawnRenderNode_AttachmentHead</nodeClass>
<workerClass>PawnRenderNodeWorker_FlipWhenCrawling</workerClass>
<texPath>ArachnaeSwarm/Things/ARA_HiveNode/Heads/Average_Normal</texPath>
<colorType>Skin</colorType>
<texPath>ArachnaeSwarm/Things/ARA_HiveNode/Addons/ArachnaeNode_Race_Addons_Facehugger_Upperhead</texPath>
<parentTagDef>Head</parentTagDef>
<useSkinShader>true</useSkinShader>
<useRottenColor>true</useRottenColor>
<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>70</layer>
</defaultData>
</drawData>
</li>
<li>
<nodeClass>PawnRenderNode_AttachmentHead</nodeClass>
<workerClass>PawnRenderNodeWorker_FlipWhenCrawling</workerClass>
<texPath>ArachnaeSwarm/Things/ARA_HiveNode/Addons/ArachnaeNode_Race_Addons_Base</texPath>
<colorType>Skin</colorType>
<parentTagDef>Head</parentTagDef>
<useSkinShader>true</useSkinShader>
<useRottenColor>true</useRottenColor>
<rotDrawMode>Fresh, Rotting</rotDrawMode>
<drawData>
<defaultData>
<layer>70</layer>
<layer>800</layer>
</defaultData>
</drawData>
</li>
@@ -57,6 +53,40 @@
</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

@@ -4,7 +4,21 @@
<JobDef>
<defName>ARA_StartInteractiveProduction</defName>
<driverClass>ArachnaeSwarm.JobDriver_StartProduction</driverClass>
<reportString>正在启动生产 TargetA.</reportString>
<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>

View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<JobDef>
<defName>ARA_DeployWormhole</defName>
<driverClass>ArachnaeSwarm.JobDriver_DeployWormhole</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>
@@ -43,7 +38,7 @@
<moveSpeedFactorByTerrainTag>
<li>
<key>ARA_Creep</key>
<value>8.0</value>
<value>3.0</value>
</li>
</moveSpeedFactorByTerrainTag>
</PawnKindDef>
@@ -52,7 +47,7 @@
<label>阿拉克涅女皇种</label>
<race>ArachnaeQueen_Race</race>
<defaultFactionType>PlayerColony</defaultFactionType>
<invNutrition>2.55</invNutrition>
<invNutrition>0</invNutrition>
<backstoryFiltersOverride>
<li>
<categories>
@@ -75,8 +70,8 @@
<forceNormalGearQuality>true</forceNormalGearQuality>
<initialWillRange>99~99</initialWillRange>
<initialResistanceRange>99~99</initialResistanceRange>
<maxGenerationAge>30</maxGenerationAge>
<minGenerationAge>10</minGenerationAge>
<maxGenerationAge>0.01</maxGenerationAge>
<minGenerationAge>0</minGenerationAge>
<canBeScattered>false</canBeScattered>
<xenotypeSet>
<xenotypeChances>
@@ -104,7 +99,7 @@
<moveSpeedFactorByTerrainTag>
<li>
<key>ARA_Creep</key>
<value>8.0</value>
<value>3.0</value>
</li>
</moveSpeedFactorByTerrainTag>
</PawnKindDef>
@@ -123,7 +118,9 @@
</li>
</backstoryFiltersOverride>
<abilities>
<li>ARA_AcidSprayBurst_Myrmecocystus</li>
<li>ARA_AcidSprayBurst</li>
<li>ARA_RaceBaseSwarmProduceOff</li>
<li>ARA_RaceBaseSwarmProduceOn</li>
</abilities>
<apparelTags>
</apparelTags>
@@ -146,6 +143,11 @@
<apparelTags>
</apparelTags>
<apparelMoney>0</apparelMoney>
<abilities>
<li>ARA_Ability_TrackingCharge</li>
<li>ARA_RaceBaseSwarmProduceOff</li>
<li>ARA_RaceBaseSwarmProduceOn</li>
</abilities>
</PawnKindDef>
<PawnKindDef ParentName="ArachnaeNodeABasePawnKind">
<defName>ArachnaeNode_Race_WeaponSmith</defName>
@@ -161,13 +163,137 @@
</categories>
</li>
</backstoryFiltersOverride>
<apparelTags>
</apparelTags>
<apparelMoney>0</apparelMoney>
<abilities>
<li>ARA_EggSpewBioforgeIncubator</li>
<li>ARA_RaceBaseSwarmProduceOff</li>
<li>ARA_RaceBaseSwarmProduceOn</li>
</abilities>
</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_Smokepop</defName>
<label>阿拉克涅浓雾种</label>
<race>ArachnaeNode_Race_Smokepop</race>
<defaultFactionType>PlayerColony</defaultFactionType>
<invNutrition>0</invNutrition>
<backstoryFiltersOverride>
<li>
<categories>
<li>ArachnaeNode_spawnCategoriesA</li>
<li>ArachnaeNode_spawnCategories_Smokepop</li>
</categories>
</li>
</backstoryFiltersOverride>
<abilities>
<li>ARA_Ability_Smokepop</li>
<li>ARA_RaceBaseSwarmProduceOff</li>
<li>ARA_RaceBaseSwarmProduceOn</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>ArachnaeSwarm/Things/ARA_HiveNode/Addons/Flying/ArachnaeNode_Race_Addons_Skyraider_Wing_</flyingAnimationFramePathPrefix>
<flyingAnimationDrawSize>1.35</flyingAnimationDrawSize>
<flyingAnimationFrameCount>2</flyingAnimationFrameCount>
<flyingAnimationTicksPerFrame>2</flyingAnimationTicksPerFrame>
<flyingAnimationInheritColors>false</flyingAnimationInheritColors>
<backstoryFiltersOverride>
<li>
<categories>
<li>ArachnaeNode_spawnCategoriesA</li>
<li>ArachnaeNode_spawnCategories_Skyraider</li>
</categories>
</li>
</backstoryFiltersOverride>
<abilities>
<li>ARA_BaseRace_Skyhive_Launcher</li>
<li>ARA_Skyraider_jump</li>
</abilities>
<apparelTags>
</apparelTags>
<apparelMoney>0</apparelMoney>
</PawnKindDef>
<PawnKindDef ParentName="ArachnaeNodeABasePawnKind">
<defName>ArachnaeNode_Race_NeuroSwarm</defName>
<label>阿拉克涅织域种</label>
<race>ArachnaeNode_Race_NeuroSwarm</race>
<defaultFactionType>PlayerColony</defaultFactionType>
<invNutrition>0</invNutrition>
<flyingAnimationFramePathPrefix>ArachnaeSwarm/Things/ARA_NeuroSwarm/Addons/Flying/ARA_NeuroSwarm_Flying_</flyingAnimationFramePathPrefix>
<flyingAnimationDrawSize>1</flyingAnimationDrawSize>
<flyingAnimationFrameCount>1</flyingAnimationFrameCount>
<flyingAnimationTicksPerFrame>2</flyingAnimationTicksPerFrame>
<flyingAnimationInheritColors>false</flyingAnimationInheritColors>
<backstoryFiltersOverride>
<li>
<categories>
<li>ArachnaeNode_spawnCategoriesA</li>
<li>ArachnaeNode_spawnCategories_NeuroSwarm</li>
</categories>
</li>
</backstoryFiltersOverride>
<abilities>
<li>ARA_PsychicBrainburn</li>
<li>ARA_NeuroSwarm_jump</li>
<!-- <li>ARA_Ability_Morph</li> -->
</abilities>
<apparelTags>
</apparelTags>
<apparelMoney>0</apparelMoney>
</PawnKindDef>
<PawnKindDef Name="ARA_InsectKindBase" ParentName="AnimalKindBase" Abstract="True">
<defaultFactionType>PlayerColony</defaultFactionType>
@@ -176,35 +302,15 @@
<forceNoDeathNotification>true</forceNoDeathNotification>
<combatPower>75</combatPower>
<ecoSystemWeight>0</ecoSystemWeight>
<maxGenerationAge>0.01</maxGenerationAge>
<minGenerationAge>0</minGenerationAge>
<moveSpeedFactorByTerrainTag>
<li>
<key>ARA_Creep</key>
<value>8.0</value>
<value>3.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>
@@ -251,7 +357,7 @@
</PawnKindDef>
<PawnKindDef ParentName="ARA_InsectKindBase">
<defName>ArachnaeBase_Race_Acid</defName>
<label>阿拉克涅酸</label>
<label>阿拉克涅酸</label>
<race>ArachnaeBase_Race_Acid</race>
<lifeStages>
<li>
@@ -271,4 +377,76 @@
</li>
</lifeStages>
</PawnKindDef>
<PawnKindDef ParentName="ARA_InsectKindBase">
<defName>ArachnaeBase_Race_Acidling</defName>
<label>阿拉克涅酸爆种</label>
<race>ArachnaeBase_Race_Acidling</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>
<PawnKindDef ParentName="ARA_InsectKindBase">
<defName>ArachnaeBase_Race_Skyhive</defName>
<label>阿拉克涅天巢种</label>
<race>ArachnaeBase_Race_Skyhive</race>
<flyingAnimationFramePathPrefix>Things/Pawn/Insect/Locust/LocustFlying/Locust_Flying_</flyingAnimationFramePathPrefix>
<flyingAnimationFrameCount>5</flyingAnimationFrameCount>
<flyingAnimationTicksPerFrame>2</flyingAnimationTicksPerFrame>
<flyingAnimationDrawSize>1</flyingAnimationDrawSize>
<flyingAnimationDrawSizeIsMultiplier>false</flyingAnimationDrawSizeIsMultiplier>
<flyingAnimationInheritColors>true</flyingAnimationInheritColors>
<lifeStages>
<li>
<bodyGraphicData>
<texPath>Things/Pawn/Insect/Locust/Locust</texPath>
<drawSize>1</drawSize>
<color>(145,140,109)</color>
<shadowData>
<volume>(0.2, 0.3, 0.2)</volume>
<offset>(0,0,0)</offset>
</shadowData>
</bodyGraphicData>
<dessicatedBodyGraphicData>
<texPath>Things/Pawn/Insect/Locust/Dessicated_Locust</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,169 @@
<?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 ===== -->
<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>
<li> <!-- 使用默认的 PawnRenderNodeProperties -->
<debugLabel>Wings (Hides when flying)</debugLabel>
<workerClass>ArachnaeSwarm.PawnRenderNodeWorker_AttachmentBody_NoFlight</workerClass>
<texPath>ArachnaeSwarm/Things/ARA_HiveNode/Addons/ArachnaeNode_Race_Addons_Skyraider_Wing</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,500 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<!-- T0 -->
<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_EggSpew_Huge</li>
<li>ARA_BindDrone</li>
<li>ARA_AcidSprayBurst_Queen</li>
<li>ARA_Queen_Upgrade_1_Stage</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>使女皇种发生内驱性进化,解锁下一等级的阿拉克涅卵。\n\n注意女皇种进化后所孵化的阿拉克涅卵仍可以孕育低等级的虫族但是越高级的阿拉克涅卵对温度越敏感。</description>
<iconPath>ArachnaeSwarm/UI/Abilities/ARA_Queen_Upgrade_1_Stage</iconPath>
<cooldownTicksRange>1800</cooldownTicksRange>
<hostile>false</hostile>
<groupAbility>true</groupAbility>
<displayGizmoWhileUndrafted>true</displayGizmoWhileUndrafted>
<disableGizmoWhileUndrafted>false</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_1WMT</requiredResearch>
<failMessage>需要科技 节点WMT-1"突破" 以解锁进化</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>
<!-- T1 -->
<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_1Stage</li>
<li>ARA_EggSpew_Huge_1Stage</li>
<li>ARA_BindDrone</li>
<li>ARA_AcidSprayBurst_Queen</li>
<li>ARA_TumorSpew</li>
<li>ARA_Queen_Upgrade_2_Stage</li>
</abilityDefs>
</li>
<li Class="HediffCompProperties_RemoveIfOtherHediff">
<hediffs>
<li>ARA_Queen_2_Stage_Transition_Period</li>
</hediffs>
</li>
</comps>
</HediffDef>
<AbilityDef>
<defName>ARA_Queen_Upgrade_2_Stage</defName>
<label>女皇种进化——阶段2</label>
<description>使女皇种发生内驱性进化,解锁下一等级的阿拉克涅卵。\n\n注意女皇种进化后所孵化的阿拉克涅卵仍可以孕育低等级的虫族但是越高级的阿拉克涅卵对温度越敏感。</description>
<iconPath>ArachnaeSwarm/UI/Abilities/ARA_Queen_Upgrade_2_Stage</iconPath>
<cooldownTicksRange>1800</cooldownTicksRange>
<hostile>false</hostile>
<groupAbility>true</groupAbility>
<displayGizmoWhileUndrafted>true</displayGizmoWhileUndrafted>
<disableGizmoWhileUndrafted>false</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"突破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>
<!-- T2 -->
<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_2Stage</li>
<li>ARA_EggSpew_Huge_2Stage</li>
<li>ARA_BindDrone</li>
<li>ARA_AcidSprayBurst_Queen</li>
<li>ARA_TumorSpew</li>
</abilityDefs>
</li>
<!-- <li Class="HediffCompProperties_RemoveIfOtherHediff">
<hediffs>
<li>ARA_Queen_3_Stage_Transition_Period</li>
</hediffs>
</li> -->
</comps>
</HediffDef>
<!-- T0 -->
<HediffDef>
<defName>ARA_WeaponSmith_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_Cocoon_Cloth</li>
<li>ARA_Cocoon_Weapon</li>
<li>ARA_WeaponSmith_Upgrade_1_Stage</li>
</abilityDefs>
</li>
<li Class="HediffCompProperties_RemoveIfOtherHediff">
<hediffs>
<li>ARA_WeaponSmith_1_Stage_Transition_Period</li>
</hediffs>
</li>
</comps>
</HediffDef>
<AbilityDef>
<defName>ARA_WeaponSmith_Upgrade_1_Stage</defName>
<label>工艺种进化——阶段1</label>
<description>使工艺种发生内驱性进化,解锁下一等级的阿拉克涅工艺茧。\n\n注意和女皇种的进化不同工艺种一旦进化到下一阶段此后所孵的阿拉克涅工艺茧将无法再制作现阶段及之前的装备并且越高级的阿拉克涅工艺茧对温度越敏感。</description>
<iconPath>ArachnaeSwarm/UI/Abilities/ARA_Queen_Upgrade_1_Stage</iconPath>
<cooldownTicksRange>1800</cooldownTicksRange>
<hostile>false</hostile>
<groupAbility>true</groupAbility>
<displayGizmoWhileUndrafted>true</displayGizmoWhileUndrafted>
<disableGizmoWhileUndrafted>false</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_WeaponSmith_1_Stage_Transition_Period</hediffDef>
<onlyApplyToSelf>True</onlyApplyToSelf>
<replaceExisting>true</replaceExisting>
<severity>1</severity>
</li>
<li Class="ArachnaeSwarm.CompProperties_AbilityResearchPrereq">
<requiredResearch>ARA_Technology_1WMT</requiredResearch>
<failMessage>需要科技 节点WMT-1"突破" 以解锁进化</failMessage>
</li>
</comps>
</AbilityDef>
<HediffDef>
<defName>ARA_WeaponSmith_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_WeaponSmith_1_Stage</hediff>
<severityRange>0.02~0.15</severityRange>
</li>
</hediffs>
<message>{PAWN_nameDef} 通过蜂巢意志的拔耀获得了更强大的孵化能力,现在她可以孕育更复杂的茧以获取强大的装备。</message>
</li>
</comps>
</HediffDef>
<!-- T1 -->
<HediffDef>
<defName>ARA_WeaponSmith_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>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_Cocoon_Cloth_1Stage</li>
<li>ARA_Cocoon_Weapon_1Stage</li>
</abilityDefs>
</li>
<li Class="HediffCompProperties_RemoveIfOtherHediff">
<hediffs>
<li>ARA_Queen_1_Stage_Transition_Period</li>
</hediffs>
</li>
</comps>
</HediffDef>
<!-- 蜜罐种 -->
<HediffDef>
<defName>ARA_Myrmecocystus_Production_InsectJelly</defName>
<label>产出虫蜜</label>
<description>这只阿拉克涅蜜罐种正在产出虫蜜以滋养虫群。一只蜜罐种每天产出10份阿拉克涅虫蜜。</description>
<descriptionHyperlinks>
<ThingDef>ARA_InsectJelly</ThingDef>
</descriptionHyperlinks>
<hediffClass>HediffWithComps</hediffClass>
<defaultLabelColor>(0.6, 0.4, 0.8)</defaultLabelColor>
<isBad>false</isBad>
<scenarioCanAdd>false</scenarioCanAdd>
<maxSeverity>1.0</maxSeverity>
<!-- <stages>
<li>
<becomeVisible>ture</becomeVisible>
</li>
<li>
<minSeverity>1.01</minSeverity>
<becomeVisible>false</becomeVisible>
</li>
</stages> -->
<comps>
<li Class="ArachnaeSwarm.MoharHediffs.HediffCompProperties_Spawner">
<!--
==================================================
基础设置 (Basic Settings)
==================================================
-->
<!-- [DEBUG] 如果为true则为此组件启用详细的调试日志记录。 -->
<debug>true</debug>
<!-- 要生成的物品的ThingDef。 -->
<thingToSpawn>ARA_InsectJelly</thingToSpawn>
<!-- 每次生成的基础物品数量。 -->
<spawnCount>10</spawnCount>
<!--
==================================================
生成周期 (Spawning Interval)
==================================================
-->
<!-- 下一次生成事件发生前的最少天数。 -->
<minDaysB4Next>1</minDaysB4Next>
<!-- 下一次生成事件发生前的最大天数。 -->
<maxDaysB4Next>1</maxDaysB4Next>
<randomGrace>0</randomGrace>
<!--
==================================================
与年龄相关的调整 (Age-Related Adjustments)
==================================================
-->
<!-- 如果为true生成数量将根据宿主的年龄进行调整。 -->
<ageWeightedQuantity>false</ageWeightedQuantity>
<!-- 如果为true且ageWeightedQuantity为true则随着宿主年龄增长生成数量变多。 -->
<olderBiggerQuantity>true</olderBiggerQuantity>
<!-- 如果为true且ageWeightedQuantity为true则随年龄增长的数量缩放将是指数性的而非线性的。 -->
<exponentialQuantity>true</exponentialQuantity>
<!-- 指数级数量缩放的最大乘数,以防止出现荒谬的数字。 -->
<exponentialRatioLimit>20</exponentialRatioLimit>
<!--
==================================================
生成条件 (Spawning Conditions)
==================================================
-->
<!-- 如果为true当宿主Pawn饥饿时生成将暂停。 -->
<hungerRelative>true</hungerRelative>
<!-- 如果为true当宿主Pawn受伤时生成将暂停。 -->
<healthRelative>false</healthRelative>
</li>
<li Class="HediffCompProperties_GiveAbility">
<abilityDefs>
<li>ARA_Myrmecocystus_Production_Medicine</li>
</abilityDefs>
</li>
<li Class="HediffCompProperties_RemoveIfOtherHediff">
<hediffs>
<li>ARA_Myrmecocystus_Production_Medicine</li>
</hediffs>
</li>
</comps>
</HediffDef>
<AbilityDef>
<defName>ARA_Myrmecocystus_Production_Medicine</defName>
<label>蜜罐种转换——医药专精</label>
<description>使蜜罐种发生内驱性进化,以牺牲生产阿拉克涅虫蜜的代价,使其可以孵化医药茧,并允许使用医疗能力和操纵拟线种。\n\n该进化过程不可逆</description>
<iconPath>ArachnaeSwarm/UI/Abilities/ARA_Myrmecocystus_Production_Medicine</iconPath>
<cooldownTicksRange>1800</cooldownTicksRange>
<hostile>false</hostile>
<groupAbility>true</groupAbility>
<displayGizmoWhileUndrafted>true</displayGizmoWhileUndrafted>
<disableGizmoWhileUndrafted>false</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_Myrmecocystus_Production_Medicine</hediffDef>
<onlyApplyToSelf>True</onlyApplyToSelf>
<replaceExisting>true</replaceExisting>
<severity>1</severity>
</li>
<li Class="ArachnaeSwarm.CompProperties_AbilityResearchPrereq">
<requiredResearch>ARA_Technology_1MED</requiredResearch>
<failMessage>需要科技 节点MED-1"制药" 以解锁进化</failMessage>
</li>
</comps>
</AbilityDef>
<HediffDef>
<defName>ARA_Myrmecocystus_Production_Medicine</defName>
<label>医疗专精</label>
<description>这只阿拉克涅蜜罐种已经获得拔耀,不再生产虫蜜,而是生产巢穴所稀缺的药物、化学品,并可以操纵拟线种。</description>
<descriptionHyperlinks>
<ThingDef>ARA_InsectJelly</ThingDef>
</descriptionHyperlinks>
<hediffClass>HediffWithComps</hediffClass>
<defaultLabelColor>(0.6, 0.4, 0.8)</defaultLabelColor>
<isBad>false</isBad>
<scenarioCanAdd>false</scenarioCanAdd>
<maxSeverity>1.0</maxSeverity>
<stages>
<li>
<minSeverity>0.01</minSeverity>
<statOffsets>
<MedicalTendQualityOffset>1</MedicalTendQualityOffset>
</statOffsets>
</li>
</stages>
<comps>
<li Class="HediffCompProperties_GiveAbility">
<abilityDefs>
<li>ARA_Cocoon_Medicine</li>
<li>ARA_MimicNematode_Needle_Fire</li>
</abilityDefs>
</li>
</comps>
</HediffDef>
</Defs>

View File

@@ -0,0 +1,259 @@
<?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_1WMT</defName>
<label>节点WMT-1"突破"</label>
<description>允许女皇种进化到下一个阶段。</description>
<baseCost>150</baseCost>
<researchViewX>4.50</researchViewX>
<researchViewY>3.20</researchViewY>
<requiredResearchBuilding>ARA_ResearchBench</requiredResearchBuilding>
<prerequisites>
<li>ARA_Base_Technology</li>
</prerequisites>
</ResearchProjectDef>
<ResearchProjectDef ParentName="ARA_techBase">
<defName>ARA_Technology_2WMT</defName>
<label>节点WMT-2"突破2"</label>
<description>允许女皇种进化到下一个阶段。</description>
<baseCost>150</baseCost>
<researchViewX>8.50</researchViewX>
<researchViewY>3.20</researchViewY>
<requiredResearchBuilding>ARA_ResearchBench</requiredResearchBuilding>
<prerequisites>
<li>ARA_Technology_1WMT</li>
<li>ARA_Technology_6KYC</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_8VXI</defName>
<label>节点VXI-7"巨型酸腺"</label>
<description>允许工艺种孵化新的武器。</description>
<baseCost>150</baseCost>
<researchViewX>5.50</researchViewX>
<researchViewY>0.30</researchViewY>
<requiredResearchBuilding>ARA_ResearchBench</requiredResearchBuilding>
<prerequisites>
<li>ARA_Technology_6VXI</li>
<li>ARA_Technology_1WMT</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>5.10</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>6.50</researchViewX>
<researchViewY>4.60</researchViewY>
<requiredResearchBuilding>ARA_ResearchBench</requiredResearchBuilding>
<prerequisites>
<li>ARA_Technology_1WMT</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>4.10</researchViewY>
<requiredResearchBuilding>ARA_ResearchBench</requiredResearchBuilding>
<prerequisites>
<li>ARA_Technology_1WMT</li>
</prerequisites>
</ResearchProjectDef>
<ResearchProjectDef ParentName="ARA_techBase">
<defName>ARA_Technology_5KYC</defName>
<label>节点KYC-5"巨甲"</label>
<description>允许女皇种孵化新的虫族——浓雾种,一种拥有厚重甲壳的大型督虫,可以释放烟雾、阻燃剂和召唤虫族增援的信息素以协助虫群进行集群冲击。</description>
<baseCost>150</baseCost>
<researchViewX>5.50</researchViewX>
<researchViewY>4.60</researchViewY>
<requiredResearchBuilding>ARA_ResearchBench</requiredResearchBuilding>
<prerequisites>
<li>ARA_Technology_1WMT</li>
</prerequisites>
</ResearchProjectDef>
<ResearchProjectDef ParentName="ARA_techBase">
<defName>ARA_Technology_6KYC</defName>
<label>节点KYC-6"灵脑"</label>
<description>允许女皇种孵化新的虫族——织域种,一种寿命长且拥有强大灵能的特殊,不仅能协助虫群的科研工作,也能承担战场指挥官的责任。</description>
<baseCost>150</baseCost>
<researchViewX>7.50</researchViewX>
<researchViewY>3.60</researchViewY>
<requiredResearchBuilding>ARA_ResearchBench</requiredResearchBuilding>
<prerequisites>
<li>ARA_Technology_1WMT</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>1.40</researchViewY>
<requiredResearchBuilding>ARA_ResearchBench</requiredResearchBuilding>
<prerequisites>
<li>ARA_Base_Technology</li>
</prerequisites>
</ResearchProjectDef>
<ResearchProjectDef ParentName="ARA_techBase">
<defName>ARA_Technology_1VTE</defName>
<label>节点VTE-1"爆发激素"</label>
<description>允许一部分拥有厚重甲壳的阿拉克涅督虫使用追踪冲撞攻击敌军。</description>
<baseCost>150</baseCost>
<researchViewX>6.50</researchViewX>
<researchViewY>5.10</researchViewY>
<requiredResearchBuilding>ARA_ResearchBench</requiredResearchBuilding>
<prerequisites>
<li>ARA_Technology_1KYC</li>
<li>ARA_Technology_5KYC</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>0.80</researchViewY>
<requiredResearchBuilding>ARA_ResearchBench</requiredResearchBuilding>
<prerequisites>
<li>ARA_Base_Technology</li>
</prerequisites>
</ResearchProjectDef>
<ResearchProjectDef ParentName="ARA_techBase">
<defName>ARA_Technology_6PAV</defName>
<label>节点PAV-6"暴雨"</label>
<description>允许工艺种孵化新的毒针类武器茧。</description>
<baseCost>150</baseCost>
<researchViewX>5.50</researchViewX>
<researchViewY>0.90</researchViewY>
<requiredResearchBuilding>ARA_ResearchBench</requiredResearchBuilding>
<prerequisites>
<li>ARA_Technology_5PAV</li>
<li>ARA_Technology_1WMT</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>2.00</researchViewY>
<requiredResearchBuilding>ARA_ResearchBench</requiredResearchBuilding>
<prerequisites>
<li>ARA_Base_Technology</li>
</prerequisites>
</ResearchProjectDef>
<ResearchProjectDef ParentName="ARA_techBase">
<defName>ARA_Technology_6SHL</defName>
<label>节点SHL-6"温度控制"</label>
<description>允许虫族建造一种可以控制房间温度的特殊固定辅虫。</description>
<baseCost>150</baseCost>
<researchViewX>2.00</researchViewX>
<researchViewY>2.00</researchViewY>
<requiredResearchBuilding>ARA_ResearchBench</requiredResearchBuilding>
<prerequisites>
<li>ARA_Base_Technology</li>
</prerequisites>
</ResearchProjectDef>
<!-- 子巢发展 -->
<ResearchProjectDef ParentName="ARA_techBase">
<defName>ARA_Technology_6SPV</defName>
<label>节点SPV-6"辅虫巢"</label>
<description>允许工艺种孵化新的武器。</description>
<baseCost>150</baseCost>
<researchViewX>5.50</researchViewX>
<researchViewY>1.50</researchViewY>
<requiredResearchBuilding>ARA_ResearchBench</requiredResearchBuilding>
<prerequisites>
<li>ARA_Technology_1WMT</li>
<li>ARA_Technology_5PAV</li>
</prerequisites>
</ResearchProjectDef>
<!-- 药物发展 -->
<ResearchProjectDef ParentName="ARA_techBase">
<defName>ARA_Technology_1MED</defName>
<label>节点MED-1"制药"</label>
<description>允许蜜罐种进行定向进化,以强化其自身的医疗能力并解锁孵化医药茧的技能。</description>
<baseCost>150</baseCost>
<researchViewX>5.50</researchViewX>
<researchViewY>2.70</researchViewY>
<requiredResearchBuilding>ARA_ResearchBench</requiredResearchBuilding>
<prerequisites>
<li>ARA_Technology_1WMT</li>
</prerequisites>
</ResearchProjectDef>
<ResearchProjectDef ParentName="ARA_techBase">
<defName>ARA_Technology_2MED</defName>
<label>节点MED-2"拟线寄生"</label>
<description>允许蜜罐种使用拟线种寄生的能力,并在医药茧中解锁拟线种抑制剂的制作。</description>
<baseCost>150</baseCost>
<researchViewX>6.50</researchViewX>
<researchViewY>2.70</researchViewY>
<requiredResearchBuilding>ARA_ResearchBench</requiredResearchBuilding>
<prerequisites>
<li>ARA_Technology_1MED</li>
<li>ARA_Technology_5PAV</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

@@ -5,7 +5,7 @@
<label>新阿拉克涅虫巢</label>
<description>一只阿拉克涅虫族女皇种降落在荒无人烟的边缘世界,准备着手建立属于自己的虫巢。</description>
<scenario>
<summary>以一只阿拉克涅虫族女皇种为初始殖民者开始游戏。</summary>
<summary>以一只阿拉克涅虫族女皇种为初始殖民者开始游戏附带4枚初诞阿拉克涅虫卵囊</summary>
<playerFaction>
<def>PlayerFaction</def>
<factionDef>ARA_New_Hive</factionDef>
@@ -52,7 +52,7 @@
<li Class="ScenPart_StartingThing_Defined">
<def>StartingThing_Defined</def>
<thingDef>ARA_InsectJelly</thingDef>
<count>60</count>
<count>200</count>
</li>
<li Class="ScenPart_StartingThing_Defined">
<def>StartingThing_Defined</def>
@@ -62,7 +62,7 @@
<li Class="ScenPart_StartingThing_Defined">
<def>StartingThing_Defined</def>
<thingDef>ARA_InteractiveEggSac_Start</thingDef>
<count>3</count>
<count>4</count>
</li>
<!-- 附近的物品 -->
<li Class="ScenPart_ScatterThingsNearPlayerStart">
@@ -81,6 +81,11 @@
<thingDef>Steel</thingDef>
<count>720</count>
</li>
<!-- 初始科技 -->
<li Class="ScenPart_StartingResearch">
<def>StartingResearch</def>
<project>ARA_Base_Technology</project>
</li>
</parts>
</scenario>
</ScenarioDef>

View File

@@ -0,0 +1,26 @@
<?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>
<StatDef>
<defName>NutrientTransmissionEfficiency</defName>
<label>生物质传输效率</label>
<description>减少无线传输生物质时的燃料消耗。最终消耗量将乘以 (1 - 效率)。</description>
<category>Building</category>
<defaultBaseValue>0</defaultBaseValue>
<minValue>0</minValue>
<toStringStyle>PercentZero</toStringStyle>
<displayPriorityInCategory>8000</displayPriorityInCategory>
</StatDef>
</Defs>

View File

@@ -0,0 +1,190 @@
<?xml version="1.0" encoding="utf-8"?>
<Defs>
<StorytellerDef ParentName="BaseStoryteller">
<defName>ARA_Lyne</defName>
<label>「织域种」蛉</label>
<description>蛉是一只阿拉克涅织域种督虫,作为讲述者时行为和「经典」卡桑德拉相近,但是会加强大型袭击的难度。此外,选择蛉作为讲述者时,将会开启阿拉克涅虫巢的新手引导,以帮助新巢穴适应这个世界。</description>
<portraitLarge>ArachnaeSwarm/Storyteller/ARA_Lyne</portraitLarge>
<portraitTiny>ArachnaeSwarm/Storyteller/ARA_Lyne_TINY</portraitTiny>
<listOrder>20</listOrder>
<comps>
<!-- Intro -->
<!-- <li Class="StorytellerCompProperties_ClassicIntro"/> -->
<!-- 袭击生成器 -->
<li Class="StorytellerCompProperties_OnOffCycle">
<category>ThreatBig</category> <!-- 大型袭击 -->
<minDaysPassed>15.0</minDaysPassed> <!-- 最低在15日后开始生成 -->
<onDays>2</onDays> <!-- 每个周期(12天)有多少天允许生成袭击 -->
<offDays>9</offDays> <!-- 每个周期(12天)有多少天不生成袭击 -->
<minSpacingDays>0.25</minSpacingDays> <!-- 事件最小间隔 -->
<numIncidentsRange>2~3</numIncidentsRange> <!-- 事件点数 -->
<!-- <forceRaidEnemyBeforeDaysPassed>20</forceRaidEnemyBeforeDaysPassed> -->
<disallowedTargetTags>
<li>Map_RaidBeacon</li>
</disallowedTargetTags>
</li>
<li Class="StorytellerCompProperties_OnOffCycle">
<category>ThreatSmall</category>
<minDaysPassed>11.0</minDaysPassed>
<onDays>4.6</onDays>
<offDays>6.0</offDays>
<numIncidentsRange>0.2~1</numIncidentsRange>
<acceptPercentFactorPerThreatPointsCurve>
<points>
<li>(800, 1)</li>
<li>(2800, 0)</li>
</points>
</acceptPercentFactorPerThreatPointsCurve>
</li>
<li Class="StorytellerCompProperties_ThreatsGenerator">
<allowedTargetTags>
<li>Map_RaidBeacon</li>
</allowedTargetTags>
<parms>
<allowedThreats>Raids</allowedThreats>
<onDays>1.0</onDays>
<offDays>0.5</offDays>
<minSpacingDays>0.04</minSpacingDays>
<numIncidentsRange>1~2</numIncidentsRange>
<minThreatPoints>500</minThreatPoints>
</parms>
</li>
<!-- Home misc incidents-->
<li Class="StorytellerCompProperties_CategoryMTB">
<category>Misc</category>
<allowedTargetTags>
<li>Map_PlayerHome</li>
</allowedTargetTags>
<minDaysPassed>5</minDaysPassed>
<mtbDays>4.8</mtbDays>
</li>
<li Class="StorytellerCompProperties_ShipChunkDrop"/>
<li Class="StorytellerCompProperties_Disease">
<category>DiseaseHuman</category>
<minDaysPassed>9</minDaysPassed>
</li>
<li Class="StorytellerCompProperties_Disease">
<category>DiseaseAnimal</category>
<minDaysPassed>9</minDaysPassed>
</li>
<!-- Ally/neutral interaction -->
<li Class="StorytellerCompProperties_FactionInteraction">
<incident>RaidFriendly</incident>
<baseIncidentsPerYear>15</baseIncidentsPerYear>
<minSpacingDays>0.4</minSpacingDays>
<fullAlliesOnly>true</fullAlliesOnly>
<minDanger>High</minDanger>
</li>
<li Class="StorytellerCompProperties_FactionInteraction">
<incident>TraderCaravanArrival</incident>
<minDaysPassed>5</minDaysPassed>
<baseIncidentsPerYear>5</baseIncidentsPerYear>
<minSpacingDays>6</minSpacingDays>
<allowedTargetTags>
<li>Map_PlayerHome</li>
</allowedTargetTags>
</li>
<li Class="StorytellerCompProperties_FactionInteraction">
<incident>VisitorGroup</incident>
<minDaysPassed>3</minDaysPassed>
<baseIncidentsPerYear>4</baseIncidentsPerYear>
<minSpacingDays>5</minSpacingDays>
<allowedTargetTags>
<li>Map_PlayerHome</li>
</allowedTargetTags>
</li>
<li Class="StorytellerCompProperties_FactionInteraction">
<incident>TravelerGroup</incident>
<minDaysPassed>1</minDaysPassed>
<baseIncidentsPerYear>6</baseIncidentsPerYear>
<minSpacingDays>1</minSpacingDays>
<allowedTargetTags>
<li>Map_PlayerHome</li>
</allowedTargetTags>
</li>
<!-- Caravan / temp map -->
<li Class="StorytellerCompProperties_CategoryIndividualMTBByBiome">
<category>Misc</category>
<allowedTargetTags>
<li>Caravan</li>
<li>Map_TempIncident</li>
</allowedTargetTags>
</li>
<li Class="StorytellerCompProperties_CategoryIndividualMTBByBiome">
<category>ThreatSmall</category>
<applyCaravanVisibility>true</applyCaravanVisibility>
<allowedTargetTags>
<li>Caravan</li>
<li>Map_TempIncident</li>
</allowedTargetTags>
</li>
<li Class="StorytellerCompProperties_CategoryIndividualMTBByBiome">
<category>ThreatBig</category>
<applyCaravanVisibility>true</applyCaravanVisibility>
<allowedTargetTags>
<li>Caravan</li>
<li>Map_TempIncident</li>
</allowedTargetTags>
</li>
<!-- Quests - non-Royalty -->
<li Class="StorytellerCompProperties_RandomQuest">
<category>GiveQuest</category>
<allowedTargetTags>
<li>World</li>
</allowedTargetTags>
<onDays>10</onDays>
<numIncidentsRange>1</numIncidentsRange>
<acceptFractionByDaysPassedCurve>
<points>
<li>(8, 0)</li>
<li>(15, 1)</li>
</points>
</acceptFractionByDaysPassedCurve>
<minSpacingDays>3</minSpacingDays>
<disableIfAnyModActive>
<li>Ludeon.RimWorld.Royalty</li>
</disableIfAnyModActive>
</li>
<!-- Quests - Royalty -->
<li Class="StorytellerCompProperties_RandomQuest">
<category>GiveQuest</category>
<allowedTargetTags>
<li>World</li>
</allowedTargetTags>
<onDays>12</onDays>
<numIncidentsRange>2</numIncidentsRange>
<acceptFractionByDaysPassedCurve>
<points>
<li>(8, 0)</li>
<li>(15, 1)</li>
</points>
</acceptFractionByDaysPassedCurve>
<minSpacingDays>3</minSpacingDays>
<enableIfAnyModActive>
<li>Ludeon.RimWorld.Royalty</li>
</enableIfAnyModActive>
</li>
<!-- World misc incidents-->
<li Class="StorytellerCompProperties_CategoryMTB">
<category>Misc</category>
<allowedTargetTags>
<li>World</li>
</allowedTargetTags>
<minDaysPassed>15</minDaysPassed>
<mtbDays>15</mtbDays>
</li>
<!-- Orbital trader -->
<li Class="StorytellerCompProperties_OnOffCycle">
<incident>OrbitalTraderArrival</incident>
<onDays>7</onDays>
<offDays>8</offDays>
<numIncidentsRange>1</numIncidentsRange>
</li>
<!-- Triggered -->
<li Class="StorytellerCompProperties_Triggered">
<incident>StrangerInBlackJoin</incident>
<delayTicks>180</delayTicks>
</li>
</comps>
</StorytellerDef>
</Defs>

View File

@@ -7,7 +7,10 @@
<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>
@@ -31,7 +34,6 @@
<baseBodySize>0.5</baseBodySize>
<baseHealthScale>1</baseHealthScale>
<useMeatFrom>Megaspider</useMeatFrom>
<lifeExpectancy>0.1</lifeExpectancy>
<trainability>Advanced</trainability>
<!-- <hasCorpse>false</hasCorpse> -->
<!-- <specialTrainables>
@@ -57,35 +59,32 @@
<li>(0.0, 0, -0.12)</li>
<li>(-0.07, 0, 0.08)</li>
</headPosPerRotation>
<!-- <deathAction Class="DeathActionProperties_Vanish">
<deathAction Class="DeathActionProperties_Vanish">
<workerClass>DeathActionWorker_Vanish</workerClass>
</deathAction> -->
<filth>Filth_Slime</filth>
<filthCountRange>1~3</filthCountRange>
</deathAction>
</race>
</ThingDef>
<ThingDef ParentName="ArachnaeBase_Race">
<defName>ArachnaeBase_Race_Slavey</defName>
<label>阿拉克涅苦役种</label>
<description>阿拉克涅辅虫之一,智力低下,能执行搬运工作,注定在度过短暂的时光后死亡。</description>
<comps>
<li Class="ArachnaeSwarm.CompProperties_AdvancedTraining">
<!-- <skillLevels>
<li>
<skill>Plants</skill>
<level>8</level>
</li>
<li>
<skill>Mining</skill>
<level>8</level>
</li>
</skillLevels> -->
<trainables>
<li>
<trainable>Haul</trainable>
<trainInstantly>true</trainInstantly>
<setWanted>true</setWanted>
</li>
</trainables>
<disableAllSkillDecay>true</disableAllSkillDecay> <!-- 阻止这个动物的所有技能衰减 -->
<li Class="CompProperties_MechPowerCell">
<totalPowerTicks>1440000</totalPowerTicks> <!-- 2 hours -->
<labelOverride>寿命</labelOverride>
<tooltipOverride>这种特殊的阿拉克涅辅虫从出生起就走在死亡的道路上了——它们的寿命就是如此短暂。</tooltipOverride>
<showGizmoOnNonPlayerControlled>true</showGizmoOnNonPlayerControlled>
</li>
<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>
@@ -107,7 +106,7 @@
<setWanted>true</setWanted>
</li>
</trainables>
<disableAllSkillDecay>true</disableAllSkillDecay> <!-- 阻止这个动物的所有技能衰减 -->
<disableAllSkillDecay>true</disableAllSkillDecay> <!-- 阻止这个动物的所有技能衰减 -->
</li>
</comps>
</ThingDef>
@@ -135,52 +134,35 @@
<setWanted>true</setWanted>
</li>
</trainables>
<disableAllSkillDecay>true</disableAllSkillDecay> <!-- 阻止这个动物的所有技能衰减 -->
<disableAllSkillDecay>true</disableAllSkillDecay> <!-- 阻止这个动物的所有技能衰减 -->
</li>
</comps>
</ThingDef>
<ThingDef ParentName="BaseDrone" MayRequire="Ludeon.RimWorld.Odyssey">
<defName>ArachnaeBase_Race_Acid</defName>
<label>阿拉克涅酸嗜</label>
<description>阿拉克涅辅虫之一,智力低下,一般被作为活体炮弹打出,击中敌人后若是还没散架,就会继续依靠带酸液的颚撕咬敌军</description>
<ThingDef ParentName="ArachnaeBase_Race">
<defName>ArachnaeBase_Race_Maid</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>
<specialTrainables>
<li>ARA_Cleaning</li>
</specialTrainables>
</race>
<statBases>
<MoveSpeed>6</MoveSpeed>
</statBases>
<comps>
<li Class="CompProperties_MechPowerCell">
<totalPowerTicks>4400</totalPowerTicks> <!-- 2 hours -->
<labelOverride>寿命</labelOverride>
<tooltipOverride>这种特殊的阿拉克涅辅虫从出生起就走在死亡的道路上了——它们的寿命就是如此短暂。</tooltipOverride>
<showGizmoOnNonPlayerControlled>true</showGizmoOnNonPlayerControlled>
<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>
<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>
</Defs>
</Defs>

View File

@@ -0,0 +1,207 @@
<?xml version="1.0" encoding="utf-8"?>
<Defs>
<ThingDef ParentName="AnimalThingBase" Name="ARA_BaseDroneSwarm" Abstract="True">
<statBases>
<MarketValue>1200</MarketValue>
<PsychicSensitivity>0</PsychicSensitivity>
<ToxicResistance>1</ToxicResistance>
<Flammability>0</Flammability>
<ComfyTemperatureMin>-100</ComfyTemperatureMin>
<ComfyTemperatureMax>250</ComfyTemperatureMax>
<MeatAmount>0</MeatAmount>
<ToxicEnvironmentResistance>1</ToxicEnvironmentResistance>
<VacuumResistance>1</VacuumResistance>
</statBases>
<receivesSignals>true</receivesSignals>
<tradeability>None</tradeability>
<race>
<alwaysAwake>true</alwaysAwake>
<fleshType>Insectoid</fleshType>
<needsRest>false</needsRest>
<hasGenders>false</hasGenders>
<hasCorpse>false</hasCorpse>
<foodType>None</foodType>
<bloodDef>Filth_BloodInsect</bloodDef>
<disableIgniteVerb>true</disableIgniteVerb>
<trainability>None</trainability>
<soundCallIntervalRange>1000~2000</soundCallIntervalRange>
<soundCallIntervalFriendlyFactor>2</soundCallIntervalFriendlyFactor>
<thinkTreeConstant>SentryDroneConstant</thinkTreeConstant>
<hideTrainingTab>true</hideTrainingTab>
<intelligence>ToolUser</intelligence>
<thinkTreeMain>Drone</thinkTreeMain>
<canFlyInVacuum>true</canFlyInVacuum>
</race>
<tools>
</tools>
<killedLeavings>
</killedLeavings>
<comps>
<li Class="CompProperties_MechPowerCell">
<totalPowerTicks>4400</totalPowerTicks> <!-- 2 hours -->
<labelOverride>寿命</labelOverride>
<tooltipOverride>这种特殊的阿拉克涅辅虫从出生起就走在死亡的道路上了——它们的寿命就是如此短暂。</tooltipOverride>
<showGizmoOnNonPlayerControlled>true</showGizmoOnNonPlayerControlled>
</li>
</comps>
</ThingDef>
<ThingDef ParentName="ARA_BaseDroneSwarm">
<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>
<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>
<ThingDef ParentName="ARA_BaseDroneSwarm">
<defName>ArachnaeBase_Race_Skyhive</defName>
<label>阿拉克涅天巢种</label>
<description>阿拉克涅辅虫之一,智力低下,通常被督虫们当成导弹打出,拥有在飞行中调整姿态以追踪敌军的能力。命中敌军后,这些虫族会趴在敌军身上进行啃咬,直到鳌刺松动而掉在地上。</description>
<race>
<flightStartChanceOnJobStart>1.0</flightStartChanceOnJobStart>
<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>
<MaxFlightTime>9999</MaxFlightTime>
<FlightCooldown>0</FlightCooldown>
</statBases>
<tools Inherit="False">
<li>
<label>巨颚</label>
<capacities>
<li>ARA_Bite</li>
</capacities>
<power>6</power>
<cooldownTime>2.6</cooldownTime>
<linkedBodyPartsGroup>HeadAttackTool</linkedBodyPartsGroup>
<ensureLinkedBodyPartsGroupAlwaysUsable>true</ensureLinkedBodyPartsGroupAlwaysUsable>
</li>
</tools>
</ThingDef>
<ThingDef ParentName="ARA_BaseDroneSwarm">
<defName>ArachnaeBase_Race_Acidling</defName>
<label>阿拉克涅爆裂种</label>
<description>阿拉克涅辅虫之一,智力低下,一般以自杀式袭击的方式伤害敌军,靠近敌人后就会引爆酸囊产生危险的酸性雾气。</description>
<race>
<thinkTreeConstant>HunterDroneConstant</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="ArachnaeSwarm.CompProperties_HunterExplosion">
<explosionRadius>3.9</explosionRadius> <!-- Mapped from smokeRadius -->
<explosionDamageType>ARA_AcidBurn</explosionDamageType>
<explosionDamageAmount>40</explosionDamageAmount>
<armorPenetration>0.5</armorPenetration>
<explosionSound>Explosion_Smoke</explosionSound>
<postExplosionSpawnThingDef>ARA_AcidGasCloud</postExplosionSpawnThingDef>
<postExplosionSpawnChance>1</postExplosionSpawnChance>
<postExplosionSpawnThingCount>1</postExplosionSpawnThingCount>
</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>
<ToolCapacityDef>
<defName>ARA_Bite</defName>
<label>撕咬</label>
</ToolCapacityDef>
<ManeuverDef>
<defName>ARA_Bite</defName>
<requiredCapacity>ARA_Bite</requiredCapacity>
<verb>
<verbClass>Verb_MeleeAttackDamage</verbClass>
<meleeDamageDef>Bite</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

@@ -0,0 +1,159 @@
<?xml version="1.0" encoding="utf-8"?>
<Defs>
<MutantDef ParentName="BaseMutantEntity">
<defName>ARA_MimicNematodeShambler</defName>
<label>阿拉克涅拟线种寄生体</label>
<description>阿拉克涅拟线种是虫群中最神秘的分支之一。它们与原虫种同源,但在进化之路上并未发展出高级智慧,而是走向了一条截然不同的道路:寄生。拟线种是无法脱离宿主独立存活的寄生虫。一旦寄生于生物体内,它们会长期潜伏,最终逐步接管宿主的神经与代谢系统,将其变为受其操控的行尸走肉——“寄生体”。得益于超凡的细胞复制与再生能力,拟线种能够模仿并替代宿主的细胞结构,这使得寄生体拥有了惊人的自我修复能力。然而,这种寄生关系也极具侵略性:拟线种的虫卵遍布寄生体体表,任何被寄生体攻击的生物都有可能被感染,最终沦为新的寄生体。尽管拟线虫将寄生体的新陈代谢维持在极低水平,但寄生体本身并不会主动觅食。因此,当能量耗尽后,它们终将迎来“死亡”。</description>
<hediff>ARA_MimicNematodeShambler</hediff>
<thinkTree>ARA_WorkingShambler</thinkTree>
<thinkTreeConstant>ShamblerConstant</thinkTreeConstant>
<hideLabel>true</hideLabel>
<namePrefix>拟线种寄生体 </namePrefix>
<useCorpseGraphics>false</useCorpseGraphics>
<isConsideredCorpse>true</isConsideredCorpse>
<bloodDef>Filth_DarkBlood</bloodDef>
<bloodSmearDef>Filth_DarkBloodSmear</bloodSmearDef>
<entitledToMedicalCare>false</entitledToMedicalCare>
<removeAllInjuries>true</removeAllInjuries>
<restoreLegs>true</restoreLegs>
<defaultFaction>Entities</defaultFaction>
<standingAnimation>ShamblerSway</standingAnimation>
<canOpenDoors>false</canOpenDoors>
<makesFootprints>false</makesFootprints>
<tameable>false</tameable>
<clearMutantStatusOnDeath>true</clearMutantStatusOnDeath>
<canTravelInCaravan>false</canTravelInCaravan>
<canAttackWhileCrawling>true</canAttackWhileCrawling>
<respectsAllowedArea>true</respectsAllowedArea>
<disableFlying>true</disableFlying>
<canGainXP>false</canGainXP>
<canBeDrafted>true</canBeDrafted>
<disableHostilityResponse>true</disableHostilityResponse>
<deathOnDownedChance>0.25</deathOnDownedChance>
<woundColor>(0.3, 0.3, 0.0, 1.0)</woundColor>
<anomalyKnowledgeOffset>0</anomalyKnowledgeOffset>
<knowledgeCategory>Basic</knowledgeCategory>
<!--<codexEntry>Shambler</codexEntry>-->
<!-- Sounds -->
<soundAttackChance>0.25</soundAttackChance>
<soundCall>Pawn_Shambler_Call</soundCall>
<soundAttack>Pawn_Shambler_Attack</soundAttack>
<soundWounded>Pawn_Shambler_Wounded</soundWounded>
<soundDeath>Pawn_Shambler_Killed</soundDeath>
<removesHediffs>
<li>ARA_MimicNematode</li>
</removesHediffs>
<workDisables Inherit="false">
<li>ManualSkilled</li>
<li>Intellectual</li>
<li>Artistic</li>
<li>Caring</li>
<li>Social</li>
<li>PlantWork</li>
<li>Mining</li>
<li>Hunting</li>
<li>Constructing</li>
<li>Cooking</li>
<li>Shooting</li>
</workDisables>
<!-- Rendering -->
<renderNodeProperties>
<li Class="PawnRenderNodeProperties_Overlay">
<debugLabel>Shambler wounds</debugLabel>
<workerClass>PawnRenderNodeWorker_OverlayShambler</workerClass>
<overlayLayer>Body</overlayLayer>
<baseLayer>20</baseLayer>
<pawnType>HumanlikeOnly</pawnType>
</li>
<li>
<debugLabel>Shambler wounds</debugLabel>
<nodeClass>PawnRenderNode_AnimalPart</nodeClass>
<workerClass>PawnRenderNodeWorker_OverlayShambler</workerClass>
<overlayLayer>Body</overlayLayer>
<baseLayer>20</baseLayer>
<pawnType>NonHumanlikeOnly</pawnType>
</li>
</renderNodeProperties>
<tools>
<li>
<label>撕咬</label>
<capacities>
<li>ARA_MimicNematodeShamblerBite</li>
</capacities>
<power>8.2</power>
<cooldownTime>2</cooldownTime>
<linkedBodyPartsGroup>Teeth</linkedBodyPartsGroup>
<chanceFactor>1</chanceFactor>
<soundMeleeHit>Pawn_Melee_HumanBite_Hit</soundMeleeHit>
<soundMeleeMiss>Pawn_Melee_HumanBite_Miss</soundMeleeMiss>
</li>
<li>
<label>巨镰</label>
<capacities>
<li>Cut</li>
</capacities>
<power>15</power>
<cooldownTime>2.5</cooldownTime>
<linkedBodyPartsGroup>LeftHand</linkedBodyPartsGroup>
<!-- <ensureLinkedBodyPartsGroupAlwaysUsable>true</ensureLinkedBodyPartsGroupAlwaysUsable> -->
<chanceFactor>0.5</chanceFactor>
<alwaysTreatAsWeapon>true</alwaysTreatAsWeapon>
</li>
<li>
<label>巨镰</label>
<capacities>
<li>Cut</li>
</capacities>
<power>15</power>
<cooldownTime>2.5</cooldownTime>
<linkedBodyPartsGroup>RightHand</linkedBodyPartsGroup>
<!-- <ensureLinkedBodyPartsGroupAlwaysUsable>true</ensureLinkedBodyPartsGroupAlwaysUsable> -->
<chanceFactor>0.5</chanceFactor>
<alwaysTreatAsWeapon>true</alwaysTreatAsWeapon>
</li>
</tools>
</MutantDef>
<ToolCapacityDef>
<defName>ARA_MimicNematodeShamblerBite</defName>
<label>撕咬</label>
</ToolCapacityDef>
<ManeuverDef>
<defName>ARA_MimicNematodeShamblerBite</defName>
<requiredCapacity>ARA_MimicNematodeShamblerBite</requiredCapacity>
<verb>
<verbClass>Verb_MeleeAttackDamage</verbClass>
<meleeDamageDef>ARA_MimicNematodeBite</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>
<PawnKindDef ParentName="MutantBase" Name="ARA_ShamblerBase" Abstract="True">
<mutant>ARA_MimicNematodeShambler</mutant>
<generateInitialNonFamilyRelations>false</generateInitialNonFamilyRelations>
</PawnKindDef>
<PawnKindDef ParentName="ARA_ShamblerBase">
<defName>ARA_MimicNematodeShamblerSwarmer</defName>
<label>阿拉克涅拟线种寄生体</label>
<combatPower>40</combatPower>
<gearHealthRange>0.2~0.4</gearHealthRange>
<itemQuality>Poor</itemQuality>
<apparelMoney>0~100</apparelMoney>
<apparelAllowHeadgearChance>0</apparelAllowHeadgearChance>
<apparelTags>
<li>IndustrialBasic</li>
<li>Neolithic</li>
</apparelTags>
<meleeAttackInfectionPathways>
<li>EntityAttacked</li>
</meleeAttackInfectionPathways>
</PawnKindDef>
</Defs>

File diff suppressed because it is too large Load Diff

View File

@@ -4,77 +4,19 @@
<statBases>
<MarketValue>1750</MarketValue>
<MoveSpeed>4.6</MoveSpeed>
<ComfyTemperatureMin>-80</ComfyTemperatureMin>
<ComfyTemperatureMax>32</ComfyTemperatureMax>
<ComfyTemperatureMin>-3000</ComfyTemperatureMin>
<ComfyTemperatureMax>3000</ComfyTemperatureMax>
<RoyalFavorValue>3</RoyalFavorValue>
</statBases>
<tools>
<li>
<label>left fist</label>
<labelNoLocation>fist</labelNoLocation>
<capacities>
<li>Blunt</li>
</capacities>
<power>8.2</power>
<cooldownTime>2</cooldownTime>
<linkedBodyPartsGroup>LeftHand</linkedBodyPartsGroup>
<surpriseAttack>
<extraMeleeDamages>
<li>
<def>Stun</def>
<amount>14</amount>
</li>
</extraMeleeDamages>
</surpriseAttack>
</li>
<li>
<label>right fist</label>
<labelNoLocation>fist</labelNoLocation>
<capacities>
<li>Blunt</li>
</capacities>
<power>8.2</power>
<cooldownTime>2</cooldownTime>
<linkedBodyPartsGroup>RightHand</linkedBodyPartsGroup>
<surpriseAttack>
<extraMeleeDamages>
<li>
<def>Stun</def>
<amount>14</amount>
</li>
</extraMeleeDamages>
</surpriseAttack>
</li>
<li>
<label>teeth</label>
<capacities>
<li>Bite</li>
</capacities>
<power>8.2</power>
<cooldownTime>2</cooldownTime>
<linkedBodyPartsGroup>Teeth</linkedBodyPartsGroup>
<chanceFactor>0.07</chanceFactor>
<soundMeleeHit>Pawn_Melee_HumanBite_Hit</soundMeleeHit>
<soundMeleeMiss>Pawn_Melee_HumanBite_Miss</soundMeleeMiss>
</li>
<li>
<label>head</label>
<capacities>
<li>Blunt</li>
</capacities>
<power>5</power>
<cooldownTime>2</cooldownTime>
<linkedBodyPartsGroup>HeadAttackTool</linkedBodyPartsGroup>
<ensureLinkedBodyPartsGroupAlwaysUsable>true</ensureLinkedBodyPartsGroupAlwaysUsable>
<chanceFactor>0.2</chanceFactor>
</li>
</tools>
<race>
<useMeatFrom>Megaspider</useMeatFrom>
<thinkTreeMain>Humanlike</thinkTreeMain>
<thinkTreeConstant>HumanlikeConstant</thinkTreeConstant>
<intelligence>Humanlike</intelligence>
<makesFootprints>true</makesFootprints>
<lifeExpectancy>80</lifeExpectancy>
<lifeExpectancy>300</lifeExpectancy>
<bloodDef>Filth_Blood</bloodDef>
<bloodSmearDef>Filth_BloodSmear</bloodSmearDef>
<leatherDef>Leather_Human</leatherDef>
@@ -217,6 +159,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">
@@ -394,7 +343,10 @@
<li>
<key>HairDef</key>
<value>
<hasStyle>false</hasStyle>
<hasStyle>true</hasStyle>
<styleTagsOverride>
<li>Bald</li>
</styleTagsOverride>
</value>
</li>
<!-- 纹身 -->
@@ -458,11 +410,12 @@
<!-- 食物列表 -->
<whiteFoodList>
<li>ARA_InsectJelly</li>
<li>ARA_NutrientPasteMeal</li>
<li>ARA_PheromoneSolvent</li>
</whiteFoodList>
<onlyEatRaceRestrictedFood>true</onlyEatRaceRestrictedFood>
<!-- 可以驯服的宠物,主要是防止小虫由别人驯服 -->
<petList>
<li>ArachnaeBase_Race_Slavey</li>
<li>ArachnaeBase_Race_Scavenger</li>
<li>ArachnaeBase_Race_HardJaw</li>
</petList>
@@ -477,6 +430,9 @@
<!-- 生育能力 -->
<onlyReproduceWithRestrictedRaces>true</onlyReproduceWithRestrictedRaces>
<canReproduce>false</canReproduce>
<!-- 允许操纵的配方 -->
<recipeList>
</recipeList>
<!-- 允许的工作台类型,放开以供其他种族使用 -->
<!-- <workGiverList>
<li>WULA_Large_Mechine_proudctor_Bills</li>
@@ -502,6 +458,7 @@
<thoughtSettings>
<!-- 不会产生的想法 -->
<cannotReceiveThoughts>
<li>ARA_CreepyCrawly</li>
<li>Naked</li>
<li>AnyBodyPartButGroinCovered_Disapproved_Female</li>
<li>AnyBodyPartButGroinCovered_Disapproved_Male</li>
@@ -647,14 +604,13 @@
<baseHealthScale>10</baseHealthScale>
<!-- 解剖产物 -->
<leatherDef>ARA_Carapace</leatherDef>
<specificMeatDef>Meat_Megaspider</specificMeatDef>
<soundMeleeHitPawn>Pawn_Melee_BigBash_HitPawn</soundMeleeHitPawn>
<soundMeleeHitBuilding>Pawn_Melee_BigBash_HitBuilding</soundMeleeHitBuilding>
<soundMeleeMiss>Pawn_Melee_BigBash_Miss</soundMeleeMiss>
<soundMeleeDodge>Pawn_MeleeDodge</soundMeleeDodge>
<!-- 年龄阶段 -->
<!-- <lifeExpectancy>5000</lifeExpectancy> -->
<lifeExpectancy>300</lifeExpectancy>
<lifeStageWorkSettings MayRequire="Ludeon.RimWorld.Biotech" Inherit="False">
<Firefighter>0</Firefighter>
<Patient>0</Patient>
@@ -739,7 +695,15 @@
</recipes>
<comps>
<li Class="ArachnaeSwarm.CompProperties_HediffGiver">
<hediffs>
<li>ARA_Queen_0_Stage</li>
<li>ARA_HiveStrength</li>
<li>ARA_HiveMindMaster</li>
</hediffs>
<addChance>1.0</addChance>
<allowDuplicates>false</allowDuplicates>
</li>
</comps>
</AlienRace.ThingDef_AlienRace>
</Defs>

View File

@@ -1,115 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<!-- ==================== Pawn Kind Def ==================== -->
<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>
<!-- 定义阿拉克涅节点虫种族 -->
<AlienRace.ThingDef_AlienRace ParentName="ARA_NodeBase">
<defName>ArachnaeNode_Race_Facehugger</defName>
<label>阿拉克涅原虫种</label>
<description>阿拉克涅原虫,通过独特的神经链接管伸入受害者身体来接管受害者的身体。不同于普通阿拉克涅虫族,阿拉克涅原虫种拥有自我意识,不需要女皇种的监管。</description>
<alienRace>
<generalSettings>
<!-- 各种零件定义 -->
<alienPartGenerator>
<!-- 额外身体部件 -->
<bodyAddons>
<li>
<path>ArachnaeSwarm/Things/ARA_HiveNode/Addons/ArachnaeNode_Race_Myrmecocystus_Addons_Stomach</path>
<inFrontOfBody>false</inFrontOfBody>
<!-- <conditions>
<BodyPart>
<bodyPart>WULA_Addons_Antenna_Bodypart</bodyPart>
</BodyPart>
</conditions> -->
</li>
</bodyAddons>
</alienPartGenerator>
</generalSettings>
<!-- 种族的允许和禁止特化设置 -->
<raceRestriction>
<!-- 食物列表 -->
<whiteFoodList Inherit="False"/>
<blackFoodList>
<li>ARA_InsectJelly</li>
</blackFoodList>
<onlyEatRaceRestrictedFood>false</onlyEatRaceRestrictedFood>
</raceRestriction>
</alienRace>
<comps>
<li Class="ArachnaeSwarm.CompProperties_MilkableArachnae">
<milkDef>ARA_InsectJelly</milkDef>
<milkIntervalDays>3</milkIntervalDays>
<milkAmount>4</milkAmount>
</li>
</comps>
<!-- 基础属性设置 -->
<statBases>
<!-- 移动速度 -->
<MoveSpeed>2</MoveSpeed>
<!-- <RestRateMultiplier>1</RestRateMultiplier> -->
<!-- <HungerRateMultiplier>1</HungerRateMultiplier> -->
<EatingSpeed>5</EatingSpeed>
<MaxNutrition>1</MaxNutrition>
<CarryingCapacity>100</CarryingCapacity>
<MeatAmount>70</MeatAmount>
<LeatherAmount>10</LeatherAmount>
<MeleeDodgeChance>0.5</MeleeDodgeChance>
<!-- <MeleeHitChance>1</MeleeHitChance> -->
<!-- <NegotiationAbility>1</NegotiationAbility> -->
<!-- <SellPriceFactor>1</SellPriceFactor> -->
<!-- <SocialImpact>1</SocialImpact> -->
<!-- <TradePriceImprovement>0.5</TradePriceImprovement> -->
<!-- 自带的甲壳可以防御外部攻击 -->
<ArmorRating_Blunt>0.18</ArmorRating_Blunt>
<ArmorRating_Sharp>0.27</ArmorRating_Sharp>
<ArmorRating_Heat>0.2</ArmorRating_Heat>
</statBases>
<race>
<foodType>OmnivoreHuman,CarnivoreAnimal,OvivoreAnimal,VegetarianRoughAnimal</foodType>
<!-- 身体类型 -->
<body>ArachnaeMyrmecocystus_Body</body>
<!-- 身形大小 -->
<baseBodySize>2.5</baseBodySize>
<!-- 血量上限 -->
<baseHealthScale>3</baseHealthScale>
<!-- 蜜罐虫的寿命很低 -->
<lifeExpectancy>1.5</lifeExpectancy>
<lifeStageAges Inherit="False">
<li>
<def>ArachnaeNode_Myrmecocystus_Adult</def>
<minAge>0</minAge>
</li>
</lifeStageAges>
</race>
</AlienRace.ThingDef_AlienRace>
</Defs>

View File

@@ -0,0 +1,152 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<ThingDef ParentName="MedicineBase">
<defName>ARA_Medicine</defName>
<label>阿拉克涅愈合素</label>
<description>由阿拉克涅医药孵化茧所孵化的药物,效力等同于常规的医药,但是需要在冷藏条件下保存。</description>
<possessionCount>10</possessionCount>
<graphicData>
<texPath>Things/Item/Resource/Medicine/MedicineHerbal</texPath>
<graphicClass>Graphic_StackCount</graphicClass>
<drawSize>0.85</drawSize>
</graphicData>
<techLevel>Animal</techLevel>
<statBases>
<MarketValue>10</MarketValue>
<Mass>0.5</Mass>
<Flammability>1</Flammability>
<MedicalPotency>1</MedicalPotency>
<MedicalQualityMax>1.00</MedicalQualityMax>
<DeteriorationRate>2</DeteriorationRate>
<WorkToMake>700</WorkToMake>
</statBases>
<tickerType>Rare</tickerType>
<comps>
<li Class="CompProperties_Rottable">
<daysToRotStart>150</daysToRotStart>
<rotDestroys>true</rotDestroys>
</li>
</comps>
<allowedArchonexusCount>20</allowedArchonexusCount>
</ThingDef>
<!-- ==================== 信息素 ==================== -->
<ThingDef ParentName="MakeableDrugPillBase">
<defName>ARA_PheromoneSolvent</defName>
<label>阿拉克涅信息素溶剂</label>
<description>一种合成的化学制剂,能够模拟阿拉克涅虫群内部用于区分敌我的信息素。定期注射可以欺骗宿主体内的寄生虫,使其进入休眠的共生状态,从而抑制其致命的增殖行为。</description>
<descriptionHyperlinks>
<HediffDef>ARA_SymbioticStabilizer</HediffDef>
<HediffDef>ARA_MimicNematode</HediffDef>
</descriptionHyperlinks>
<graphicData>
<texPath>ArachnaeSwarm/Item/ARA_PheromoneSolvent</texPath>
<graphicClass>Graphic_Single</graphicClass>
<shaderType>TransparentPostLight</shaderType>
</graphicData>
<rotatable>false</rotatable>
<statBases>
<WorkToMake>1000</WorkToMake>
<MarketValue>50</MarketValue>
<Mass>0.01</Mass>
</statBases>
<techLevel>Animal</techLevel>
<ingestible>
<drugCategory>Medical</drugCategory> <!-- 定义为医疗品,而非娱乐品 -->
<outcomeDoers>
<li Class="IngestionOutcomeDoer_GiveHediff">
<hediffDef>ARA_SymbioticStabilizer</hediffDef>
<severity>1.0</severity> <!-- 每次服用直接将效果补满 -->
</li>
</outcomeDoers>
</ingestible>
<recipeMaker>
<researchPrerequisite>ARA_Technology_2MED</researchPrerequisite> <!-- 假设需要基础制药解锁 -->
<recipeUsers Inherit="False"/>
</recipeMaker>
<costList>
<ARA_InsectJelly>5</ARA_InsectJelly> <!-- 使用虫胶作为特色材料 -->
</costList>
<comps>
<li Class="CompProperties_Drug">
<chemical>ARA_Pheromone</chemical>
<addictiveness>0.05</addictiveness>
<needLevelOffset>1</needLevelOffset>
<listOrder>1000</listOrder>
</li>
</comps>
</ThingDef>
<HediffDef>
<defName>ARA_SymbioticStabilizer</defName>
<label>信息素抑制</label>
<labelNoun>一种信息素抑制效果</labelNoun>
<description>阿拉克涅信息素溶剂的效果正在生效它模拟了虫群的共生信号抑制了体内寄生体的活性。在溶剂生效时不会使得拟线种虫族寄生的进度超过80%。</description>
<hediffClass>HediffWithComps</hediffClass>
<defaultLabelColor>(0.7, 1.0, 0.7)</defaultLabelColor>
<isBad>false</isBad>
<comps>
<li Class="HediffCompProperties_SeverityPerDay">
<severityPerDay>-0.34</severityPerDay> <!-- 严重性每天降低0.34大约3天从1.0掉到0 -->
<showHoursToRecover>true</showHoursToRecover>
</li>
</comps>
</HediffDef>
<ChemicalDef>
<defName>ARA_Pheromone</defName>
<label>阿拉克涅信息素</label>
<addictionHediff>ARA_PheromoneAddiction</addictionHediff>
</ChemicalDef>
<NeedDef ParentName="DrugAddictionNeedBase">
<defName>Chemical_ARA_Pheromone</defName>
<needClass>Need_Chemical</needClass>
<label>信息素依赖</label>
<description>由于长期使用阿拉克涅信息素溶剂,此人的身体已经习惯了这种外部信息素的存在。如果中断使用,体内的拟线虫将因为失去抑制而猛烈反扑。</description>
<fallPerDay>0.333</fallPerDay>
<listPriority>50</listPriority>
</NeedDef>
<HediffDef ParentName="AddictionBase">
<defName>ARA_PheromoneAddiction</defName>
<label>信息素依赖</label>
<description>对阿拉克涅信息素溶剂产生了化学依赖。需要定期使用来维持体内的拟线虫生态平衡,否则会产生严重的戒断反应。</description>
<hediffClass>Hediff_Addiction</hediffClass>
<chemicalNeed>Chemical_ARA_Pheromone</chemicalNeed>
<stages>
<li>
<!-- 需求满足时,无效果 -->
</li>
<li>
<label>戒断反应</label>
<capMods>
<li>
<capacity>Consciousness</capacity>
<offset>-0.1</offset>
</li>
</capMods>
<hediffGivers>
<li Class="ArachnaeSwarm.HediffGiver_RandomWithSeverity">
<hediff>ARA_MimicNematode</hediff>
<mtbDays>1</mtbDays>
<severityRange>0.1~0.2</severityRange>
</li>
</hediffGivers>
</li>
</stages>
</HediffDef>
<ThoughtDef>
<defName>ARA_PheromoneWithdrawal</defName>
<workerClass>ThoughtWorker_Hediff</workerClass>
<hediff>ARA_PheromoneAddiction</hediff>
<validWhileDespawned>true</validWhileDespawned>
<stages>
<li>
<visible>false</visible>
</li>
<li>
<label>信息素戒断</label>
<description>我感觉很糟糕,体内的某些东西正在变得活跃......我需要信息素溶剂。</description>
<baseMoodEffect>-15</baseMoodEffect>
</li>
</stages>
</ThoughtDef>
</Defs>

View File

@@ -0,0 +1,71 @@
<?xml version="1.0" encoding="UTF-8"?>
<Defs>
<ThingDef Name="ARA_BaseGas" Abstract="True">
<thingClass>Gas</thingClass>
<label>gas</label>
<category>Gas</category>
<altitudeLayer>Gas</altitudeLayer>
<useHitPoints>false</useHitPoints>
<tickerType>Normal</tickerType>
<graphicData>
<graphicClass>Graphic_Gas</graphicClass>
<shaderType>Transparent</shaderType>
</graphicData>
</ThingDef>
<!-- Gas : Thing -->
<ThingDef ParentName="ARA_BaseGas">
<defName>ARA_ReinforceGasCloud</defName>
<label>阿拉克涅信息素烟雾</label>
<graphicData>
<texPath>Things/Gas/Puff</texPath>
<drawSize>2.6</drawSize>
<color>(1.0, 0.647, 0.0, 0.5)</color>
</graphicData>
<gas>
<expireSeconds>
<min>15</min>
<max>20</max>
</expireSeconds>
<rotationSpeed>20</rotationSpeed>
</gas>
<thingClass>ArachnaeSwarm.OPToxicGas</thingClass>
<modExtensions>
<li Class="ArachnaeSwarm.OPToxicDefs">
<OPToxicHediff>ARA_Unburnable</OPToxicHediff>
<OPToxicSeverity>0.1</OPToxicSeverity>
<OPSevUpTickPeriod>240</OPSevUpTickPeriod>
</li>
</modExtensions>
</ThingDef>
<!-- Gas : Thing -->
<ThingDef ParentName="ARA_BaseGas">
<defName>ARA_AcidGasCloud</defName>
<label>阿拉克涅酸雾</label>
<graphicData>
<texPath>Things/Gas/Puff</texPath>
<drawSize>2.6</drawSize>
<color>(0.56, 1, 0.03,0.5)</color>
</graphicData>
<gas>
<expireSeconds>
<min>30</min>
<max>50</max>
</expireSeconds>
<!--<blockTurretTracking>true</blockTurretTracking>
<accuracyPenalty>0.3</accuracyPenalty>-->
<rotationSpeed>20</rotationSpeed>
</gas>
<thingClass>ArachnaeSwarm.OPToxicGas</thingClass>
<modExtensions>
<li Class="ArachnaeSwarm.OPToxicDefs">
<OPToxicHediff>ARA_AcidCoverd</OPToxicHediff> <!-- Name of HediffDef to apply, change to own HediffDef -->
<OPToxicSeverity>0.1</OPToxicSeverity> <!-- Severity build up per Tick period -->
<OPSevUpTickPeriod>240</OPSevUpTickPeriod> <!-- No of game ticks per each build up, recommend >= 120 -->
</li>
</modExtensions>
</ThingDef>
</Defs>

View File

@@ -33,6 +33,31 @@
<allowedArchonexusCount>150</allowedArchonexusCount>
</ThingDef>
<!-- The meal produced by the new dispenser -->
<ThingDef ParentName="MealBase">
<defName>ARA_NutrientPasteMeal</defName>
<label>阿拉克涅蜜晶糕</label>
<description>一种由虫蜜合成的黏糊糕点,能提供虫族生存所需,味道对于虫族来说不太可口,不过普通的人类也许会喜欢这种虫族合成的糕点。</description>
<graphicData>
<texPath>Things/Item/Meal/NutrientPaste</texPath>
<graphicClass>Graphic_StackCount</graphicClass>
</graphicData>
<statBases>
<MarketValue>10</MarketValue>
<Nutrition>2.0</Nutrition>
</statBases>
<ingestible>
<foodType>AnimalProduct</foodType>
<preferability>MealFine</preferability>
<joy>0.04</joy>
<joyKind>Gluttonous</joyKind>
<ingestEffect>EatVegetarian</ingestEffect>
<ingestSound>Meal_Eat</ingestSound>
<lowPriorityCaravanFood>true</lowPriorityCaravanFood>
<babiesCanIngest>true</babiesCanIngest>
</ingestible>
</ThingDef>
<ThingDef ParentName="ResourceBase">
<defName>ARA_Carapace</defName>
<label>甲壳素</label>

View File

@@ -0,0 +1,205 @@
<?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>
<possessionCount>1</possessionCount>
<statBases>
<Mass>0.1</Mass>
</statBases>
</ThingDef>
<ThingDef ParentName="ARA_ApparelOnSkinBase">
<defName>ARA_Bodystocking_White</defName>
<label>连身白丝</label>
<description>阿拉克涅虫群的装饰性织物,对于虫群来说应该是没啥用的东西。</description>
<descriptionHyperlinks>
<ThingDef>ARA_Cocoon_Cloth</ThingDef>
</descriptionHyperlinks>
<graphicData>
<texPath>ArachnaeSwarm/Apparel/ARA_Bodystocking_White</texPath>
</graphicData>
<recipeMaker Inherit="False">
<researchPrerequisite>ARA_Technology_4DIL</researchPrerequisite>
</recipeMaker>
<costList Inherit="False">
<ARA_Carapace>25</ARA_Carapace>
</costList>
<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>
<descriptionHyperlinks>
<ThingDef>ARA_Cocoon_Cloth</ThingDef>
</descriptionHyperlinks>
<graphicData>
<texPath>ArachnaeSwarm/Apparel/ARA_Bodystocking_Black</texPath>
</graphicData>
<recipeMaker Inherit="False">
<researchPrerequisite>ARA_Technology_4DIL</researchPrerequisite>
</recipeMaker>
<costList Inherit="False">
<ARA_Carapace>25</ARA_Carapace>
</costList>
<apparel>
<wornGraphicPath>ArachnaeSwarm/Apparel/ARA_Bodystocking_Black</wornGraphicPath>
</apparel>
<statBases>
<WorkToMake>3000</WorkToMake>
</statBases>
</ThingDef>
<ThingDef Name="ARA_ClothBase" ParentName="ApparelMakeableBase" Abstract="True">
<thingCategories>
<li>ApparelMisc</li>
</thingCategories>
<graphicData>
<graphicClass>Graphic_Single</graphicClass>
<shaderType>CutoutComplex</shaderType>
</graphicData>
<apparel>
<tags>
<li>ARA_Apparel</li>
<li>ARA_Clothes</li>
</tags>
<canBeDesiredForIdeo>false</canBeDesiredForIdeo>
<canBeGeneratedToSatisfyWarmth>false</canBeGeneratedToSatisfyWarmth>
<canBeGeneratedToSatisfyToxicEnvironmentResistance>false</canBeGeneratedToSatisfyToxicEnvironmentResistance>
<useWornGraphicMask>true</useWornGraphicMask>
</apparel>
<colorGenerator Class="ColorGenerator_Options">
<options>
<li>
<weight>10</weight>
<only>(1,1,1,1)</only>
</li>
</options>
</colorGenerator>
<smeltable>false</smeltable>
<stuffCategories Inherit="False" />
<recipeMaker Inherit="False" IsNull="True"/>
<possessionCount>1</possessionCount>
<statBases>
<Mass>1</Mass>
<WorkToMake>7000</WorkToMake>
</statBases>
</ThingDef>
<ThingDef Name="ARA_HatBase" ParentName="HatMakeableBase" Abstract="True">
<thingCategories>
<li>ApparelMisc</li>
</thingCategories>
<graphicData>
<graphicClass>Graphic_Single</graphicClass>
<shaderType>CutoutComplex</shaderType>
</graphicData>
<apparel>
<tags>
<li>Wula_Apparel</li>
<li>Wula_Clothes</li>
</tags>
<renderSkipFlags>
<li>None</li>
</renderSkipFlags>
<canBeDesiredForIdeo>false</canBeDesiredForIdeo>
<canBeGeneratedToSatisfyWarmth>false</canBeGeneratedToSatisfyWarmth>
<canBeGeneratedToSatisfyToxicEnvironmentResistance>false</canBeGeneratedToSatisfyToxicEnvironmentResistance>
<useWornGraphicMask>true</useWornGraphicMask>
</apparel>
<colorGenerator Class="ColorGenerator_Options">
<options>
<li>
<weight>10</weight>
<only>(1,1,1,1)</only>
</li>
</options>
</colorGenerator>
<possessionCount>1</possessionCount>
<recipeMaker>
<unfinishedThingDef>UnfinishedApparel</unfinishedThingDef>
<useIngredientsForColor>false</useIngredientsForColor>
</recipeMaker>
<statBases>
<Mass>0.2</Mass>
<WorkToMake>3000</WorkToMake>
<StuffEffectMultiplierArmor>0.35</StuffEffectMultiplierArmor>
<StuffEffectMultiplierInsulation_Cold>1</StuffEffectMultiplierInsulation_Cold>
<StuffEffectMultiplierInsulation_Heat>1</StuffEffectMultiplierInsulation_Heat>
</statBases>
</ThingDef>
<ThingDef ParentName="ARA_ClothBase">
<defName>ARA_Maid_Uniform</defName>
<label>阿拉克涅女仆装</label>
<description>阿拉克涅督虫们所着织物中的一种,设计上修身轻便,可以使其在阿拉克捏菌毯上获得额外的速度,是她们永远服侍虫巢的形象的完美具现化。</description>
<descriptionHyperlinks>
<ThingDef>ARA_Cocoon_Cloth</ThingDef>
</descriptionHyperlinks>
<recipeMaker Inherit="False">
<researchPrerequisite>ARA_Technology_4DIL</researchPrerequisite>
</recipeMaker>
<costList Inherit="False">
<ARA_Carapace>25</ARA_Carapace>
</costList>
<graphicData>
<texPath>ArachnaeSwarm/Apparel/ARA_Maid_Uniform</texPath>
</graphicData>
<apparel>
<bodyPartGroups>
<li>Torso</li>
<li>Shoulders</li>
<li>Arms</li>
<li>Legs</li>
</bodyPartGroups>
<layers>
<!-- <li>OnSkin</li> -->
<li>Middle</li>
</layers>
<wornGraphicPath>ArachnaeSwarm/Apparel/ARA_Maid_Uniform</wornGraphicPath>
</apparel>
<equippedStatOffsets>
</equippedStatOffsets>
<costStuffCount>0</costStuffCount>
<comps>
<li Class="CompProperties_CauseHediff_Apparel">
<hediff>ARA_TerrainMoveSpeedHediff</hediff>
</li>
</comps>
</ThingDef>
<ApparelLayerDef>
<defName>Shield</defName>
<label>盾牌</label>
<drawOrder>275</drawOrder>
</ApparelLayerDef>
</Defs>

View File

@@ -0,0 +1,728 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<!---->
<ThingDef ParentName="BaseMeleeWeapon_Sharp_Quality">
<defName>ARA_MW_Bone_Sword</defName>
<label>武装器官"骨刃"</label>
<description>阿拉克涅虫群督虫使用基础近战武装器官,通过多根外露神经束与督虫的辅肢相连。尽管它只是一块坚硬的剑形骨片,但是丝毫不影响那些拥有无穷蛮力的阿拉克涅虫群督虫使用它将侵犯虫巢之敌一一斩首。</description>
<descriptionHyperlinks>
<ThingDef>ARA_Cocoon_Weapon</ThingDef>
</descriptionHyperlinks>
<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>
<!---->
<ThingDef ParentName="BaseHumanMakeableGun">
<defName>ARA_RW_Basic_Fist_Needle_Gun</defName>
<label>武装器官"拳针枪"</label>
<description>阿拉克涅虫群督虫使用基础远程武装器官,外表就像一只拳套,可以通过神经束缠绕接在阿拉克涅督虫的辅肢上。这种武器小巧轻盈,虽然射程很短,但是面对敌人时能喷出一整排的带毒尖刺,把对手扎个透心凉。</description>
<tickerType>Normal</tickerType>
<techLevel>Animal</techLevel>
<descriptionHyperlinks>
<ThingDef>ARA_Cocoon_Weapon</ThingDef>
</descriptionHyperlinks>
<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>ARA_Technology_5PAV</researchPrerequisite>
<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>
<comps>
<li Class="WulaFallenEmpire.CompProperties_CustomUniqueWeapon" MayRequire="Ludeon.RimWorld.Odyssey">
<forcedTraits>
<li>ARA_Weapon_Damage_Toxid</li>
</forcedTraits>
<numTraitsRange>
<min>1</min>
<max>1</max>
</numTraitsRange>
</li>
</comps>
</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>
<ThingDef ParentName="BaseHumanMakeableGun">
<defName>ARA_RW_Toxic_Needle_MG</defName>
<label>武装器官"风暴刺针枪"</label>
<description>阿拉克涅虫群督虫所使用的武装器官,拥有四排刺针管道,可以在联结神经束的指挥下交替发射大量的毒针,虽然准度较差但是威力不逊色于人类所使用的机枪。</description>
<tickerType>Normal</tickerType>
<techLevel>Animal</techLevel>
<descriptionHyperlinks>
<ThingDef>ARA_Cocoon_Weapon_1Stage</ThingDef>
</descriptionHyperlinks>
<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>ARA_Technology_6PAV</researchPrerequisite>
<unfinishedThingDef>UnfinishedWeapon</unfinishedThingDef>
</recipeMaker>
<statBases>
<WorkToMake>1300</WorkToMake>
<!-- <MarketValue>370</MarketValue> -->
<Mass>4</Mass>
<AccuracyTouch>0.5</AccuracyTouch>
<AccuracyShort>0.4</AccuracyShort>
<AccuracyMedium>0.35</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>0.8</warmupTime>
<defaultProjectile>Bullet_ARA_RW_Basic_Fist_Needle_Gun</defaultProjectile>
<range>22</range>
<burstShotCount>32</burstShotCount>
<ticksBetweenBurstShots>2</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_T2</li>
</weaponTags>
<thingSetMakerTags>
<li>RewardStandardQualitySuper</li>
</thingSetMakerTags>
<comps>
<li Class="WulaFallenEmpire.CompProperties_CustomUniqueWeapon" MayRequire="Ludeon.RimWorld.Odyssey">
<forcedTraits>
<li>ARA_Weapon_Damage_Toxid</li>
</forcedTraits>
<numTraitsRange>
<min>1</min>
<max>1</max>
</numTraitsRange>
</li>
</comps>
</ThingDef>
<!---->
<ThingDef ParentName="BaseHumanMakeableGun">
<defName>ARA_RW_Basic_Acid_Bladder_Gun</defName>
<label>武装器官"酸液枪"</label>
<description>阿拉克涅虫群督虫使用基础远程武装器官,可以通过肌肉的瞬间加压喷出一团包含阿拉克涅酸液的液体团。这种酸液团的飞行速度很慢,但是能在目标地点炸开,并灼烧所有粘上酸液的敌人。</description>
<tickerType>Normal</tickerType>
<techLevel>Animal</techLevel>
<descriptionHyperlinks>
<ThingDef>ARA_Cocoon_Weapon</ThingDef>
</descriptionHyperlinks>
<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>ARA_Technology_7VXI</researchPrerequisite>
<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>
<comps>
<li Class="WulaFallenEmpire.CompProperties_CustomUniqueWeapon" MayRequire="Ludeon.RimWorld.Odyssey">
<forcedTraits>
<li>ARA_Weapon_Damage_Acid</li>
</forcedTraits>
<numTraitsRange>
<min>1</min>
<max>1</max>
</numTraitsRange>
</li>
</comps>
</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>
<ThingDef ParentName="BaseHumanMakeableGun">
<defName>ARA_RW_Acid_Mortar</defName>
<label>武装器官"腐蚀臼炮"</label>
<description>阿拉克涅虫群督虫使用大型远程武装器官,膛内布满了强健的肌肉组织,可以在一瞬间的收缩后将一团酸液发射到空中,以在安全距离下对敌人的集群进行轰炸。</description>
<tickerType>Normal</tickerType>
<techLevel>Animal</techLevel>
<descriptionHyperlinks>
<ThingDef>ARA_Cocoon_Weapon_1Stage</ThingDef>
</descriptionHyperlinks>
<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>ARA_Technology_8VXI</researchPrerequisite>
<unfinishedThingDef>UnfinishedWeapon</unfinishedThingDef>
</recipeMaker>
<statBases>
<WorkToMake>1300</WorkToMake>
<!-- <MarketValue>370</MarketValue> -->
<Mass>3.5</Mass>
<AccuracyTouch>0.3</AccuracyTouch>
<AccuracyShort>0.3</AccuracyShort>
<AccuracyMedium>0.25</AccuracyMedium>
<AccuracyLong>0.1</AccuracyLong>
<RangedWeapon_Cooldown>3.5</RangedWeapon_Cooldown>
</statBases>
<verbs>
<li>
<verbClass>Verb_Shoot</verbClass>
<hasStandardCommand>true</hasStandardCommand>
<forceNormalTimeSpeed>false</forceNormalTimeSpeed>
<warmupTime>1.5</warmupTime>
<forcedMissRadius>3</forcedMissRadius>
<defaultProjectile>Bullet_ARA_RW_Acid_Mortar</defaultProjectile>
<isMortar>true</isMortar>
<requireLineOfSight>false</requireLineOfSight>
<minRange>5</minRange>
<range>120</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_T2</li>
</weaponTags>
<thingSetMakerTags>
<li>RewardStandardQualitySuper</li>
</thingSetMakerTags>
<comps>
<li Class="WulaFallenEmpire.CompProperties_CustomUniqueWeapon" MayRequire="Ludeon.RimWorld.Odyssey">
<forcedTraits>
<li>ARA_Huge_Weapon</li>
<li>ARA_Weapon_Damage_Acid</li>
</forcedTraits>
<numTraitsRange>
<min>2</min>
<max>2</max>
</numTraitsRange>
</li>
</comps>
</ThingDef>
<ThingDef ParentName="BaseBullet">
<defName>Bullet_ARA_RW_Acid_Mortar</defName>
<label>大型酸液团</label>
<graphicData>
<graphicClass>Graphic_Single_AgeSecs</graphicClass>
<texPath>Things/Projectile/FleshmassSpitterProjectileSheet</texPath>
<drawSize>(.75, .75)</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>15</spinRate>
<damageAmountBase>50</damageAmountBase>
<speed>45</speed>
<arcHeightFactor>1</arcHeightFactor>
<explosionRadius>3.5</explosionRadius>
<flyOverhead>true</flyOverhead>
<soundExplode>SpitterSpitLands</soundExplode>
<filth>Filth_SpentAcid</filth>
<filthCount>4</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>
<!-- spawn -->
<ThingDef ParentName="BaseHumanMakeableGun">
<defName>ARA_RW_Basic_SkyHive_Gun</defName>
<label>武装器官"天巢种之巢"</label>
<description>阿拉科涅虫群的生物武器</description>
<tickerType>Normal</tickerType>
<techLevel>Animal</techLevel>
<descriptionHyperlinks>
<ThingDef>ARA_Cocoon_Weapon_1Stage</ThingDef>
</descriptionHyperlinks>
<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>ARA_Technology_6SPV</researchPrerequisite>
<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>ArachnaeSwarm.Verb_ShootShotgun</verbClass>
<hasStandardCommand>true</hasStandardCommand>
<forceNormalTimeSpeed>false</forceNormalTimeSpeed>
<warmupTime>1.0</warmupTime>
<defaultProjectile>Bullet_ARA_RW_Basic_SkyHive_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>
<comps>
<li Class="WulaFallenEmpire.CompProperties_CustomUniqueWeapon" MayRequire="Ludeon.RimWorld.Odyssey">
<forcedTraits>
<li>ARA_Weapon_Damage_Spawn</li>
</forcedTraits>
<numTraitsRange>
<min>1</min>
<max>1</max>
</numTraitsRange>
</li>
</comps>
</ThingDef>
<ThingDef ParentName="BaseBullet">
<defName>Bullet_ARA_RW_Basic_SkyHive_Gun</defName>
<label>阿拉克涅天巢种</label>
<graphicData>
<graphicClass>Graphic_Single_AgeSecs</graphicClass>
<texPath>Things/Pawn/Insect/Locust/Locust_north</texPath>
<color>(156,148,125)</color>
<drawSize>(1,1)</drawSize>
<shaderType>TransparentPostLight</shaderType>
</graphicData>
<uiIconScale>0.8</uiIconScale>
<thingClass>ArachnaeSwarm.Projectile_TrackingBullet</thingClass>
<projectile>
<useGraphicClass>True</useGraphicClass>
<shadowSize>1</shadowSize>
<damageDef>ARA_SkyhiveBite</damageDef>
<damageAmountBase>10</damageAmountBase>
<speed>25</speed>
<arcHeightFactor>1</arcHeightFactor>
<flyOverhead>true</flyOverhead>
</projectile>
<modExtensions>
<li Class="ArachnaeSwarm.TrackingBulletDef">
<!-- 追踪速度,数值越高,转向越快,追踪能力越强 -->
<homingSpeed>0.75</homingSpeed>
<!-- 初始发射时的随机散射角度(左右各多少度) -->
<initRotateAngle>35</initRotateAngle>
<!-- 失去目标后多少 Tick 后自毁,可以是一个范围,如 "120~180" -->
<destroyTicksAfterLosingTrack>150</destroyTicksAfterLosingTrack>
<!-- 子弹离目标多近时就直接判定为命中 -->
<impactThreshold>2.1</impactThreshold>
</li>
<li Class="ArachnaeSwarm.ShotgunExtension">
<pelletCount>3</pelletCount>
</li>
</modExtensions>
<comps>
<li Class="CompProperties_ProjectileEffecter">
<effecterDef>Shell_AcidSpitStream</effecterDef>
</li>
<li Class="CompProperties_ProjectileEffecter">
<effecterDef>Shell_AcidSpitLaunched</effecterDef>
</li>
</comps>
</ThingDef>
<ThingDef ParentName="BaseMeleeWeapon_Sharp_Quality">
<defName>ARA_MW_Mimic_Niddle</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>ARA_MimicNematodeBite</def>
<amount>4</amount>
</li>
</extraMeleeDamages>
</li>
</tools>
<recipeMaker>
<recipeUsers Inherit="False" />
<researchPrerequisite Inherit="False" />
<unfinishedThingDef>UnfinishedWeapon</unfinishedThingDef>
</recipeMaker>
<thingSetMakerTags>
<li>RewardStandardQualitySuper</li>
</thingSetMakerTags>
</ThingDef>
<!-- 炮塔 -->
<ThingDef ParentName="BaseWeaponTurret">
<defName>ARA_Psi_Conductor_Turret</defName>
<label>灵能导线</label>
<description>阿拉克涅织域种正在通过这个殖民者对敌方发起攻击——这种攻击的发动无关殖民者的状态,无论它目前在干什么,攻击都会照常进行。</description>
<graphicData>
<texPath>ArachnaeSwarm/Weapon/ARA_Weapon_Empty</texPath>
<graphicClass>Graphic_Single</graphicClass>
</graphicData>
<descriptionHyperlinks>
<HediffDef>ARA_Psi_Conductor</HediffDef>
</descriptionHyperlinks>
<statBases>
<AccuracyTouch>1</AccuracyTouch>
<AccuracyShort>1</AccuracyShort>
<AccuracyMedium>1</AccuracyMedium>
<AccuracyLong>1</AccuracyLong>
<Mass>5</Mass>
</statBases>
<verbs>
<li>
<verbClass>Verb_Shoot</verbClass>
<hasStandardCommand>true</hasStandardCommand>
<defaultProjectile>Bullet_ARA_Psi_Conductor_Turret</defaultProjectile>
<range>6</range>
<burstShotCount>1</burstShotCount>
<soundCast>AgonyPulse_Cast</soundCast>
<soundCastTail>GunTail_Medium</soundCastTail>
<muzzleFlashScale>9</muzzleFlashScale>
<defaultCooldownTime>4</defaultCooldownTime>
</li>
</verbs>
</ThingDef>
<ThingDef ParentName="BaseBullet">
<defName>Bullet_ARA_Psi_Conductor_Turret</defName>
<label>灵能闪电</label>
<thingClass>Beam</thingClass>
<graphicData>
<texPath>Things/Projectile/Bullet_Small</texPath>
<graphicClass>Graphic_Single</graphicClass>
</graphicData>
<projectile>
<damageDef>ARA_Psi_Damage</damageDef>
<damageAmountBase>4</damageAmountBase>
<beamMoteDef>ARA_Psi_Conductor_Turret_ArcBeam</beamMoteDef>
<beamStartOffset>0.5</beamStartOffset>
<armorPenetrationBase>1</armorPenetrationBase>
</projectile>
</ThingDef>
<ThingDef ParentName="MoteBase">
<defName>ARA_Psi_Conductor_Turret_ArcBeam</defName>
<thingClass>MoteDualAttached</thingClass>
<altitudeLayer>MoteOverhead</altitudeLayer>
<mote>
<fadeInTime>0</fadeInTime>
<fadeOutTime>1</fadeOutTime>
<solidTime>0.4</solidTime>
<needsMaintenance>False</needsMaintenance>
<rotateTowardsTarget>True</rotateTowardsTarget>
<scaleToConnectTargets>True</scaleToConnectTargets>
<fadeOutUnmaintained>False</fadeOutUnmaintained>
</mote>
<drawOffscreen>true</drawOffscreen>
<graphicData>
<texPath>ArachnaeSwarm/Mote/ARA_Lighting_Beam</texPath>
<color>(140, 49, 138, 255)</color>
<graphicClass>Graphic_MoteWithAgeSecs</graphicClass>
<shaderType>MoteGlow</shaderType>
<drawSize>(1.5,1)</drawSize>
<shaderParameters>
<_ExtraTexA>/Things/Mote/BeamSecondaryNoise_A</_ExtraTexA>
<_ExtraTexB>/Things/Mote/BeamSecondaryNoise_B</_ExtraTexB>
<_ScrollSpeedA>-4 </_ScrollSpeedA>
<_ScrollSpeedB>3</_ScrollSpeedB>
<_Intensity>2</_Intensity>
</shaderParameters>
</graphicData>
</ThingDef>
</Defs>

View File

@@ -0,0 +1,64 @@
<?xml version="1.0" encoding="utf-8"?>
<Defs>
<ThingDef>
<defName>Arachnae_AcidlingTrap</defName>
<label>阿拉克涅酸爆茧</label>
<description>一种阿拉克涅休眠茧,内藏有休眠中的阿拉克涅虫族。如果靠太近则会唤醒其中的虫族。</description>
<thingClass>ArachnaeSwarm.Building_TrapReleaseRandom</thingClass>
<category>Building</category>
<!-- 基础外观和物理属性 -->
<size>(1,1)</size>
<altitudeLayer>Building</altitudeLayer>
<passability>PassThroughOnly</passability>
<selectable>true</selectable>
<fillPercent>0.20</fillPercent>
<leaveResourcesWhenKilled>false</leaveResourcesWhenKilled>
<rotatable>false</rotatable>
<tickerType>Normal</tickerType>
<building>
<isTrap>true</isTrap>
<trapDestroyOnSpring>true</trapDestroyOnSpring>
<expandHomeArea>false</expandHomeArea>
<ai_chillDestination>false</ai_chillDestination>
<claimable>false</claimable>
</building>
<repairEffect>EatVegetarian</repairEffect>
<filthLeaving>Filth_Slime</filthLeaving>
<costList>
<Steel>20</Steel>
</costList>
<statBases>
<MaxHitPoints>10</MaxHitPoints>
<Mass>4</Mass>
<Flammability>1.0</Flammability>
<MarketValue>50</MarketValue>
</statBases>
<graphicData>
<texPath>ArachnaeSwarm/Building/ARA_Tumor</texPath>
<graphicClass>Graphic_Single</graphicClass>
<drawSize>1.2</drawSize>
<shadowData>
<volume>(0.3, 0.6, 0.3)</volume>
<offset>(0,0,-0.1)</offset>
</shadowData>
</graphicData>
<!-- 正确的配置方式 -->
<modExtensions>
<li Class="ArachnaeSwarm.TrapReleaseRandomExtension">
<detectionRadius>25</detectionRadius>
<countToSpawn>3</countToSpawn>
<pawnKinds>
<li>ArachnaeBase_Race_Acidling</li>
<li>ArachnaeBase_Race_Acid</li>
</pawnKinds>
</li>
</modExtensions>
<!-- 组件:发光、生命周期、延迟地面生成(与风格示例对应) -->
<comps>
<li Class="CompProperties_Glower">
<glowRadius>3</glowRadius>
<glowColor>(220,210,171,0)</glowColor>
</li>
</comps>
</ThingDef>
</Defs>

View File

@@ -1,20 +1,23 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<TerrainDef ParentName="FloorBase">
<TerrainDef ParentName="NaturalTerrainBase">
<defName>ARA_InsectCreep</defName>
<label>阿拉克涅菌毯</label>
<description>由阿拉克涅虫族所铺设的由真菌、甲壳素分泌物混合得到的地面,会自动在各种拉克涅虫族建筑附近蔓延。这种奇特的结构质地紧密且暗藏大量营养输送组织,可以支撑重型建筑、种植特殊作物、加速其上的阿拉克涅虫族移动速度,但是除了虫族以外没人想踩在这坨软乎乎的活体结构上。</description>
<description>由阿拉克涅虫族所铺设的由真菌、甲壳素分泌物混合得到的地面,会自动在各种拉克涅虫族建筑附近蔓延。这种奇特的结构质地紧密且暗藏大量营养输送组织,可以支撑重型建筑、种植作物、加速其上的阿拉克涅虫族移动速度,但是除了虫族以外没人想踩在这坨软乎乎的活体结构上。</description>
<designationCategory>ARA_Buildings</designationCategory>
<texturePath>Terrain/Surfaces/InsectSludge</texturePath>
<color>(203, 163, 68)</color>
<color>(239, 139, 48)</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>
<pathCost>10</pathCost>
<generatedFilth>Filth_Slime</generatedFilth>
<researchPrerequisites>
<li>ARA_Base_Technology</li>
</researchPrerequisites>
<filthAcceptanceMask>
<li>Unnatural</li>
</filthAcceptanceMask>
@@ -25,7 +28,7 @@
<Beauty>-6</Beauty>
<CleaningTimeFactor>0.25</CleaningTimeFactor>
<Cleanliness>0</Cleanliness>
<Flammability>0.2</Flammability>
<Flammability>0</Flammability>
</statBases>
<fertility>1.25</fertility>
<affordances Inherit="False">
@@ -55,10 +58,15 @@
<texPath>ArachnaeSwarm/Building/Linked/ARA_InsectWall</texPath>
<graphicClass>Graphic_Single</graphicClass>
<shaderType>CutoutComplex</shaderType>
<shadowData>
<volume>(0.7, 0.4, 0.2)</volume>
<offset>(0,0,-0.1)</offset>
</shadowData>
</graphicData>
<designationCategory>ARA_Buildings</designationCategory>
<!-- <mineable>true</mineable> -->
<blockLight>true</blockLight>
<staticSunShadowHeight>0</staticSunShadowHeight>
<statBases>
<MarketValue>0</MarketValue>
<Beauty>-6</Beauty>
@@ -70,7 +78,7 @@
<building>
<isAirtight>true</isAirtight>
<!-- <isNaturalRock>true</isNaturalRock> -->
<smoothedThing>SmoothedGranite</smoothedThing>
<!-- <smoothedThing>SmoothedGranite</smoothedThing> -->
<blueprintGraphicData>
<texPath>ArachnaeSwarm/Building/Linked/ARA_InsectWall_Blueprint</texPath>
</blueprintGraphicData>
@@ -78,7 +86,12 @@
<artificialForMeditationPurposes>false</artificialForMeditationPurposes>
</building>
<useStuffTerrainAffordance>false</useStuffTerrainAffordance>
<terrainAffordanceNeeded>ARA_Creep</terrainAffordanceNeeded>
<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"/>
@@ -111,6 +124,10 @@
<graphicData>
<texPath>ArachnaeSwarm/Building/Door/ARA_InsectDoor</texPath>
<graphicClass>Graphic_Multi</graphicClass>
<shadowData>
<volume>(0.7, 0.6, 0.7)</volume>
<offset>(0,0,-0.1)</offset>
</shadowData>
<damageData>
<!-- no damage marks because they don't move with the door
<rect>(0,0.12,1,0.76)</rect>-->
@@ -132,23 +149,21 @@
<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>ARA_Creep</terrainAffordanceNeeded>
<terrainAffordanceNeeded>Heavy</terrainAffordanceNeeded>
<!-- <terrainAffordanceNeeded>ARA_Creep</terrainAffordanceNeeded> -->
<designationCategory>ARA_Buildings</designationCategory>
<holdsRoof>true</holdsRoof>
<staticSunShadowHeight>1.0</staticSunShadowHeight>
<staticSunShadowHeight>0</staticSunShadowHeight>
<blockLight>true</blockLight>
<drawerType>RealtimeOnly</drawerType>
<repairEffect>EatVegetarian</repairEffect>
<comps>
<li Class="CompProperties_Breakdownable"/>
<li Class="CompProperties_Forbiddable">
<allowNonPlayer>true</allowNonPlayer>
</li>
</comps>
<damageMultipliers Inherit="False">
<li>
<damageDef>Bomb</damageDef>
@@ -189,6 +204,17 @@
<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">
@@ -207,6 +233,10 @@
<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> -->
@@ -219,20 +249,6 @@
<costList>
<ARA_InsectJelly>3</ARA_InsectJelly>
</costList>
<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">
<delayTicks>60</delayTicks> <!-- 60 ticks = 1 second -->
<terrainToSpawn>ARA_InsectCreep</terrainToSpawn>
<spawnRadius>6</spawnRadius>
</li>
</comps>
<graphicData>
<texPath>ArachnaeSwarm/Building/ARA_Tumor</texPath>
<graphicClass>Graphic_Single</graphicClass>
@@ -247,26 +263,37 @@
<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>
<label>阿拉克涅</label>
<description>一个比普通菌瘤更大的菌瘤,内部的发光器官亮的难以想象,可以支持作物的光照条件,但是其寿命比普通菌瘤要短得多,并且不会蔓延菌毯</description>
<thingClass>Building_SunLamp</thingClass>
<graphicData>
<texPath>ArachnaeSwarm/Building/ARA_Tumor</texPath>
<texPath>ArachnaeSwarm/Building/ARA_Tumor_SunLamp</texPath>
<graphicClass>Graphic_Single</graphicClass>
<drawSize>(3, 3)</drawSize>
<shadowData>
<volume>(0.3, 0.6, 0.3)</volume>
<offset>(0,0,-0.1)</offset>
<volume>(1.3, 1.6, 1)</volume>
<offset>(-0.5,0,-0.1)</offset>
</shadowData>
<damageData>
<rect>(0.2,0.2,0.6,0.6)</rect>
</damageData>
</graphicData>
<size>(2,2)</size>
<size>(3,3)</size>
<blockWind>true</blockWind>
<tickerType>Normal</tickerType>
<tickerType>Rare</tickerType>
<statBases>
<WorkToBuild>600</WorkToBuild>
<Mass>4.5</Mass>
@@ -276,6 +303,10 @@
<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>
@@ -283,6 +314,9 @@
<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>
@@ -302,53 +336,47 @@
<ThingDef ParentName="BenchBase">
<defName>ARA_ResearchBench</defName>
<label>阿拉克涅研究台</label>
<description>A simple bench with writing implements and simple measurement devices. Researchers work here to discover new things.</description>
<description>一个供阿拉克涅虫族进行研究的活体结构,可以让虫群尽情地探索变异和进化方向。</description>
<thingClass>Building_ResearchBench</thingClass>
<size>(3,2)</size>
<stuffCategories>
<li>Metallic</li>
<li>Woody</li>
<li>Stony</li>
</stuffCategories>
<costStuffCount>75</costStuffCount>
<size>(3,3)</size>
<stuffCategories Inherit="False"/>
<costStuffCount>0</costStuffCount>
<minifiedDef Inherit="False"/>
<thingCategories Inherit="False"/>
<costList>
<Steel>25</Steel>
<ARA_Carapace>50</ARA_Carapace>
</costList>
<graphicData>
<texPath>Things/Building/Production/ResearchBenchSimple</texPath>
<texPath>ArachnaeSwarm/Building/ARA_ResearchBench</texPath>
<graphicClass>Graphic_Multi</graphicClass>
<shaderType>CutoutComplex</shaderType>
<drawSize>(5,4)</drawSize>
<damageData>
<cornerTL>Damage/Corner</cornerTL>
<cornerTR>Damage/Corner</cornerTR>
<cornerBL>Damage/Corner</cornerBL>
<cornerBR>Damage/Corner</cornerBR>
</damageData>
<drawSize>(3,4.5)</drawSize>
<shadowData>
<volume>(2.5, 0.5, 2.5)</volume>
<offset>(0,0,-0.1)</offset>
</shadowData>
</graphicData>
<castEdgeShadows>true</castEdgeShadows>
<staticSunShadowHeight>0.20</staticSunShadowHeight>
<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>
<ResearchSpeedFactor>0.75</ResearchSpeedFactor>
</statBases>
<placeWorkers>
<li>PlaceWorker_PreventInteractionSpotOverlap</li>
<li>PlaceWorker_DrawLinesToBookcasesInRoom</li>
</placeWorkers>
<fillPercent>0.5</fillPercent>
<fillPercent>0.8</fillPercent>
<interactionCellOffset>(0,0,-1)</interactionCellOffset>
<hasInteractionCell>true</hasInteractionCell>
<designationCategory>Production</designationCategory>
<designationCategory>ARA_Buildings</designationCategory>
<uiOrder>2600</uiOrder>
<surfaceType>Item</surfaceType>
<building>
<paintable>true</paintable>
<workTableRoomRole>Laboratory</workTableRoomRole>
<workTableNotInRoomRoleFactor>0.8</workTableNotInRoomRoleFactor>
</building>
@@ -356,6 +384,210 @@
<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>
<shadowData>
<volume>(0.8, 0.4, 1.7)</volume>
<offset>(0,0,-0.1)</offset>
</shadowData>
</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>
<ThingDef ParentName="BuildingBase">
<defName>ARA_MorphableResearchBench</defName>
<hasInteractionCell>true</hasInteractionCell>
<interactionCellOffset>(0,0,-1)</interactionCellOffset>
<label>阿拉克涅织域织座</label>
<description>一个供阿拉克涅虫族进行研究的活体结构,可以让虫群尽情地探索变异和进化方向。其研究能力完全取决于内部的阿拉克涅织域种。</description>
<thingClass>ArachnaeSwarm.Building_Morphable</thingClass>
<tickerType>Normal</tickerType>
<size>(3,3)</size>
<graphicData>
<texPath>ArachnaeSwarm/Building/ARA_ResearchBench</texPath>
<graphicClass>Graphic_Multi</graphicClass>
<shaderType>CutoutComplex</shaderType>
<drawSize>(3,4.5)</drawSize>
</graphicData>
<altitudeLayer>Building</altitudeLayer>
<passability>Impassable</passability>
<castEdgeShadows>false</castEdgeShadows>
<fillPercent>0.8</fillPercent>
<staticSunShadowHeight>0</staticSunShadowHeight>
<terrainAffordanceNeeded>ARA_Creep</terrainAffordanceNeeded>
<statBases>
<MaxHitPoints>1000</MaxHitPoints>
<WorkToBuild>2800</WorkToBuild>
<Flammability>1.0</Flammability>
<ResearchSpeedFactor>1.0</ResearchSpeedFactor>
</statBases>
<uiOrder>2600</uiOrder>
<surfaceType>Item</surfaceType>
<building>
<workTableRoomRole>Laboratory</workTableRoomRole>
<workTableNotInRoomRoleFactor>0.8</workTableNotInRoomRoleFactor>
<deconstructible>false</deconstructible>
</building>
<!-- 不可建造,只能通过变形生成 -->
<comps Inherit="False">
<li Class="CompProperties_ReportWorkSpeed">
<workSpeedStat>ResearchSpeedFactor</workSpeedStat>
</li>
<li Class="ArachnaeSwarm.CompProperties_Morphable">
<!-- 休息速度增益例如1.0代表200%的速度 -->
<restGainMultiplier>1.0</restGainMultiplier>
<!-- 操作按钮的自定义标签 -->
<gizmoLabel>离开织座</gizmoLabel>
<!-- 操作按钮的自定义描述 -->
<gizmoDesc>使织域种离开织座。</gizmoDesc>
<!--
操作按钮的自定义图标路径。
路径相对于"Textures"文件夹。
例如,如果你的图标在 "YourMod/Textures/UI/Icons/Revert.png",路径就是 "UI/Icons/Revert"。
游戏会自动处理.png扩展名。
-->
<gizmoIconPath>UI/Commands/EggSpew</gizmoIconPath>
</li>
<li Class="ArachnaeSwarm.CompProperties_RefuelableNutrition">
<fuelFilter>
<thingDefs>
<li>ARA_InsectJelly</li>
</thingDefs>
</fuelFilter>
<fuelCapacity>2.0</fuelCapacity>
<targetFuelLevelConfigurable>false</targetFuelLevelConfigurable>
<fuelGizmoLabel>虫蜜</fuelGizmoLabel>
<outOfFuelMessage>没有营养</outOfFuelMessage>
</li>
<li Class="CompProperties_AffectedByFacilities">
<linkableFacilities>
<li>ARA_NutrientNetworkTower</li>
</linkableFacilities>
</li>
</comps>
</ThingDef>
<ThingDef ParentName="BuildingBase">
<defName>ARA_SmartThermostat</defName>
<label>阿拉克涅纤管虫</label>
<description>一只只有基础反射反应的阿拉克涅辅虫,它会尝试将通过气体交换,维持尾部所向的房间的温度。必须像制冷器一样安装在墙上。</description>
<thingClass>ArachnaeSwarm.Building_SmartThermostat</thingClass>
<uiIconPath>ArachnaeSwarm/Building/ARA_SmartThermostat_south</uiIconPath>
<graphicData>
<texPath>ArachnaeSwarm/Building/ARA_SmartThermostat</texPath>
<graphicClass>Graphic_Multi</graphicClass>
<drawSize>(1.75,1.75)</drawSize>
<shadowData>
<volume>(0.6, 0.4, 0.3)</volume>
<offset>(0,0,-0.1)</offset>
</shadowData>
</graphicData>
<uiIconScale>0.6</uiIconScale>
<altitudeLayer>BuildingOnTop</altitudeLayer>
<passability>Impassable</passability>
<blockWind>true</blockWind>
<fillPercent>1</fillPercent>
<coversFloor>true</coversFloor>
<blockLight>true</blockLight>
<blockWeather>true</blockWeather>
<castEdgeShadows>true</castEdgeShadows>
<canOverlapZones>false</canOverlapZones>
<staticSunShadowHeight>0</staticSunShadowHeight>
<terrainAffordanceNeeded>ARA_Creep</terrainAffordanceNeeded>
<statBases>
<WorkToBuild>400</WorkToBuild>
<MaxHitPoints>100</MaxHitPoints>
<Flammability>1.0</Flammability>
</statBases>
<tickerType>Rare</tickerType>
<costList>
<ARA_Carapace>30</ARA_Carapace>
</costList>
<placeWorkers>
<li>PlaceWorker_Vent</li>
</placeWorkers>
<drawPlaceWorkersWhileSelected>true</drawPlaceWorkersWhileSelected>
<building>
<canPlaceOverWall>true</canPlaceOverWall>
<canExchangeVacuum>true</canExchangeVacuum>
<isAirtight>true</isAirtight>
</building>
<researchPrerequisites>
<li>ARA_Technology_6SHL</li>
</researchPrerequisites>
<designationCategory>ARA_Buildings</designationCategory>
<comps>
<!-- 提供开关按钮 -->
<li Class="CompProperties_Flickable">
<commandTexture>UI/Commands/Vent</commandTexture>
<commandLabelKey>CommandDesignateOpenCloseVentLabel</commandLabelKey>
<commandDescKey>CommandDesignateOpenCloseVentDesc</commandDescKey>
</li>
<!-- 提供温度控制UI和逻辑 -->
<li Class="ArachnaeSwarm.CompProperties_TempControl_Fixed">
<!-- 这是设备的热交换功率。数值越大,制冷/制热速度越快。-->
<energyPerSecond>2</energyPerSecond>
</li>
<li Class="CompProperties_Breakdownable"/>
</comps>
</ThingDef>
</Defs>

File diff suppressed because it is too large Load Diff

View File

@@ -1,179 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<ThingDef ParentName="BuildingBase">
<defName>ARA_BioforgeIncubator</defName>
<label>阿拉克涅孵化茧</label>
<description>一个脆弱、易燃、黏滑的囊状物,是阿拉克涅工艺种所诞之卵,内含哺育阿拉克涅武器种虫族所需的营养和遗传物质,可以通过阿拉克涅工艺种的交互完成激活进程。孵化茧对温度极度敏感,遭受极端温度将会受损需要小心保护。</description>
<thingClass>Building</thingClass>
<graphicData>
<texPath>ArachnaeSwarm/Building/ARA_EggSac</texPath>
<graphicClass>Graphic_Single</graphicClass>
<drawSize>(1.5,1.5)</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>
<!-- The new, GrowthVat-style fuel component -->
<li Class="ArachnaeSwarm.CompProperties_RefuelableNutrition">
<fuelCapacity>10</fuelCapacity>
<fuelLabel>Biomass</fuelLabel>
<fuelFilter>
<categories>
<li>Foods</li>
</categories>
</fuelFilter>
<fuelConsumptionRate>0</fuelConsumptionRate> <!-- IMPORTANT: Disable base class consumption -->
</li>
<!-- The refactored producer component -->
<li Class="ArachnaeSwarm.CompProperties_InteractiveProducer">
<processes>
<li>
<thingDef>Gun_ChainShotgun</thingDef>
<productionTicks>60000</productionTicks>
<totalNutritionNeeded>20</totalNutritionNeeded>
</li>
<li>
<thingDef>Gun_AssaultRifle</thingDef>
<productionTicks>60000</productionTicks>
<totalNutritionNeeded>15</totalNutritionNeeded>
</li>
</processes>
<whitelist>
<li>ArachnaeNode_Race_WeaponSmith</li>
</whitelist>
<spawnCount>1</spawnCount>
<destroyOnSpawn>True</destroyOnSpawn>
<minSafeTemperature>18</minSafeTemperature>
<maxSafeTemperature>23</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>
<!--
<![CDATA[
当一个生产流程完成时,系统会通过以下三个步骤来确定最终的物品品质:
第 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>13</minSafeTemperature>
<maxSafeTemperature>28</maxSafeTemperature>
<progressPerDegreePerTick>0.00005</progressPerDegreePerTick>
<damagePerTick>0.001</damagePerTick>
<recoveryRate>0.001</recoveryRate>
</li>
</comps>
</ThingDef>
</Defs>

View File

@@ -0,0 +1,83 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<ThingDef ParentName="BuildingBase">
<defName>ARANutrientDispenser</defName>
<label>阿拉克涅蜜晶巢穴</label>
<description>一个生产阿拉克涅蜜晶糕的虫虫巢穴。通过分解虫蜜来生产可食用的蜜晶糕。</description>
<thingClass>ArachnaeSwarm.Building_ARANutrientDispenser</thingClass>
<graphicData>
<texPath>Things/Building/Production/NutrientDispenser</texPath>
<graphicClass>Graphic_Multi</graphicClass>
<color>(232,255,191)</color>
<shaderType>CutoutComplex</shaderType>
<drawSize>(3,4)</drawSize>
<damageData>
<rect>(0.02,0.25,2.96,2.85)</rect>
<cornerTL>Damage/Corner</cornerTL>
<cornerTR>Damage/Corner</cornerTR>
</damageData>
<shadowData>
<volume>(2.87,0.75,3.05)</volume>
<offset>(0,0,0.38)</offset>
</shadowData>
</graphicData>
<altitudeLayer>Building</altitudeLayer>
<passability>Impassable</passability>
<pathCost>150</pathCost>
<fillPercent>1.0</fillPercent>
<statBases>
<MaxHitPoints>250</MaxHitPoints>
<WorkToBuild>2000</WorkToBuild>
<Flammability>0.5</Flammability>
</statBases>
<size>(3,4)</size>
<costList>
<ARA_Carapace>50</ARA_Carapace>
</costList>
<tickerType>Normal</tickerType>
<terrainAffordanceNeeded>ARA_Creep</terrainAffordanceNeeded>
<comps>
<li Class="ArachnaeSwarm.CompProperties_RefuelableNutrition">
<fuelCapacity>10.0</fuelCapacity>
<fuelFilter>
<thingDefs>
<li>ARA_InsectJelly</li>
</thingDefs>
</fuelFilter>
<fuelGizmoLabel>虫蜜</fuelGizmoLabel>
<showAllowAutoRefuelToggle>true</showAllowAutoRefuelToggle>
<targetFuelLevelConfigurable>true</targetFuelLevelConfigurable>
<consumeFuelOnlyWhenUsed>true</consumeFuelOnlyWhenUsed>
</li>
<li Class="CompProperties_AffectedByFacilities">
<linkableFacilities>
<li>ARA_NutrientNetworkTower</li>
</linkableFacilities>
</li>
<!-- This component acts as a perpetual power source with no consumption, ensuring powerComp.PowerOn is always true -->
<li Class="CompProperties_Power">
<compClass>CompPowerPlant</compClass>
<basePowerConsumption>-1</basePowerConsumption> <!-- Negative value makes it a generator -->
<transmitsPower>false</transmitsPower> <!-- This is CRITICAL. It prevents the building from powering the whole grid. -->
</li>
</comps>
<modExtensions>
<li Class="ArachnaeSwarm.ARAFoodDispenserProperties">
<thingToDispense>ARA_NutrientPasteMeal</thingToDispense>
<nutritionCostPerDispense>0.5</nutritionCostPerDispense>
<soundDispense>DispensePaste</soundDispense>
</li>
</modExtensions>
<building>
<isMealSource>true</isMealSource>
</building>
<interactionCellOffset>(0,0,3)</interactionCellOffset>
<hasInteractionCell>true</hasInteractionCell>
<designationCategory>ARA_Buildings</designationCategory>
<researchPrerequisites>
<li>NutrientPaste</li>
</researchPrerequisites>
</ThingDef>
</Defs>

View File

@@ -0,0 +1,509 @@
<?xml version="1.0" encoding="utf-8"?>
<Defs>
<ThingDef ParentName="BuildingBase">
<defName>ARA_NutrientNetworkTower</defName>
<label>阿拉克涅营养供给塔</label>
<description>一个中央营养供给设施。它可以自动为链接到的、需要营养的建筑补充燃料。它本身需要被手动填充大量的生物质。</description>
<size>(5,5)</size>
<graphicData>
<texPath>ArachnaeSwarm/Building/ARA_NutrientNetworkTower</texPath>
<graphicClass>Graphic_Single</graphicClass>
<shaderType>CutoutComplex</shaderType>
<drawSize>(7,7)</drawSize>
<drawOffset>(0, 0, 0.8)</drawOffset>
</graphicData>
<altitudeLayer>Building</altitudeLayer>
<passability>PassThroughOnly</passability>
<pathCost>70</pathCost>
<tickerType>Normal</tickerType> <!-- 改为 Normal 以匹配 CompRefuelable 的要求 -->
<fillPercent>0.5</fillPercent>
<statBases>
<MaxHitPoints>3000</MaxHitPoints>
<WorkToBuild>3000</WorkToBuild>
<Mass>20</Mass>
<Flammability>0.5</Flammability>
</statBases>
<costList>
<ARA_Carapace>50</ARA_Carapace>
</costList>
<terrainAffordanceNeeded>ARA_Creep</terrainAffordanceNeeded>
<comps>
<li Class="CompProperties_Glower">
<overlightRadius>7.0</overlightRadius>
<glowRadius>14</glowRadius>
<glowColor>(220,210,171,0)</glowColor>
<colorPickerEnabled>true</colorPickerEnabled>
</li>
<!-- 供能核心组件 -->
<li Class="ArachnaeSwarm.CompProperties_NutrientProvider">
<linkableBuildings>
<!-- 这里列出所有可以被供能的建筑的 defName -->
<!-- 您之后可以手动添加,例如: -->
<li>ARA_BioforgeIncubator</li>
<li>ARA_BioforgeIncubator_Thing</li>
<li>ARA_JellyVat</li>
<li>ARA_GrowthVat</li>
<li>ARA_MorphableResearchBench</li>
<li>ARANutrientDispenser</li>
<li>ARA_WormholePortal_A</li>
</linkableBuildings>
<maxDistance>80</maxDistance> <!-- 供能范围 -->
<maxSimultaneous>10</maxSimultaneous>
<maxEfficiency>0.9</maxEfficiency>
</li>
<!-- 全新的、只负责画线的组件 -->
<li Class="ArachnaeSwarm.CompProperties_LineDrawer">
<linkableBuildings>
<li>ARA_BioforgeIncubator</li>
<li>ARA_BioforgeIncubator_Thing</li>
<li>ARA_JellyVat</li>
<li>ARA_GrowthVat</li>
<li>ARA_MorphableResearchBench</li>
<li>ARANutrientDispenser</li>
<li>ARA_WormholePortal_A</li>
</linkableBuildings>
<maxDistance>80</maxDistance>
<lineTexturePath>ArachnaeSwarm/Building/Nutrition_Pie</lineTexturePath>
</li>
<!-- 自身的燃料库 -->
<li Class="ArachnaeSwarm.CompProperties_RefuelableNutrition">
<fuelCapacity>10000.0</fuelCapacity>
<fuelFilter>
<thingDefs>
<li>ARA_InsectJelly</li>
</thingDefs>
</fuelFilter>
<fuelGizmoLabel>虫蜜</fuelGizmoLabel>
<showAllowAutoRefuelToggle>true</showAllowAutoRefuelToggle>
<targetFuelLevelConfigurable>true</targetFuelLevelConfigurable>
</li>
<!-- 开关 -->
<li Class="CompProperties_Flickable"/>
<li Class="CompProperties_AffectedByFacilities">
<linkableFacilities>
<li>ARA_GrowthVat</li>
</linkableFacilities>
</li>
</comps>
<designationCategory>ARA_Buildings</designationCategory>
</ThingDef>
<!-- 3. 主建筑 "生物孵化池" -->
<ThingDef ParentName="BuildingBase">
<defName>ARA_BioforgeIncubator_Thing</defName>
<label>生物质物品孵化池</label>
<description>一个大型的、需要消耗大量营养物质的孵化设施,可以同时孵化多个单位,并能通过链接外部设备来提高效率。</description>
<graphicData>
<texPath>ArachnaeSwarm/Building/ARA_BioforgeIncubator</texPath>
<graphicClass>Graphic_Single</graphicClass>
<shaderType>CutoutComplex</shaderType>
<drawSize>(5,6)</drawSize>
<shadowData>
<volume>(4.0, 0.5, 4.0)</volume>
<offset>(0,0,-0.1)</offset>
</shadowData>
</graphicData>
<size>(5,5)</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>20.0</fuelCapacity>
<fuelFilter>
<thingDefs>
<li>ARA_InsectJelly</li>
</thingDefs>
</fuelFilter>
<fuelGizmoLabel>虫蜜</fuelGizmoLabel>
<showAllowAutoRefuelToggle>true</showAllowAutoRefuelToggle>
<targetFuelLevelConfigurable>true</targetFuelLevelConfigurable>
</li>
<!-- c. 原版的设施链接接收组件 -->
<li Class="CompProperties_AffectedByFacilities">
<linkableFacilities>
<li>ARA_NutrientNetworkTower</li>
<li>ARA_GrowthVat</li>
</linkableFacilities>
</li>
</comps>
</ThingDef>
<ThingDef ParentName="BuildingBase">
<defName>ARA_BioforgeIncubator</defName>
<label>生物质孵化池</label>
<description>一个大型的、需要消耗大量营养物质的孵化设施,可以同时孵化多个单位,并能通过链接外部设备来提高效率。</description>
<graphicData>
<texPath>ArachnaeSwarm/Building/ARA_BioforgeIncubatorPawn</texPath>
<graphicClass>Graphic_Single</graphicClass>
<shaderType>CutoutComplex</shaderType>
<drawSize>(8,8)</drawSize>
<shadowData>
<volume>(6.0, 0.6, 4.0)</volume>
<offset>(0,0,-0.1)</offset>
</shadowData>
</graphicData>
<size>(7,5)</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>20.0</fuelCapacity>
<fuelFilter>
<thingDefs>
<li>ARA_InsectJelly</li>
</thingDefs>
</fuelFilter>
<fuelGizmoLabel>虫蜜</fuelGizmoLabel>
<showAllowAutoRefuelToggle>true</showAllowAutoRefuelToggle>
<targetFuelLevelConfigurable>true</targetFuelLevelConfigurable>
</li>
<!-- c. 原版的设施链接接收组件 -->
<li Class="CompProperties_AffectedByFacilities">
<linkableFacilities>
<li>ARA_NutrientNetworkTower</li>
<li>ARA_GrowthVat</li>
</linkableFacilities>
</li>
</comps>
</ThingDef>
<ThingDef ParentName="BuildingBase">
<defName>ARA_JellyVat</defName> <!-- defName is changed to reflect its purpose -->
<label>生物质酿造池</label>
<description>一个活体虫族器官,通过分别消化植物和肉类物质,来缓慢培育出营养丰富的阿拉克涅虫蜜。需要同时填充素食和肉类才能工作。</description>
<thingClass>Building</thingClass>
<graphicData>
<texPath>ArachnaeSwarm/Building/ARA_JellyVat</texPath>
<graphicClass>Graphic_Single</graphicClass>
<shaderType>CutoutComplex</shaderType>
<drawSize>(2.2,2.2)</drawSize>
<shadowData>
<volume>(1.6, 0.5, 1.6)</volume>
<offset>(0,0,-0.1)</offset>
</shadowData>
</graphicData>
<size>(2,2)</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>
<terrainAffordanceNeeded>ARA_Creep</terrainAffordanceNeeded>
<comps>
<li Class="CompProperties_Flickable"/>
<li Class="ArachnaeSwarm.CompProperties_MultiFuelSpawner">
<spawnIntervalRange>
<min>120000</min> <!-- 2天 -->
<max>120000</max>
</spawnIntervalRange>
<products>
<li>
<thingDef>ARA_InsectJelly</thingDef>
<count>150</count>
</li>
</products>
<showMessageIfOwned>true</showMessageIfOwned>
</li>
<!-- 燃料槽 1: 素食 -->
<li Class="ArachnaeSwarm.CompProperties_RefuelableNutrition_WithKey">
<saveKeysPrefix>bio</saveKeysPrefix>
<fuelLabel>生物质</fuelLabel>
<fuelFilter>
<categories>
<li>Foods</li>
<li>Corpses</li>
</categories>
</fuelFilter>
<fuelCapacity>50</fuelCapacity>
<fuelConsumptionRate>25</fuelConsumptionRate>
<consumeFuelOnlyWhenUsed>true</consumeFuelOnlyWhenUsed>
</li>
<li Class="CompProperties_AffectedByFacilities">
<linkableFacilities>
<li>ARA_NutrientNetworkTower</li>
</linkableFacilities>
</li>
</comps>
</ThingDef>
<ThingDef ParentName="BuildingBase">
<defName>ARA_GrowthVat</defName>
<label>阿拉克涅捕获茧</label>
<description>用来存放猎物的茧。</description>
<thingClass>ArachnaeSwarm.Building_NutrientVat</thingClass>
<containedPawnsSelectable>true</containedPawnsSelectable>
<tickerType>Normal</tickerType>
<graphicData>
<texPath>ArachnaeSwarm/Building/ARA_GrowthVat</texPath>
<graphicClass>Graphic_Single</graphicClass>
<shaderType>CutoutComplex</shaderType>
<drawSize>(2.5,2.5)</drawSize>
<shadowData>
<volume>(0.85, 0.3, 1.7)</volume>
</shadowData>
</graphicData>
<castEdgeShadows>true</castEdgeShadows>
<defaultPlacingRot>North</defaultPlacingRot>
<size>(1,2)</size>
<statBases>
<MaxHitPoints>500</MaxHitPoints>
<WorkToBuild>8000</WorkToBuild>
<Mass>30</Mass>
<Flammability>0.5</Flammability>
</statBases>
<costList>
<ARA_Carapace>50</ARA_Carapace>
</costList>
<altitudeLayer>Building</altitudeLayer>
<passability>PassThroughOnly</passability>
<pathCost>42</pathCost>
<blockWind>true</blockWind>
<drawerType>MapMeshAndRealTime</drawerType>
<fillPercent>0.5</fillPercent>
<canOverlapZones>false</canOverlapZones>
<designationCategory>ARA_Buildings</designationCategory>
<uiOrder>2200</uiOrder>
<hasInteractionCell>true</hasInteractionCell>
<interactionCellOffset>(0,0,-1)</interactionCellOffset>
<rotatable>false</rotatable>
<inspectorTabs>
<li>ITab_BiosculpterNutritionStorage</li>
<li>ITab_Genes</li>
</inspectorTabs>
<researchPrerequisites>
<li>GrowthVats</li>
</researchPrerequisites>
<building>
<ai_chillDestination>false</ai_chillDestination>
<haulToContainerDuration>120</haulToContainerDuration>
<workTableRoomRole>Laboratory</workTableRoomRole>
</building>
<constructionSkillPrerequisite>4</constructionSkillPrerequisite>
<terrainAffordanceNeeded>ARA_Creep</terrainAffordanceNeeded>
<comps>
<!-- 1. 作为消费者,自己也需要燃料 -->
<li Class="ArachnaeSwarm.CompProperties_RefuelableNutrition">
<fuelCapacity>10.0</fuelCapacity>
<fuelFilter>
<thingDefs>
<li>ARA_InsectJelly</li>
</thingDefs>
</fuelFilter>
<fuelGizmoLabel>虫蜜</fuelGizmoLabel>
<showAllowAutoRefuelToggle>true</showAllowAutoRefuelToggle>
<targetFuelLevelConfigurable>true</targetFuelLevelConfigurable>
</li>
<!-- 2. 作为动态增效器,为其他建筑提供加成 -->
<li Class="ArachnaeSwarm.CompProperties_GrowthVatBooster">
<linkableBuildings>
<li>ARA_NutrientNetworkTower</li>
<li>ARA_BioforgeIncubator</li>
<li>ARA_BioforgeIncubator_Thing</li>
</linkableBuildings>
<maxSimultaneous>10</maxSimultaneous>
<maxDistance>20</maxDistance>
<statOffsets>
<NutrientTransmissionEfficiency>0.05</NutrientTransmissionEfficiency>
<ARA_IncubationSpeedFactor>0.1</ARA_IncubationSpeedFactor>
</statOffsets>
</li>
<!-- 3. 作为消费者,接收来自供能塔的燃料 -->
<li Class="CompProperties_AffectedByFacilities">
<linkableFacilities>
<li>ARA_NutrientNetworkTower</li>
</linkableFacilities>
</li>
</comps>
<modExtensions>
<li Class="ArachnaeSwarm.DefModExtension_NutrientVat">
<!-- 在这里配置您的顶部贴图 -->
<topGraphicPath>ArachnaeSwarm/Building/ARA_GrowthVatTop</topGraphicPath>
<!-- 如果是单张贴图,使用 Graphic_Single -->
<graphicClass>Graphic_Single</graphicClass>
</li>
</modExtensions>
</ThingDef>
</Defs>

View File

@@ -0,0 +1,114 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<!-- ==================== A端传送门 ==================== -->
<ThingDef ParentName="BuildingBase">
<defName>ARA_WormholePortal_A</defName>
<label>阿拉克涅坑道虫虫洞</label>
<description>阿拉克涅虫洞网络的主体组成部分。它可以向远方发射尾巴作为虫洞出口,它是阿拉克涅坑道虫头部的一部分,装入虫洞的物体会被坑道虫加压移动从而快速旅行,虫洞允许双向通行。</description>
<thingClass>ArachnaeSwarm.Building_WormholePortal_A</thingClass>
<graphicData>
<texPath>ArachnaeSwarm/Building/ARA_Wormhole_A</texPath>
<graphicClass>Graphic_Single</graphicClass>
<shaderType>CutoutComplex</shaderType>
<drawSize>(4,4)</drawSize>
<shadowData>
<volume>(1.6, 0.5, 1.6)</volume>
<offset>(0,0,-0.1)</offset>
</shadowData>
</graphicData>
<altitudeLayer>Building</altitudeLayer>
<passability>Impassable</passability>
<tickerType>Normal</tickerType>
<category>Building</category>
<statBases>
<MaxHitPoints>1000</MaxHitPoints>
<WorkToBuild>8000</WorkToBuild>
<Flammability>0.5</Flammability>
<Mass>100</Mass>
</statBases>
<size>(2,2)</size>
<costList>
<ARA_Carapace>50</ARA_Carapace>
</costList>
<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_Flickable"/>
<li Class="ArachnaeSwarm.CompProperties_RefuelableNutrition">
<fuelCapacity>500.0</fuelCapacity>
<fuelFilter>
<thingDefs>
<li>ARA_InsectJelly</li>
</thingDefs>
</fuelFilter>
<fuelGizmoLabel>虫蜜</fuelGizmoLabel>
<showAllowAutoRefuelToggle>true</showAllowAutoRefuelToggle>
<targetFuelLevelConfigurable>true</targetFuelLevelConfigurable>
</li>
<li Class="ArachnaeSwarm.CompProperties_LaunchableWormhole">
<fuelPerTile>2.5</fuelPerTile>
</li>
<li Class="CompProperties_AffectedByFacilities">
<linkableFacilities>
<li>ARA_NutrientNetworkTower</li>
</linkableFacilities>
</li>
</comps>
<designationCategory>ARA_Buildings</designationCategory>
<terrainAffordanceNeeded>ARA_Creep</terrainAffordanceNeeded>
<building>
<ai_chillDestination>false</ai_chillDestination>
</building>
<portal>
<traverseSound>TraversePitGate</traverseSound>
</portal>
</ThingDef>
<!-- ==================== B端传送门 ==================== -->
<ThingDef ParentName="BuildingBase">
<defName>ARA_WormholePortal_B</defName>
<label>阿拉克涅坑道虫虫洞出口</label>
<description>一个被远程部署的虫洞出口。它是阿拉克涅坑道虫尾巴的一部分,装入虫洞的物体会被坑道虫加压移动从而快速旅行,虫洞允许双向通行。</description>
<thingClass>ArachnaeSwarm.Building_WormholePortal_B</thingClass>
<graphicData>
<texPath>ArachnaeSwarm/Building/ARA_Wormhole_B</texPath>
<graphicClass>Graphic_Single</graphicClass>
<shaderType>CutoutComplex</shaderType>
<drawSize>(4,4)</drawSize>
<shadowData>
<volume>(1.6, 0.5, 1.6)</volume>
<offset>(0,0,-0.1)</offset>
</shadowData>
</graphicData>
<altitudeLayer>Building</altitudeLayer>
<passability>Impassable</passability>
<statBases>
<MaxHitPoints>500</MaxHitPoints>
<Flammability>0.5</Flammability>
</statBases>
<size>(2,2)</size>
<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_Flickable"/>
</comps>
<tradeability>None</tradeability>
<portal>
<traverseSound>TraversePitGate</traverseSound>
</portal>
</ThingDef>
<!-- CompProperties for our custom launchable -->
<!-- This is referenced by the li Class above -->
</Defs>

View File

@@ -273,7 +273,7 @@
<!-- Trained behavior: Haul-->
<li Class="ThinkNode_ChancePerHour_Constant">
<mtbHours>0.5</mtbHours>
<mtbHours>0.15</mtbHours>
<subNodes>
<li Class="ThinkNode_ConditionalRequireCapacities">
<requiredCapacities>
@@ -332,6 +332,13 @@
<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>

View File

@@ -0,0 +1,66 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<!-- ================================================================== -->
<!-- ===== 2. 定义我们的“工作僵尸”思考树,并引用上面的子树 ===== -->
<!-- ================================================================== -->
<ThinkTreeDef>
<defName>ARA_WorkingShambler</defName>
<thinkRoot Class="ThinkNode_Priority">
<subNodes>
<!-- 基础状态检查 (来自 Shambler) -->
<li Class="ThinkNode_Subtree">
<treeDef>Despawned</treeDef>
</li>
<li Class="ThinkNode_ConditionalDowned">
<subNodes>
<li Class="ThinkNode_ConditionalCanCrawl">
<invert>true</invert>
<subNodes>
<li Class="ThinkNode_Subtree">
<treeDef>Downed</treeDef>
</li>
</subNodes>
</li>
</subNodes>
</li>
<li Class="ThinkNode_Subtree">
<treeDef>BurningResponse</treeDef>
</li>
<!-- 响应直接命令和威胁 (来自 Shambler) -->
<li Class="ThinkNode_QueuedJob" />
<li Class="ThinkNodeConditional_EscapingHoldingPlatform">
<subNodes>
<li Class="JobGiver_EscapingHoldingPlatform" />
</subNodes>
</li>
<li Class="JobGiver_ReactToCloseMeleeThreat" />
<li Class="ThinkNode_Subtree">
<treeDef>LordDuty</treeDef>
</li>
<!-- 主动战斗 (来自 Shambler) -->
<li Class="JobGiver_ShamblerFight">
<targetAcquireRadius>20</targetAcquireRadius>
<targetKeepRadius>30</targetKeepRadius>
</li>
<!-- 工作逻辑 (引用我们自己的精简版工作核心) -->
<li Class="JobGiver_SeekAllowedArea" />
<li Class="JobGiver_Work">
<emergency>true</emergency>
</li>
<!-- 核心工作循环,但使用我们的精简版 -->
<li Class="JobGiver_Work"/>
<!-- 空闲时徘徊 (来自 Shambler) -->
<li Class="JobGiver_ShamblerWander">
<wanderRadius>5</wanderRadius>
</li>
</subNodes>
</thinkRoot>
</ThinkTreeDef>
</Defs>

View File

@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<ThoughtDef>
<defName>ARA_CreepyCrawly</defName>
<workerClass>ThoughtWorker_Hediff</workerClass>
<hediff>ARA_CreepyCrawly_Hediff</hediff>
<validWhileDespawned>true</validWhileDespawned>
<stages>
<li>
<label>原始恐惧</label>
<description>受不了了,快把这些虫子从我身边支开!</description>
<baseMoodEffect>-30</baseMoodEffect>
</li>
</stages>
</ThoughtDef>
</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,15 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<TraitDef>
<defName>ARA_CreepyCrawly</defName>
<commonality>0</commonality>
<degreeDatas>
<li>
<degree>0</degree>
<label>节肢类昆虫</label>
<description>{PAWN_nameDef} 是一只巨大的节肢类昆虫,多对附肢、镜面反光的外骨骼和扭动的分节身体足以引发人类心底埋藏的强烈恐惧感。\n\n额你该不会真以为它们是一群美少女吧</description>
<marketValueFactorOffset>-1</marketValueFactorOffset>
</li>
</degreeDatas>
</TraitDef>
</Defs>

View File

@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<WeaponCategoryDef>
<defName>ARA_Huge_Weapon_Category</defName>
<label>大型武装器官</label>
<description>这种武装器官相当巨大只有那些大型阿拉克涅督虫体型大于2.0)才能使用此武器。</description>
</WeaponCategoryDef>
<WeaponCategoryDef>
<defName>ARA_Weapon_Damage_Category</defName>
<label>特殊武装器官</label>
<description>这种武装器官除了造成常规伤害外,还能引起其他的效果。</description>
</WeaponCategoryDef>
</Defs>

View File

@@ -0,0 +1,47 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<WeaponTraitDef>
<defName>ARA_Huge_Weapon</defName>
<label>大型武装器官</label>
<description>这种武装器官相当巨大只有那些大型阿拉克涅督虫体型大于2.0)才能使用此武器。</description>
<commonality>1</commonality>
<weaponCategory>ARA_Huge_Weapon_Category</weaponCategory>
<statOffsets>
</statOffsets>
<statFactors>
</statFactors>
</WeaponTraitDef>
<WeaponTraitDef>
<defName>ARA_Weapon_Damage_Acid</defName>
<label>阿拉克涅酸液</label>
<description>这种武装器官的射弹命中敌人时,会在对方身上留下造成持续性伤害的酸液。</description>
<commonality>1</commonality>
<weaponCategory>ARA_Weapon_Damage_Category</weaponCategory>
<statOffsets>
</statOffsets>
<statFactors>
</statFactors>
</WeaponTraitDef>
<WeaponTraitDef>
<defName>ARA_Weapon_Damage_Toxid</defName>
<label>阿拉克涅毒素</label>
<description>这种武装器官的射弹命中敌人时,会向对方体内注入毒素使其中毒。</description>
<commonality>1</commonality>
<weaponCategory>ARA_Weapon_Damage_Category</weaponCategory>
<statOffsets>
</statOffsets>
<statFactors>
</statFactors>
</WeaponTraitDef>
<WeaponTraitDef>
<defName>ARA_Weapon_Damage_Spawn</defName>
<label>阿拉克涅子巢</label>
<description>这种武装器官的主要攻击方式是释放辅虫,其中一些会直接把辅虫往敌人中投掷,另一些则会使辅虫跟踪和吸附敌军以造成伤害。</description>
<commonality>1</commonality>
<weaponCategory>ARA_Weapon_Damage_Category</weaponCategory>
<statOffsets>
</statOffsets>
<statFactors>
</statFactors>
</WeaponTraitDef>
</Defs>

View File

@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<WorldObjectDef>
<defName>ARA_TravelingWormhole</defName>
<label>掘进中的虫洞</label>
<worldObjectClass>ArachnaeSwarm.TravelingWormhole</worldObjectClass>
<texture>World/WorldObjects/Caravan</texture>
<useDynamicDrawer>true</useDynamicDrawer>
<expandingIcon>true</expandingIcon>
<expandingIconTexture>World/WorldObjects/Expanding/Caravan</expandingIconTexture>
<expandingIconPriority>100</expandingIconPriority>
<expandMore>true</expandMore>
<modExtensions>
<li Class="ArachnaeSwarm.DefModExtension_TravelingWormhole">
<travelSpeed>10</travelSpeed>
</li>
</modExtensions>
</WorldObjectDef>
</Defs>

View File

@@ -14,7 +14,11 @@
<Producing>正在生产 {0}</Producing>
<TimeLeft>剩余时间</TimeLeft>
<ProjectedQuality>预计品质</ProjectedQuality>
<TemperaturePenalty>温度惩罚</TemperaturePenalty>
<NotProducing>未在生产</NotProducing>
<ARA_NeedArachnaeToStartIncubation>未孵化,需要阿拉克涅工艺种交互</ARA_NeedArachnaeToStartIncubation>
<!-- Added for CompQueuedPawnSpawner -->
<NutritionNeeded>所需营养</NutritionNeeded>
<ARA_Incubate>孵化 {0}</ARA_Incubate>
</LanguageData>

View File

@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<LanguageData>
<!-- CompAbilityEffect_Transform -->
<PawnTransformer_SpaceBlocked>{PAWN_labelShort} 无法变形:空间不足或有障碍物。</PawnTransformer_SpaceBlocked>
<AbilityCannotBeUsedOnOthers>此能力只能对自己施放。</AbilityCannotBeUsedOnOthers>
<!-- Building_Morphable -->
<StoredPawn>织域者</StoredPawn>
<Activity>活动</Activity>
<Researching>研究中</Researching>
<Idle>空闲中</Idle>
<Sleeping>睡眠中</Sleeping>
<PawnTransformer_OutOfFuel>{PAWN_labelShort} 因营养耗尽而被强制弹出!</PawnTransformer_OutOfFuel>
<PawnTransformer_ForcedRevert>{PAWN_labelShort} 因受到攻击而被强制弹出!</PawnTransformer_ForcedRevert>
<PawnTransformer_BuildingDestroyed>{PAWN_labelShort} 从被摧毁的 {BUILDING_label} 中弹出!</PawnTransformer_BuildingDestroyed>
</LanguageData>

View File

@@ -10,5 +10,21 @@
<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>
<!-- Trap messages -->
<MessageTrapSprung>{TRAP} 被 {PAWN} 触发!</MessageTrapSprung>
<MessageTrapSprung_NoInstigator>{TRAP} 被触发!</MessageTrapSprung_NoInstigator>
<delivery>{PAWN}生成了{THING}。</delivery>
</LanguageData>

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8" ?>
<LanguageData>
<!-- Commands & Messages -->
<CommandDeployWormholePortalB_Pilot>部署虫洞传送门</CommandDeployWormholePortalB_Pilot>
<CommandDeployWormholePortalB_PilotDesc>选择一名驾驶员来启动一个B端传送门。</CommandDeployWormholePortalB_PilotDesc>
<NoPilotAvailable>没有可用的驾驶员</NoPilotAvailable>
<ForceLaunch>无人驾驶发射</ForceLaunch>
</LanguageData>

View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8" ?>
<LanguageData>
<!-- Commands & Messages -->
<CommandDeployWormholePortalB_Pilot>部署虫洞传送门</CommandDeployWormholePortalB_Pilot>
<CommandDeployWormholePortalB_PilotDesc>选择一名驾驶员来启动一个B端传送门。</CommandDeployWormholePortalB_PilotDesc>
<NoPilotAvailable>没有可用的驾驶员</NoPilotAvailable>
</LanguageData>

View File

@@ -1 +1 @@
3528588530
3563955520

BIN
About/preview.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 768 KiB

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: 5.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 126 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 214 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 167 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 171 KiB

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