This commit is contained in:
2025-10-22 17:30:39 +08:00
parent 5df900f094
commit 82f8ddce61
11 changed files with 336 additions and 532 deletions

Binary file not shown.

View File

@@ -1024,7 +1024,7 @@
</li> </li>
</comps> </comps>
</AbilityDef> </AbilityDef>
<AbilityDef> <!-- <AbilityDef>
<defName>ARA_Genestealer_Variation</defName> <defName>ARA_Genestealer_Variation</defName>
<label>虫化变异</label> <label>虫化变异</label>
<description>畸变种指定一个非虫群成员的殖民者、囚犯或奴隶,诱发目标的虫族化变异,使殖民者获得任意的虫族身体部件,这会降低其魅力。</description> <description>畸变种指定一个非虫群成员的殖民者、囚犯或奴隶,诱发目标的虫族化变异,使殖民者获得任意的虫族身体部件,这会降低其魅力。</description>
@@ -1086,27 +1086,17 @@
<requiredResearchProject>ARA_Technology_5KYC</requiredResearchProject> <requiredResearchProject>ARA_Technology_5KYC</requiredResearchProject>
<severity>1</severity> <severity>1</severity>
</li> </li>
<li>
<hediffDef>ARA_HiveMindMaster</hediffDef>
<weight>0</weight>
<severity>1</severity>
</li>
<li>
<hediffDef>ARA_HiveMindDrone</hediffDef>
<weight>0</weight>
<severity>1</severity>
</li>
<li>
<hediffDef>ARA_NonPlayer_HiveMindDroneHediff</hediffDef>
<weight>0</weight>
<severity>1</severity>
</li>
</hediffEntries> </hediffEntries>
<allowMultipleHediffs>false</allowMultipleHediffs> <allowMultipleHediffs>false</allowMultipleHediffs>
<resistChance>0</resistChance> <resistChance>0</resistChance>
<blacklistHediffs>
<li>ARA_HiveMindMaster</li>
<li>ARA_HiveMindDrone</li>
<li>ARA_NonPlayer_HiveMindDroneHediff</li>
</blacklistHediffs>
</li> </li>
</comps> </comps>
</AbilityDef> </AbilityDef> -->
<!-- 衣服 --> <!-- 衣服 -->
<AbilityDef> <AbilityDef>

View File

@@ -820,7 +820,7 @@
<AbilityDef> <AbilityDef>
<defName>ARA_Fighter_Genestealer</defName> <defName>ARA_Fighter_Genestealer</defName>
<label>战士种转换——基因窃贼</label> <label>战士种转换——基因窃贼</label>
<description>使战士种发生内驱性进化,损害其战斗能力和使用技能的能力,以换取从敌人身上窃取基因向己方殖民者注入基因和诱发非虫族殖民者虫族化的能力。\n\n该进化过程不可逆</description> <description>使战士种发生内驱性进化,损害其战斗能力和使用技能的能力,以换取从敌人身上窃取基因向己方殖民者注入基因的能力。\n\n该进化过程不可逆</description>
<iconPath>ArachnaeSwarm/UI/Abilities/ARA_Fighter_Genestealer</iconPath> <iconPath>ArachnaeSwarm/UI/Abilities/ARA_Fighter_Genestealer</iconPath>
<cooldownTicksRange>1800</cooldownTicksRange> <cooldownTicksRange>1800</cooldownTicksRange>
<hostile>false</hostile> <hostile>false</hostile>
@@ -865,8 +865,8 @@
</skillChanges> </skillChanges>
</li> </li>
<li Class="ArachnaeSwarm.CompProperties_AbilityResearchPrereq"> <li Class="ArachnaeSwarm.CompProperties_AbilityResearchPrereq">
<requiredResearch>ARA_Technology_4CLO</requiredResearch> <requiredResearch>ARA_Technology_5STL</requiredResearch>
<failMessage>需要科技 节点CLO-4"追猎种" 以解锁进化</failMessage> <failMessage>需要科技 节点STL-5"基因窃取" 以解锁进化</failMessage>
</li> </li>
</comps> </comps>
</AbilityDef> </AbilityDef>
@@ -874,7 +874,7 @@
<defName>ARA_Fighter_Genestealer</defName> <defName>ARA_Fighter_Genestealer</defName>
<hediffClass>HediffWithComps</hediffClass> <hediffClass>HediffWithComps</hediffClass>
<label>亚种-畸变种</label> <label>亚种-畸变种</label>
<description>畸变种是移动的基因库,她们在虫群中不再担任刀间舔血的工作,而是专注于提纯囚犯和奴隶的优质基因,并将其赋予虫族中的高质量个体。她们也拥有引发非虫族殖民者器官虫族化的能力,以使得那些没有用处的异族能那么稍微对虫巢做出一些贡献。</description> <description>畸变种是移动的基因库,她们在虫群中不再担任刀间舔血的工作,而是专注于提纯囚犯和奴隶的优质基因,并将其赋予虫族中的高质量个体。</description>
<isBad>false</isBad> <isBad>false</isBad>
<stages> <stages>
</stages> </stages>
@@ -883,7 +883,7 @@
<abilityDefs> <abilityDefs>
<li>ARA_Genestealer_ExtractGene</li> <li>ARA_Genestealer_ExtractGene</li>
<li>ARA_Genestealer_InjectGenes</li> <li>ARA_Genestealer_InjectGenes</li>
<li>ARA_Genestealer_Variation</li> <!-- <li>ARA_Genestealer_Variation</li> -->
</abilityDefs> </abilityDefs>
</li> </li>
<li Class="HediffCompProperties_DisappearsOnDeath" /> <li Class="HediffCompProperties_DisappearsOnDeath" />

View File

@@ -28,9 +28,6 @@
<texSeed>1</texSeed> <texSeed>1</texSeed>
</li> </li>
</renderNodeProperties> </renderNodeProperties>
<addedPartProps>
<solid>true</solid>
</addedPartProps>
<comps> <comps>
<li Class="HediffCompProperties_VerbGiver"> <li Class="HediffCompProperties_VerbGiver">
<tools> <tools>
@@ -62,29 +59,8 @@
<hungerRateFactorOffset>2</hungerRateFactorOffset> <hungerRateFactorOffset>2</hungerRateFactorOffset>
<statOffsets> <statOffsets>
<PawnBeauty>-1</PawnBeauty> <PawnBeauty>-1</PawnBeauty>
<MoveSpeed>-2</MoveSpeed>
</statOffsets> </statOffsets>
<capMods>
<li>
<capacity>Consciousness</capacity>
<offset>-0.20</offset>
</li>
<li>
<capacity>Moving</capacity>
<offset>-0.50</offset>
</li>
<li>
<capacity>Sight</capacity>
<offset>-0.20</offset>
</li>
<li>
<capacity>BloodPumping</capacity>
<offset>-0.20</offset>
</li>
<li>
<capacity>Manipulation</capacity>
<offset>-0.20</offset>
</li>
</capMods>
</li> </li>
</stages> </stages>
<renderNodeProperties> <renderNodeProperties>
@@ -98,7 +74,7 @@
<texSeed>1</texSeed> <texSeed>1</texSeed>
<drawData> <drawData>
<dataNorth> <dataNorth>
<layer>70</layer> <layer>150</layer>
</dataNorth> </dataNorth>
<dataSouth> <dataSouth>
<layer>0</layer> <layer>0</layer>
@@ -112,9 +88,6 @@
</drawData> </drawData>
</li> </li>
</renderNodeProperties> </renderNodeProperties>
<addedPartProps>
<solid>true</solid>
</addedPartProps>
<comps> <comps>
<li Class="ArachnaeSwarm.MoharHediffs.HediffCompProperties_Spawner"> <li Class="ArachnaeSwarm.MoharHediffs.HediffCompProperties_Spawner">
<!-- <!--
@@ -190,9 +163,6 @@
</drawData> </drawData>
</li> </li>
</renderNodeProperties> </renderNodeProperties>
<addedPartProps>
<solid>true</solid>
</addedPartProps>
<comps> <comps>
<li Class="HediffCompProperties_GiveAbility"> <li Class="HediffCompProperties_GiveAbility">
<abilityDefs> <abilityDefs>
@@ -247,9 +217,6 @@
</statOffsets> </statOffsets>
</li> </li>
</stages> </stages>
<addedPartProps>
<solid>true</solid>
</addedPartProps>
</HediffDef> </HediffDef>
<HediffDef ParentName="ARA_AddedMutationBase"> <HediffDef ParentName="ARA_AddedMutationBase">
<defName>ArachnaeNode_Race_ShieldHead_Armor_Part</defName> <defName>ArachnaeNode_Race_ShieldHead_Armor_Part</defName>

View File

@@ -1,32 +1,9 @@
<?xml version="1.0" encoding="utf-8" ?> <?xml version="1.0" encoding="utf-8" ?>
<Defs> <Defs>
<RecipeDef Abstract="True" Name="ARA_SurgeryInstallImplantBase"> <RecipeDef Abstract="True" Name="ARA_SurgeryInstallImplantBase" ParentName="SurgeryInstallBodyPartArtificialBase">
<effectWorking>Surgery</effectWorking>
<soundWorking>Recipe_Surgery</soundWorking>
<workSpeedStat>MedicalOperationSpeed</workSpeedStat>
<workSkill>Medicine</workSkill>
<workSkillLearnFactor>16</workSkillLearnFactor>
<surgeryOutcomeEffect>SurgeryOutcomeBase</surgeryOutcomeEffect>
<workerClass>Recipe_InstallArtificialBodyPart</workerClass> <workerClass>Recipe_InstallArtificialBodyPart</workerClass>
<!-- Always succeeds -->
<anesthetize>false</anesthetize> <anesthetize>false</anesthetize>
<!-- <workerClass>Recipe_InstallArtificialBodyPart</workerClass> -->
<workAmount>2500</workAmount> <workAmount>2500</workAmount>
<!-- <developmentalStageFilter>Child, Adult</developmentalStageFilter> -->
<skillRequirements>
<Medicine>5</Medicine>
</skillRequirements>
<ingredients>
<li>
<filter><categories><li>Medicine</li></categories></filter>
<count>2</count>
</li>
</ingredients>
<fixedIngredientFilter>
<categories>
<li>Medicine</li>
</categories>
</fixedIngredientFilter>
</RecipeDef> </RecipeDef>
<ThingDef Abstract="True" Name="ARA_BodyPartProstheticBase" ParentName="BodyPartProstheticMakeableBase"> <ThingDef Abstract="True" Name="ARA_BodyPartProstheticBase" ParentName="BodyPartProstheticMakeableBase">
<graphicData> <graphicData>
@@ -253,6 +230,9 @@
<descriptionHyperlinks> <descriptionHyperlinks>
<RecipeDef>ARA_Surgery_Install_Reactive_Shell</RecipeDef> <RecipeDef>ARA_Surgery_Install_Reactive_Shell</RecipeDef>
</descriptionHyperlinks> </descriptionHyperlinks>
<addedPartProps>
<betterThanNatural>true</betterThanNatural>
</addedPartProps>
<isBad>false</isBad> <isBad>false</isBad>
<debugLabelExtra>other</debugLabelExtra> <debugLabelExtra>other</debugLabelExtra>
<initialSeverity>1</initialSeverity> <!-- 初始层数设置为10 --> <initialSeverity>1</initialSeverity> <!-- 初始层数设置为10 -->
@@ -319,6 +299,9 @@
</statOffsets> </statOffsets>
</li> </li>
</stages> </stages>
<addedPartProps>
<betterThanNatural>true</betterThanNatural>
</addedPartProps>
<isBad>false</isBad> <isBad>false</isBad>
<debugLabelExtra>other</debugLabelExtra> <debugLabelExtra>other</debugLabelExtra>
<initialSeverity>1</initialSeverity> <!-- 初始层数设置为10 --> <initialSeverity>1</initialSeverity> <!-- 初始层数设置为10 -->
@@ -547,15 +530,15 @@
<li> <li>
<filter> <filter>
<thingDefs> <thingDefs>
<li>ARA_InsectJelly</li> <li>ARA_Gene_Essence</li>
</thingDefs> </thingDefs>
</filter> </filter>
<count>25</count> <count>10</count>
</li> </li>
</ingredients> </ingredients>
<fixedIngredientFilter> <fixedIngredientFilter>
<thingDefs> <thingDefs>
<li>ARA_Activated_Bacterium</li> <li>ARA_Gene_Essence</li>
</thingDefs> </thingDefs>
</fixedIngredientFilter> </fixedIngredientFilter>
<addsHediff>ARA_Huge_Stomach_Hediff</addsHediff> <addsHediff>ARA_Huge_Stomach_Hediff</addsHediff>
@@ -591,7 +574,71 @@
<researchPrerequisite>ARA_Technology_1EVO</researchPrerequisite> <researchPrerequisite>ARA_Technology_1EVO</researchPrerequisite>
</recipeMaker> </recipeMaker>
<costList> <costList>
<ARA_InsectJelly>25</ARA_InsectJelly> <ARA_Gene_Essence>10</ARA_Gene_Essence>
</costList>
</ThingDef>
<!-- 肺部 -->
<RecipeDef ParentName="ARA_SurgeryInstallImplantBase">
<defName>ARA_Surgery_Install_Internal_Circulation_Lung</defName>
<label>内循环肺</label>
<description>诱发阿拉克涅虫族的定向变异,使其肺部可以进行自循环,几乎可以抵御真空的侵袭。</description>
<descriptionHyperlinks>
<HediffDef>ARA_Internal_Circulation_Lung_Hediff</HediffDef>
</descriptionHyperlinks>
<jobString>正在实施定向变异</jobString>
<appliedOnFixedBodyParts>
<li>Lung</li>
</appliedOnFixedBodyParts>
<ingredients>
<li>
<filter>
<thingDefs>
<li>ARA_Gene_Essence</li>
</thingDefs>
</filter>
<count>10</count>
</li>
</ingredients>
<fixedIngredientFilter>
<thingDefs>
<li>ARA_Gene_Essence</li>
</thingDefs>
</fixedIngredientFilter>
<addsHediff>ARA_Internal_Circulation_Lung_Hediff</addsHediff>
<researchPrerequisite>ARA_Technology_10EVO</researchPrerequisite>
</RecipeDef>
<HediffDef ParentName="AddedBodyPartBase">
<defName>ARA_Internal_Circulation_Lung_Hediff</defName>
<label>内循环肺</label>
<hediffClass>Hediff_Implant</hediffClass>
<description>阿拉克涅虫族的定向变异使其肺部可以进行自循环,几乎可以抵御真空的侵袭。</description>
<descriptionHyperlinks>
<RecipeDef>ARA_Surgery_Install_Internal_Circulation_Lung</RecipeDef>
</descriptionHyperlinks>
<addedPartProps>
<betterThanNatural>true</betterThanNatural>
</addedPartProps>
<stages>
<li>
<statOffsets>
<VacuumResistance_Partial>0.99</VacuumResistance_Partial>
</statOffsets>
</li>
</stages>
</HediffDef>
<ThingDef ParentName="ARA_BodyPartProstheticBase">
<defName>ARA_Internal_Circulation_Lung</defName>
<label>内循环肺</label>
<description>阿拉克涅虫族的定向变异使其肺部可以进行自循环,几乎可以抵御真空的侵袭。该手术不需要制作部件,可以直接在阿拉克涅督虫身上实施。</description>
<descriptionHyperlinks>
<RecipeDef>ARA_Surgery_Install_Internal_Circulation_Lung</RecipeDef>
</descriptionHyperlinks>
<recipeMaker>
<researchPrerequisite>ARA_Technology_10EVO</researchPrerequisite>
</recipeMaker>
<costList>
<ARA_Gene_Essence>10</ARA_Gene_Essence>
</costList> </costList>
</ThingDef> </ThingDef>

View File

@@ -593,7 +593,7 @@
<ResearchProjectDef ParentName="ARA_techBase_Needtechprint"> <ResearchProjectDef ParentName="ARA_techBase_Needtechprint">
<defName>ARA_Technology_5STL</defName> <defName>ARA_Technology_5STL</defName>
<label>节点STL-5"基因窃取"</label> <label>节点STL-5"基因窃取"</label>
<description>允许战士种进行定向进化,抛弃其战斗技能以换取其从殖民者、囚犯和奴隶身上抽取和注入基因的能力,并且可以主动诱发非虫族殖民者的虫化变异。\n\n阿拉克涅虫群所有需要蓝图的科技其蓝图只能通过女皇种的基因试验卵获取。</description> <description>允许战士种进行定向进化,抛弃其战斗技能以换取其从殖民者、囚犯和奴隶身上抽取和注入基因的能力。\n\n阿拉克涅虫群所有需要蓝图的科技其蓝图只能通过女皇种的基因试验卵获取。</description>
<baseCost>500</baseCost> <baseCost>500</baseCost>
<researchViewX>2.00</researchViewX> <researchViewX>2.00</researchViewX>
<researchViewY>5.40</researchViewY> <researchViewY>5.40</researchViewY>
@@ -832,6 +832,21 @@
<li>ARA_Technology_2WMT</li> <li>ARA_Technology_2WMT</li>
</prerequisites> </prerequisites>
</ResearchProjectDef> </ResearchProjectDef>
<ResearchProjectDef ParentName="ARA_techBase">
<defName>ARA_Technology_10EVO</defName>
<label>节点EVO-10"高级肺"</label>
<description>允许实行新的阿拉克涅进化手术,允许阿拉克涅虫族获得更强大的肺部。</description>
<baseCost>1000</baseCost>
<researchViewX>11.00</researchViewX>
<researchViewY>3.80</researchViewY>
<requiredResearchBuilding>ARA_ResearchBench</requiredResearchBuilding> <!-- ARA_MorphableResearchBench-->
<hiddenPrerequisites>
<li>ARA_Technology_5ESS</li>
</hiddenPrerequisites>
<prerequisites>
<li>ARA_Technology_1WMT</li>
</prerequisites>
</ResearchProjectDef>
<!-- 共生肌群发展 --> <!-- 共生肌群发展 -->
<ResearchProjectDef ParentName="ARA_techBase_Needtechprint"> <ResearchProjectDef ParentName="ARA_techBase_Needtechprint">
<defName>ARA_Technology_2SYM</defName> <defName>ARA_Technology_2SYM</defName>

View File

@@ -18,6 +18,9 @@
<tickerType>Normal</tickerType> <tickerType>Normal</tickerType>
<terrainAffordanceNeeded>Light</terrainAffordanceNeeded> <terrainAffordanceNeeded>Light</terrainAffordanceNeeded>
<minifiedDef>MinifiedThing</minifiedDef> <minifiedDef>MinifiedThing</minifiedDef>
<generateCommonality>0</generateCommonality>
<tradeability>None</tradeability>
<thingSetMakerTags Inherit="False" />
<thingCategories> <thingCategories>
<li>BuildingsMisc</li> <li>BuildingsMisc</li>
</thingCategories> </thingCategories>
@@ -511,9 +514,15 @@
<drawSize>(3,3)</drawSize> <drawSize>(3,3)</drawSize>
</graphicData> </graphicData>
<statBases> <statBases>
<MarketValue>1200</MarketValue> <MaxHitPoints>1500</MaxHitPoints>
<MarketValue>1500</MarketValue>
</statBases> </statBases>
<size>(3,3)</size> <size>(3,3)</size>
<generateCommonality>1</generateCommonality>
<tradeability>None</tradeability>
<thingSetMakerTags>
<li>RewardStandardQualitySuper</li>
</thingSetMakerTags>
<comps> <comps>
<li Class="CompProperties_Glower"> <li Class="CompProperties_Glower">

View File

@@ -115,4 +115,15 @@
<CasterHasNoTransferableGenes>{CASTER}没有可转移的基因</CasterHasNoTransferableGenes> <CasterHasNoTransferableGenes>{CASTER}没有可转移的基因</CasterHasNoTransferableGenes>
<TransferableGenesCount>可转移基因数: {0}</TransferableGenesCount> <TransferableGenesCount>可转移基因数: {0}</TransferableGenesCount>
<TargetHasGenesCount>目标已有: {0}</TargetHasGenesCount> <TargetHasGenesCount>目标已有: {0}</TargetHasGenesCount>
<ARA_AbilityReady>能力准备就绪</ARA_AbilityReady>
<ARA_SelectValidTarget>选择有效目标</ARA_SelectValidTarget>
<ARA_PossibleEffects>可能的效果:</ARA_PossibleEffects>
<ARA_ResistChance>抵抗几率:{0}</ARA_ResistChance>
<ARA_NoValidHediffAvailable>没有可用的虫化变异可以施加</ARA_NoValidHediffAvailable>
<ARA_HediffApplied>{0}使得{2}变异出了{1}</ARA_HediffApplied>
<ARA_PotentialHediffs>可能效果:{0}</ARA_PotentialHediffs>
<ARA_NoValidHediff>没有可用的虫化变异</ARA_NoValidHediff>
<ARA_TargetBlacklisted>目标是虫群的成员</ARA_TargetBlacklisted>
<ARA_TargetAlreadyHasHediff>目标已完成虫化变异</ARA_TargetAlreadyHasHediff>
</LanguageData> </LanguageData>

View File

@@ -2,117 +2,9 @@
"Version": 1, "Version": 1,
"WorkspaceRootPath": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\", "WorkspaceRootPath": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\",
"Documents": [ "Documents": [
{
"AbsoluteMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|d:\\steamlibrary\\steamapps\\common\\rimworld\\mods\\arachnaeswarm\\source\\arachnaeswarm\\powerarmor\\comppowerarmorstation.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:powerarmor\\comppowerarmorstation.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\\powerarmor\\jobdriver_enterpowerarmor.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:powerarmor\\jobdriver_enterpowerarmor.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\\abilities\\compabilityeffect_randomhediff.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\\abilities\\compabilityeffect_randomhediff.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:abilities\\compabilityeffect_randomhediff.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" "RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:abilities\\compabilityeffect_randomhediff.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\\abilities\\ara_genestealer\\compabilityeffect_injectgenes.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:abilities\\ara_genestealer\\compabilityeffect_injectgenes.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\\abilities\\ara_genestealer\\compabilityeffect_extractgene.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:abilities\\ara_genestealer\\compabilityeffect_extractgene.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\\abilities\\ara_genestealer\\compproperties_abilityinjectgenes.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:abilities\\ara_genestealer\\compproperties_abilityinjectgenes.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\\verbs\\cleave\\verb_meleeattack_cleave.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:verbs\\cleave\\verb_meleeattack_cleave.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\\hediffs\\ara_hivemind\\hediff_hiveminddrone.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:hediffs\\ara_hivemind\\hediff_hiveminddrone.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\\hediffs\\ara_hivemind\\hediffcomp_hiveminddrone.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:hediffs\\ara_hivemind\\hediffcomp_hiveminddrone.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\\hediffs\\ara_hivemind\\hediff_hivemindmaster.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:hediffs\\ara_hivemind\\hediff_hivemindmaster.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\\mentalstate\\mentalstate_hivemindcascade.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:mentalstate\\mentalstate_hivemindcascade.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\\buildings\\building_arachnidgravengine.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:buildings\\building_arachnidgravengine.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\\buildings\\building_incubatable.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:buildings\\building_incubatable.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\\building_comps\\ara_spawnpawnfromlist\\compspawnpawnfromlist.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:building_comps\\ara_spawnpawnfromlist\\compspawnpawnfromlist.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\\building_comps\\ara_spawnpawnfromlist\\compproperties_spawnpawnfromlist.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:building_comps\\ara_spawnpawnfromlist\\compproperties_spawnpawnfromlist.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\\abilities\\ara_showspawnablepawnslist\\compabilityeffect_abilityshowspawnablepawns.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:abilities\\ara_showspawnablepawnslist\\compabilityeffect_abilityshowspawnablepawns.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_uniquepawn\\patch_uniquepawn.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:pawn_comps\\ara_uniquepawn\\patch_uniquepawn.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_uniquepawn\\compuniquepawn.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:pawn_comps\\ara_uniquepawn\\compuniquepawn.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_uniquepawn\\compproperties_uniquepawn.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:pawn_comps\\ara_uniquepawn\\compproperties_uniquepawn.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\\buildings\\building_turretgunhasspeed.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:buildings\\building_turretgunhasspeed.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\\building_comps\\ara_building_refuelingvat\\building_refuelingvat.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:building_comps\\ara_building_refuelingvat\\building_refuelingvat.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\\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|D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\buildings\\building_catastrophemissilesilo\\building_catastrophemissilesilo.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:buildings\\building_catastrophemissilesilo\\building_catastrophemissilesilo.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\\buildings\\building_aranutrientdispenser\\building_aranutrientdispenser.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:buildings\\building_aranutrientdispenser\\building_aranutrientdispenser.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\\hediffs\\ara_drawmoteinrange\\hediffcomp_drawmoteinrange.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:hediffs\\ara_drawmoteinrange\\hediffcomp_drawmoteinrange.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\\hediffs\\ara_hivemind\\compabilityeffect_binddrone.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:hediffs\\ara_hivemind\\compabilityeffect_binddrone.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\\hediffs\\ara_hivemind\\compproperties_abilitybinddrone.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:hediffs\\ara_hivemind\\compproperties_abilitybinddrone.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\\verbs\\verb_shootarc.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:verbs\\verb_shootarc.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
} }
], ],
"DocumentGroupContainers": [ "DocumentGroupContainers": [
@@ -122,350 +14,24 @@
"DocumentGroups": [ "DocumentGroups": [
{ {
"DockedWidth": 200, "DockedWidth": 200,
"SelectedChildIndex": 2, "SelectedChildIndex": 1,
"Children": [ "Children": [
{ {
"$type": "Bookmark", "$type": "Bookmark",
"Name": "ST:0:0:{1c4feeaa-4718-4aa9-859d-94ce25d182ba}" "Name": "ST:0:0:{1c4feeaa-4718-4aa9-859d-94ce25d182ba}"
}, },
{
"$type": "Document",
"DocumentIndex": 1,
"Title": "JobDriver_EnterPowerArmor.cs",
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\PowerArmor\\JobDriver_EnterPowerArmor.cs",
"RelativeDocumentMoniker": "PowerArmor\\JobDriver_EnterPowerArmor.cs",
"ToolTip": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\PowerArmor\\JobDriver_EnterPowerArmor.cs",
"RelativeToolTip": "PowerArmor\\JobDriver_EnterPowerArmor.cs",
"ViewState": "AgIAALIAAAAAAAAAAAAAALIAAAAwAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-10-22T02:46:09.665Z",
"EditorCaption": ""
},
{ {
"$type": "Document", "$type": "Document",
"DocumentIndex": 0, "DocumentIndex": 0,
"Title": "CompPowerArmorStation.cs",
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\PowerArmor\\CompPowerArmorStation.cs",
"RelativeDocumentMoniker": "PowerArmor\\CompPowerArmorStation.cs",
"ToolTip": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\PowerArmor\\CompPowerArmorStation.cs",
"RelativeToolTip": "PowerArmor\\CompPowerArmorStation.cs",
"ViewState": "AgIAABYAAAAAAAAAAAA0wCkAAAApAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-10-22T02:46:04.017Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 2,
"Title": "CompAbilityEffect_RandomHediff.cs", "Title": "CompAbilityEffect_RandomHediff.cs",
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Abilities\\CompAbilityEffect_RandomHediff.cs", "DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Abilities\\CompAbilityEffect_RandomHediff.cs",
"RelativeDocumentMoniker": "Abilities\\CompAbilityEffect_RandomHediff.cs", "RelativeDocumentMoniker": "Abilities\\CompAbilityEffect_RandomHediff.cs",
"ToolTip": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Abilities\\CompAbilityEffect_RandomHediff.cs", "ToolTip": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Abilities\\CompAbilityEffect_RandomHediff.cs",
"RelativeToolTip": "Abilities\\CompAbilityEffect_RandomHediff.cs", "RelativeToolTip": "Abilities\\CompAbilityEffect_RandomHediff.cs",
"ViewState": "AgIAALgAAAAAAAAAAAAAAMQAAAAAAAAAAAAAAA==", "ViewState": "AgIAAKIAAAAAAAAAAAAqwLoAAAAVAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-10-22T01:44:45.378Z", "WhenOpened": "2025-10-22T06:34:08.063Z",
"EditorCaption": "" "EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 5,
"Title": "CompProperties_AbilityInjectGenes.cs",
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Abilities\\ARA_Genestealer\\CompProperties_AbilityInjectGenes.cs",
"RelativeDocumentMoniker": "Abilities\\ARA_Genestealer\\CompProperties_AbilityInjectGenes.cs",
"ToolTip": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Abilities\\ARA_Genestealer\\CompProperties_AbilityInjectGenes.cs",
"RelativeToolTip": "Abilities\\ARA_Genestealer\\CompProperties_AbilityInjectGenes.cs",
"ViewState": "AgIAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-10-21T16:09:51.937Z"
},
{
"$type": "Document",
"DocumentIndex": 4,
"Title": "CompAbilityEffect_ExtractGene.cs",
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Abilities\\ARA_Genestealer\\CompAbilityEffect_ExtractGene.cs",
"RelativeDocumentMoniker": "Abilities\\ARA_Genestealer\\CompAbilityEffect_ExtractGene.cs",
"ToolTip": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Abilities\\ARA_Genestealer\\CompAbilityEffect_ExtractGene.cs",
"RelativeToolTip": "Abilities\\ARA_Genestealer\\CompAbilityEffect_ExtractGene.cs",
"ViewState": "AgIAADUAAAAAAAAAAAAewFwAAABVAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-10-21T16:09:29.065Z"
},
{
"$type": "Document",
"DocumentIndex": 3,
"Title": "CompAbilityEffect_InjectGenes.cs",
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Abilities\\ARA_Genestealer\\CompAbilityEffect_InjectGenes.cs",
"RelativeDocumentMoniker": "Abilities\\ARA_Genestealer\\CompAbilityEffect_InjectGenes.cs",
"ToolTip": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Abilities\\ARA_Genestealer\\CompAbilityEffect_InjectGenes.cs",
"RelativeToolTip": "Abilities\\ARA_Genestealer\\CompAbilityEffect_InjectGenes.cs",
"ViewState": "AgIAAC0AAAAAAAAAAAAtwDsAAAAiAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-10-21T16:08:53.903Z"
},
{
"$type": "Document",
"DocumentIndex": 6,
"Title": "Verb_MeleeAttack_Cleave.cs",
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Verbs\\Cleave\\Verb_MeleeAttack_Cleave.cs",
"RelativeDocumentMoniker": "Verbs\\Cleave\\Verb_MeleeAttack_Cleave.cs",
"ToolTip": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Verbs\\Cleave\\Verb_MeleeAttack_Cleave.cs",
"RelativeToolTip": "Verbs\\Cleave\\Verb_MeleeAttack_Cleave.cs",
"ViewState": "AgIAAG8AAAAAAAAAAAAhwI8AAABCAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-10-21T12:52:47.558Z"
},
{
"$type": "Document",
"DocumentIndex": 8,
"Title": "HediffComp_HiveMindDrone.cs",
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Hediffs\\ARA_HiveMind\\HediffComp_HiveMindDrone.cs",
"RelativeDocumentMoniker": "Hediffs\\ARA_HiveMind\\HediffComp_HiveMindDrone.cs",
"ToolTip": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Hediffs\\ARA_HiveMind\\HediffComp_HiveMindDrone.cs",
"RelativeToolTip": "Hediffs\\ARA_HiveMind\\HediffComp_HiveMindDrone.cs",
"ViewState": "AgIAAAAAAAAAAAAAAADwvxAAAAAJAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-10-21T11:18:08.124Z"
},
{
"$type": "Document",
"DocumentIndex": 10,
"Title": "MentalState_HiveMindCascade.cs",
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\MentalState\\MentalState_HiveMindCascade.cs",
"RelativeDocumentMoniker": "MentalState\\MentalState_HiveMindCascade.cs",
"ToolTip": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\MentalState\\MentalState_HiveMindCascade.cs",
"RelativeToolTip": "MentalState\\MentalState_HiveMindCascade.cs",
"ViewState": "AgIAAI8AAAAAAAAAAAAkwJQAAAA2AAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-10-21T10:30:11.696Z"
},
{
"$type": "Document",
"DocumentIndex": 11,
"Title": "Building_ArachnidGravEngine.cs",
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Buildings\\Building_ArachnidGravEngine.cs",
"RelativeDocumentMoniker": "Buildings\\Building_ArachnidGravEngine.cs",
"ToolTip": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Buildings\\Building_ArachnidGravEngine.cs",
"RelativeToolTip": "Buildings\\Building_ArachnidGravEngine.cs",
"ViewState": "AgIAAAMAAAAAAAAAAAAkwBUAAAAJAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-10-21T09:12:42.006Z"
},
{
"$type": "Document",
"DocumentIndex": 15,
"Title": "CompAbilityEffect_AbilityShowSpawnablePawns.cs",
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Abilities\\ARA_ShowSpawnablePawnsList\\CompAbilityEffect_AbilityShowSpawnablePawns.cs",
"RelativeDocumentMoniker": "Abilities\\ARA_ShowSpawnablePawnsList\\CompAbilityEffect_AbilityShowSpawnablePawns.cs",
"ToolTip": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Abilities\\ARA_ShowSpawnablePawnsList\\CompAbilityEffect_AbilityShowSpawnablePawns.cs",
"RelativeToolTip": "Abilities\\ARA_ShowSpawnablePawnsList\\CompAbilityEffect_AbilityShowSpawnablePawns.cs",
"ViewState": "AgIAADgAAAAAAAAAAAAuwEwAAAA8AAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-10-21T08:29:37.669Z"
},
{
"$type": "Document",
"DocumentIndex": 16,
"Title": "Patch_UniquePawn.cs",
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Pawn_Comps\\ARA_UniquePawn\\Patch_UniquePawn.cs",
"RelativeDocumentMoniker": "Pawn_Comps\\ARA_UniquePawn\\Patch_UniquePawn.cs",
"ToolTip": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Pawn_Comps\\ARA_UniquePawn\\Patch_UniquePawn.cs",
"RelativeToolTip": "Pawn_Comps\\ARA_UniquePawn\\Patch_UniquePawn.cs",
"ViewState": "AgIAACUAAAAAAAAAAAAkwDEAAAAlAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-10-21T07:20:36.341Z"
},
{
"$type": "Document",
"DocumentIndex": 19,
"Title": "Building_TurretGunHasSpeed.cs",
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Buildings\\Building_TurretGunHasSpeed.cs",
"RelativeDocumentMoniker": "Buildings\\Building_TurretGunHasSpeed.cs",
"ToolTip": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Buildings\\Building_TurretGunHasSpeed.cs",
"RelativeToolTip": "Buildings\\Building_TurretGunHasSpeed.cs",
"ViewState": "AgIAAL4CAAAAAAAAAAAAAL4CAABZAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-10-21T07:00:48.984Z"
},
{
"$type": "Document",
"DocumentIndex": 9,
"Title": "Hediff_HiveMindMaster.cs",
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Hediffs\\ARA_HiveMind\\Hediff_HiveMindMaster.cs",
"RelativeDocumentMoniker": "Hediffs\\ARA_HiveMind\\Hediff_HiveMindMaster.cs",
"ToolTip": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Hediffs\\ARA_HiveMind\\Hediff_HiveMindMaster.cs",
"RelativeToolTip": "Hediffs\\ARA_HiveMind\\Hediff_HiveMindMaster.cs",
"ViewState": "AgIAACIAAAAAAAAAAAAAADkAAACXAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-10-20T17:25:29.183Z"
},
{
"$type": "Document",
"DocumentIndex": 7,
"Title": "Hediff_HiveMindDrone.cs",
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Hediffs\\ARA_HiveMind\\Hediff_HiveMindDrone.cs",
"RelativeDocumentMoniker": "Hediffs\\ARA_HiveMind\\Hediff_HiveMindDrone.cs",
"ToolTip": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Hediffs\\ARA_HiveMind\\Hediff_HiveMindDrone.cs",
"RelativeToolTip": "Hediffs\\ARA_HiveMind\\Hediff_HiveMindDrone.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAABYAAAAVAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-10-20T17:26:14.842Z"
},
{
"$type": "Document",
"DocumentIndex": 14,
"Title": "CompProperties_SpawnPawnFromList.cs",
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Building_Comps\\ARA_SpawnPawnFromList\\CompProperties_SpawnPawnFromList.cs",
"RelativeDocumentMoniker": "Building_Comps\\ARA_SpawnPawnFromList\\CompProperties_SpawnPawnFromList.cs",
"ToolTip": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Building_Comps\\ARA_SpawnPawnFromList\\CompProperties_SpawnPawnFromList.cs",
"RelativeToolTip": "Building_Comps\\ARA_SpawnPawnFromList\\CompProperties_SpawnPawnFromList.cs",
"ViewState": "AgIAAA8AAAAAAAAAAAAuwBoAAAAvAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-10-21T08:29:42.187Z"
},
{
"$type": "Document",
"DocumentIndex": 13,
"Title": "CompSpawnPawnFromList.cs",
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Building_Comps\\ARA_SpawnPawnFromList\\CompSpawnPawnFromList.cs",
"RelativeDocumentMoniker": "Building_Comps\\ARA_SpawnPawnFromList\\CompSpawnPawnFromList.cs",
"ToolTip": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Building_Comps\\ARA_SpawnPawnFromList\\CompSpawnPawnFromList.cs",
"RelativeToolTip": "Building_Comps\\ARA_SpawnPawnFromList\\CompSpawnPawnFromList.cs",
"ViewState": "AgIAAAsAAAAAAAAAAAAIwBkAAAANAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-10-21T08:29:44.344Z"
},
{
"$type": "Document",
"DocumentIndex": 12,
"Title": "Building_Incubatable.cs",
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Buildings\\Building_Incubatable.cs",
"RelativeDocumentMoniker": "Buildings\\Building_Incubatable.cs",
"ToolTip": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Buildings\\Building_Incubatable.cs",
"RelativeToolTip": "Buildings\\Building_Incubatable.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAABAAAAARAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-10-21T08:39:15.745Z"
},
{
"$type": "Document",
"DocumentIndex": 18,
"Title": "CompProperties_UniquePawn.cs",
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Pawn_Comps\\ARA_UniquePawn\\CompProperties_UniquePawn.cs",
"RelativeDocumentMoniker": "Pawn_Comps\\ARA_UniquePawn\\CompProperties_UniquePawn.cs",
"ToolTip": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Pawn_Comps\\ARA_UniquePawn\\CompProperties_UniquePawn.cs",
"RelativeToolTip": "Pawn_Comps\\ARA_UniquePawn\\CompProperties_UniquePawn.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-10-21T07:00:00.021Z"
},
{
"$type": "Document",
"DocumentIndex": 17,
"Title": "CompUniquePawn.cs",
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Pawn_Comps\\ARA_UniquePawn\\CompUniquePawn.cs",
"RelativeDocumentMoniker": "Pawn_Comps\\ARA_UniquePawn\\CompUniquePawn.cs",
"ToolTip": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Pawn_Comps\\ARA_UniquePawn\\CompUniquePawn.cs",
"RelativeToolTip": "Pawn_Comps\\ARA_UniquePawn\\CompUniquePawn.cs",
"ViewState": "AgIAADQAAAAAAAAAAAAkwEYAAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-10-21T07:00:02.43Z"
},
{
"$type": "Document",
"DocumentIndex": 20,
"Title": "Building_RefuelingVat.cs",
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Building_Comps\\ARA_Building_RefuelingVat\\Building_RefuelingVat.cs",
"RelativeDocumentMoniker": "Building_Comps\\ARA_Building_RefuelingVat\\Building_RefuelingVat.cs",
"ToolTip": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Building_Comps\\ARA_Building_RefuelingVat\\Building_RefuelingVat.cs",
"RelativeToolTip": "Building_Comps\\ARA_Building_RefuelingVat\\Building_RefuelingVat.cs",
"ViewState": "AgIAAPUAAAAAAAAAAAAAAPUAAAA2AAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-10-21T07:00:47.792Z"
},
{
"$type": "Document",
"DocumentIndex": 21,
"Title": "Building_NutrientVat.cs",
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Building_Comps\\ARA_NutrientVat\\Building_NutrientVat.cs",
"RelativeDocumentMoniker": "Building_Comps\\ARA_NutrientVat\\Building_NutrientVat.cs",
"ToolTip": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Building_Comps\\ARA_NutrientVat\\Building_NutrientVat.cs",
"RelativeToolTip": "Building_Comps\\ARA_NutrientVat\\Building_NutrientVat.cs",
"ViewState": "AgIAAJUBAAAAAAAAAAAmwKgBAABmAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-10-21T07:00:43.042Z"
},
{
"$type": "Document",
"DocumentIndex": 22,
"Title": "Building_CatastropheMissileSilo.cs",
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Buildings\\Building_CatastropheMissileSilo\\Building_CatastropheMissileSilo.cs",
"RelativeDocumentMoniker": "Buildings\\Building_CatastropheMissileSilo\\Building_CatastropheMissileSilo.cs",
"ToolTip": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Buildings\\Building_CatastropheMissileSilo\\Building_CatastropheMissileSilo.cs",
"RelativeToolTip": "Buildings\\Building_CatastropheMissileSilo\\Building_CatastropheMissileSilo.cs",
"ViewState": "AgIAALAAAAAAAAAAAAAAAL8AAABMAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-10-21T07:00:24.191Z"
},
{
"$type": "Document",
"DocumentIndex": 23,
"Title": "Building_ARANutrientDispenser.cs",
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Buildings\\Building_ARANutrientDispenser\\Building_ARANutrientDispenser.cs",
"RelativeDocumentMoniker": "Buildings\\Building_ARANutrientDispenser\\Building_ARANutrientDispenser.cs",
"ToolTip": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Buildings\\Building_ARANutrientDispenser\\Building_ARANutrientDispenser.cs",
"RelativeToolTip": "Buildings\\Building_ARANutrientDispenser\\Building_ARANutrientDispenser.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAgAAACMAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-10-21T07:00:20.274Z"
},
{
"$type": "Document",
"DocumentIndex": 24,
"Title": "HediffComp_DrawMoteInRange.cs",
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Hediffs\\ARA_DrawMoteInRange\\HediffComp_DrawMoteInRange.cs",
"RelativeDocumentMoniker": "Hediffs\\ARA_DrawMoteInRange\\HediffComp_DrawMoteInRange.cs",
"ToolTip": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Hediffs\\ARA_DrawMoteInRange\\HediffComp_DrawMoteInRange.cs",
"RelativeToolTip": "Hediffs\\ARA_DrawMoteInRange\\HediffComp_DrawMoteInRange.cs",
"ViewState": "AgIAAAgAAAAAAAAAAADwvw4AAAAJAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-10-21T03:59:47.61Z"
},
{
"$type": "Document",
"DocumentIndex": 25,
"Title": "CompAbilityEffect_BindDrone.cs",
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Hediffs\\ARA_HiveMind\\CompAbilityEffect_BindDrone.cs",
"RelativeDocumentMoniker": "Hediffs\\ARA_HiveMind\\CompAbilityEffect_BindDrone.cs",
"ToolTip": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Hediffs\\ARA_HiveMind\\CompAbilityEffect_BindDrone.cs",
"RelativeToolTip": "Hediffs\\ARA_HiveMind\\CompAbilityEffect_BindDrone.cs",
"ViewState": "AgIAADYAAAAAAAAAAAAAwE8AAAAtAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-10-20T17:10:14.403Z"
},
{
"$type": "Document",
"DocumentIndex": 26,
"Title": "CompProperties_AbilityBindDrone.cs",
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Hediffs\\ARA_HiveMind\\CompProperties_AbilityBindDrone.cs",
"RelativeDocumentMoniker": "Hediffs\\ARA_HiveMind\\CompProperties_AbilityBindDrone.cs",
"ToolTip": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Hediffs\\ARA_HiveMind\\CompProperties_AbilityBindDrone.cs",
"RelativeToolTip": "Hediffs\\ARA_HiveMind\\CompProperties_AbilityBindDrone.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAkAAAA/AAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-10-20T17:10:09.072Z"
},
{
"$type": "Document",
"DocumentIndex": 27,
"Title": "Verb_ShootArc.cs",
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Verbs\\Verb_ShootArc.cs",
"RelativeDocumentMoniker": "Verbs\\Verb_ShootArc.cs",
"ToolTip": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Verbs\\Verb_ShootArc.cs",
"RelativeToolTip": "Verbs\\Verb_ShootArc.cs",
"ViewState": "AgIAAAAAAAAAAAAAAADwvw4AAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-10-19T13:10:19.942Z"
} }
] ]
} }

View File

@@ -1,6 +1,7 @@
using RimWorld;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using RimWorld; using System.Text;
using Verse; using Verse;
namespace ArachnaeSwarm namespace ArachnaeSwarm
@@ -53,7 +54,7 @@ namespace ArachnaeSwarm
var hediffDef = selectedHediffEntry.hediffDef; var hediffDef = selectedHediffEntry.hediffDef;
// 检查是否允许重复施加 // 检查是否允许重复施加这里应该不会执行到因为CanApplyOn已经检查过
if (!Props.allowMultipleHediffs && target.health.hediffSet.HasHediff(hediffDef)) if (!Props.allowMultipleHediffs && target.health.hediffSet.HasHediff(hediffDef))
{ {
if (Props.showAlreadyHasHediffMessage && PawnUtility.ShouldSendNotificationAbout(parent.pawn)) if (Props.showAlreadyHasHediffMessage && PawnUtility.ShouldSendNotificationAbout(parent.pawn))
@@ -131,6 +132,12 @@ namespace ArachnaeSwarm
continue; continue;
} }
// 如果不允许重复施加,检查目标是否已经有这个 hediff
if (!Props.allowMultipleHediffs && target.health.hediffSet.HasHediff(entry.hediffDef))
{
continue;
}
availableEntries.Add(entry); availableEntries.Add(entry);
availableWeights.Add(entry.weight); availableWeights.Add(entry.weight);
} }
@@ -144,6 +151,71 @@ namespace ArachnaeSwarm
return availableEntries.RandomElementByWeight(entry => entry.weight); return availableEntries.RandomElementByWeight(entry => entry.weight);
} }
/// <summary>
/// 获取所有可用的 hediff 条目(用于显示)
/// </summary>
private List<HediffEntry> GetAvailableHediffEntries(Pawn target = null)
{
var availableEntries = new List<HediffEntry>();
foreach (var entry in Props.hediffEntries)
{
// 检查科技要求
if (entry.requiredResearchProject != null && !entry.requiredResearchProject.IsFinished)
{
continue;
}
// 如果有目标,检查目标条件
if (target != null && !CheckHediffConditions(entry, target))
{
continue;
}
// 如果不允许重复施加,检查目标是否已经有这个 hediff
if (target != null && !Props.allowMultipleHediffs && target.health.hediffSet.HasHediff(entry.hediffDef))
{
continue;
}
availableEntries.Add(entry);
}
return availableEntries;
}
/// <summary>
/// 检查目标是否已经有任何列表中的 hediff用于CanApplyOn
/// </summary>
private bool TargetHasAnyListedHediff(Pawn target)
{
if (target == null || Props.allowMultipleHediffs)
return false;
foreach (var entry in Props.hediffEntries)
{
// 检查科技要求
if (entry.requiredResearchProject != null && !entry.requiredResearchProject.IsFinished)
{
continue;
}
// 检查其他条件
if (!CheckHediffConditions(entry, target))
{
continue;
}
// 如果目标已经有这个 hediff返回 true
if (target.health.hediffSet.HasHediff(entry.hediffDef))
{
return true;
}
}
return false;
}
/// <summary> /// <summary>
/// 检查 hediff 的额外条件 /// 检查 hediff 的额外条件
/// </summary> /// </summary>
@@ -161,6 +233,25 @@ namespace ArachnaeSwarm
return true; return true;
} }
/// <summary>
/// 检查目标是否在黑名单中
/// </summary>
private bool IsTargetBlacklisted(Pawn target)
{
if (target == null || Props.blacklistHediffs.NullOrEmpty())
return false;
foreach (var hediffDef in Props.blacklistHediffs)
{
if (target.health.hediffSet.HasHediff(hediffDef))
{
return true;
}
}
return false;
}
protected virtual bool TryResist(Pawn pawn) protected virtual bool TryResist(Pawn pawn)
{ {
if (Props.resistChance > 0f) if (Props.resistChance > 0f)
@@ -183,10 +274,22 @@ namespace ArachnaeSwarm
{ {
return false; return false;
} }
return target.Pawn != null;
if (target.Pawn == null)
return false;
// 检查目标是否在黑名单中
if (IsTargetBlacklisted(target.Pawn))
return false;
// 检查目标是否已经有任何列表中的 hediff
if (TargetHasAnyListedHediff(target.Pawn))
return false;
// 检查是否有至少一个可用的 hediff
return SelectRandomHediffEntry(target.Pawn) != null;
} }
// 修复:使用正确的 CanApplyOn 方法签名
public override bool CanApplyOn(LocalTargetInfo target, LocalTargetInfo dest) public override bool CanApplyOn(LocalTargetInfo target, LocalTargetInfo dest)
{ {
if (!base.CanApplyOn(target, dest)) if (!base.CanApplyOn(target, dest))
@@ -195,18 +298,111 @@ namespace ArachnaeSwarm
if (target.Pawn == null) if (target.Pawn == null)
return false; return false;
// 检查目标是否在黑名单中
if (IsTargetBlacklisted(target.Pawn))
return false;
// 检查目标是否已经有任何列表中的 hediff
if (TargetHasAnyListedHediff(target.Pawn))
return false;
// 检查是否有至少一个可用的 hediff // 检查是否有至少一个可用的 hediff
return SelectRandomHediffEntry(target.Pawn) != null; return SelectRandomHediffEntry(target.Pawn) != null;
} }
public override string ExtraLabelMouseAttachment(LocalTargetInfo target) public override string ExtraLabelMouseAttachment(LocalTargetInfo target)
{ {
StringBuilder sb = new StringBuilder();
if (target.Pawn == null)
{
// 没有具体目标时的显示
sb.AppendLine("ARA_AbilityReady".Translate());
sb.AppendLine();
// 显示所有可能的 hediff不考虑目标限制
var availableEntries = GetAvailableHediffEntries();
if (availableEntries.Any())
{
sb.AppendLine("ARA_PossibleEffects".Translate());
foreach (var entry in availableEntries)
{
sb.AppendLine($" • {entry.hediffDef.label} ({entry.weight:F1})");
}
}
}
else
{
// 检查黑名单
if (IsTargetBlacklisted(target.Pawn))
{
sb.AppendLine("ARA_TargetBlacklisted".Translate());
return sb.ToString().TrimEndNewlines();
}
// 检查目标是否已经有任何列表中的 hediff
if (TargetHasAnyListedHediff(target.Pawn))
{
sb.AppendLine("ARA_TargetAlreadyHasHediff".Translate());
return sb.ToString().TrimEndNewlines();
}
// 有具体目标时的显示
var availableEntries = GetAvailableHediffEntries(target.Pawn);
if (availableEntries.Any())
{
// 显示所有可能的 hediff
var hediffNames = availableEntries.Select(e => e.hediffDef.label).ToArray();
string hediffList = string.Join(", ", hediffNames);
sb.AppendLine("ARA_PotentialHediffs".Translate(hediffList));
// 显示抵抗几率信息
if (Props.resistChance > 0f)
{
float actualResistChance = Props.resistChance * target.Pawn.GetStatValue(StatDefOf.ToxicResistance);
sb.AppendLine("ARA_ResistChance".Translate(actualResistChance.ToStringPercent()));
}
}
else
{
sb.AppendLine("ARA_NoValidHediff".Translate());
}
}
return sb.ToString().TrimEndNewlines();
}
public override void DrawEffectPreview(LocalTargetInfo target)
{
base.DrawEffectPreview(target);
// 可选:在地图上绘制额外的预览效果
if (target.IsValid && target.Pawn != null)
{
// 检查黑名单
if (IsTargetBlacklisted(target.Pawn))
{
// 可以在这里绘制红色轮廓表示目标无效
return;
}
// 检查目标是否已经有任何列表中的 hediff
if (TargetHasAnyListedHediff(target.Pawn))
{
// 可以在这里绘制红色轮廓表示目标无效
return;
}
var selectedEntry = SelectRandomHediffEntry(target.Pawn); var selectedEntry = SelectRandomHediffEntry(target.Pawn);
if (selectedEntry != null) if (selectedEntry != null)
{ {
return "ARA_PotentialHediff".Translate(selectedEntry.hediffDef.label); // 在目标上方显示预览效果
GenDraw.DrawTargetHighlight(target);
}
} }
return "ARA_NoValidHediff".Translate();
} }
} }
@@ -230,6 +426,9 @@ namespace ArachnaeSwarm
public bool showAlreadyHasHediffMessage = true; public bool showAlreadyHasHediffMessage = true;
public bool showNoValidHediffMessage = true; public bool showNoValidHediffMessage = true;
// 黑名单功能:拥有这些 hediff 的目标无法成为目标
public List<HediffDef> blacklistHediffs;
public CompProperties_AbilityRandomHediff() public CompProperties_AbilityRandomHediff()
{ {
compClass = typeof(CompAbilityEffect_RandomHediff); compClass = typeof(CompAbilityEffect_RandomHediff);