diff --git a/1.6/1.6/Assemblies/ArachnaeSwarm.dll b/1.6/1.6/Assemblies/ArachnaeSwarm.dll
index 3cef200..91533bc 100644
Binary files a/1.6/1.6/Assemblies/ArachnaeSwarm.dll and b/1.6/1.6/Assemblies/ArachnaeSwarm.dll differ
diff --git a/1.6/1.6/Defs/AbilityDefs/Abilities_EggSpew.xml b/1.6/1.6/Defs/AbilityDefs/Abilities_EggSpew.xml
index 7773bdc..4ce425d 100644
--- a/1.6/1.6/Defs/AbilityDefs/Abilities_EggSpew.xml
+++ b/1.6/1.6/Defs/AbilityDefs/Abilities_EggSpew.xml
@@ -164,10 +164,6 @@
ARA_Cocoon_Proj_Cloth
-
- ARA_Technology_4DIL
- 需要科技 节点DIL-4"编织" 以解锁此孵化路径
-
@@ -189,11 +185,7 @@
ArachnaeSwarm/UI/Abilities/ARA_Cocoon_Cloth_1Stage
- ARA_Cocoon_Proj_Cloth
-
-
- ARA_Technology_4DIL
- 需要科技 节点DIL-4"编织" 以解锁此孵化路径
+ ARA_Cocoon_Proj_Cloth_1Stage
@@ -208,6 +200,29 @@
+
+
+ ARA_Cocoon_Cloth_2Stage
+
+ 投放一枚织物茧,内含可以孵化一套基础织物的营养和遗传物质——参阅茧的超链接,了解其能生产的所有装备的特点。
+ ArachnaeSwarm/UI/Abilities/ARA_Cocoon_Cloth_2Stage
+
+
+ ARA_Cocoon_Proj_Cloth_2Stage
+
+
+
+
+ ARA_Cocoon_Weapon_2Stage
+
+ 投放一枚武装器官茧,内含可以孵化一套基础武装器官的营养和遗传物质——参阅茧的超链接,了解其能生产的所有装备的特点。
+ ArachnaeSwarm/UI/Abilities/ARA_Cocoon_Weapon_2Stage
+
+
+ ARA_Cocoon_Proj_Weapon_2Stage
+
+
+
ARA_Cocoon_Medicine
diff --git a/1.6/1.6/Defs/EvolutionDefs/ARA_Evolution.xml b/1.6/1.6/Defs/EvolutionDefs/ARA_Evolution.xml
index 9db071e..67f7021 100644
--- a/1.6/1.6/Defs/EvolutionDefs/ARA_Evolution.xml
+++ b/1.6/1.6/Defs/EvolutionDefs/ARA_Evolution.xml
@@ -321,7 +321,7 @@
ARA_WeaponSmith_1_Stage
- 这只阿拉科涅工艺种通过蜂巢意志的拔耀获得了更强大的孵化能力,现在她可以孕育更复杂的茧以获取强大的装备。
+ 这只阿拉克涅工艺种通过蜂巢意志的拔耀获得了更强大的孵化能力,现在她可以孕育更复杂的茧以获取强大的装备。
HediffWithComps
(0.6, 0.4, 0.8)
false
@@ -341,6 +341,7 @@
ARA_Cocoon_Cloth_1Stage
ARA_Cocoon_Weapon_1Stage
+ ARA_WeaponSmith_Upgrade_2_Stage
@@ -350,6 +351,97 @@
+
+ ARA_WeaponSmith_Upgrade_2_Stage
+
+ 使工艺种发生内驱性进化,解锁下一等级的阿拉克涅工艺茧。\n\n注意:和女皇种的进化不同,工艺种一旦进化到下一阶段,此后所孵的阿拉克涅工艺茧将无法再制作现阶段及之前的装备,并且越高级的阿拉克涅工艺茧对温度越敏感。
+ ArachnaeSwarm/UI/Abilities/ARA_Queen_Upgrade_2_Stage
+ 1800
+ false
+ true
+ true
+ false
+ true
+ true
+ false
+ CastAbilityOnThing
+
+ Verb_CastAbility
+ 1
+ 12
+ AcidSpray_Resolve
+ false
+ false
+
+ True
+
+
+
+
+ CompAbilityEffect_GiveHediff
+ ARA_WeaponSmith_2_Stage_Transition_Period
+ True
+ true
+ 1
+
+
+ ARA_Technology_2WMT
+ 需要科技 节点WMT-2"突破" 以解锁进化
+
+
+
+
+ ARA_WeaponSmith_2_Stage_Transition_Period
+
+ 为该工艺种进行基因调整,以使其获得进化并得以孵化更多的武装器官和织物。
+
+ Hediff_High
+ 1
+ 1.01
+ true
+ (0.6, 0.4, 0.8)
+ false
+ false
+
+
+
+
+ ARA_WeaponSmith_2_Stage
+ 0.02~0.15
+
+
+ {PAWN_nameDef} 通过蜂巢意志的拔耀获得了更强大的孵化能力,现在她可以孕育更复杂的茧以获取强大的装备。
+
+
+
+
+
+ ARA_WeaponSmith_2_Stage
+
+ 这只阿拉克涅工艺种通过蜂巢意志的拔耀获得了更强大的孵化能力,现在她可以孕育更复杂的茧以获取强大的装备。
+ HediffWithComps
+ (0.6, 0.4, 0.8)
+ false
+ false
+ 2.0
+
+
+
+
+ ARA_Cocoon_Cloth_2Stage
+ ARA_Cocoon_Weapon_2Stage
+
+
+
+
@@ -467,7 +559,7 @@
ARA_Technology_1MED
- 需要科技 节点MED-1"制药" 以解锁进化
+ 需要科技 节点MED-1"疗愈种" 以解锁进化
@@ -572,8 +664,8 @@
1
- ARA_Technology_1MED
- 需要科技 节点MED-1"制药" 以解锁进化
+ ARA_Technology_4CLO
+ 需要科技 节点CLO-4"追猎种" 以解锁进化
@@ -778,6 +870,10 @@
false
+
+ ARA_Technology_1BAC
+ 需要科技 节点BAC-1"育菌种" 以解锁进化
+
\ No newline at end of file
diff --git a/1.6/1.6/Defs/ResearchProjectDefs/ARA_ResearchProjects.xml b/1.6/1.6/Defs/ResearchProjectDefs/ARA_ResearchProjects.xml
index 995d8a6..aa25eb2 100644
--- a/1.6/1.6/Defs/ResearchProjectDefs/ARA_ResearchProjects.xml
+++ b/1.6/1.6/Defs/ResearchProjectDefs/ARA_ResearchProjects.xml
@@ -302,7 +302,7 @@
允许战士种进行定向进化,牺牲其使用远程武器的能力以换取强大的近战和永久隐身的能力。
150
- 6.50
+ 5.50
5.40
ARA_ResearchBench
@@ -322,4 +322,5 @@
ARA_Technology_5KYC
-
\ No newline at end of file
+
+
diff --git a/1.6/1.6/Defs/Thing_Misc/Apparels/ARA_Apparel.xml b/1.6/1.6/Defs/Thing_Misc/Apparels/ARA_Apparel.xml
index 2bc5420..6bafc4a 100644
--- a/1.6/1.6/Defs/Thing_Misc/Apparels/ARA_Apparel.xml
+++ b/1.6/1.6/Defs/Thing_Misc/Apparels/ARA_Apparel.xml
@@ -45,7 +45,6 @@
ArachnaeSwarm/Apparel/ARA_Bodystocking_White
- ARA_Technology_4DIL
25
@@ -68,7 +67,6 @@
ArachnaeSwarm/Apparel/ARA_Bodystocking_Black
- ARA_Technology_4DIL
25
diff --git a/1.6/1.6/Defs/Thing_Misc/Weapons/ARA_Weapon.xml b/1.6/1.6/Defs/Thing_Misc/Weapons/ARA_Weapon.xml
index 4189233..27a7a27 100644
--- a/1.6/1.6/Defs/Thing_Misc/Weapons/ARA_Weapon.xml
+++ b/1.6/1.6/Defs/Thing_Misc/Weapons/ARA_Weapon.xml
@@ -248,7 +248,7 @@
Normal
Animal
- ARA_Cocoon_Weapon_1Stage
+ ARA_Cocoon_Weapon_2Stage
ArachnaeSwarm/Weapon/ARA_RW_Basic_SniperCannon_Gun
@@ -439,7 +439,7 @@
Normal
Animal
- ARA_Cocoon_Weapon
+ ARA_Cocoon_Weapon_1Stage
ArachnaeSwarm/Weapon/ARA_RW_Basic_Acid_Spreay_Gun
@@ -515,7 +515,7 @@
Normal
Animal
- ARA_Cocoon_Weapon_1Stage
+ ARA_Cocoon_Weapon_2Stage
ArachnaeSwarm/Weapon/ARA_RW_Acid_Mortar
diff --git a/1.6/1.6/Defs/Thing_building/ARA_InteractiveEggSac.xml b/1.6/1.6/Defs/Thing_building/ARA_InteractiveEggSac.xml
index 91563dd..85cad39 100644
--- a/1.6/1.6/Defs/Thing_building/ARA_InteractiveEggSac.xml
+++ b/1.6/1.6/Defs/Thing_building/ARA_InteractiveEggSac.xml
@@ -544,6 +544,7 @@
ARA_Maid_Uniform
18000
15
+ ARA_Technology_4DIL
@@ -703,11 +704,9 @@
ARA_Cocoon_Cloth_1Stage
-
+
一个脆弱、易燃、黏滑的囊状物,是阿拉克涅工艺种所诞之卵,内含孵化一套基础织物装备的营养物质,可以通过阿拉克涅工艺种的交互完成激活进程——参阅茧的超链接,了解其能生产的所有装备的特点。\n\n孵化茧对温度极度敏感(该类型的茧适温为-30~55°C),需要小心保护!
- ARA_Bodystocking_White
- ARA_Bodystocking_Black
@@ -728,21 +727,6 @@
-
- ARA_Bodystocking_White
- 6000
- 1
-
-
- ARA_Bodystocking_Black
- 6000
- 1
-
-
- ARA_Maid_Uniform
- 18000
- 15
-
@@ -800,12 +784,12 @@
ARA_Cocoon_Weapon_1Stage
-
+
一个布满尖刺的囊状物,是阿拉克涅工艺种所诞之卵,内含孵化一个武装器官的营养物质,可以通过阿拉克涅工艺种的交互完成激活进程——参阅茧的超链接,了解其能生产的所有装备的特点。\n\n孵化茧对温度极度敏感(该类型的茧适温为-20~35°C),需要小心保护!
- ARA_MW_Bone_Sword
- ARA_RW_Basic_Acid_Bladder_Gun
- ARA_RW_Basic_Fist_Needle_Gun
+ ARA_RW_Basic_Acid_Spreay_Gun
+ ARA_RW_Toxic_Needle_MG
+ ARA_RW_Basic_SkyHive_Gun
@@ -827,21 +811,22 @@
- ARA_MW_Bone_Sword
- 60000
- 15
-
-
- ARA_RW_Basic_Fist_Needle_Gun
- 40000
- 10
- ARA_Technology_5PAV
-
-
- ARA_RW_Basic_Acid_Bladder_Gun
- 80000
+ ARA_RW_Basic_Acid_Spreay_Gun
+ 240000
30
- ARA_Technology_7VXI
+ ARA_Technology_8VXI
+
+
+ ARA_RW_Toxic_Needle_MG
+ 180000
+ 25
+ ARA_Technology_6PAV
+
+
+ ARA_RW_Basic_SkyHive_Gun
+ 180000
+ 25
+ ARA_Technology_6SPV
@@ -892,6 +877,181 @@
+
+
+ ARA_Cocoon_Proj_Cloth_2Stage
+
+ ARA_Cocoon_Cloth_2Stage
+
+
+
+ ARA_Cocoon_Cloth_2Stage
+
+ 一个脆弱、易燃、黏滑的囊状物,是阿拉克涅工艺种所诞之卵,内含孵化一套基础织物装备的营养物质,可以通过阿拉克涅工艺种的交互完成激活进程——参阅茧的超链接,了解其能生产的所有装备的特点。\n\n孵化茧对温度极度敏感(该类型的茧适温为10~16°C),需要小心保护!
+
+
+
+
+
+
+ 10
+ 虫蜜
+
+
+ ARA_InsectJelly
+
+
+ 0
+ true
+ 1
+ 1
+
+
+
+
+
+
+
+ ArachnaeNode_Race_WeaponSmith
+
+ 1
+ True
+ 10
+ 16
+ 0.00001
+ 0.2
+ 1.0
+
+
+
+ Legendary
+ 0.99
+
+
+ Masterwork
+ 0.90
+
+
+ Excellent
+ 0.70
+
+
+ Good
+ 0.50
+
+
+ Normal
+ 0.20
+
+
+ Poor
+ 0.10
+
+
+
+
+ 10
+ 16
+ 0.00005
+ 0.005
+ 0.001
+
+
+
+
+ ARA_Cocoon_Proj_Weapon_2Stage
+
+ ARA_Cocoon_Weapon_2Stage
+
+
+
+ ARA_Cocoon_Weapon_2Stage
+
+ 一个布满尖刺的囊状物,是阿拉克涅工艺种所诞之卵,内含孵化一个武装器官的营养物质,可以通过阿拉克涅工艺种的交互完成激活进程——参阅茧的超链接,了解其能生产的所有装备的特点。\n\n孵化茧对温度极度敏感(该类型的茧适温为21~30°C),需要小心保护!
+
+ ARA_RW_Basic_SniperCannon_Gun
+ ARA_RW_Acid_Mortar
+
+
+
+
+
+ 10
+ 虫蜜
+
+
+ ARA_InsectJelly
+
+
+ 0
+ true
+ 1
+ 1
+
+
+
+
+
+ ARA_RW_Basic_SniperCannon_Gun
+ 480000
+ 80
+ ARA_Technology_7PAV
+
+
+ ARA_RW_Acid_Mortar
+ 480000
+ 80
+ ARA_Technology_9VXI
+
+
+
+
+ ArachnaeNode_Race_WeaponSmith
+
+ 1
+ True
+ 21
+ 30
+ 0.00001
+ 0.2
+ 1.0
+
+
+
+ Legendary
+ 0.99
+
+
+ Masterwork
+ 0.90
+
+
+ Excellent
+ 0.70
+
+
+ Good
+ 0.50
+
+
+ Normal
+ 0.20
+
+
+ Poor
+ 0.10
+
+
+
+
+ 21
+ 30
+ 0.00005
+ 0.005
+ 0.001
+
+
+
diff --git a/Source/ArachnaeSwarm/.vs/ArachnaeSwarm/v17/.suo b/Source/ArachnaeSwarm/.vs/ArachnaeSwarm/v17/.suo
index c28b8ff..3ffb59b 100644
Binary files a/Source/ArachnaeSwarm/.vs/ArachnaeSwarm/v17/.suo and b/Source/ArachnaeSwarm/.vs/ArachnaeSwarm/v17/.suo differ
diff --git a/Source/ArachnaeSwarm/.vs/ArachnaeSwarm/v17/DocumentLayout.json b/Source/ArachnaeSwarm/.vs/ArachnaeSwarm/v17/DocumentLayout.json
index 1841dbd..faecd19 100644
--- a/Source/ArachnaeSwarm/.vs/ArachnaeSwarm/v17/DocumentLayout.json
+++ b/Source/ArachnaeSwarm/.vs/ArachnaeSwarm/v17/DocumentLayout.json
@@ -5,22 +5,6 @@
{
"AbsoluteMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|d:\\steamlibrary\\steamapps\\common\\rimworld\\mods\\arachnaeswarm\\source\\arachnaeswarm\\pawn_comps\\ara_fighter_invisible\\compfighterinvisible.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:pawn_comps\\ara_fighter_invisible\\compfighterinvisible.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
- },
- {
- "AbsoluteMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\pawn_comps\\ara_fighter_invisible\\compproperties_fighterinvisible.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:pawn_comps\\ara_fighter_invisible\\compproperties_fighterinvisible.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
- },
- {
- "AbsoluteMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\thing_comps\\ara_ingestionoutcomedoer_givehediff\\ingestionoutcomedoer_givehediffbyrace.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:thing_comps\\ara_ingestionoutcomedoer_givehediff\\ingestionoutcomedoer_givehediffbyrace.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
- },
- {
- "AbsoluteMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\thing_comps\\ara_customuniqueweapon\\compcustomuniqueweapon.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:thing_comps\\ara_customuniqueweapon\\compcustomuniqueweapon.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
- },
- {
- "AbsoluteMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\thing_comps\\optoxicgas.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:thing_comps\\optoxicgas.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
}
],
"DocumentGroupContainers": [
@@ -30,24 +14,12 @@
"DocumentGroups": [
{
"DockedWidth": 200,
- "SelectedChildIndex": 2,
+ "SelectedChildIndex": 1,
"Children": [
{
"$type": "Bookmark",
"Name": "ST:0:0:{1c4feeaa-4718-4aa9-859d-94ce25d182ba}"
},
- {
- "$type": "Document",
- "DocumentIndex": 1,
- "Title": "CompProperties_FighterInvisible.cs",
- "DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Pawn_Comps\\ARA_Fighter_Invisible\\CompProperties_FighterInvisible.cs",
- "RelativeDocumentMoniker": "Pawn_Comps\\ARA_Fighter_Invisible\\CompProperties_FighterInvisible.cs",
- "ToolTip": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Pawn_Comps\\ARA_Fighter_Invisible\\CompProperties_FighterInvisible.cs",
- "RelativeToolTip": "Pawn_Comps\\ARA_Fighter_Invisible\\CompProperties_FighterInvisible.cs",
- "ViewState": "AgIAAAAAAAAAAAAAAAAAABwAAAAJAAAAAAAAAA==",
- "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2025-09-22T17:58:46.022Z"
- },
{
"$type": "Document",
"DocumentIndex": 0,
@@ -56,46 +28,10 @@
"RelativeDocumentMoniker": "Pawn_Comps\\ARA_Fighter_Invisible\\CompFighterInvisible.cs",
"ToolTip": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Pawn_Comps\\ARA_Fighter_Invisible\\CompFighterInvisible.cs",
"RelativeToolTip": "Pawn_Comps\\ARA_Fighter_Invisible\\CompFighterInvisible.cs",
- "ViewState": "AgIAABAAAAAAAAAAAAAAwBsAAAAAAAAAAAAAAA==",
+ "ViewState": "AgIAABQAAAAAAAAAAAAQwCcAAAAdAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-09-22T17:58:44.038Z",
"EditorCaption": ""
- },
- {
- "$type": "Document",
- "DocumentIndex": 2,
- "Title": "IngestionOutcomeDoer_GiveHediffByRace.cs",
- "DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Thing_Comps\\ARA_IngestionOutcomeDoer_GiveHediff\\IngestionOutcomeDoer_GiveHediffByRace.cs",
- "RelativeDocumentMoniker": "Thing_Comps\\ARA_IngestionOutcomeDoer_GiveHediff\\IngestionOutcomeDoer_GiveHediffByRace.cs",
- "ToolTip": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Thing_Comps\\ARA_IngestionOutcomeDoer_GiveHediff\\IngestionOutcomeDoer_GiveHediffByRace.cs",
- "RelativeToolTip": "Thing_Comps\\ARA_IngestionOutcomeDoer_GiveHediff\\IngestionOutcomeDoer_GiveHediffByRace.cs",
- "ViewState": "AgIAAAcAAAAAAAAAAAAAABYAAAApAAAAAAAAAA==",
- "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2025-09-22T09:03:36.873Z"
- },
- {
- "$type": "Document",
- "DocumentIndex": 3,
- "Title": "CompCustomUniqueWeapon.cs",
- "DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Thing_Comps\\ARA_CustomUniqueWeapon\\CompCustomUniqueWeapon.cs",
- "RelativeDocumentMoniker": "Thing_Comps\\ARA_CustomUniqueWeapon\\CompCustomUniqueWeapon.cs",
- "ToolTip": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Thing_Comps\\ARA_CustomUniqueWeapon\\CompCustomUniqueWeapon.cs",
- "RelativeToolTip": "Thing_Comps\\ARA_CustomUniqueWeapon\\CompCustomUniqueWeapon.cs",
- "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
- "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2025-09-22T09:03:28.529Z"
- },
- {
- "$type": "Document",
- "DocumentIndex": 4,
- "Title": "OPToxicGas.cs",
- "DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Thing_Comps\\OPToxicGas.cs",
- "RelativeDocumentMoniker": "Thing_Comps\\OPToxicGas.cs",
- "ToolTip": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Thing_Comps\\OPToxicGas.cs",
- "RelativeToolTip": "Thing_Comps\\OPToxicGas.cs",
- "ViewState": "AgIAAAAAAAAAAAAAAAAAALsAAAAAAAAAAAAAAA==",
- "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2025-09-22T09:02:29.07Z"
}
]
}
diff --git a/Source/ArachnaeSwarm/Pawn_Comps/ARA_Fighter_Invisible/CompFighterInvisible.cs b/Source/ArachnaeSwarm/Pawn_Comps/ARA_Fighter_Invisible/CompFighterInvisible.cs
index 499148a..5ae1342 100644
--- a/Source/ArachnaeSwarm/Pawn_Comps/ARA_Fighter_Invisible/CompFighterInvisible.cs
+++ b/Source/ArachnaeSwarm/Pawn_Comps/ARA_Fighter_Invisible/CompFighterInvisible.cs
@@ -10,53 +10,37 @@ namespace ArachnaeSwarm
public class CompFighterInvisible : ThingComp
{
public CompProperties_FighterInvisible Props => (CompProperties_FighterInvisible)props;
-
[Unsaved(false)]
private HediffComp_Invisibility invisibility;
-
private int lastDetectedTick = -99999;
-
private Pawn Sightstealer => (Pawn)parent;
-
public HediffDef GetTargetInvisibilityDef()
{
return Props.InvisibilityDef;
}
-
- //检测是否拥有定义的InvisibilityDef
- private HediffComp_Invisibility Invisibility => invisibility ?? (invisibility = Sightstealer.health.hediffSet.GetFirstHediffOfDef(GetTargetInvisibilityDef())?.TryGetComp());
-
- //用于在存档储存lastDetectedTick
+ // 添加一个属性来检查是否有效
+ private bool IsValid => Sightstealer?.health?.hediffSet != null &&
+ GetTargetInvisibilityDef() != null &&
+ !Sightstealer.IsShambler &&
+ Sightstealer.Spawned;
+ private HediffComp_Invisibility Invisibility
+ {
+ get
+ {
+ if (!IsValid) return null;
+ return invisibility ?? (invisibility = Sightstealer.health.hediffSet
+ .GetFirstHediffOfDef(GetTargetInvisibilityDef())
+ ?.TryGetComp());
+ }
+ }
public override void PostExposeData()
{
Scribe_Values.Look(ref lastDetectedTick, "lastDetectedTick", 0);
}
-
public override void CompTick()
{
- //如果没有定义的InvisibilityDef,则返回false
- if (Sightstealer?.health?.hediffSet == null || GetTargetInvisibilityDef() == null)
- {
- return;
- }
- if (Invisibility == null)
- {
- return;
- }
- //蹒跚怪不会隐身
- if (Sightstealer.IsShambler)
- {
- return;
- }
- if (Invisibility == null)
- {
- return;
- }
- if (!Sightstealer.Spawned)
- {
- return;
- }
- //进行隐身检查,如果超过定义的隐身恢复时间则切换为隐身
+ // 使用统一的有效性检查
+ if (!IsValid || Invisibility == null) return;
if (Sightstealer.IsHashIntervalTick(7))
{
if (Find.TickManager.TicksGame > lastDetectedTick + Props.stealthCooldownTicks)
@@ -65,15 +49,15 @@ namespace ArachnaeSwarm
}
}
}
- //在使用verb的时候,会强制显现
public override void Notify_UsedVerb(Pawn pawn, Verb verb)
{
base.Notify_UsedVerb(pawn, verb);
- if (!Sightstealer.IsShambler)
- {
- Invisibility.BecomeVisible();
- lastDetectedTick = Find.TickManager.TicksGame;
- }
+
+ // 统一的 null 检查
+ if (Invisibility == null) return;
+
+ Invisibility.BecomeVisible();
+ lastDetectedTick = Find.TickManager.TicksGame;
}
}
}
\ No newline at end of file