diff --git a/1.6/1.6/Assemblies/ArachnaeSwarm.dll b/1.6/1.6/Assemblies/ArachnaeSwarm.dll index 1d33af6..38c1417 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/ResearchProjectDefs/ARA_ResearchProjects.xml b/1.6/1.6/Defs/ResearchProjectDefs/ARA_ResearchProjects.xml index c40b882..d9091ee 100644 --- a/1.6/1.6/Defs/ResearchProjectDefs/ARA_ResearchProjects.xml +++ b/1.6/1.6/Defs/ResearchProjectDefs/ARA_ResearchProjects.xml @@ -47,7 +47,7 @@ 使拥有酸囊的虫族允许喷射强酸击退敌人。 150 1.00 - 0.20 + 0.90 ARA_ResearchBench
  • ARA_Base_Technology
  • @@ -59,7 +59,7 @@ 允许工艺种孵化新的武器。 150 2.00 - 0.20 + 0.90 ARA_ResearchBench
  • ARA_Technology_6VXI
  • @@ -71,10 +71,10 @@ 允许工艺种孵化新的武器。 150 5.50 - 0.30 + 0.90 ARA_ResearchBench -
  • ARA_Technology_6VXI
  • +
  • ARA_Technology_7VXI
  • ARA_Technology_1WMT
  • @@ -84,7 +84,7 @@ 允许工艺种孵化新的武器。 150 10.50 - 0.30 + 0.90 ARA_ResearchBench
  • ARA_Technology_8VXI
  • @@ -97,7 +97,7 @@ 允许建造天灾酸烧炮组织,一种强大的防御设施,不仅能解决成片的来犯之敌,也可以跨越地图发起打击。 150 11.50 - 0.30 + 0.90 ARA_ResearchBench
  • ARA_Technology_9VXI
  • @@ -134,7 +134,7 @@ 允许女皇种孵化新的虫族——原虫种,一种可以寄生在别的种族身上以控制它们的特殊督虫。 150 5.50 - 2.80 + 2.70 ARA_ResearchBench
  • ARA_Technology_1WMT
  • @@ -172,7 +172,7 @@ 允许工艺种孵化织物茧,为虫族提供基础防具。 150 1.00 - 1.40 + 1.50 ARA_ResearchBench
  • ARA_Base_Technology
  • @@ -185,7 +185,7 @@ 允许工艺种孵化新的武器,并允许部分带毒针的虫族进行毒针喷射。 150 1.00 - 0.80 + 0.30 ARA_ResearchBench
  • ARA_Base_Technology
  • @@ -197,7 +197,7 @@ 允许工艺种孵化新的武器。 150 5.50 - 0.90 + 0.30 ARA_ResearchBench
  • ARA_Technology_5PAV
  • @@ -210,7 +210,7 @@ 允许工艺种孵化新的武器。 150 10.50 - 0.90 + 0.30 ARA_ResearchBench
  • ARA_Technology_6PAV
  • @@ -223,10 +223,9 @@ 允许虫族建造一种强大的防御设施,具有强大的穿甲能力和较高的射速,专擅于对抗重甲目标。 150 11.50 - 0.90 + 0.30 ARA_ResearchBench -
  • ARA_Technology_2WMT
  • ARA_Technology_7PAV
  • @@ -237,7 +236,7 @@ 允许工艺种孵化新的武器。 150 6.50 - 2.80 + 2.70 ARA_ResearchBench
  • ARA_Technology_1WMT
  • @@ -249,7 +248,7 @@ 允许工艺种孵化新的武器。 150 10.50 - 2.80 + 2.70 ARA_ResearchBench
  • ARA_Technology_2WMT
  • @@ -263,7 +262,7 @@ 允许虫族建造一种可以提供直射光源以供植物生长的特殊菌瘤。 150 1.00 - 2.00 + 2.10 ARA_ResearchBench
  • ARA_Base_Technology
  • @@ -275,7 +274,7 @@ 允许虫族建造一种可以控制房间温度的特殊固定辅虫。 150 2.00 - 2.00 + 2.10 ARA_ResearchBench
  • ARA_Base_Technology
  • @@ -287,13 +286,39 @@ 允许虫族建造一种可以通过挖掘地道连接两地的特殊固定辅虫,以在两地间快速传输人员和物资。 150 10.50 - 2.20 + 2.10 ARA_ResearchBench
  • ARA_Technology_2WMT
  • ARA_Technology_6SPV
  • + + ARA_Technology_6GUT + + 允许虫族建造一种利用活体钜菌和生物质产出阿拉克涅虫蜜的建筑。 + 150 + 8.00 + 2.10 + ARA_ResearchBench + +
  • ARA_Technology_8VXI
  • +
  • ARA_Technology_1BAC
  • +
    +
    + + ARA_Technology_7GUT + + 允许虫族建造一种利用活体钜菌和生物质产出阿拉克涅虫蜜的建筑。 + 150 + 8.00 + 2.10 + ARA_ResearchBench + +
  • ARA_Technology_8VXI
  • +
  • ARA_Technology_1BAC
  • +
    +
    ARA_Technology_6SPV @@ -305,7 +330,6 @@ ARA_ResearchBench
  • ARA_Technology_1WMT
  • -
  • ARA_Technology_5PAV
  • @@ -314,7 +338,7 @@ 允许虫族建造一种强大的防御设施,能够向进犯的敌军投射以自杀式袭击为核心的酸爆种辅虫。 150 10.50 - 1.60 + 1.50 ARA_ResearchBench
  • ARA_Technology_8VXI
  • @@ -329,11 +353,11 @@ 允许蜜罐种使用拟线种寄生的能力,并在医药茧中解锁拟线种抑制剂的制作。 150 6.50 - 2.20 + 2.10 ARA_ResearchBench
  • ARA_Technology_1MED
  • -
  • ARA_Technology_5PAV
  • +
  • ARA_Technology_6SPV
  • @@ -356,7 +380,7 @@ 允许蜜罐种进行定向进化,以强化其自身的医疗能力并解锁孵化医药茧的技能。 150 5.50 - 2.20 + 2.10 ARA_ResearchBench
  • ARA_Technology_1WMT
  • diff --git a/1.6/1.6/Defs/Stats/ARA_Stats.xml b/1.6/1.6/Defs/Stats/ARA_Stats.xml index b6cbc01..96ced22 100644 --- a/1.6/1.6/Defs/Stats/ARA_Stats.xml +++ b/1.6/1.6/Defs/Stats/ARA_Stats.xml @@ -14,7 +14,7 @@ NutrientTransmissionEfficiency - + 减少无线传输生物质时的燃料消耗。最终消耗量将乘以 (1 - 效率)。 Building 0 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 1d4bdac..d06e365 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 @@ -140,8 +140,9 @@ 一种被阿拉克涅虫族驯化和改造的极端微生物菌落。它具有超强的生物催化能力和腐蚀同化能力,是不少虫族高级装备的必需品。 - ArachnaeSwarm/Item/ARA_Carapace + ArachnaeSwarm/Item/ARA_Activated_Bacterium Graphic_Single + 0.9 false Standard_Drop diff --git a/1.6/1.6/Defs/Thing_building/ARA_Building.xml b/1.6/1.6/Defs/Thing_building/ARA_Building.xml index 773a184..f882cd3 100644 --- a/1.6/1.6/Defs/Thing_building/ARA_Building.xml +++ b/1.6/1.6/Defs/Thing_building/ARA_Building.xml @@ -593,4 +593,103 @@ + + + ARA_JellyVat + + 一个阿拉克涅虫族活体组织,可以充分利用活体钜菌的溶解能力,通过消化生物质,来分泌出营养丰富的阿拉克涅虫蜜。 + Building + + ArachnaeSwarm/Building/ARA_JellyVat + Graphic_Single + CutoutComplex + (2.2,2.2) + + (1.6, 0.5, 1.6) + (0,0,-0.1) + + + +
  • ARA_Technology_6GUT
  • +
    + (2,2) + Normal + + 0 + + 50 + + false + 0 + Building + PassThroughOnly + ARA_Creep + 50 + + 250 + 2800 + 1.0 + + +
  • PlaceWorker_PreventInteractionSpotOverlap
  • +
    + 0.8 + (0,0,-1) + true + ARA_Buildings + 2600 + Item + + Laboratory + 0.8 + + ARA_Creep + +
  • + +
  • + + 120000 + 120000 + + +
  • + ARA_InsectJelly + 60 +
  • + + true + + +
  • + Biomass + 生物质 + + +
  • Foods
  • + + + 25 + 25 + true + +
  • + Bacterium + 活体钜菌 + + +
  • ARA_Activated_Bacterium
  • + + + 25 + 1 + true + + +
  • + ARA_InsectCreep + 6 +
  • +
    +
    \ No newline at end of file diff --git a/1.6/1.6/Defs/Thing_building/ARA_NutrientNetworkBuilding.xml b/1.6/1.6/Defs/Thing_building/ARA_NutrientNetworkBuilding.xml index 9dfb57b..5f83553 100644 --- a/1.6/1.6/Defs/Thing_building/ARA_NutrientNetworkBuilding.xml +++ b/1.6/1.6/Defs/Thing_building/ARA_NutrientNetworkBuilding.xml @@ -42,7 +42,6 @@
  • ARA_BioforgeIncubator
  • ARA_BioforgeIncubator_Thing
  • -
  • ARA_JellyVat
  • ARA_GrowthVat
  • ARA_MorphableResearchBench
  • ARANutrientDispenser
  • @@ -95,6 +94,10 @@ +
  • + ARA_InsectCreep + 18 +
  • ARA_Buildings @@ -108,10 +111,11 @@ ArachnaeSwarm/Building/ARA_BioforgeIncubator Graphic_Single CutoutComplex - (5,6) + (5.5,6.5) + (0, 2, 0.5) (4.0, 0.5, 4.0) - (0,0,-0.1) + (0,0,-0.3) (5,5) @@ -321,113 +325,24 @@ - - - ARA_JellyVat - - 一个活体虫族器官,通过分别消化植物和肉类物质,来缓慢培育出营养丰富的阿拉克涅虫蜜。需要同时填充素食和肉类才能工作。 - Building - - ArachnaeSwarm/Building/ARA_JellyVat - Graphic_Single - CutoutComplex - (2.2,2.2) - - (1.6, 0.5, 1.6) - (0,0,-0.1) - - - (2,2) - Normal - - 0 - - 50 - - false - 0 - Building - PassThroughOnly - ARA_Creep - 50 - - 250 - 2800 - 1.0 - - -
  • PlaceWorker_PreventInteractionSpotOverlap
  • -
    - 0.8 - (0,0,-1) - true - ARA_Buildings - 2600 - Item - - Laboratory - 0.8 - - ARA_Creep - -
  • - -
  • - - 120000 - 120000 - - -
  • - ARA_InsectJelly - 150 -
  • - - true - - - -
  • - bio - 生物质 - - -
  • Foods
  • -
  • Corpses
  • - - - 25 - 25 - true - - -
  • - -
  • ARA_NutrientNetworkTower
  • - - -
    - -
    + ARA_GrowthVat - - 用来存放猎物的茧。 + + 阿拉克涅虫群用来存放和消化猎物的茧,那些被扔进茧中的倒霉鬼将逐渐被酸蚀溶解,从而为阿拉克涅营养供给塔网络提供额外的生物质传输效率和孵化速度。 ArachnaeSwarm.Building_NutrientVat true Normal + ArachnaeSwarm/Building/ARA_GrowthVat_Icon ArachnaeSwarm/Building/ARA_GrowthVat Graphic_Single CutoutComplex (2.5,2.5) - - (0.85, 0.3, 1.7) - true North - (1,2) + (2,2) 500 8000 @@ -498,6 +413,11 @@
  • ARA_NutrientNetworkTower
  • + +
  • + ARA_InsectCreep + 6 +
  • diff --git a/1.6/1.6/Defs/Thing_building/ARA_SwarmTurret.xml b/1.6/1.6/Defs/Thing_building/ARA_SwarmTurret.xml index 9426252..4920896 100644 --- a/1.6/1.6/Defs/Thing_building/ARA_SwarmTurret.xml +++ b/1.6/1.6/Defs/Thing_building/ARA_SwarmTurret.xml @@ -7,7 +7,7 @@ 2 Things/Item/Resource/Shell/Shell_Toxic - Graphic_StackCount + Graphic_Single true None @@ -521,7 +521,7 @@ 2 ArachnaeSwarm/Mote/ARA_CatastropheMissile_Shell - Graphic_StackCount + Graphic_Single
  • diff --git a/1.6/1.6/Defs/WorldObjectDefs/WorldObjectDef_CatastropheMissile.xml b/1.6/1.6/Defs/WorldObjectDefs/WorldObjectDef_CatastropheMissile.xml index a9f4e11..9093a49 100644 --- a/1.6/1.6/Defs/WorldObjectDefs/WorldObjectDef_CatastropheMissile.xml +++ b/1.6/1.6/Defs/WorldObjectDefs/WorldObjectDef_CatastropheMissile.xml @@ -1,13 +1,14 @@ - CatastropheMissile_Flying - + ArachnaeSwarm.WorldObject_CatastropheMissile - World/WorldObjects/Caravan + ArachnaeSwarm/World/WorldObjects/Expanding/ARA_CatastropheMissile_Flying true true + ArachnaeSwarm/World/WorldObjects/ARA_CatastropheMissile_Flying + 100 + true - \ No newline at end of file diff --git a/Content/Textures/ArachnaeSwarm/Building/ARA_GrowthVat.png b/Content/Textures/ArachnaeSwarm/Building/ARA_GrowthVat.png index c56bd54..35dbf4d 100644 Binary files a/Content/Textures/ArachnaeSwarm/Building/ARA_GrowthVat.png and b/Content/Textures/ArachnaeSwarm/Building/ARA_GrowthVat.png differ diff --git a/Content/Textures/ArachnaeSwarm/Building/ARA_GrowthVatTop.png b/Content/Textures/ArachnaeSwarm/Building/ARA_GrowthVatTop.png index 32e63ac..9b358e9 100644 Binary files a/Content/Textures/ArachnaeSwarm/Building/ARA_GrowthVatTop.png and b/Content/Textures/ArachnaeSwarm/Building/ARA_GrowthVatTop.png differ diff --git a/Content/Textures/ArachnaeSwarm/Building/ARA_GrowthVat_Icon.png b/Content/Textures/ArachnaeSwarm/Building/ARA_GrowthVat_Icon.png new file mode 100644 index 0000000..9976746 Binary files /dev/null and b/Content/Textures/ArachnaeSwarm/Building/ARA_GrowthVat_Icon.png differ diff --git a/Content/Textures/ArachnaeSwarm/Building/ARA_JellyVat.png b/Content/Textures/ArachnaeSwarm/Building/ARA_JellyVat.png index 9c4c71d..79cc281 100644 Binary files a/Content/Textures/ArachnaeSwarm/Building/ARA_JellyVat.png and b/Content/Textures/ArachnaeSwarm/Building/ARA_JellyVat.png differ diff --git a/Content/Textures/ArachnaeSwarm/Item/ARA_Activated_Bacterium.png b/Content/Textures/ArachnaeSwarm/Item/ARA_Activated_Bacterium.png new file mode 100644 index 0000000..0723d42 Binary files /dev/null and b/Content/Textures/ArachnaeSwarm/Item/ARA_Activated_Bacterium.png differ diff --git a/Content/Textures/ArachnaeSwarm/World/WorldObjects/ARA_CatastropheMissile_Flying.png b/Content/Textures/ArachnaeSwarm/World/WorldObjects/ARA_CatastropheMissile_Flying.png new file mode 100644 index 0000000..1f312fb Binary files /dev/null and b/Content/Textures/ArachnaeSwarm/World/WorldObjects/ARA_CatastropheMissile_Flying.png differ diff --git a/Content/Textures/ArachnaeSwarm/World/WorldObjects/Expanding/ARA_CatastropheMissile_Flying.png b/Content/Textures/ArachnaeSwarm/World/WorldObjects/Expanding/ARA_CatastropheMissile_Flying.png new file mode 100644 index 0000000..164869e Binary files /dev/null and b/Content/Textures/ArachnaeSwarm/World/WorldObjects/Expanding/ARA_CatastropheMissile_Flying.png differ diff --git a/Source/ArachnaeSwarm/.vs/ArachnaeSwarm/v17/.suo b/Source/ArachnaeSwarm/.vs/ArachnaeSwarm/v17/.suo index 379da38..2db859a 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 0f43bdf..6c9c884 100644 --- a/Source/ArachnaeSwarm/.vs/ArachnaeSwarm/v17/DocumentLayout.json +++ b/Source/ArachnaeSwarm/.vs/ArachnaeSwarm/v17/DocumentLayout.json @@ -2,37 +2,13 @@ "Version": 1, "WorkspaceRootPath": "E:\\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\\buildings\\building_catastrophemissilesilo.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:buildings\\building_catastrophemissilesilo.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\\building_comps\\ara_nutrientvat\\building_nutrientvat.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:building_comps\\ara_nutrientvat\\building_nutrientvat.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\\wormhole\\complaunchablewormhole.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:wormhole\\complaunchablewormhole.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\\wormhole\\building_wormholeportal_b.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:wormhole\\building_wormholeportal_b.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\\wormhole\\travelingwormhole.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:wormhole\\travelingwormhole.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\\wormhole\\jobdriver_deploywormhole.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:wormhole\\jobdriver_deploywormhole.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\\wormhole\\defmodextension_travelingwormhole.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:wormhole\\defmodextension_travelingwormhole.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\\wormhole\\building_wormholeportal_a.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:wormhole\\building_wormholeportal_a.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\\ara_hediffdefof.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:ara_hediffdefof.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" } ], "DocumentGroupContainers": [ @@ -51,99 +27,28 @@ { "$type": "Document", "DocumentIndex": 1, + "Title": "ARA_HediffDefOf.cs", + "DocumentMoniker": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\ARA_HediffDefOf.cs", + "RelativeDocumentMoniker": "ARA_HediffDefOf.cs", + "ToolTip": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\ARA_HediffDefOf.cs", + "RelativeToolTip": "ARA_HediffDefOf.cs", + "ViewState": "AgIAAAAAAAAAAAAAAADwvwcAAAAnAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2025-09-24T14:28:58.313Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 0, "Title": "Building_NutrientVat.cs", "DocumentMoniker": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Building_Comps\\ARA_NutrientVat\\Building_NutrientVat.cs", "RelativeDocumentMoniker": "Building_Comps\\ARA_NutrientVat\\Building_NutrientVat.cs", "ToolTip": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Building_Comps\\ARA_NutrientVat\\Building_NutrientVat.cs", "RelativeToolTip": "Building_Comps\\ARA_NutrientVat\\Building_NutrientVat.cs", - "ViewState": "AgIAAAAAAAAAAAAAAAAAAAQBAABVAAAAAAAAAA==", + "ViewState": "AgIAAFkAAAAAAAAAAAASwIsAAAAJAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2025-09-23T16:34:34.794Z" - }, - { - "$type": "Document", - "DocumentIndex": 0, - "Title": "Building_CatastropheMissileSilo.cs", - "DocumentMoniker": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Buildings\\Building_CatastropheMissileSilo.cs", - "RelativeDocumentMoniker": "Buildings\\Building_CatastropheMissileSilo.cs", - "ToolTip": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Buildings\\Building_CatastropheMissileSilo.cs", - "RelativeToolTip": "Buildings\\Building_CatastropheMissileSilo.cs", - "ViewState": "AgIAAAAAAAAAAAAAAAAAACQAAABJAAAAAAAAAA==", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2025-09-23T16:30:21.768Z", + "WhenOpened": "2025-09-23T16:34:34.794Z", "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 4, - "Title": "TravelingWormhole.cs", - "DocumentMoniker": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Wormhole\\TravelingWormhole.cs", - "RelativeDocumentMoniker": "Wormhole\\TravelingWormhole.cs", - "ToolTip": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Wormhole\\TravelingWormhole.cs", - "RelativeToolTip": "Wormhole\\TravelingWormhole.cs", - "ViewState": "AgIAABYAAAAAAAAAAAAywBQAAAA0AAAAAAAAAA==", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2025-09-23T14:38:30.02Z" - }, - { - "$type": "Document", - "DocumentIndex": 5, - "Title": "JobDriver_DeployWormhole.cs", - "DocumentMoniker": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Wormhole\\JobDriver_DeployWormhole.cs", - "RelativeDocumentMoniker": "Wormhole\\JobDriver_DeployWormhole.cs", - "ToolTip": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Wormhole\\JobDriver_DeployWormhole.cs", - "RelativeToolTip": "Wormhole\\JobDriver_DeployWormhole.cs", - "ViewState": "AgIAAAAAAAAAAAAAAADwvxQAAAAdAAAAAAAAAA==", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2025-09-23T14:38:27.332Z" - }, - { - "$type": "Document", - "DocumentIndex": 3, - "Title": "Building_WormholePortal_B.cs", - "DocumentMoniker": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Wormhole\\Building_WormholePortal_B.cs", - "RelativeDocumentMoniker": "Wormhole\\Building_WormholePortal_B.cs", - "ToolTip": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Wormhole\\Building_WormholePortal_B.cs", - "RelativeToolTip": "Wormhole\\Building_WormholePortal_B.cs", - "ViewState": "AgIAAE0AAAAAAAAAAAAmwGcAAAAYAAAAAAAAAA==", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2025-09-23T14:37:57.528Z" - }, - { - "$type": "Document", - "DocumentIndex": 6, - "Title": "DefModExtension_TravelingWormhole.cs", - "DocumentMoniker": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Wormhole\\DefModExtension_TravelingWormhole.cs", - "RelativeDocumentMoniker": "Wormhole\\DefModExtension_TravelingWormhole.cs", - "ToolTip": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Wormhole\\DefModExtension_TravelingWormhole.cs", - "RelativeToolTip": "Wormhole\\DefModExtension_TravelingWormhole.cs", - "ViewState": "AgIAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2025-09-23T14:38:25.789Z" - }, - { - "$type": "Document", - "DocumentIndex": 2, - "Title": "CompLaunchableWormhole.cs", - "DocumentMoniker": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Wormhole\\CompLaunchableWormhole.cs", - "RelativeDocumentMoniker": "Wormhole\\CompLaunchableWormhole.cs", - "ToolTip": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Wormhole\\CompLaunchableWormhole.cs", - "RelativeToolTip": "Wormhole\\CompLaunchableWormhole.cs", - "ViewState": "AgIAAAoAAAAAAAAAAIA2wCEAAABYAAAAAAAAAA==", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2025-09-23T14:38:20.681Z" - }, - { - "$type": "Document", - "DocumentIndex": 7, - "Title": "Building_WormholePortal_A.cs", - "DocumentMoniker": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Wormhole\\Building_WormholePortal_A.cs", - "RelativeDocumentMoniker": "Wormhole\\Building_WormholePortal_A.cs", - "ToolTip": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Wormhole\\Building_WormholePortal_A.cs", - "RelativeToolTip": "Wormhole\\Building_WormholePortal_A.cs", - "ViewState": "AgIAAIUAAAAAAAAAAAAIwJgAAAA5AAAAAAAAAA==", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2025-09-23T14:28:58.917Z" } ] } diff --git a/Source/ArachnaeSwarm/ARA_HediffDefOf.cs b/Source/ArachnaeSwarm/ARA_HediffDefOf.cs new file mode 100644 index 0000000..611ee5c --- /dev/null +++ b/Source/ArachnaeSwarm/ARA_HediffDefOf.cs @@ -0,0 +1,19 @@ +using RimWorld; +using Verse; +using Verse.Sound; + +namespace ArachnaeSwarm +{ + [DefOf] + public static class ARA_HediffDefOf + { + public static HediffDef ARA_AcidCoverd; + public static HediffDef ARA_HiveMindMaster; + public static HediffDef ARA_HiveMindDrone; + public static HediffDef ARA_HiveMindWorker; + static ARA_HediffDefOf() + { + DefOfHelper.EnsureInitializedInCtor(typeof(HediffDefOf)); + } + } +} \ No newline at end of file diff --git a/Source/ArachnaeSwarm/ArachnaeSwarm.csproj b/Source/ArachnaeSwarm/ArachnaeSwarm.csproj index f90716f..8e06086 100644 --- a/Source/ArachnaeSwarm/ArachnaeSwarm.csproj +++ b/Source/ArachnaeSwarm/ArachnaeSwarm.csproj @@ -95,6 +95,7 @@ + diff --git a/Source/ArachnaeSwarm/Building_Comps/ARA_NutrientNetwork/CompNutrientProvider.cs b/Source/ArachnaeSwarm/Building_Comps/ARA_NutrientNetwork/CompNutrientProvider.cs index d447c98..ea11cb1 100644 --- a/Source/ArachnaeSwarm/Building_Comps/ARA_NutrientNetwork/CompNutrientProvider.cs +++ b/Source/ArachnaeSwarm/Building_Comps/ARA_NutrientNetwork/CompNutrientProvider.cs @@ -23,7 +23,7 @@ namespace ArachnaeSwarm StringBuilder sb = new StringBuilder(); float efficiency = Mathf.Clamp(parent.GetStatValue(StatDef.Named("NutrientTransmissionEfficiency")), 0f, Props.maxEfficiency); - sb.AppendLine("生物质传输效率".Translate() + ": " + efficiency.ToStringPercent()); + sb.AppendLine("生物质传输效率".Translate() + ": +" + efficiency.ToStringPercent()); sb.AppendLine("链接的建筑".Translate() + ":"); diff --git a/Source/ArachnaeSwarm/Building_Comps/ARA_NutrientVat/Building_NutrientVat.cs b/Source/ArachnaeSwarm/Building_Comps/ARA_NutrientVat/Building_NutrientVat.cs index c9bd04f..080a398 100644 --- a/Source/ArachnaeSwarm/Building_Comps/ARA_NutrientVat/Building_NutrientVat.cs +++ b/Source/ArachnaeSwarm/Building_Comps/ARA_NutrientVat/Building_NutrientVat.cs @@ -1,5 +1,7 @@ using RimWorld; +using System; using System.Collections.Generic; +using System.Linq; using System.Text; using UnityEngine; using Verse; @@ -104,6 +106,52 @@ namespace ArachnaeSwarm base.DeSpawn(mode); } + //޸ĵ㣺Աʴ˺ + private Dictionary pawnTickCounters = new Dictionary(); + private BodyPartRecord GetRandomBodyPart(Pawn pawn) + { + var parts = pawn.health.hediffSet.GetNotMissingParts().ToList(); + return parts.Count > 0 ? parts.RandomElement() : pawn.RaceProps.body.corePart; + } + private void ApplyAcidDamage(Pawn pawn) + { + try + { + BodyPartRecord targetPart = GetRandomVulnerablePart(pawn); + + DamageDef acidDamageDef = DefDatabase.GetNamed("AcidBurn") ?? DamageDefOf.Burn; + + DamageInfo acidDamage = new DamageInfo( + acidDamageDef, + 1f, // ÿ1˺ + 0.1f, // ΢״͸ + -1f, // Ƕ + instigator: null, + hitPart: targetPart + ); + + // Ӧ˺ + pawn.TakeDamage(acidDamage); + } + catch (Exception ex) + { + Log.Error($"Error applying acid damage to {pawn}: {ex.Message}"); + } + } + private BodyPartRecord GetRandomVulnerablePart(Pawn pawn) + { + // ѡⲿ岿λ + var vulnerableParts = pawn.health.hediffSet.GetNotMissingParts() + .Where(part => part.depth == BodyPartDepth.Outside && + !part.def.conceptual && + part.def.hitPoints > 0) + .ToList(); + + return vulnerableParts.Count > 0 ? + vulnerableParts.RandomElement() : + pawn.RaceProps.body.corePart; + } + protected override void Tick() { base.Tick(); @@ -116,6 +164,31 @@ namespace ArachnaeSwarm if (base.Working && selectedPawn != null) { + //޸ĵ㣺Աʴ˺ + if (pawnTickCounters.TryGetValue(selectedPawn, out int tickCount)) + { + tickCount++; + pawnTickCounters[selectedPawn] = tickCount; + + if (tickCount >= 6000) + { + DamageInfo acidDamage = new DamageInfo( + DefDatabase.GetNamed("AcidBurn") ?? DamageDefOf.Burn, + 1f, + 100f, // ȫ״͸ + -1f, + instigator: null, + hitPart: GetRandomBodyPart(selectedPawn) + ); + pawnTickCounters[selectedPawn] = 0; + ApplyAcidDamage(selectedPawn); + } + } + else + { + pawnTickCounters[selectedPawn] = 0; + } + // Update BioStarvation float biostarvationOffset = BiostarvationDailyOffset / 60000f * HediffDefOf.BioStarvation.maxSeverity; Hediff biostarvation = selectedPawn.health.hediffSet.GetFirstHediffOfDef(HediffDefOf.BioStarvation); @@ -169,6 +242,11 @@ namespace ArachnaeSwarm { return "PawnBiostarving".Translate(pawn.Named("PAWN")); } + //޸ĵ㣺ֹȺԱ + if (pawn.health.hediffSet.HasHediff(ARA_HediffDefOf.ARA_HiveMindMaster) || pawn.health.hediffSet.HasHediff(ARA_HediffDefOf.ARA_HiveMindDrone) ||pawn.health.hediffSet.HasHediff(ARA_HediffDefOf.ARA_HiveMindWorker)) + { + return "PawnIsHiveMember".Translate(pawn.Named("PAWN")); + } return pawn.IsColonist && !pawn.IsQuestLodger(); } @@ -235,40 +313,40 @@ namespace ArachnaeSwarm { yield return gizmo; } - + //޸ĵ㣺ɾ˵ if (base.Working) { - yield return new Command_Action - { - defaultLabel = "CommandCancelGrowth".Translate(), // Label can be changed - defaultDesc = "CommandCancelGrowthDesc".Translate(), // Desc can be changed - icon = ContentFinder.Get("UI/Designators/Cancel"), - action = () => - { - Finish(); - innerContainer.TryDropAll(InteractionCell, base.Map, ThingPlaceMode.Near); - } - }; + //yield return new Command_Action + //{ + // defaultLabel = "CommandCancelGrowth".Translate(), // Label can be changed + // defaultDesc = "CommandCancelGrowthDesc".Translate(), // Desc can be changed + // icon = ContentFinder.Get("UI/Designators/Cancel"), + // action = () => + // { + // Finish(); + // innerContainer.TryDropAll(InteractionCell, base.Map, ThingPlaceMode.Near); + // } + //}; } else { - if (selectedPawn != null) - { - yield return new Command_Action - { - defaultLabel = "CommandCancelLoad".Translate(), - defaultDesc = "CommandCancelLoadDesc".Translate(), - icon = ContentFinder.Get("UI/Designators/Cancel"), - action = () => - { - if (selectedPawn?.CurJobDef == JobDefOf.EnterBuilding) - { - selectedPawn.jobs.EndCurrentJob(JobCondition.InterruptForced); - } - OnStop(); - } - }; - } + //if (selectedPawn != null) + //{ + // yield return new Command_Action + // { + // defaultLabel = "CommandCancelLoad".Translate(), + // defaultDesc = "CommandCancelLoadDesc".Translate(), + // icon = ContentFinder.Get("UI/Designators/Cancel"), + // action = () => + // { + // if (selectedPawn?.CurJobDef == JobDefOf.EnterBuilding) + // { + // selectedPawn.jobs.EndCurrentJob(JobCondition.InterruptForced); + // } + // OnStop(); + // } + // }; + //} var command_Action = new Command_Action { diff --git a/非公开资源/Content/Textures/Building/ARA_GrowthVat.psd b/非公开资源/Content/Textures/Building/ARA_GrowthVat.psd index df45341..c3f839c 100644 Binary files a/非公开资源/Content/Textures/Building/ARA_GrowthVat.psd and b/非公开资源/Content/Textures/Building/ARA_GrowthVat.psd differ diff --git a/非公开资源/Content/Textures/Building/ARA_JellyVat.sai2 b/非公开资源/Content/Textures/Building/ARA_JellyVat.sai2 new file mode 100644 index 0000000..d8c6ee6 Binary files /dev/null and b/非公开资源/Content/Textures/Building/ARA_JellyVat.sai2 differ diff --git a/非公开资源/Content/Textures/Item/ARA_Activated_Bacterium.sai2 b/非公开资源/Content/Textures/Item/ARA_Activated_Bacterium.sai2 new file mode 100644 index 0000000..be27fe1 Binary files /dev/null and b/非公开资源/Content/Textures/Item/ARA_Activated_Bacterium.sai2 differ diff --git a/非公开资源/Content/Textures/World/WorldObjects/ARA_CatastropheMissile_Flying.sai2 b/非公开资源/Content/Textures/World/WorldObjects/ARA_CatastropheMissile_Flying.sai2 new file mode 100644 index 0000000..795a71c Binary files /dev/null and b/非公开资源/Content/Textures/World/WorldObjects/ARA_CatastropheMissile_Flying.sai2 differ