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