This commit is contained in:
2026-02-04 17:18:01 +08:00
parent 7a9c501450
commit 116d54c650
11 changed files with 856 additions and 208 deletions

Binary file not shown.

View File

@@ -72,7 +72,7 @@
<AbilityDef>
<defName>ARA_Neurotyrant_Harvest</defName>
<label>进化点收割</label>
<description>灵吸种抽干目标的智识,转化为进化点点数。</description>
<description>灵吸种抽干目标的智识,转化为进化点点数,虽然需要一点时间完成吸食,但是会直接杀死目标</description>
<iconPath>ArachnaeSwarm/UI/Abilities/ARA_Fighter_Invisibility_Execution</iconPath>
<cooldownTicksRange>30</cooldownTicksRange>
<cooldownPerCharge>true</cooldownPerCharge>
@@ -90,8 +90,10 @@
<warmupTime>10</warmupTime>
<targetParams>
<canTargetSelf>false</canTargetSelf>
<canTargetAnimals>false</canTargetAnimals>
<canTargetMechs>false</canTargetMechs>
<canTargetBuildings>false</canTargetBuildings>
<canTargetEntities>false</canTargetEntities>
</targetParams>
</verbProperties>
<comps>
@@ -127,7 +129,7 @@
<!-- 效果设置 -->
<!-- <harvestEffecter>PsycastSkipEffect</harvestEffecter>
<penaltyEffecter>PsychicPulse</penaltyEffecter> -->
<consciousnessPenaltyHediff>TraumaSavant</consciousnessPenaltyHediff>
<consciousnessPenaltyHediff>Scaria</consciousnessPenaltyHediff>
<unconsciousnessHediff>Anesthetic</unconsciousnessHediff>
<showHarvestMessage>true</showHarvestMessage>
<customHarvestMessageKey>ARA_SwarmSpell_ResearchHarvest_Message</customHarvestMessageKey>
@@ -155,64 +157,64 @@
</li>
</comps>
</AbilityDef>
<AbilityDef>
<defName>ARA_Neurotyrant_PsychicBrainburn</defName>
<label>心灵烧灼</label>
<description>以强大的纯净灵能冲击目标,烧毁目标的中枢神经系统——这会直接杀死目标</description>
<!-- <abilityClass>Psycast</abilityClass> -->
<!-- <category>Psychic</category> -->
<iconPath>ArachnaeSwarm/UI/Abilities/ARA_PsychicBrainburn</iconPath>
<cooldownTicksRange>60</cooldownTicksRange>
<aiCanUse>false</aiCanUse>
<displayOrder>300</displayOrder>
<displayGizmoWhileUndrafted>false</displayGizmoWhileUndrafted>
<showPsycastEffects>true</showPsycastEffects>
<sendMessageOnCooldownComplete>true</sendMessageOnCooldownComplete>
<defName>ARA_Neurotyrant_PsychicLoadDump</defName>
<label>负荷反冲</label>
<description>灵吸种将承受的强大负荷输出到目标身上,如果目标没有灵能能力,这种反冲会立刻杀死目标;拥有灵能能力的个体则可以免除这种死亡性的冲击,但是会累计大量的心灵熵</description>
<iconPath>ArachnaeSwarm/UI/Abilities/ARA_Fighter_Invisibility_Execution</iconPath>
<cooldownTicksRange>30</cooldownTicksRange>
<cooldownPerCharge>true</cooldownPerCharge>
<casterMustBeCapableOfViolence>false</casterMustBeCapableOfViolence>
<stunTargetWhileCasting>true</stunTargetWhileCasting>
<moteOffsetAmountTowardsTarget>0.5</moteOffsetAmountTowardsTarget>
<warmupMote>Mote_HoraxSmallSpellWarmup</warmupMote>
<warmupEffecter>HoraxianAbilityCasting</warmupEffecter>
<warmupSound>AnomalyAbilityWarmup</warmupSound>
<writeCombatLog>true</writeCombatLog>
<jobDef>CastAbilityOnThingMelee</jobDef>
<aiCanUse>false</aiCanUse>
<verbProperties>
<verbClass>Verb_CastAbility</verbClass>
<warmupTime>1</warmupTime>
<range>25</range>
<verbClass>Verb_CastAbilityTouch</verbClass>
<drawAimPie>false</drawAimPie>
<range>-1</range>
<warmupTime>5</warmupTime>
<targetParams>
<canTargetPawns>true</canTargetPawns>
<canTargetBuildings>false</canTargetBuildings>
<canTargetSelf>false</canTargetSelf>
<canTargetAnimals>false</canTargetAnimals>
<canTargetMechs>false</canTargetMechs>
<canTargetBuildings>false</canTargetBuildings>
<canTargetEntities>false</canTargetEntities>
</targetParams>
</verbProperties>
<comps>
<li Class="ArachnaeSwarm.CompProperties_AbilityPsychicLoadCost">
<!-- 负载消耗设置 -->
<loadCostRange>
<min>2.5</min>
<max>7.5</max>
</loadCostRange>
<showCostInGizmo>true</showCostInGizmo>
<customLabel>Psychic Load Cost</customLabel>
<ignoreOverloadCheck>true</ignoreOverloadCheck>
<li Class="ArachnaeSwarm.CompProperties_AbilityPsychicLoadDump">
<!-- 转化设置 -->
<conversionRatio>10</conversionRatio>
<scaleBySensitivity>true</scaleBySensitivity>
<allowOverLimit>true</allowOverLimit>
<!-- 目标选择 -->
<canTargetDowned>true</canTargetDowned>
<!-- 器官摧毁设置 -->
<partDestructionDamageMult>9999</partDestructionDamageMult>
<loadDamageMultiplier>9999</loadDamageMultiplier>
<noConsciousnessDamageMultiplier>9999</noConsciousnessDamageMultiplier>
<fallbackDamageMultiplier>9999</fallbackDamageMultiplier>
<destroyDamageType>Burn</destroyDamageType>
<fallbackDamageType>Burn</fallbackDamageType>
<!-- 效果设置 -->
<!-- <successEffecter>PsychicPulse</successEffecter>
<overloadEffecter>ExplosionFlash</overloadEffecter> -->
<!-- <mainEffecter>PsycastPsychicPulse</mainEffecter> -->
<!-- <entropyTransferEffecter>PsycastSkipEffect</entropyTransferEffecter> -->
<consciousnessDestroyFleck>PsycastPsychicEffect</consciousnessDestroyFleck>
<!-- <penaltyEffecter>PsychicPulse</penaltyEffecter> -->
<consciousnessPenaltyHediff>Scaria</consciousnessPenaltyHediff>
<!-- 超载惩罚设置 -->
<applyOverloadPenalty>true</applyOverloadPenalty>
<consciousnessSourceDamageMult>99999</consciousnessSourceDamageMult>
<overloadPenaltyHediff>ARA_SwarmSpell_Overdrive</overloadPenaltyHediff>
<destroyConsciousnessSource>true</destroyConsciousnessSource>
</li>
<li Class="ArachnaeSwarm.CompProperties_PsychicBrainburn">
<psychic>false</psychic>
<!-- 视觉效果 -->
<effecterDef>Skip_Entry</effecterDef>
<!-- 设为 true 则只能对血肉生物使用。设为 false 则也可以对机械体使用。 -->
<requiresFlesh>false</requiresFlesh>
<!-- 消息设置 -->
<showDumpMessage>true</showDumpMessage>
<showEntropyTransferMessage>true</showEntropyTransferMessage>
<showConsciousnessDestroyMessage>true</showConsciousnessDestroyMessage>
<showNoConsciousnessMessage>true</showNoConsciousnessMessage>
<showOverloadReliefMessage>true</showOverloadReliefMessage>
</li>
</comps>
</AbilityDef>

View File

@@ -169,6 +169,8 @@
</apparelTags>
<apparelMoney>0</apparelMoney>
<abilities>
<li>ARA_Neurotyrant_Harvest</li>
<li>ARA_Neurotyrant_PsychicLoadDump</li>
</abilities>
</PawnKindDef>

View File

@@ -138,4 +138,22 @@
<ARA_SwarmSpell_ResearchHarvest>{0} 从 {1} 身上收割了 {2} 虫群进化点</ARA_SwarmSpell_ResearchHarvest>
<ARA_SwarmSpell_ResearchHarvest_Message>{0} 吸取了 {1} 的精华,获得了 {2} 进化点</ARA_SwarmSpell_ResearchHarvest_Message>
<ARA_UsePsychicLoadSkill>释放技能: {0}</ARA_UsePsychicLoadSkill>
<ARA_SwarmSpell_LoadCost>累积神经束负荷:</ARA_SwarmSpell_LoadCost>
<ARA_SwarmSpell_LoadCost_Fixed>{0}</ARA_SwarmSpell_LoadCost_Fixed>
<ARA_SwarmSpell_LoadCost_Range>{0} ~ {1}</ARA_SwarmSpell_LoadCost_Range>
<ARA_SwarmSpell_Overload_Penalty_Description>如果神经束已经进入超负荷状态,释放任意的虫群灵能法术将直接导致死亡!</ARA_SwarmSpell_Overload_Penalty_Description>
<!-- 技能相关 -->
<ARA_SwarmSpell_LoadDumped_Entropy>{0} 将 {1} 神经束负荷转化为熵值转储到 {2} 身上</ARA_SwarmSpell_LoadDumped_Entropy>
<ARA_SwarmSpell_LoadDumped_Destruction>{0} 将 {1} 神经束负荷以毁灭性能量转储到 {2} 身上</ARA_SwarmSpell_LoadDumped_Destruction>
<ARA_SwarmSpell_EntropyTransferred>{0} 向 {1} 转储了 {2} 熵值</ARA_SwarmSpell_EntropyTransferred>
<ARA_SwarmSpell_ConsciousnessDestroyed>{0} 的大脑被摧毁了</ARA_SwarmSpell_ConsciousnessDestroyed>
<ARA_SwarmSpell_NoConsciousnessFallback>{0} 承受了 {1} 点伤害</ARA_SwarmSpell_NoConsciousnessFallback>
<ARA_SwarmSpell_OverloadRelieved>{0} 解除了超载状态</ARA_SwarmSpell_OverloadRelieved>
<!-- 错误消息 -->
<ARA_SwarmSpell_NoLoadToDump>{0} 没有可转储的神经束负荷</ARA_SwarmSpell_NoLoadToDump>
<ARA_SwarmSpell_EntropyTransferFailed>无法向 {0} 转储神经束负荷</ARA_SwarmSpell_EntropyTransferFailed>
</LanguageData>

View File

@@ -3,25 +3,37 @@
"WorkspaceRootPath": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\",
"Documents": [
{
"AbsoluteMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|d:\\steamlibrary\\steamapps\\common\\rimworld\\mods\\arachnaeswarm\\source\\arachnaeswarm\\abilities\\ara_psychicresearchharvest\\compabilityeffect_psychicresearchharvest.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:abilities\\ara_psychicresearchharvest\\compabilityeffect_psychicresearchharvest.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_psychicloaddump\\compabilityeffect_psychicloaddump.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:abilities\\ara_psychicloaddump\\compabilityeffect_psychicloaddump.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_psychicresearchharvest\\compproperties_abilitypsychicresearchharvest.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:abilities\\ara_psychicresearchharvest\\compproperties_abilitypsychicresearchharvest.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|d:\\steamlibrary\\steamapps\\common\\rimworld\\mods\\arachnaeswarm\\source\\arachnaeswarm\\pawn_comps\\ara_fighter_invisible\\compfighterinvisible.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:pawn_comps\\ara_fighter_invisible\\compfighterinvisible.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|d:\\steamlibrary\\steamapps\\common\\rimworld\\mods\\arachnaeswarm\\source\\arachnaeswarm\\pawn_comps\\ara_swarmspellholder\\gizmo_swarmspellstatus.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:pawn_comps\\ara_swarmspellholder\\gizmo_swarmspellstatus.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_psychicloaddump\\compproperties_abilitypsychicloaddump.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:abilities\\ara_psychicloaddump\\compproperties_abilitypsychicloaddump.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_swarmspellholder\\comp_swarmspellholder.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:pawn_comps\\ara_swarmspellholder\\comp_swarmspellholder.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_swarmspellholder\\gizmo_swarmspellstatus.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:pawn_comps\\ara_swarmspellholder\\gizmo_swarmspellstatus.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_psychicloadcost\\compabilityeffect_psychicloadcost.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:abilities\\ara_psychicloadcost\\compabilityeffect_psychicloadcost.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_psychicresearchharvest\\compabilityeffect_psychicresearchharvest.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:abilities\\ara_psychicresearchharvest\\compabilityeffect_psychicresearchharvest.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_psychicresearchharvest\\compproperties_abilitypsychicresearchharvest.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:abilities\\ara_psychicresearchharvest\\compproperties_abilitypsychicresearchharvest.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\pawn_comps\\ara_fighter_invisible\\compfighterinvisible.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:pawn_comps\\ara_fighter_invisible\\compfighterinvisible.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\pawn_comps\\ara_swarmspellholder\\swarmspellutility.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:pawn_comps\\ara_swarmspellholder\\swarmspellutility.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
@@ -31,27 +43,23 @@
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:abilities\\ara_psychicloadcost\\compproperties_abilitypsychicloadcost.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_hediffgacha\\compabilityeffect_hediffgacha.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_hediffgacha\\compabilityeffect_hediffgacha.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:abilities\\ara_hediffgacha\\compabilityeffect_hediffgacha.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_hediffrestriction\\compabilityeffect_hediffrestriction.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_hediffrestriction\\compabilityeffect_hediffrestriction.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:abilities\\ara_hediffrestriction\\compabilityeffect_hediffrestriction.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_hediffgacha\\window_hediffselection.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_hediffgacha\\window_hediffselection.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:abilities\\ara_hediffgacha\\window_hediffselection.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_psychicloadcost\\compabilityeffect_psychicloadcost.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:abilities\\ara_psychicloadcost\\compabilityeffect_psychicloadcost.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\\ara_powerarmor.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\\ara_powerarmor.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:powerarmor\\ara_powerarmor.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\\pawncapacityworker\\pawncapacityworker_psychicstange.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\\pawncapacityworker\\pawncapacityworker_psychicstange.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:pawncapacityworker\\pawncapacityworker_psychicstange.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
@@ -83,58 +91,45 @@
{
"$type": "Document",
"DocumentIndex": 1,
"Title": "CompProperties_AbilityPsychicResearchHarvest.cs",
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Abilities\\ARA_PsychicResearchHarvest\\CompProperties_AbilityPsychicResearchHarvest.cs",
"RelativeDocumentMoniker": "Abilities\\ARA_PsychicResearchHarvest\\CompProperties_AbilityPsychicResearchHarvest.cs",
"ToolTip": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Abilities\\ARA_PsychicResearchHarvest\\CompProperties_AbilityPsychicResearchHarvest.cs",
"RelativeToolTip": "Abilities\\ARA_PsychicResearchHarvest\\CompProperties_AbilityPsychicResearchHarvest.cs",
"ViewState": "AgIAAAoAAAAAAAAAAAArwHsAAAAVAAAAAAAAAA==",
"Title": "CompProperties_AbilityPsychicLoadDump.cs",
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Abilities\\ARA_PsychicLoadDump\\CompProperties_AbilityPsychicLoadDump.cs",
"RelativeDocumentMoniker": "Abilities\\ARA_PsychicLoadDump\\CompProperties_AbilityPsychicLoadDump.cs",
"ToolTip": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Abilities\\ARA_PsychicLoadDump\\CompProperties_AbilityPsychicLoadDump.cs*",
"RelativeToolTip": "Abilities\\ARA_PsychicLoadDump\\CompProperties_AbilityPsychicLoadDump.cs*",
"ViewState": "AgIAACIAAAAAAAAAAAApwH0AAAAFAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-02-04T03:35:18.266Z",
"WhenOpened": "2026-02-04T08:36:24.395Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 0,
"Title": "CompAbilityEffect_PsychicLoadDump.cs",
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Abilities\\ARA_PsychicLoadDump\\CompAbilityEffect_PsychicLoadDump.cs",
"RelativeDocumentMoniker": "Abilities\\ARA_PsychicLoadDump\\CompAbilityEffect_PsychicLoadDump.cs",
"ToolTip": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Abilities\\ARA_PsychicLoadDump\\CompAbilityEffect_PsychicLoadDump.cs*",
"RelativeToolTip": "Abilities\\ARA_PsychicLoadDump\\CompAbilityEffect_PsychicLoadDump.cs*",
"ViewState": "AgIAAGoAAAAAAAAAAAAtwGsAAAAvAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-02-04T08:36:23.647Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 5,
"Title": "CompAbilityEffect_PsychicResearchHarvest.cs",
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Abilities\\ARA_PsychicResearchHarvest\\CompAbilityEffect_PsychicResearchHarvest.cs",
"RelativeDocumentMoniker": "Abilities\\ARA_PsychicResearchHarvest\\CompAbilityEffect_PsychicResearchHarvest.cs",
"ToolTip": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Abilities\\ARA_PsychicResearchHarvest\\CompAbilityEffect_PsychicResearchHarvest.cs",
"RelativeToolTip": "Abilities\\ARA_PsychicResearchHarvest\\CompAbilityEffect_PsychicResearchHarvest.cs",
"ViewState": "AgIAAEwBAAAAAAAAAAAAAHABAAAIAAAAAAAAAA==",
"ViewState": "AgIAAD0AAAAAAAAAAAA7wGkAAAASAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-02-04T03:35:17.441Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 2,
"Title": "CompFighterInvisible.cs",
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Pawn_Comps\\ARA_Fighter_Invisible\\CompFighterInvisible.cs",
"RelativeDocumentMoniker": "Pawn_Comps\\ARA_Fighter_Invisible\\CompFighterInvisible.cs",
"ToolTip": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Pawn_Comps\\ARA_Fighter_Invisible\\CompFighterInvisible.cs",
"RelativeToolTip": "Pawn_Comps\\ARA_Fighter_Invisible\\CompFighterInvisible.cs",
"ViewState": "AgIAACsAAAAAAAAAAAAgwC4AAAARAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-02-04T03:24:18.669Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 7,
"Title": "CompAbilityEffect_HediffGacha.cs",
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Abilities\\ARA_HediffGacha\\CompAbilityEffect_HediffGacha.cs",
"RelativeDocumentMoniker": "Abilities\\ARA_HediffGacha\\CompAbilityEffect_HediffGacha.cs",
"ToolTip": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Abilities\\ARA_HediffGacha\\CompAbilityEffect_HediffGacha.cs",
"RelativeToolTip": "Abilities\\ARA_HediffGacha\\CompAbilityEffect_HediffGacha.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAA0AAAAuAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-02-04T02:49:20.179Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 6,
"DocumentIndex": 9,
"Title": "CompProperties_AbilityPsychicLoadCost.cs",
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Abilities\\ARA_PsychicLoadCost\\CompProperties_AbilityPsychicLoadCost.cs",
"RelativeDocumentMoniker": "Abilities\\ARA_PsychicLoadCost\\CompProperties_AbilityPsychicLoadCost.cs",
@@ -142,12 +137,11 @@
"RelativeToolTip": "Abilities\\ARA_PsychicLoadCost\\CompProperties_AbilityPsychicLoadCost.cs",
"ViewState": "AgIAAAsAAAAAAAAAAADwvyUAAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-01-30T08:22:38.845Z",
"EditorCaption": ""
"WhenOpened": "2026-01-30T08:22:38.845Z"
},
{
"$type": "Document",
"DocumentIndex": 5,
"DocumentIndex": 8,
"Title": "SwarmSpellUtility.cs",
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Pawn_Comps\\ARA_SwarmSpellHolder\\SwarmSpellUtility.cs",
"RelativeDocumentMoniker": "Pawn_Comps\\ARA_SwarmSpellHolder\\SwarmSpellUtility.cs",
@@ -155,18 +149,30 @@
"RelativeToolTip": "Pawn_Comps\\ARA_SwarmSpellHolder\\SwarmSpellUtility.cs",
"ViewState": "AgIAANEAAAAAAAAAAAAqwPMAAAANAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-01-30T07:25:10.449Z",
"EditorCaption": ""
"WhenOpened": "2026-01-30T07:25:10.449Z"
},
{
"$type": "Document",
"DocumentIndex": 4,
"Title": "CompAbilityEffect_PsychicLoadCost.cs",
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Abilities\\ARA_PsychicLoadCost\\CompAbilityEffect_PsychicLoadCost.cs",
"RelativeDocumentMoniker": "Abilities\\ARA_PsychicLoadCost\\CompAbilityEffect_PsychicLoadCost.cs",
"ToolTip": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Abilities\\ARA_PsychicLoadCost\\CompAbilityEffect_PsychicLoadCost.cs",
"RelativeToolTip": "Abilities\\ARA_PsychicLoadCost\\CompAbilityEffect_PsychicLoadCost.cs",
"ViewState": "AgIAAMwAAAAAAAAAAAAawOcAAABZAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-01-30T08:16:09.317Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 2,
"Title": "Comp_SwarmSpellHolder.cs",
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Pawn_Comps\\ARA_SwarmSpellHolder\\Comp_SwarmSpellHolder.cs",
"RelativeDocumentMoniker": "Pawn_Comps\\ARA_SwarmSpellHolder\\Comp_SwarmSpellHolder.cs",
"ToolTip": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Pawn_Comps\\ARA_SwarmSpellHolder\\Comp_SwarmSpellHolder.cs",
"RelativeToolTip": "Pawn_Comps\\ARA_SwarmSpellHolder\\Comp_SwarmSpellHolder.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAACkAAAAkAAAAAAAAAA==",
"ViewState": "AgIAAFgCAAAAAAAAAAAYwGkCAAASAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-01-30T07:11:59.797Z",
"EditorCaption": ""
@@ -186,7 +192,43 @@
},
{
"$type": "Document",
"DocumentIndex": 8,
"DocumentIndex": 10,
"Title": "CompAbilityEffect_HediffGacha.cs",
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Abilities\\ARA_HediffGacha\\CompAbilityEffect_HediffGacha.cs",
"RelativeDocumentMoniker": "Abilities\\ARA_HediffGacha\\CompAbilityEffect_HediffGacha.cs",
"ToolTip": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Abilities\\ARA_HediffGacha\\CompAbilityEffect_HediffGacha.cs",
"RelativeToolTip": "Abilities\\ARA_HediffGacha\\CompAbilityEffect_HediffGacha.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAA0AAAAuAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-02-04T02:49:20.179Z"
},
{
"$type": "Document",
"DocumentIndex": 7,
"Title": "CompFighterInvisible.cs",
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Pawn_Comps\\ARA_Fighter_Invisible\\CompFighterInvisible.cs",
"RelativeDocumentMoniker": "Pawn_Comps\\ARA_Fighter_Invisible\\CompFighterInvisible.cs",
"ToolTip": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Pawn_Comps\\ARA_Fighter_Invisible\\CompFighterInvisible.cs",
"RelativeToolTip": "Pawn_Comps\\ARA_Fighter_Invisible\\CompFighterInvisible.cs",
"ViewState": "AgIAACsAAAAAAAAAAAAgwC4AAAARAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-02-04T03:24:18.669Z"
},
{
"$type": "Document",
"DocumentIndex": 6,
"Title": "CompProperties_AbilityPsychicResearchHarvest.cs",
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Abilities\\ARA_PsychicResearchHarvest\\CompProperties_AbilityPsychicResearchHarvest.cs",
"RelativeDocumentMoniker": "Abilities\\ARA_PsychicResearchHarvest\\CompProperties_AbilityPsychicResearchHarvest.cs",
"ToolTip": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Abilities\\ARA_PsychicResearchHarvest\\CompProperties_AbilityPsychicResearchHarvest.cs",
"RelativeToolTip": "Abilities\\ARA_PsychicResearchHarvest\\CompProperties_AbilityPsychicResearchHarvest.cs",
"ViewState": "AgIAAAoAAAAAAAAAAAArwHsAAAAVAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-02-04T03:35:18.266Z"
},
{
"$type": "Document",
"DocumentIndex": 11,
"Title": "CompAbilityEffect_HediffRestriction.cs",
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Abilities\\ARA_HediffRestriction\\CompAbilityEffect_HediffRestriction.cs",
"RelativeDocumentMoniker": "Abilities\\ARA_HediffRestriction\\CompAbilityEffect_HediffRestriction.cs",
@@ -194,12 +236,11 @@
"RelativeToolTip": "Abilities\\ARA_HediffRestriction\\CompAbilityEffect_HediffRestriction.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAMAAAAXAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-02-04T02:49:22.868Z",
"EditorCaption": ""
"WhenOpened": "2026-02-04T02:49:22.868Z"
},
{
"$type": "Document",
"DocumentIndex": 9,
"DocumentIndex": 12,
"Title": "Window_HediffSelection.cs",
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Abilities\\ARA_HediffGacha\\Window_HediffSelection.cs",
"RelativeDocumentMoniker": "Abilities\\ARA_HediffGacha\\Window_HediffSelection.cs",
@@ -207,25 +248,11 @@
"RelativeToolTip": "Abilities\\ARA_HediffGacha\\Window_HediffSelection.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAsAAAAVAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-02-04T02:49:27.428Z",
"EditorCaption": ""
"WhenOpened": "2026-02-04T02:49:27.428Z"
},
{
"$type": "Document",
"DocumentIndex": 10,
"Title": "CompAbilityEffect_PsychicLoadCost.cs",
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Abilities\\ARA_PsychicLoadCost\\CompAbilityEffect_PsychicLoadCost.cs",
"RelativeDocumentMoniker": "Abilities\\ARA_PsychicLoadCost\\CompAbilityEffect_PsychicLoadCost.cs",
"ToolTip": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Abilities\\ARA_PsychicLoadCost\\CompAbilityEffect_PsychicLoadCost.cs",
"RelativeToolTip": "Abilities\\ARA_PsychicLoadCost\\CompAbilityEffect_PsychicLoadCost.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAFkAAABWAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-01-30T08:16:09.317Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 11,
"DocumentIndex": 13,
"Title": "ARA_PowerArmor.cs",
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\PowerArmor\\ARA_PowerArmor.cs",
"RelativeDocumentMoniker": "PowerArmor\\ARA_PowerArmor.cs",
@@ -233,12 +260,11 @@
"RelativeToolTip": "PowerArmor\\ARA_PowerArmor.cs",
"ViewState": "AgIAANsBAAAAAAAAAAAAAOkBAAAWAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-02-04T02:14:33.83Z",
"EditorCaption": ""
"WhenOpened": "2026-02-04T02:14:33.83Z"
},
{
"$type": "Document",
"DocumentIndex": 12,
"DocumentIndex": 14,
"Title": "PawnCapacityWorker_PsychicStange.cs",
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\PawnCapacityWorker\\PawnCapacityWorker_PsychicStange.cs",
"RelativeDocumentMoniker": "PawnCapacityWorker\\PawnCapacityWorker_PsychicStange.cs",
@@ -246,12 +272,11 @@
"RelativeToolTip": "PawnCapacityWorker\\PawnCapacityWorker_PsychicStange.cs",
"ViewState": "AgIAAEEBAAAAAAAAAAAiwAgAAAAkAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-02-03T07:42:21.662Z",
"EditorCaption": ""
"WhenOpened": "2026-02-03T07:42:21.662Z"
},
{
"$type": "Document",
"DocumentIndex": 14,
"DocumentIndex": 16,
"Title": "CompAbilityEffect_PsychicBrainburn.cs",
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Abilities\\PsychicBrainburn\\CompAbilityEffect_PsychicBrainburn.cs",
"RelativeDocumentMoniker": "Abilities\\PsychicBrainburn\\CompAbilityEffect_PsychicBrainburn.cs",
@@ -263,7 +288,7 @@
},
{
"$type": "Document",
"DocumentIndex": 13,
"DocumentIndex": 15,
"Title": "ARA_DefOf.cs",
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\ARA_DefOf.cs",
"RelativeDocumentMoniker": "ARA_DefOf.cs",
@@ -275,7 +300,7 @@
},
{
"$type": "Document",
"DocumentIndex": 15,
"DocumentIndex": 17,
"Title": "CompAutoMechCarrier.cs",
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Pawn_Comps\\ARA_AutoMechCarrier\\CompAutoMechCarrier.cs",
"RelativeDocumentMoniker": "Pawn_Comps\\ARA_AutoMechCarrier\\CompAutoMechCarrier.cs",

View File

@@ -56,7 +56,7 @@ namespace ArachnaeSwarm
bool wasOverloaded = spellHolder.IsOverloaded;
// 添加灵能负载(不检查是否会超载)
spellHolder.AddPsychicLoad(loadCost, $"释放技能: {parent.def.label}");
spellHolder.AddPsychicLoad(loadCost, $"ARA_UsePsychicLoadSkill".Translate(parent.def.label));
// 检查当前是否超载
bool isNowOverloaded = spellHolder.IsOverloaded;
@@ -64,7 +64,7 @@ namespace ArachnaeSwarm
// 如果从非超载状态变为超载状态,显示警告
if (!wasOverloaded && isNowOverloaded)
{
Messages.Message("ARA_SwarmSpell_Overload_Warning".Translate(caster.LabelShortCap),
Messages.Message("ARA_SwarmSpell_Load_OverloadWarning".Translate(caster.LabelShortCap),
caster, MessageTypeDefOf.NegativeEvent);
}
@@ -224,40 +224,13 @@ namespace ArachnaeSwarm
Props.loadCostRange.max.ToString("F1")));
}
// 当前负载状态
sb.AppendLine();
sb.AppendLine("ARA_SwarmSpell_CurrentLoad".Translate().Colorize(ColoredText.TipSectionTitleColor));
sb.AppendLine("ARA_SwarmSpell_Load_Current".Translate(
spellHolder.PsychicLoad.ToString("F1"),
spellHolder.PsychicLoadCapacity.ToString("F1")));
// 超载警告
if (spellHolder.IsOverloaded)
{
sb.AppendLine();
sb.AppendLine("ARA_SwarmSpell_Overload_Warning_Tooltip".Translate().Colorize(Color.red));
sb.AppendLine("ARA_SwarmSpell_Load_OverloadWarning".Translate().Colorize(Color.red));
sb.AppendLine("ARA_SwarmSpell_Overload_Penalty_Description".Translate());
}
else
{
// 施放后预测负载
float predictedLoad = spellHolder.PsychicLoad + (Props.useFixedCost ? Props.fixedLoadCost : Props.loadCostRange.Average);
float predictedPercent = spellHolder.PsychicLoadCapacity > 0 ? predictedLoad / spellHolder.PsychicLoadCapacity : 0f;
sb.AppendLine();
sb.AppendLine("ARA_SwarmSpell_PredictedLoad".Translate().Colorize(ColoredText.TipSectionTitleColor));
sb.AppendLine("ARA_SwarmSpell_PredictedLoad_Value".Translate(predictedLoad.ToString("F1"), spellHolder.PsychicLoadCapacity.ToString("F1")));
if (predictedPercent > 0.8f)
{
sb.AppendLine("ARA_SwarmSpell_PredictedLoad_Warning".Translate(predictedPercent.ToStringPercent()).Colorize(Color.yellow));
}
if (predictedPercent > 1f)
{
sb.AppendLine("ARA_SwarmSpell_PredictedLoad_Overload".Translate().Colorize(Color.red));
}
}
return sb.ToString().TrimEndNewlines();
}

View File

@@ -0,0 +1,540 @@
using RimWorld;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using UnityEngine;
using Verse;
namespace ArachnaeSwarm
{
/// <summary>
/// 灵能负载转储技能效果
/// 将施法者的灵能负载输出到目标身上,根据目标是否有灵能熵追踪器执行不同效果
/// </summary>
public class CompAbilityEffect_PsychicLoadDump : CompAbilityEffect
{
#region
public new CompProperties_AbilityPsychicLoadDump Props =>
(CompProperties_AbilityPsychicLoadDump)props;
#endregion
#region
public override void Apply(LocalTargetInfo target, LocalTargetInfo dest)
{
base.Apply(target, dest);
Pawn caster = parent.pawn;
Pawn targetPawn = target.Pawn;
if (caster == null || targetPawn == null || targetPawn.Dead || targetPawn.Downed)
{
Log.Warning("[虫群术法] 灵能负载转储: 施法者或目标无效");
return;
}
// 获取施法者的术法持有组件
Comp_SwarmSpellHolder spellHolder = caster.TryGetComp<Comp_SwarmSpellHolder>();
if (spellHolder == null || !spellHolder.IsSystemInitialized)
{
Messages.Message("ARA_SwarmSpell_NoSpellHolder".Translate(caster.LabelShortCap),
MessageTypeDefOf.RejectInput);
return;
}
// 获取施法者当前的灵能负载
float currentLoad = spellHolder.PsychicLoad;
if (currentLoad <= 0f)
{
Messages.Message("ARA_SwarmSpell_NoLoadToDump".Translate(caster.LabelShortCap),
MessageTypeDefOf.RejectInput);
return;
}
// 记录施法者是否超载
bool casterWasOverloaded = spellHolder.IsOverloaded;
// 根据目标是否有灵能熵追踪器执行不同效果
bool hasPsychicTracker = CheckTargetHasPsychicTracker(targetPawn);
if (hasPsychicTracker)
{
// 有灵能熵追踪器转化为PsychicEntropy
ApplyPsychicEntropyEffect(caster, targetPawn, currentLoad, spellHolder);
}
else
{
// 没有灵能熵追踪器:摧毁意识来源器官
ApplyConsciousnessDestruction(caster, targetPawn, currentLoad, spellHolder);
}
// 无论结果如何,清空施法者的灵能负载
spellHolder.ReducePsychicLoad(currentLoad, "转储灵能负载");
// 显示效果和消息
ShowEffectsAndMessages(caster, targetPawn, currentLoad, hasPsychicTracker, casterWasOverloaded);
}
#endregion
#region
/// <summary>
/// 检查目标是否有灵能熵追踪器
/// </summary>
private bool CheckTargetHasPsychicTracker(Pawn target)
{
try
{
// 方法1直接检查psychicEntropy字段
var entropyField = typeof(Pawn).GetField("psychicEntropy");
if (entropyField != null)
{
object entropyObj = entropyField.GetValue(target);
if (entropyObj != null)
{
// 检查是否是Pawn_PsychicEntropyTracker类型
var entropyType = entropyObj.GetType();
if (entropyType.Name == "Pawn_PsychicEntropyTracker")
{
// 进一步检查是否有TryAddEntropy方法
var addEntropyMethod = entropyType.GetMethod("TryAddEntropy");
if (addEntropyMethod != null)
{
return true;
}
}
}
}
// 方法2检查是否有PsychicSensitivity属性
if (target.RaceProps.Humanlike)
{
// 人类类种族通常有灵能熵追踪器
float psychicSensitivity = target.GetStatValue(StatDefOf.PsychicSensitivity);
if (psychicSensitivity > 0.01f)
{
return true;
}
}
// 方法3检查是否有Psylink相关Hediff
Hediff psylink = target.health.hediffSet.GetFirstHediffOfDef(HediffDefOf.PsychicAmplifier);
if (psylink != null)
{
return true;
}
// 方法4检查是否有PsychicEntropy Hediff
Hediff entropyHediff = target.health.hediffSet.GetFirstHediffOfDef(HediffDefOf.PsychicEntropy);
if (entropyHediff != null)
{
return true;
}
return false;
}
catch (System.Exception ex)
{
Log.Warning($"[虫群术法] 检查目标灵能熵追踪器时出错: {ex.Message}");
return false;
}
}
/// <summary>
/// 获取目标的灵能熵追踪器(如果存在)
/// </summary>
private object GetPsychicEntropyTracker(Pawn target)
{
try
{
var entropyField = typeof(Pawn).GetField("psychicEntropy");
if (entropyField != null)
{
return entropyField.GetValue(target);
}
return null;
}
catch (System.Exception)
{
return null;
}
}
#endregion
#region
/// <summary>
/// 将灵能负载转化为PsychicEntropy应用到目标
/// </summary>
private void ApplyPsychicEntropyEffect(Pawn caster, Pawn target, float loadAmount, Comp_SwarmSpellHolder spellHolder)
{
try
{
// 计算转化的熵值1:10转化比
float entropyAmount = loadAmount * Props.conversionRatio;
// 获取目标的灵能熵追踪器
object entropyTracker = GetPsychicEntropyTracker(target);
if (entropyTracker != null)
{
// 使用反射调用TryAddEntropy方法
System.Type entropyType = entropyTracker.GetType();
var addEntropyMethod = entropyType.GetMethod("TryAddEntropy",
new System.Type[] { typeof(float), typeof(Thing), typeof(bool), typeof(bool) });
if (addEntropyMethod != null)
{
bool success = (bool)addEntropyMethod.Invoke(entropyTracker,
new object[] { entropyAmount, caster, Props.scaleBySensitivity, Props.allowOverLimit });
if (success)
{
// 成功添加熵值
ShowEntropyTransferEffect(caster, target, entropyAmount);
}
else
{
// 添加熵值失败(可能达到上限)
Messages.Message("ARA_SwarmSpell_EntropyTransferFailed".Translate(target.LabelShortCap),
target, MessageTypeDefOf.NegativeEvent);
}
}
else
{
// 如果没有TryAddEntropy方法尝试其他方法
ApplyFallbackEffect(target, loadAmount);
}
}
else
{
// 没有找到追踪器,使用后备效果
ApplyFallbackEffect(target, loadAmount);
}
}
catch (System.Exception ex)
{
Log.Error($"[虫群术法] 应用灵能熵效果时出错: {ex.Message}\n{ex.StackTrace}");
ApplyFallbackEffect(target, loadAmount);
}
}
/// <summary>
/// 后备效果(当无法添加熵值时使用)
/// </summary>
private void ApplyFallbackEffect(Pawn target, float loadAmount)
{
// 应用一些伤害作为后备
float damageAmount = loadAmount * Props.fallbackDamageMultiplier;
DamageInfo damage = new DamageInfo(
Props.fallbackDamageType ?? DamageDefOf.Burn,
damageAmount,
armorPenetration: 999f,
instigator: parent.pawn
);
target.TakeDamage(damage);
}
/// <summary>
/// 显示熵值转移效果
/// </summary>
private void ShowEntropyTransferEffect(Pawn caster, Pawn target, float entropyAmount)
{
// 显示效果
if (Props.entropyTransferEffecter != null)
{
Effecter effecter = Props.entropyTransferEffecter.Spawn();
effecter.Trigger(new TargetInfo(caster.Position, caster.Map), new TargetInfo(target.Position, target.Map));
effecter.Cleanup();
}
// 显示熵值转移消息
if (Props.showEntropyTransferMessage)
{
Messages.Message("ARA_SwarmSpell_EntropyTransferred".Translate(
caster.LabelShortCap, target.LabelShortCap, entropyAmount.ToString("F1")),
target, MessageTypeDefOf.NegativeEvent);
}
}
#endregion
#region
/// <summary>
/// 摧毁目标的意识来源器官
/// </summary>
private void ApplyConsciousnessDestruction(Pawn caster, Pawn target, float loadAmount, Comp_SwarmSpellHolder spellHolder)
{
try
{
// 获取所有意识来源部位
var consciousnessParts = target.health.hediffSet.GetNotMissingParts()
.Where(part => part.def.tags?.Contains(BodyPartTagDefOf.ConsciousnessSource) == true)
.ToList();
if (consciousnessParts.Count == 0)
{
// 如果没有意识来源器官,应用普通伤害
ApplyNoConsciousnessFallback(target, loadAmount);
return;
}
int destroyedCount = 0;
float loadPerPart = loadAmount / consciousnessParts.Count;
foreach (var part in consciousnessParts)
{
if (TryDestroyConsciousnessPart(target, part, loadPerPart))
{
destroyedCount++;
// 显示伤害效果
if (Props.consciousnessDestroyFleck != null && target.Map != null)
{
FleckMaker.Static(target.Position, target.Map, Props.consciousnessDestroyFleck);
}
}
}
// 如果摧毁了任何意识来源器官,应用惩罚效果
if (destroyedCount > 0)
{
ApplyConsciousnessPenalty(target);
// 显示摧毁消息
if (Props.showConsciousnessDestroyMessage)
{
Messages.Message("ARA_SwarmSpell_ConsciousnessDestroyed".Translate(
target.LabelShortCap, destroyedCount),
target, MessageTypeDefOf.NegativeHealthEvent);
}
}
}
catch (System.Exception ex)
{
Log.Error($"[虫群术法] 摧毁意识来源器官时出错: {ex.Message}\n{ex.StackTrace}");
}
}
/// <summary>
/// 尝试摧毁意识来源器官
/// </summary>
private bool TryDestroyConsciousnessPart(Pawn pawn, BodyPartRecord part, float loadPerPart)
{
try
{
// 计算伤害(基于负载和配置的伤害倍数)
float damageAmount = part.def.GetMaxHealth(pawn) * Props.partDestructionDamageMult +
(loadPerPart * Props.loadDamageMultiplier);
DamageInfo damage = new DamageInfo(
Props.destroyDamageType ?? DamageDefOf.Burn,
damageAmount,
armorPenetration: 999f,
instigator: parent.pawn,
hitPart: part,
category: DamageInfo.SourceCategory.ThingOrUnknown
);
pawn.TakeDamage(damage);
// 确保部位被摧毁
if (!pawn.health.hediffSet.PartIsMissing(part))
{
DamageInfo finalDamage = new DamageInfo(
Props.destroyDamageType ?? DamageDefOf.Burn,
99999f,
armorPenetration: 999f,
instigator: parent.pawn,
hitPart: part
);
pawn.TakeDamage(finalDamage);
}
return true;
}
catch (System.Exception ex)
{
Log.Error($"[虫群术法] 摧毁部位 {part.Label} 时出错: {ex.Message}");
return false;
}
}
/// <summary>
/// 没有意识来源器官时的后备效果
/// </summary>
private void ApplyNoConsciousnessFallback(Pawn target, float loadAmount)
{
// 对核心部位造成伤害
BodyPartRecord corePart = target.RaceProps.body.corePart;
if (corePart != null)
{
float damageAmount = loadAmount * Props.noConsciousnessDamageMultiplier;
DamageInfo damage = new DamageInfo(
Props.destroyDamageType ?? DamageDefOf.Burn,
damageAmount,
armorPenetration: 999f,
instigator: parent.pawn,
hitPart: corePart
);
target.TakeDamage(damage);
if (Props.showNoConsciousnessMessage)
{
Messages.Message("ARA_SwarmSpell_NoConsciousnessFallback".Translate(
target.LabelShortCap, damageAmount.ToString("F0")),
target, MessageTypeDefOf.NegativeEvent);
}
}
}
/// <summary>
/// 应用意识来源器官被摧毁的惩罚
/// </summary>
private void ApplyConsciousnessPenalty(Pawn pawn)
{
// 添加意识惩罚Hediff
if (Props.consciousnessPenaltyHediff != null)
{
try
{
Hediff penalty = HediffMaker.MakeHediff(Props.consciousnessPenaltyHediff, pawn);
pawn.health.AddHediff(penalty);
}
catch (System.Exception ex)
{
Log.Error($"[虫群术法] 添加意识惩罚Hediff时出错: {ex.Message}");
}
}
// 显示效果
if (Props.penaltyEffecter != null)
{
Effecter effecter = Props.penaltyEffecter.Spawn();
effecter.Trigger(new TargetInfo(pawn.Position, pawn.Map), new TargetInfo(pawn.Position, pawn.Map));
effecter.Cleanup();
}
}
#endregion
#region
/// <summary>
/// 显示效果和消息
/// </summary>
private void ShowEffectsAndMessages(Pawn caster, Pawn target, float loadAmount, bool hasPsychicTracker, bool casterWasOverloaded)
{
// 显示主效果
if (Props.mainEffecter != null)
{
Effecter effecter = Props.mainEffecter.Spawn();
effecter.Trigger(new TargetInfo(caster.Position, caster.Map), new TargetInfo(target.Position, target.Map));
effecter.Cleanup();
}
// 显示负载转储消息
if (Props.showDumpMessage)
{
string messageKey = hasPsychicTracker ?
"ARA_SwarmSpell_LoadDumped_Entropy" :
"ARA_SwarmSpell_LoadDumped_Destruction";
string message = messageKey.Translate(
caster.LabelShortCap,
target.LabelShortCap,
loadAmount.ToString("F1"));
Messages.Message(message, caster, MessageTypeDefOf.PositiveEvent);
}
// 显示施法者状态消息
if (casterWasOverloaded && Props.showOverloadReliefMessage)
{
Messages.Message("ARA_SwarmSpell_OverloadRelieved".Translate(caster.LabelShortCap),
caster, MessageTypeDefOf.PositiveEvent);
}
}
#endregion
#region
public override bool Valid(LocalTargetInfo target, bool throwMessages = false)
{
if (!base.Valid(target, throwMessages))
return false;
Pawn targetPawn = target.Pawn;
if (targetPawn == null)
{
if (throwMessages)
Messages.Message("需要选择一个目标单位", MessageTypeDefOf.RejectInput);
return false;
}
// 检查目标是否活着且没有倒下(如果技能不允许对倒下单位使用)
if (!Props.canTargetDowned && targetPawn.Downed)
{
if (throwMessages)
Messages.Message("目标已经倒下,无法转储负载", MessageTypeDefOf.RejectInput);
return false;
}
// 检查施法者是否有术法组件且有负载
Pawn caster = parent.pawn;
if (caster != null)
{
Comp_SwarmSpellHolder spellHolder = caster.TryGetComp<Comp_SwarmSpellHolder>();
if (spellHolder == null)
{
if (throwMessages)
Messages.Message("施法者没有灵能术法系统", MessageTypeDefOf.RejectInput);
return false;
}
if (!spellHolder.IsSystemInitialized)
{
if (throwMessages)
Messages.Message("灵能术法系统未初始化", MessageTypeDefOf.RejectInput);
return false;
}
// 检查是否有负载可转储
if (spellHolder.PsychicLoad <= 0f)
{
if (throwMessages)
Messages.Message("没有可转储的灵能负载", MessageTypeDefOf.RejectInput);
return false;
}
}
return true;
}
#endregion
#region AI
public override bool AICanTargetNow(LocalTargetInfo target)
{
Pawn caster = parent.pawn;
if (caster == null)
return false;
Pawn targetPawn = target.Pawn;
if (targetPawn == null || targetPawn.Dead || (targetPawn.Downed && !Props.canTargetDowned))
return false;
// 检查施法者是否有术法组件
Comp_SwarmSpellHolder spellHolder = caster.TryGetComp<Comp_SwarmSpellHolder>();
if (spellHolder == null || !spellHolder.IsSystemInitialized)
return false;
// AI不会在没有负载时使用此技能
if (spellHolder.PsychicLoad <= 0f)
return false;
// AI倾向于在超载时使用此技能
float overloadUrgency = spellHolder.IsOverloaded ? 0.8f : (spellHolder.PsychicLoadPercent * 0.5f);
// AI考虑目标的威胁程度
float threatScore = targetPawn.Downed ? 0f : (targetPawn.kindDef.combatPower / 100f);
// 综合评分:超载越严重、目标威胁越大,越可能使用
float totalScore = overloadUrgency + (threatScore * 0.5f);
return totalScore > 0.5f && base.AICanTargetNow(target);
}
#endregion
}
}

View File

@@ -0,0 +1,127 @@
using RimWorld;
using UnityEngine;
using Verse;
namespace ArachnaeSwarm
{
/// <summary>
/// 灵能负载转储技能属性
/// </summary>
public class CompProperties_AbilityPsychicLoadDump : CompProperties_AbilityEffect
{
#region
/// <summary>
/// 转化比例1负载 = X熵值
/// </summary>
public float conversionRatio = 10f;
/// <summary>
/// 是否根据目标的灵能敏感度缩放
/// </summary>
public bool scaleBySensitivity = true;
/// <summary>
/// 是否允许超过目标熵值上限
/// </summary>
public bool allowOverLimit = false;
#endregion
#region
/// <summary>
/// 是否可以对倒下的目标使用
/// </summary>
public bool canTargetDowned = false;
#endregion
#region
/// <summary>
/// 部位摧毁基础伤害倍数(基于部位最大生命值)
/// </summary>
public float partDestructionDamageMult = 1.5f;
/// <summary>
/// 负载伤害倍数(负载 * 此倍数)
/// </summary>
public float loadDamageMultiplier = 5f;
/// <summary>
/// 没有意识来源器官时的伤害倍数
/// </summary>
public float noConsciousnessDamageMultiplier = 3f;
/// <summary>
/// 后备效果伤害倍数(当无法添加熵值时)
/// </summary>
public float fallbackDamageMultiplier = 2f;
/// <summary>
/// 摧毁部位使用的伤害类型
/// </summary>
public DamageDef destroyDamageType = null;
/// <summary>
/// 后备效果伤害类型
/// </summary>
public DamageDef fallbackDamageType = null;
#endregion
#region
/// <summary>
/// 主效果器
/// </summary>
public EffecterDef mainEffecter = null;
/// <summary>
/// 熵值转移效果器
/// </summary>
public EffecterDef entropyTransferEffecter = null;
/// <summary>
/// 意识摧毁特效
/// </summary>
public FleckDef consciousnessDestroyFleck = null;
/// <summary>
/// 惩罚效果器
/// </summary>
public EffecterDef penaltyEffecter = null;
/// <summary>
/// 意识惩罚Hediff
/// </summary>
public HediffDef consciousnessPenaltyHediff = null;
#endregion
#region
/// <summary>
/// 是否显示转储消息
/// </summary>
public bool showDumpMessage = true;
/// <summary>
/// 是否显示熵值转移消息
/// </summary>
public bool showEntropyTransferMessage = true;
/// <summary>
/// 是否显示意识摧毁消息
/// </summary>
public bool showConsciousnessDestroyMessage = true;
/// <summary>
/// 是否显示没有意识来源器官消息
/// </summary>
public bool showNoConsciousnessMessage = true;
/// <summary>
/// 是否显示超载解除消息
/// </summary>
public bool showOverloadReliefMessage = true;
#endregion
public CompProperties_AbilityPsychicLoadDump()
{
compClass = typeof(CompAbilityEffect_PsychicLoadDump);
}
}
}

View File

@@ -103,47 +103,6 @@ namespace ArachnaeSwarm
return researchPoints;
}
/// <summary>
/// 获取计算过程的描述(用于工具提示)
/// </summary>
private string GetCalculationDescription(Pawn targetPawn)
{
StringBuilder sb = new StringBuilder();
// 获取智识技能等级
float intelligenceValue = 1f;
if (targetPawn.skills != null)
{
SkillRecord intellectualSkill = targetPawn.skills.GetSkill(SkillDefOf.Intellectual);
if (intellectualSkill != null)
{
intelligenceValue = intellectualSkill.Level;
if (intelligenceValue <= 0) intelligenceValue = 1f;
}
}
// 获取意识能力值
float consciousnessValue = targetPawn.health.capacities.GetLevel(PawnCapacityDefOf.Consciousness);
if (consciousnessValue < 0) consciousnessValue = 0;
sb.AppendLine("计算公式:");
sb.AppendLine($"基础值: {Props.baseAmount:F1}");
sb.AppendLine($"智识技能等级({intelligenceValue:F1}) × 智识倍率({Props.intelligenceMultiplier:F1}) = {intelligenceValue * Props.intelligenceMultiplier:F1}");
sb.AppendLine($"意识能力值({consciousnessValue:P0}) × 意识倍率({Props.consciousnessMultiplier:F1}) = {consciousnessValue * Props.consciousnessMultiplier:F1}");
sb.AppendLine($"总计: {Props.baseAmount + (intelligenceValue * Props.intelligenceMultiplier) + (consciousnessValue * Props.consciousnessMultiplier):F1}");
if (Props.useRandomRange)
{
sb.AppendLine($"随机范围: {Props.randomRange.min:F1} - {Props.randomRange.max:F1}");
}
if (Props.overallMultiplier != 1f)
{
sb.AppendLine($"全局乘数: ×{Props.overallMultiplier:F1}");
}
return sb.ToString();
}
#endregion
#region

View File

@@ -38,6 +38,8 @@
<Compile Include="Abilities\ARA_HediffGacha\Window_HediffSelection.cs" />
<Compile Include="Abilities\ARA_PsychicLoadCost\CompAbilityEffect_PsychicLoadCost.cs" />
<Compile Include="Abilities\ARA_PsychicLoadCost\CompProperties_AbilityPsychicLoadCost.cs" />
<Compile Include="Abilities\ARA_PsychicLoadDump\CompAbilityEffect_PsychicLoadDump.cs" />
<Compile Include="Abilities\ARA_PsychicLoadDump\CompProperties_AbilityPsychicLoadDump.cs" />
<Compile Include="Abilities\ARA_PsychicResearchHarvest\CompAbilityEffect_PsychicResearchHarvest.cs" />
<Compile Include="Abilities\ARA_PsychicResearchHarvest\CompProperties_AbilityPsychicResearchHarvest.cs" />
<Compile Include="Buildings\Building_CorpseVat\Building_CorpseVat.cs" />