diff --git a/1.6/1.6/Assemblies/ArachnaeSwarm.dll b/1.6/1.6/Assemblies/ArachnaeSwarm.dll
index eb0f396..a8b44ba 100644
Binary files a/1.6/1.6/Assemblies/ArachnaeSwarm.dll and b/1.6/1.6/Assemblies/ArachnaeSwarm.dll differ
diff --git a/1.6/1.6/Defs/AbilityDefs/ARA_Abilities.xml b/1.6/1.6/Defs/AbilityDefs/ARA_Abilities.xml
index 4f5fc15..e94c0b5 100644
--- a/1.6/1.6/Defs/AbilityDefs/ARA_Abilities.xml
+++ b/1.6/1.6/Defs/AbilityDefs/ARA_Abilities.xml
@@ -347,22 +347,21 @@
6000
ArachnaeSwarm/UI/Abilities/ARA_Toxic_Needle_Fire
- Verb_AbilityShoot
- Bullet_ARA_RW_Basic_Fist_Needle_Gun
- 24.9
+ Verb_CastAbility
+ 24
+ 1
Heatspikes_Shot
Heatspikes_Tail
- 9
- 6
- 0
- 12
- 0.9
- 0.8
- 0.7
- 0.6
- false
+ false
+
+ True
+
+
+ Bullet_ARA_RW_Basic_Fist_Needle_Gun
+ 12
+
Food
0.1
@@ -776,4 +775,72 @@
40
+
+
+ ARA_Fighter_Invisibility_jump
+ 追猎种跳跃
+ 以强力的肌腱向目标地点跳跃,会暴露追猎种的身形。
+ UI/Abilities/Longjump
+ 1000
+ 3
+ true
+ false
+ false
+
+ Verb_CastAbilityJump
+ false
+ false
+
+ 23
+ false
+ Longjump_Jump
+ Longjump_Land
+
+ true
+ false
+ false
+
+
+ CastJump
+
+
+ Food
+ 0.1
+ 营养值不足,需要进食
+
+
+
+
+ ARA_Fighter_Invisibility_Execution
+ 巨镰处决
+ 追猎种挥动巨镰对敌人进行处决,造成一次高额伤害,处决完成后会暴露追猎种的身形。
+ UI/Abilities/Longjump
+ 3800
+ true
+ false
+ false
+ true
+ Mote_HoraxSmallSpellWarmup
+ HoraxianAbilityCasting
+ AnomalyAbilityWarmup
+ CastAbilityOnThingMelee
+
+ Verb_CastAbilityTouch
+ false
+ -1
+ 1
+
+ false
+ false
+ false
+
+
+
+
+ CompAbilityEffect_GiveHediff
+ ARA_Fighter_Execution_Damage
+ true
+
+
+
\ No newline at end of file
diff --git a/1.6/1.6/Defs/RecipeDefs/ARA_Recipes_Upgrade.xml b/1.6/1.6/Defs/EvolutionDefs/ARA_Evolution.xml
similarity index 63%
rename from 1.6/1.6/Defs/RecipeDefs/ARA_Recipes_Upgrade.xml
rename to 1.6/1.6/Defs/EvolutionDefs/ARA_Evolution.xml
index 5c62595..0f5ed00 100644
--- a/1.6/1.6/Defs/RecipeDefs/ARA_Recipes_Upgrade.xml
+++ b/1.6/1.6/Defs/EvolutionDefs/ARA_Evolution.xml
@@ -1,5 +1,6 @@
+
ARA_Queen_0_Stage
@@ -218,6 +219,7 @@
+
ARA_WeaponSmith_0_Stage
@@ -356,6 +358,7 @@
这只阿拉克涅蜜罐种正在产出虫蜜,以滋养虫群。一只蜜罐种每天产出10份阿拉克涅虫蜜。
ARA_InsectJelly
+ ARA_Myrmecocystus_Production_Medicine
HediffWithComps
(0.6, 0.4, 0.8)
@@ -470,8 +473,8 @@
ARA_Myrmecocystus_Production_Medicine
- 医疗专精
- 这只阿拉克涅蜜罐种已经获得拔耀,不再生产虫蜜,而是生产巢穴所稀缺的药物、化学品,并可以操纵拟线种。
+ 亚种-疗愈种
+ 这只阿拉克涅蜜罐种已经获得拔耀,不再生产虫蜜,而是生产巢穴所稀缺的药物、化学品,并可以操纵拟线种寄生虫。
ARA_InsectJelly
@@ -497,4 +500,283 @@
+
+
+
+ ARA_Fighter_Base
+ 虫巢战士
+ 阿拉克涅的战士虫们可以将身体变成自己的最强大的武装,随着科技的解锁,它们将获得繁多的技能以供使用。
+
+ ARA_Fighter_Invisibility
+
+ HediffWithComps
+ (0.6, 0.4, 0.8)
+ false
+ false
+ 1.0
+
+
+
+
+ ARA_AcidSprayBurst
+ ARA_Toxic_Needle_Fire
+ ARA_Fighter_Invisibility
+
+
+
+
+ ARA_Fighter_Invisibility
+
+
+
+
+
+ ARA_Fighter_Invisibility
+ 战士种转换——隐形杀手
+ 使战士种发生内驱性进化,极大地损害其远程武器和特殊技能的使用能力,以换取近乎永久的隐形和强大的近战能力。\n\n该进化过程不可逆!
+ ArachnaeSwarm/UI/Abilities/ARA_Myrmecocystus_Production_Medicine
+ 1800
+ false
+ true
+ true
+ false
+ true
+ true
+ false
+ CastAbilityOnThing
+
+ Verb_CastAbility
+ 1
+ 12
+ AcidSpray_Resolve
+ false
+ false
+
+ True
+
+
+
+
+ CompAbilityEffect_GiveHediff
+ ARA_Fighter_Invisibility
+ True
+ true
+ 1
+
+
+ ARA_Technology_1MED
+ 需要科技 节点MED-1"制药" 以解锁进化
+
+
+
+
+ ARA_Fighter_Invisibility
+ HediffWithComps
+ 亚种-追猎种
+ 经过进化的战士种获得了特殊的覆盖全身的虹细胞,这些含纳米晶体的细胞可以折射各处的光线以达到永久隐身状态,直到其发起攻击。此外,它们也获得了更强大的近距离作战能力,缺点则是复眼的退化使其难以进行射击。
+ false
+
+
+ 0.01
+
+ 2
+ 0.05
+ 5
+ 0
+
+
+
+
+
+ true
+ 60
+ 90
+
+
+
+ ARA_Fighter_Invisibility_Execution
+ ARA_Fighter_Invisibility_jump
+
+
+
+
+
+
+
+
+ ARA_Smokepop_Base
+ 活体烟罐
+ 迷雾种是阿拉克涅虫族中的大家伙,它们毕不仅拥有厚实的外壳,其灌满信息素浓烟的腹部可以喷出覆盖战场的气体,吸引那些较小的辅虫破土而出对敌方发起疯狂的攻击。
+
+ ARA_Smokepop_Production_Bacterium
+
+ HediffWithComps
+ (0.6, 0.4, 0.8)
+ false
+ false
+ 1.0
+
+
+ PawnRenderNode_AttachmentHead
+ PawnRenderNodeWorker_FlipWhenCrawling
+ ArachnaeSwarm/Things/ARA_HiveNode/Addons/ArachnaeNode_Race_Addons_Smokepop_Armor
+ Body
+ false
+ false
+ Fresh, Rotting
+ 0.85
+
+
+ (0, 0, 0.2)
+
+
+ (0, 0, 0.2)
+
+
+ (0, 0, 0.2)
+
+
+ (0, 0, 0.2)
+
+
+ 800
+
+
+
+
+
+
+ 0
+
+ 0.75
+ 0.8
+
+
+
+
+
+
+ ARA_Ability_Smokepop
+ ARA_Smokepop_Production_Bacterium
+
+
+
+
+ ARA_Smokepop_Production_Bacterium
+
+
+
+
+
+ ARA_Smokepop_Production_Bacterium
+ 迷雾种转换——钜菌专精
+ 使迷雾种发生内驱性进化,以牺牲喷射信息素和降低护甲为代价,使其可以定期产出阿拉克涅虫族的高级材料——活化钜菌。\n\n该进化过程不可逆!
+ ArachnaeSwarm/UI/Abilities/ARA_Myrmecocystus_Production_Medicine
+ 1800
+ false
+ true
+ true
+ false
+ true
+ true
+ false
+ CastAbilityOnThing
+
+ Verb_CastAbility
+ 1
+ 12
+ AcidSpray_Resolve
+ false
+ false
+
+ True
+
+
+
+
+ CompAbilityEffect_GiveHediff
+ ARA_Smokepop_Production_Bacterium
+ True
+ true
+ 1
+
+
+ ARA_Technology_1MED
+ 需要科技 节点MED-1"制药" 以解锁进化
+
+
+
+
+ ARA_Smokepop_Production_Bacterium
+ 亚种-育菌种
+ 这只阿拉克涅迷雾种已经获得拔耀,前部甲壳脱落且无法再喷射信息素,转而换取了生产活化钜菌的能力。
+
+ ARA_Activated_Bacterium
+
+ HediffWithComps
+ (0.6, 0.4, 0.8)
+ false
+ false
+ 1.0
+
+
+ 0.01
+
+
+
+
+
+
+ true
+
+ ARA_Activated_Bacterium
+
+ 3
+
+
+ 1
+
+ 1
+ 0
+
+
+ false
+
+ true
+
+ true
+
+ 20
+
+
+ true
+
+ false
+
+
+
\ No newline at end of file
diff --git a/1.6/1.6/Defs/HediffDefs/ARA_Hediffs_Damage.xml b/1.6/1.6/Defs/HediffDefs/ARA_Hediffs_Damage.xml
index e5f6963..013e465 100644
--- a/1.6/1.6/Defs/HediffDefs/ARA_Hediffs_Damage.xml
+++ b/1.6/1.6/Defs/HediffDefs/ARA_Hediffs_Damage.xml
@@ -196,4 +196,31 @@
+
+
+ ARA_Fighter_Execution_Damage
+ 处决
+
+ (1, 1, 0.8)
+ ArachnaeSwarm.HediffCurseFlame
+
+
+ 2
+
+
+
+
+
+ Cut
+ 300
+ 1
+
+
+
+
+ minor
+ false
+
+
+
\ No newline at end of file
diff --git a/1.6/1.6/Defs/PawnKindDef/ARA_PawnKinds.xml b/1.6/1.6/Defs/PawnKindDef/ARA_PawnKinds.xml
index 94a8ef5..9200082 100644
--- a/1.6/1.6/Defs/PawnKindDef/ARA_PawnKinds.xml
+++ b/1.6/1.6/Defs/PawnKindDef/ARA_PawnKinds.xml
@@ -196,6 +196,7 @@
ArachnaeNode_Race_Fighter
阿拉克涅战士种
ArachnaeNode_Race_Fighter
+ false
PlayerColony
0
@@ -208,8 +209,6 @@
ARA_BaseRace_Acid_Launcher
- ARA_AcidSprayBurst
- ARA_Toxic_Needle_Fire
diff --git a/1.6/1.6/Defs/ThingDef_Races/ARA_RaceNodeSwarm.xml b/1.6/1.6/Defs/ThingDef_Races/ARA_RaceNodeSwarm.xml
index 576153f..1c4eb32 100644
--- a/1.6/1.6/Defs/ThingDef_Races/ARA_RaceNodeSwarm.xml
+++ b/1.6/1.6/Defs/ThingDef_Races/ARA_RaceNodeSwarm.xml
@@ -1091,6 +1091,17 @@
阿拉克涅的督虫们生命如精密的发条般运转着。
true
+
+
+ ARA_Fighter_Base
+
+ 1.0
+ false
+
+
+ ARA_Fighter_Invisibility
+ 120
+
@@ -1230,8 +1241,8 @@
- 1
- 1.2
+ 0.25
+ 0.4
0.75
diff --git a/1.6/1.6/Defs/Thing_Misc/ARA_Things_Items.xml b/1.6/1.6/Defs/Thing_Misc/ARA_Things_Items.xml
index 383d2fc..091e5b3 100644
--- a/1.6/1.6/Defs/Thing_Misc/ARA_Things_Items.xml
+++ b/1.6/1.6/Defs/Thing_Misc/ARA_Things_Items.xml
@@ -119,4 +119,33 @@
80
50
+
+
+ ARA_Activated_Bacterium
+ 活化钜菌
+ 一种被阿拉克涅虫族驯化和改造的极端微生物菌落。它具有超强的生物催化能力和腐蚀同化能力,是不少虫族高级装备的必需品。
+
+ ArachnaeSwarm/Item/ARA_Carapace
+ Graphic_Single
+
+ false
+ Standard_Drop
+ Standard_Drop
+ true
+ false
+ 30
+
+ 1
+ 50
+ 0.01
+
+
+ ResourcesRaw
+
+ false
+ false
+ Medium
+ 80
+ 50
+
\ No newline at end of file
diff --git a/Source/ArachnaeSwarm/.vs/ArachnaeSwarm/v17/.suo b/Source/ArachnaeSwarm/.vs/ArachnaeSwarm/v17/.suo
index 796baa3..51ed484 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 09cc560..7a44eea 100644
--- a/Source/ArachnaeSwarm/.vs/ArachnaeSwarm/v17/DocumentLayout.json
+++ b/Source/ArachnaeSwarm/.vs/ArachnaeSwarm/v17/DocumentLayout.json
@@ -1,14 +1,14 @@
{
"Version": 1,
- "WorkspaceRootPath": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\",
+ "WorkspaceRootPath": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\",
"Documents": [
{
- "AbsoluteMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|e:\\steamlibrary\\steamapps\\common\\rimworld\\mods\\arachnaeswarm\\source\\arachnaeswarm\\building_comps\\ara_compinteractiveproducer\\comprefuelablenutrition.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:building_comps\\ara_compinteractiveproducer\\comprefuelablenutrition.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|e:\\steamlibrary\\steamapps\\common\\rimworld\\mods\\arachnaeswarm\\source\\arachnaeswarm\\abilities\\psychicbrainburn\\compproperties_psychicbrainburn.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:abilities\\psychicbrainburn\\compproperties_psychicbrainburn.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\\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}"
}
],
"DocumentGroupContainers": [
@@ -18,7 +18,7 @@
"DocumentGroups": [
{
"DockedWidth": 200,
- "SelectedChildIndex": 1,
+ "SelectedChildIndex": 2,
"Children": [
{
"$type": "Bookmark",
@@ -26,28 +26,28 @@
},
{
"$type": "Document",
- "DocumentIndex": 0,
- "Title": "CompRefuelableNutrition.cs",
- "DocumentMoniker": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Building_Comps\\ARA_CompInteractiveProducer\\CompRefuelableNutrition.cs",
- "RelativeDocumentMoniker": "Building_Comps\\ARA_CompInteractiveProducer\\CompRefuelableNutrition.cs",
- "ToolTip": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Building_Comps\\ARA_CompInteractiveProducer\\CompRefuelableNutrition.cs*",
- "RelativeToolTip": "Building_Comps\\ARA_CompInteractiveProducer\\CompRefuelableNutrition.cs*",
- "ViewState": "AgIAAAAAAAAAAAAAAAAAABYAAAAkAAAAAAAAAA==",
+ "DocumentIndex": 1,
+ "Title": "CompFighterInvisible.cs",
+ "DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Pawn_Comps\\ARA_Fighter_Invisible\\CompFighterInvisible.cs",
+ "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": "AgIAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2025-09-20T17:59:02.999Z",
+ "WhenOpened": "2025-09-22T01:22:42.97Z",
"EditorCaption": ""
},
{
"$type": "Document",
- "DocumentIndex": 1,
- "Title": "CompProperties_PsychicBrainburn.cs",
- "DocumentMoniker": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Abilities\\PsychicBrainburn\\CompProperties_PsychicBrainburn.cs",
- "RelativeDocumentMoniker": "Abilities\\PsychicBrainburn\\CompProperties_PsychicBrainburn.cs",
- "ToolTip": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Abilities\\PsychicBrainburn\\CompProperties_PsychicBrainburn.cs",
- "RelativeToolTip": "Abilities\\PsychicBrainburn\\CompProperties_PsychicBrainburn.cs",
- "ViewState": "AgIAAAAAAAAAAAAAAAAAAAcAAAAgAAAAAAAAAA==",
+ "DocumentIndex": 0,
+ "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": "AgIAAAAAAAAAAAAAAAAAAAwAAAAyAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2025-09-20T17:27:16.475Z",
+ "WhenOpened": "2025-09-22T01:22:42.218Z",
"EditorCaption": ""
}
]
diff --git a/Source/ArachnaeSwarm/ArachnaeSwarm.csproj b/Source/ArachnaeSwarm/ArachnaeSwarm.csproj
index d70bb6c..55b61a2 100644
--- a/Source/ArachnaeSwarm/ArachnaeSwarm.csproj
+++ b/Source/ArachnaeSwarm/ArachnaeSwarm.csproj
@@ -161,6 +161,8 @@
+
+
diff --git a/Source/ArachnaeSwarm/Pawn_Comps/ARA_Fighter_Invisible/CompFighterInvisible.cs b/Source/ArachnaeSwarm/Pawn_Comps/ARA_Fighter_Invisible/CompFighterInvisible.cs
new file mode 100644
index 0000000..fff5d3b
--- /dev/null
+++ b/Source/ArachnaeSwarm/Pawn_Comps/ARA_Fighter_Invisible/CompFighterInvisible.cs
@@ -0,0 +1,74 @@
+using RimWorld;
+using UnityEngine;
+using Verse;
+using Verse.AI.Group;
+using Verse.Sound;
+using static HarmonyLib.Code;
+
+namespace ArachnaeSwarm
+{
+ public class CompFighterInvisible : ThingComp
+ {
+ public CompProperties_FighterInvisible Props => (CompProperties_FighterInvisible)props;
+
+ [Unsaved(false)]
+ private HediffComp_Invisibility invisibility;
+
+ private int lastDetectedTick = -99999;
+
+ private static float lastNotified = -99999f;
+
+ private const float NotifyCooldownSeconds = 60f;
+ 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
+ public override void PostExposeData()
+ {
+ Scribe_Values.Look(ref lastDetectedTick, "lastDetectedTick", 0);
+ }
+
+ public override void CompTick()
+ {
+ //蹒跚怪不会隐身
+ if (Sightstealer.IsShambler)
+ {
+ return;
+ }
+ //如果没有定义的InvisibilityDef,则返回false
+ if (Invisibility == null)
+ {
+ return;
+ }
+ if (!Sightstealer.Spawned)
+ {
+ return;
+ }
+ //进行隐身检查,如果超过定义的隐身恢复时间则切换为隐身
+ if (Sightstealer.IsHashIntervalTick(7))
+ {
+ if (Find.TickManager.TicksGame > lastDetectedTick + Props.stealthCooldownTicks)
+ {
+ Invisibility.BecomeInvisible();
+ }
+ }
+ }
+ //在使用verb的时候,会强制显现
+ public override void Notify_UsedVerb(Pawn pawn, Verb verb)
+ {
+ base.Notify_UsedVerb(pawn, verb);
+ if (!Sightstealer.IsShambler)
+ {
+ Invisibility.BecomeVisible();
+ lastDetectedTick = Find.TickManager.TicksGame;
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/Source/ArachnaeSwarm/Pawn_Comps/ARA_Fighter_Invisible/CompProperties_FighterInvisible.cs b/Source/ArachnaeSwarm/Pawn_Comps/ARA_Fighter_Invisible/CompProperties_FighterInvisible.cs
new file mode 100644
index 0000000..44c9f42
--- /dev/null
+++ b/Source/ArachnaeSwarm/Pawn_Comps/ARA_Fighter_Invisible/CompProperties_FighterInvisible.cs
@@ -0,0 +1,31 @@
+using RimWorld;
+using System.Collections.Generic;
+using Verse;
+
+namespace ArachnaeSwarm
+{
+ public class CompProperties_FighterInvisible : CompProperties
+ {
+ public float BaseVisibleRadius = 14f;
+
+ public int UndetectedTimeout = 120;
+
+ public int CheckDetectedIntervalTicks = 7;
+
+ public float FirstDetectedRadius = 30f;
+
+ public int RevealedLetterDelayTicks = 6;
+
+ public int AmbushCallMTBTicks = 600;
+
+ //修改:一个可定义的提供隐身的hediff
+ public HediffDef InvisibilityDef;
+ //隐身冷却
+ public int stealthCooldownTicks = 1200;
+
+ public CompProperties_FighterInvisible()
+ {
+ compClass = typeof(CompFighterInvisible);
+ }
+ }
+}
\ No newline at end of file