11
This commit is contained in:
Binary file not shown.
@@ -88,136 +88,6 @@
|
||||
</projectile>
|
||||
</ThingDef>
|
||||
|
||||
<!-- T0 -->
|
||||
<AbilityDef ParentName="ARA_EggSpew_Base">
|
||||
<defName>ARA_EggSpew</defName>
|
||||
<label>生育虫卵</label>
|
||||
<description>从卵巢中排出一颗休眠的虫卵,阿拉克涅女皇种可以通过与其交互将其激活,并选择孵化的督虫虫族类型——参阅虫卵的具体信息,了解各个督虫的特点。\n\n该虫卵只能孵化小型虫族。</description>
|
||||
<iconPath>ArachnaeSwarm/UI/Abilities/ARA_EggSpew</iconPath>
|
||||
<comps>
|
||||
<li Class="CompProperties_AbilityLaunchProjectile">
|
||||
<projectileDef>ARA_Proj_EggSac</projectileDef>
|
||||
</li>
|
||||
<li Class="ArachnaeSwarm.CompProperties_AbilityShowSpawnablePawns">
|
||||
<spawnBuildingDef>ARA_InteractiveEggSac</spawnBuildingDef>
|
||||
<customLabel>0级阿拉克涅卵 可孵化的单位</customLabel>
|
||||
<showResearchRequirements>true</showResearchRequirements>
|
||||
</li>
|
||||
<li Class="ArachnaeSwarm.CompProperties_AbilityShowTemperatureRange">
|
||||
<temperatureCheckBuilding>ARA_InteractiveEggSac</temperatureCheckBuilding>
|
||||
<customLabel>温度要求</customLabel>
|
||||
<showCurrentTemperature>true</showCurrentTemperature>
|
||||
</li>
|
||||
</comps>
|
||||
</AbilityDef>
|
||||
<AbilityDef ParentName="ARA_EggSpew_Base">
|
||||
<defName>ARA_EggSpew_Huge</defName>
|
||||
<label>生育大型虫卵</label>
|
||||
<description>从卵巢中排出一颗休眠的大型虫卵,阿拉克涅女皇种可以通过与其交互将其激活,并选择孵化的督虫虫族类型——参阅虫卵的具体信息,了解各个督虫的特点。\n\n该虫卵只能孵化大型虫族。</description>
|
||||
<iconPath>ArachnaeSwarm/UI/Abilities/ARA_EggSpew_Huge</iconPath>
|
||||
<comps>
|
||||
<li Class="CompProperties_AbilityLaunchProjectile">
|
||||
<projectileDef>ARA_Proj_EggSac_Huge</projectileDef>
|
||||
</li>
|
||||
<li Class="ArachnaeSwarm.CompProperties_AbilityShowSpawnablePawns">
|
||||
<spawnBuildingDef>ARA_InteractiveEggSac_Huge</spawnBuildingDef>
|
||||
<customLabel>0级大型阿拉克涅卵 可孵化的单位</customLabel>
|
||||
<showResearchRequirements>true</showResearchRequirements>
|
||||
</li>
|
||||
<li Class="ArachnaeSwarm.CompProperties_AbilityShowTemperatureRange">
|
||||
<temperatureCheckBuilding>ARA_InteractiveEggSac_Huge</temperatureCheckBuilding>
|
||||
<customLabel>温度要求</customLabel>
|
||||
<showCurrentTemperature>true</showCurrentTemperature>
|
||||
</li>
|
||||
</comps>
|
||||
</AbilityDef>
|
||||
<!-- T1 -->
|
||||
<AbilityDef ParentName="ARA_EggSpew_Base">
|
||||
<defName>ARA_EggSpew_1Stage</defName>
|
||||
<label>生育虫卵——等级1</label>
|
||||
<description>从卵巢中排出一颗休眠的虫卵,阿拉克涅女皇种可以通过与其交互将其激活,并选择孵化的督虫虫族类型——参阅虫卵的具体信息,了解各个督虫的特点。\n\n该虫卵只能孵化小型虫族。</description>
|
||||
<iconPath>ArachnaeSwarm/UI/Abilities/ARA_EggSpew_1Stage</iconPath>
|
||||
<comps>
|
||||
<li Class="CompProperties_AbilityLaunchProjectile">
|
||||
<projectileDef>ARA_Proj_EggSac_1Stage</projectileDef>
|
||||
</li>
|
||||
<li Class="ArachnaeSwarm.CompProperties_AbilityShowSpawnablePawns">
|
||||
<spawnBuildingDef>ARA_InteractiveEggSac_1Stage</spawnBuildingDef>
|
||||
<customLabel>1级阿拉克涅卵 可孵化的单位</customLabel>
|
||||
<showResearchRequirements>true</showResearchRequirements>
|
||||
</li>
|
||||
<li Class="ArachnaeSwarm.CompProperties_AbilityShowTemperatureRange">
|
||||
<temperatureCheckBuilding>ARA_InteractiveEggSac_1Stage</temperatureCheckBuilding>
|
||||
<customLabel>温度要求</customLabel>
|
||||
<showCurrentTemperature>true</showCurrentTemperature>
|
||||
</li>
|
||||
</comps>
|
||||
</AbilityDef>
|
||||
<AbilityDef ParentName="ARA_EggSpew_Base">
|
||||
<defName>ARA_EggSpew_Huge_1Stage</defName>
|
||||
<label>生育大型虫卵——等级1</label>
|
||||
<description>从卵巢中排出一颗休眠的大型虫卵,阿拉克涅女皇种可以通过与其交互将其激活,并选择孵化的督虫虫族类型——参阅虫卵的具体信息,了解各个督虫的特点。\n\n该虫卵只能孵化大型虫族。</description>
|
||||
<iconPath>ArachnaeSwarm/UI/Abilities/ARA_EggSpew_Huge_1Stage</iconPath>
|
||||
<comps>
|
||||
<li Class="CompProperties_AbilityLaunchProjectile">
|
||||
<projectileDef>ARA_Proj_EggSac_Huge_1Stage</projectileDef>
|
||||
</li>
|
||||
<li Class="ArachnaeSwarm.CompProperties_AbilityShowSpawnablePawns">
|
||||
<spawnBuildingDef>ARA_InteractiveEggSac_Huge_1Stage</spawnBuildingDef>
|
||||
<customLabel>1级大型阿拉克涅卵 可孵化的单位</customLabel>
|
||||
<showResearchRequirements>true</showResearchRequirements>
|
||||
</li>
|
||||
<li Class="ArachnaeSwarm.CompProperties_AbilityShowTemperatureRange">
|
||||
<temperatureCheckBuilding>ARA_InteractiveEggSac_Huge_1Stage</temperatureCheckBuilding>
|
||||
<customLabel>温度要求</customLabel>
|
||||
<showCurrentTemperature>true</showCurrentTemperature>
|
||||
</li>
|
||||
</comps>
|
||||
</AbilityDef>
|
||||
<!-- T2 -->
|
||||
<AbilityDef ParentName="ARA_EggSpew_Base">
|
||||
<defName>ARA_EggSpew_2Stage</defName>
|
||||
<label>生育虫卵——等级2</label>
|
||||
<description>从卵巢中排出一颗休眠的虫卵,阿拉克涅女皇种可以通过与其交互将其激活,并选择孵化的督虫虫族类型——参阅虫卵的具体信息,了解各个督虫的特点。\n\n该虫卵只能孵化小型虫族。</description>
|
||||
<iconPath>ArachnaeSwarm/UI/Abilities/ARA_EggSpew_2Stage</iconPath>
|
||||
<comps>
|
||||
<li Class="CompProperties_AbilityLaunchProjectile">
|
||||
<projectileDef>ARA_Proj_EggSac_2Stage</projectileDef>
|
||||
</li>
|
||||
<li Class="ArachnaeSwarm.CompProperties_AbilityShowSpawnablePawns">
|
||||
<spawnBuildingDef>ARA_InteractiveEggSac_2Stage</spawnBuildingDef>
|
||||
<customLabel>2级阿拉克涅卵 可孵化的单位</customLabel>
|
||||
<showResearchRequirements>true</showResearchRequirements>
|
||||
</li>
|
||||
<li Class="ArachnaeSwarm.CompProperties_AbilityShowTemperatureRange">
|
||||
<temperatureCheckBuilding>ARA_InteractiveEggSac_2Stage</temperatureCheckBuilding>
|
||||
<customLabel>温度要求</customLabel>
|
||||
<showCurrentTemperature>true</showCurrentTemperature>
|
||||
</li>
|
||||
</comps>
|
||||
</AbilityDef>
|
||||
<AbilityDef ParentName="ARA_EggSpew_Base">
|
||||
<defName>ARA_EggSpew_Huge_2Stage</defName>
|
||||
<label>生育大型虫卵——等级2</label>
|
||||
<description>从卵巢中排出一颗休眠的大型虫卵,阿拉克涅女皇种可以通过与其交互将其激活,并选择孵化的督虫虫族类型——参阅虫卵的具体信息,了解各个督虫的特点。\n\n该虫卵只能孵化大型虫族。</description>
|
||||
<iconPath>ArachnaeSwarm/UI/Abilities/ARA_EggSpew_Huge_2Stage</iconPath>
|
||||
<comps>
|
||||
<li Class="CompProperties_AbilityLaunchProjectile">
|
||||
<projectileDef>ARA_Proj_EggSac_Huge_2Stage</projectileDef>
|
||||
</li>
|
||||
<li Class="ArachnaeSwarm.CompProperties_AbilityShowSpawnablePawns">
|
||||
<spawnBuildingDef>ARA_InteractiveEggSac_Huge_2Stage</spawnBuildingDef>
|
||||
<customLabel>2级大型阿拉克涅卵 可孵化的单位</customLabel>
|
||||
<showResearchRequirements>true</showResearchRequirements>
|
||||
</li>
|
||||
<li Class="ArachnaeSwarm.CompProperties_AbilityShowTemperatureRange">
|
||||
<temperatureCheckBuilding>ARA_InteractiveEggSac_Huge_2Stage</temperatureCheckBuilding>
|
||||
<customLabel>温度要求</customLabel>
|
||||
<showCurrentTemperature>true</showCurrentTemperature>
|
||||
</li>
|
||||
</comps>
|
||||
</AbilityDef>
|
||||
|
||||
<AbilityDef ParentName="ARA_EggSpew_Base">
|
||||
<defName>ARA_EggSpew_Techprint</defName>
|
||||
<label>生育基因试验卵</label>
|
||||
|
||||
@@ -23,8 +23,6 @@
|
||||
<comps>
|
||||
<li Class="HediffCompProperties_GiveAbility">
|
||||
<abilityDefs>
|
||||
<li>ARA_EggSpew</li>
|
||||
<li>ARA_EggSpew_Huge</li>
|
||||
<li>ARA_Queen_Upgrade_1_Stage</li>
|
||||
</abilityDefs>
|
||||
</li>
|
||||
@@ -87,8 +85,6 @@
|
||||
<comps>
|
||||
<li Class="HediffCompProperties_GiveAbility">
|
||||
<abilityDefs>
|
||||
<li>ARA_EggSpew_1Stage</li>
|
||||
<li>ARA_EggSpew_Huge_1Stage</li>
|
||||
<li>ARA_Queen_Upgrade_2_Stage</li>
|
||||
</abilityDefs>
|
||||
</li>
|
||||
@@ -151,8 +147,6 @@
|
||||
<comps>
|
||||
<li Class="HediffCompProperties_GiveAbility">
|
||||
<abilityDefs>
|
||||
<li>ARA_EggSpew_2Stage</li>
|
||||
<li>ARA_EggSpew_Huge_2Stage</li>
|
||||
</abilityDefs>
|
||||
</li>
|
||||
</comps>
|
||||
|
||||
19
1.6/1.6/Defs/NeedDefs/ARA_Needs.xml
Normal file
19
1.6/1.6/Defs/NeedDefs/ARA_Needs.xml
Normal file
@@ -0,0 +1,19 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<Defs>
|
||||
<NeedDef>
|
||||
<defName>ARA_HoneyProduction</defName>
|
||||
<needClass>ArachnaeSwarm.Need_HoneyProduction</needClass>
|
||||
<label>蜜罐</label>
|
||||
<description>代表这个生物储存阿拉克涅虫蜜原浆的多少。当其他虫族饥饿时,会尝试直接从有蜜罐腔的生物身上获取虫蜜,如果蜜罐满溢,则生物会尝试将其提取出来。</description>
|
||||
<listPriority>800</listPriority>
|
||||
<major>true</major>
|
||||
<onlyIfCausedByHediff>true</onlyIfCausedByHediff>
|
||||
<hediffRequiredAny>
|
||||
<li>Wula_Synth</li>
|
||||
</hediffRequiredAny>
|
||||
<showForCaravanMembers>true</showForCaravanMembers>
|
||||
<developmentalStageFilter>Baby, Child, Adult</developmentalStageFilter>
|
||||
<showUnitTicks>true</showUnitTicks>
|
||||
<freezeWhileSleeping>false</freezeWhileSleeping>
|
||||
</NeedDef>
|
||||
</Defs>
|
||||
@@ -95,33 +95,12 @@
|
||||
<ThingDef ParentName="ArachnaeBase_Race">
|
||||
<defName>ArachnaeBase_Race_Scavenger</defName>
|
||||
<label>阿拉克涅食腐种</label>
|
||||
<description>阿拉克涅辅虫之一,智力低下,可以执行种植和收割工作,注定在度过短暂的时光后死亡。</description>
|
||||
<description>阿拉克涅辅虫之一,智力低下,可以执行种植、收割、搬运和挖掘工作,注定在度过短暂的时光后死亡。</description>
|
||||
<race>
|
||||
<specialTrainables>
|
||||
<li>ARA_Sowing</li>
|
||||
</specialTrainables>
|
||||
</race>
|
||||
<comps>
|
||||
<li Class="ArachnaeSwarm.CompProperties_AdvancedTraining">
|
||||
<trainables>
|
||||
<li>
|
||||
<trainable>ARA_Sowing</trainable>
|
||||
<trainInstantly>true</trainInstantly>
|
||||
<setWanted>true</setWanted>
|
||||
</li>
|
||||
</trainables>
|
||||
<disableAllSkillDecay>true</disableAllSkillDecay> <!-- 阻止这个动物的所有技能衰减 -->
|
||||
</li>
|
||||
</comps>
|
||||
</ThingDef>
|
||||
<ThingDef ParentName="ArachnaeBase_Race">
|
||||
<defName>ArachnaeBase_Race_HardJaw</defName>
|
||||
<label>阿拉克涅坚颚种</label>
|
||||
<description>阿拉克涅辅虫之一,智力低下,可以承担挖矿任务,注定在度过短暂的时光后死亡。</description>
|
||||
<race>
|
||||
<specialTrainables>
|
||||
<li>Dig</li>
|
||||
<li MayRequire="Ludeon.RimWorld.Odyssey">AttackTarget</li>
|
||||
<li>ARA_Cleaning</li>
|
||||
</specialTrainables>
|
||||
</race>
|
||||
<comps>
|
||||
@@ -133,27 +112,10 @@
|
||||
<setWanted>true</setWanted>
|
||||
</li>
|
||||
<li>
|
||||
<trainable>AttackTarget</trainable>
|
||||
<trainable>ARA_Sowing</trainable>
|
||||
<trainInstantly>true</trainInstantly>
|
||||
<setWanted>true</setWanted>
|
||||
</li>
|
||||
</trainables>
|
||||
<disableAllSkillDecay>true</disableAllSkillDecay> <!-- 阻止这个动物的所有技能衰减 -->
|
||||
</li>
|
||||
</comps>
|
||||
</ThingDef>
|
||||
<ThingDef ParentName="ArachnaeBase_Race">
|
||||
<defName>ArachnaeBase_Race_Maid</defName>
|
||||
<label>阿拉克涅家政种</label>
|
||||
<description>阿拉克涅辅虫之一,智力低下,可以执行清洁和搬运工作,注定在度过短暂的时光后死亡。</description>
|
||||
<race>
|
||||
<specialTrainables>
|
||||
<li>ARA_Cleaning</li>
|
||||
</specialTrainables>
|
||||
</race>
|
||||
<comps>
|
||||
<li Class="ArachnaeSwarm.CompProperties_AdvancedTraining">
|
||||
<trainables>
|
||||
<li>
|
||||
<trainable>ARA_Cleaning</trainable>
|
||||
<trainInstantly>true</trainInstantly>
|
||||
|
||||
@@ -699,7 +699,7 @@
|
||||
<AlienRace.ThingDef_AlienRace ParentName="ARA_NodeBase_Huge">
|
||||
<defName>ArachnaeNode_Race_Myrmecocystus</defName>
|
||||
<label>阿拉克涅蜜罐种</label>
|
||||
<description>阿拉克涅大型督虫之一,拥有广泛食谱的大型虫族,可以吞下许多未经处理的生物并将其分解为阿拉克涅虫蜜,以滋养虫群。\n\n她可以进行搬运、烹饪和种植工作,战斗技能非常差。\n\n作为督虫,她可以繁育并监管若干阿拉克涅食腐种辅虫,以协助巢穴进行收割和播种工作。</description>
|
||||
<description>阿拉克涅大型督虫之一,拥有广泛食谱的大型虫族,可以吞下许多未经处理的生物并将其分解为阿拉克涅虫蜜,以滋养虫群。\n\n她可以进行搬运、烹饪和种植工作,战斗技能非常差。</description>
|
||||
<alienRace>
|
||||
<generalSettings>
|
||||
<!-- 各种零件定义 -->
|
||||
@@ -780,23 +780,6 @@
|
||||
<milkIntervalDays>1</milkIntervalDays>
|
||||
<milkAmount>10</milkAmount>
|
||||
</li> -->
|
||||
<li Class="ArachnaeSwarm.CompProperties_AutoMechCarrier">
|
||||
<freeProduction>true</freeProduction>
|
||||
<disableHediff>ARA_RaceBaseSwarmProduceSwitchHediff</disableHediff>
|
||||
<fixedIngredient>ARA_InsectJelly</fixedIngredient>
|
||||
<maxIngredientCount>1</maxIngredientCount>
|
||||
<startingIngredientCount>1</startingIngredientCount>
|
||||
<costPerPawn>999</costPerPawn>
|
||||
<cooldownTicks>9999</cooldownTicks>
|
||||
<productionQueue>
|
||||
<li>
|
||||
<pawnKind>ArachnaeBase_Race_Scavenger</pawnKind>
|
||||
<count>2</count>
|
||||
<cooldownTicks>1000</cooldownTicks>
|
||||
</li>
|
||||
</productionQueue>
|
||||
<spawnEffecter>CocoonDestroyed</spawnEffecter>
|
||||
</li>
|
||||
<li Class="ArachnaeSwarm.CompProperties_NodeSwarmLifetime">
|
||||
<immuteHediff>ARA_Cycle_Suppression_Hediff</immuteHediff>
|
||||
<lifespanHediff>ARA_LifespanHediff</lifespanHediff>
|
||||
@@ -807,7 +790,6 @@
|
||||
</li>
|
||||
<li Class="ArachnaeSwarm.CompProperties_HediffGiver">
|
||||
<hediffs>
|
||||
<li>ARA_RaceBaseSwarmProduceSwitchHediff</li>
|
||||
<li>ARA_Myrmecocystus_Production_InsectJelly</li>
|
||||
</hediffs>
|
||||
<addChance>1.0</addChance>
|
||||
@@ -955,17 +937,17 @@
|
||||
<allowDuplicates>false</allowDuplicates>
|
||||
</li>
|
||||
<li Class="ArachnaeSwarm.CompProperties_AutoMechCarrier">
|
||||
<freeProduction>true</freeProduction>
|
||||
<freeProduction>false</freeProduction>
|
||||
<disableHediff>ARA_RaceBaseSwarmProduceSwitchHediff</disableHediff>
|
||||
<fixedIngredient>ARA_InsectJelly</fixedIngredient>
|
||||
<maxIngredientCount>1</maxIngredientCount>
|
||||
<startingIngredientCount>1</startingIngredientCount>
|
||||
<costPerPawn>999</costPerPawn>
|
||||
<costPerPawn>1</costPerPawn>
|
||||
<cooldownTicks>9999</cooldownTicks>
|
||||
<productionQueue>
|
||||
<li>
|
||||
<pawnKind>ArachnaeBase_Race_HardJaw</pawnKind>
|
||||
<count>2</count>
|
||||
<pawnKind>ArachnaeBase_Race_Scavenger</pawnKind>
|
||||
<count>4</count>
|
||||
<cooldownTicks>1000</cooldownTicks>
|
||||
</li>
|
||||
</productionQueue>
|
||||
|
||||
@@ -89,7 +89,7 @@
|
||||
<hasInteractionCell>true</hasInteractionCell>
|
||||
<statBases>
|
||||
<Mass>10</Mass>
|
||||
<MaxHitPoints>20</MaxHitPoints>
|
||||
<MaxHitPoints>150</MaxHitPoints>
|
||||
<Flammability>1</Flammability>
|
||||
<Beauty>-6</Beauty>
|
||||
</statBases>
|
||||
@@ -98,8 +98,8 @@
|
||||
<!-- <claimable>false</claimable> -->
|
||||
<deconstructible>false</deconstructible>
|
||||
<repairable>false</repairable>
|
||||
<isTargetable>true</isTargetable>
|
||||
<expandHomeArea>false</expandHomeArea>
|
||||
<isTargetable>false</isTargetable>
|
||||
<!-- <expandHomeArea>false</expandHomeArea> -->
|
||||
<workTableRoomRole>ARA_Incubator_Room</workTableRoomRole>
|
||||
</building>
|
||||
|
||||
@@ -108,7 +108,19 @@
|
||||
<li>ArachnaeSwarm.ITab_Ootheca_Incubation</li>
|
||||
</inspectorTabs>
|
||||
|
||||
<placeWorkers>
|
||||
<li>ArachnaeSwarm.PlaceWorker_CustomRadius</li>
|
||||
</placeWorkers>
|
||||
<comps>
|
||||
<li Class="ArachnaeSwarm.CompProperties_CustomRadius">
|
||||
<radius>5</radius> <!-- 半径大小 -->
|
||||
<color>(0.5, 1, 1)</color> <!-- 绿色圆圈 -->
|
||||
<radiusOffset>0</radiusOffset> <!-- 半径偏移 -->
|
||||
<showInGUI>true</showInGUI>
|
||||
<label>吸收半径</label>
|
||||
<description>这个卵在孵化过程中的吸收半径,确保这些地格中铺满阿拉克涅营养液,并且没有其他的卵,以获得最佳的孵化速度和孵化质量。</description>
|
||||
<defaultVisible>false</defaultVisible>
|
||||
</li>
|
||||
<li Class="ArachnaeSwarm.CompProperties_IncubatorData">
|
||||
<!-- 按钮和菜单配置 -->
|
||||
<defaultIndex>0</defaultIndex>
|
||||
@@ -184,6 +196,11 @@
|
||||
<glowRadius>6</glowRadius>
|
||||
<glowColor>(113,141,117,0)</glowColor>
|
||||
</li>
|
||||
<li Class="ArachnaeSwarm.CompProperties_TemperatureRuinableDamage">
|
||||
<minSafeTemperature>-10</minSafeTemperature>
|
||||
<maxSafeTemperature>20</maxSafeTemperature>
|
||||
<damagePerTick>0.015</damagePerTick>
|
||||
</li>
|
||||
</comps>
|
||||
</ThingDef>
|
||||
</Defs>
|
||||
Binary file not shown.
@@ -1,85 +1,57 @@
|
||||
{
|
||||
"Version": 1,
|
||||
"WorkspaceRootPath": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\",
|
||||
"WorkspaceRootPath": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\",
|
||||
"Documents": [
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|e:\\steamlibrary\\steamapps\\common\\rimworld\\mods\\arachnaeswarm\\source\\arachnaeswarm\\buildings\\building_ootheca\\building_ootheca.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_ootheca\\building_ootheca.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:buildings\\building_ootheca\\building_ootheca.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|e:\\steamlibrary\\steamapps\\common\\rimworld\\mods\\arachnaeswarm\\source\\arachnaeswarm\\buildings\\building_ootheca\\compproperties_incubatordata.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:buildings\\building_ootheca\\compproperties_incubatordata.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\\placeworker\\compproperties_customradius.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:placeworker\\compproperties_customradius.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|e:\\steamlibrary\\steamapps\\common\\rimworld\\mods\\arachnaeswarm\\source\\arachnaeswarm\\buildings\\building_ootheca\\itab_ootheca_incubation.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:buildings\\building_ootheca\\itab_ootheca_incubation.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|e:\\steamlibrary\\steamapps\\common\\rimworld\\mods\\arachnaeswarm\\source\\arachnaeswarm\\buildings\\building_ootheca\\jobdriver_operateincubator.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:buildings\\building_ootheca\\jobdriver_operateincubator.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|e:\\steamlibrary\\steamapps\\common\\rimworld\\mods\\arachnaeswarm\\source\\arachnaeswarm\\buildings\\building_ootheca\\roomroleworker_incubator.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:buildings\\building_ootheca\\roomroleworker_incubator.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\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|E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\ara_hediffdefof.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:ara_hediffdefof.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|E:\\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|E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\buildings\\building_arachnaegravengine.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:buildings\\building_arachnaegravengine.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\flyover\\ara_groundstrafing\\compgroundstrafing.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\\flyover\\ara_groundstrafing\\compgroundstrafing.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:flyover\\ara_groundstrafing\\compgroundstrafing.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\flyover\\ara_sectorsurveillance\\compsectorsurveillance.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\\flyover\\ara_sectorsurveillance\\compsectorsurveillance.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:flyover\\ara_sectorsurveillance\\compsectorsurveillance.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\flyover\\thingclassflyover.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\\flyover\\thingclassflyover.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:flyover\\thingclassflyover.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\flyover\\ara_aircrafthangar\\compabilityeffect_aircraftstrike.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\\flyover\\ara_aircrafthangar\\compabilityeffect_aircraftstrike.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:flyover\\ara_aircrafthangar\\compabilityeffect_aircraftstrike.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\abilities\\ara_givehediffwithskillduration\\compabilityeffect_givehediffwithskillduration.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_givehediffwithskillduration\\compabilityeffect_givehediffwithskillduration.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:abilities\\ara_givehediffwithskillduration\\compabilityeffect_givehediffwithskillduration.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\abilities\\ara_showtemperaturerange\\compabilityeffect_abilityshowtemperaturerange.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_showtemperaturerange\\compabilityeffect_abilityshowtemperaturerange.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:abilities\\ara_showtemperaturerange\\compabilityeffect_abilityshowtemperaturerange.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\abilities\\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\\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|E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\flyover\\ara_spawnflyover\\compabilityeffect_spawnflyover.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\\flyover\\ara_spawnflyover\\compabilityeffect_spawnflyover.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:flyover\\ara_spawnflyover\\compabilityeffect_spawnflyover.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\flyover\\ara_aircrafthangar\\compaircrafthangar.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\\flyover\\ara_aircrafthangar\\compaircrafthangar.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:flyover\\ara_aircrafthangar\\compaircrafthangar.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\flyover\\ara_aircrafthangar\\worldcomponent_aircraftmanager.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\\flyover\\ara_aircrafthangar\\worldcomponent_aircraftmanager.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:flyover\\ara_aircrafthangar\\worldcomponent_aircraftmanager.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\flyover\\ara_flyoverescort\\compproperties_flyoverescort.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\\flyover\\ara_flyoverescort\\compproperties_flyoverescort.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:flyover\\ara_flyoverescort\\compproperties_flyoverescort.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
}
|
||||
],
|
||||
@@ -90,8 +62,21 @@
|
||||
"DocumentGroups": [
|
||||
{
|
||||
"DockedWidth": 200,
|
||||
"SelectedChildIndex": 2,
|
||||
"SelectedChildIndex": 0,
|
||||
"Children": [
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 0,
|
||||
"Title": "Building_Ootheca.cs",
|
||||
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Buildings\\Building_Ootheca\\Building_Ootheca.cs",
|
||||
"RelativeDocumentMoniker": "Buildings\\Building_Ootheca\\Building_Ootheca.cs",
|
||||
"ToolTip": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Buildings\\Building_Ootheca\\Building_Ootheca.cs",
|
||||
"RelativeToolTip": "Buildings\\Building_Ootheca\\Building_Ootheca.cs",
|
||||
"ViewState": "AgIAAK8CAAAAAAAAAAA9wPACAAAMAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-12-15T07:28:18.272Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Bookmark",
|
||||
"Name": "ST:0:0:{1c4feeaa-4718-4aa9-859d-94ce25d182ba}"
|
||||
@@ -99,123 +84,23 @@
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 1,
|
||||
"Title": "CompProperties_IncubatorData.cs",
|
||||
"DocumentMoniker": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Buildings\\Building_Ootheca\\CompProperties_IncubatorData.cs",
|
||||
"RelativeDocumentMoniker": "Buildings\\Building_Ootheca\\CompProperties_IncubatorData.cs",
|
||||
"ToolTip": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Buildings\\Building_Ootheca\\CompProperties_IncubatorData.cs",
|
||||
"RelativeToolTip": "Buildings\\Building_Ootheca\\CompProperties_IncubatorData.cs",
|
||||
"ViewState": "AgIAAH0AAAAAAAAAAAAAAK8AAAAJAAAAAAAAAA==",
|
||||
"Title": "CompProperties_CustomRadius.cs",
|
||||
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Placeworker\\CompProperties_CustomRadius.cs",
|
||||
"RelativeDocumentMoniker": "Placeworker\\CompProperties_CustomRadius.cs",
|
||||
"ToolTip": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Placeworker\\CompProperties_CustomRadius.cs",
|
||||
"RelativeToolTip": "Placeworker\\CompProperties_CustomRadius.cs",
|
||||
"ViewState": "AgIAAAIAAAAAAAAAAAAAACMAAAA/AAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-12-14T12:41:01.454Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 0,
|
||||
"Title": "Building_Ootheca.cs",
|
||||
"DocumentMoniker": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Buildings\\Building_Ootheca\\Building_Ootheca.cs",
|
||||
"RelativeDocumentMoniker": "Buildings\\Building_Ootheca\\Building_Ootheca.cs",
|
||||
"ToolTip": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Buildings\\Building_Ootheca\\Building_Ootheca.cs*",
|
||||
"RelativeToolTip": "Buildings\\Building_Ootheca\\Building_Ootheca.cs*",
|
||||
"ViewState": "AgIAAK4BAAAAAAAAAAAAAOUBAABIAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-12-14T13:27:29.463Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 2,
|
||||
"Title": "ITab_Ootheca_Incubation.cs",
|
||||
"DocumentMoniker": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Buildings\\Building_Ootheca\\ITab_Ootheca_Incubation.cs",
|
||||
"RelativeDocumentMoniker": "Buildings\\Building_Ootheca\\ITab_Ootheca_Incubation.cs",
|
||||
"ToolTip": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Buildings\\Building_Ootheca\\ITab_Ootheca_Incubation.cs",
|
||||
"RelativeToolTip": "Buildings\\Building_Ootheca\\ITab_Ootheca_Incubation.cs",
|
||||
"ViewState": "AgIAAKwAAAAAAAAAAADwv+MAAAAAAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-12-14T16:21:37.25Z",
|
||||
"WhenOpened": "2025-12-15T07:21:04.756Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 3,
|
||||
"Title": "JobDriver_OperateIncubator.cs",
|
||||
"DocumentMoniker": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Buildings\\Building_Ootheca\\JobDriver_OperateIncubator.cs",
|
||||
"RelativeDocumentMoniker": "Buildings\\Building_Ootheca\\JobDriver_OperateIncubator.cs",
|
||||
"ToolTip": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Buildings\\Building_Ootheca\\JobDriver_OperateIncubator.cs",
|
||||
"RelativeToolTip": "Buildings\\Building_Ootheca\\JobDriver_OperateIncubator.cs",
|
||||
"ViewState": "AgIAAA4AAAAAAAAAAAAAwC0AAAAgAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-12-14T13:42:44.544Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 4,
|
||||
"Title": "RoomRoleWorker_Incubator.cs",
|
||||
"DocumentMoniker": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Buildings\\Building_Ootheca\\RoomRoleWorker_Incubator.cs",
|
||||
"RelativeDocumentMoniker": "Buildings\\Building_Ootheca\\RoomRoleWorker_Incubator.cs",
|
||||
"ToolTip": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Buildings\\Building_Ootheca\\RoomRoleWorker_Incubator.cs",
|
||||
"RelativeToolTip": "Buildings\\Building_Ootheca\\RoomRoleWorker_Incubator.cs",
|
||||
"ViewState": "AgIAAAAAAAAAAAAAAADwvxYAAAA8AAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-12-14T16:16:56.635Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 5,
|
||||
"Title": "JobDriver_EnterPowerArmor.cs",
|
||||
"DocumentMoniker": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\PowerArmor\\JobDriver_EnterPowerArmor.cs",
|
||||
"RelativeDocumentMoniker": "PowerArmor\\JobDriver_EnterPowerArmor.cs",
|
||||
"ToolTip": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\PowerArmor\\JobDriver_EnterPowerArmor.cs",
|
||||
"RelativeToolTip": "PowerArmor\\JobDriver_EnterPowerArmor.cs",
|
||||
"ViewState": "AgIAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-12-14T13:53:00.443Z"
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 6,
|
||||
"Title": "ARA_HediffDefOf.cs",
|
||||
"DocumentMoniker": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\ARA_HediffDefOf.cs",
|
||||
"RelativeDocumentMoniker": "ARA_HediffDefOf.cs",
|
||||
"ToolTip": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\ARA_HediffDefOf.cs",
|
||||
"RelativeToolTip": "ARA_HediffDefOf.cs",
|
||||
"ViewState": "AgIAAAAAAAAAAAAAAADwvxIAAAAkAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-12-14T13:29:05.1Z"
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 7,
|
||||
"Title": "ARA_PowerArmor.cs",
|
||||
"DocumentMoniker": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\PowerArmor\\ARA_PowerArmor.cs",
|
||||
"RelativeDocumentMoniker": "PowerArmor\\ARA_PowerArmor.cs",
|
||||
"ToolTip": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\PowerArmor\\ARA_PowerArmor.cs",
|
||||
"RelativeToolTip": "PowerArmor\\ARA_PowerArmor.cs",
|
||||
"ViewState": "AgIAAAAAAAAAAAAAAADwvxAAAABMAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-12-14T12:42:55.951Z"
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 8,
|
||||
"Title": "Building_ArachnaeGravEngine.cs",
|
||||
"DocumentMoniker": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Buildings\\Building_ArachnaeGravEngine.cs",
|
||||
"RelativeDocumentMoniker": "Buildings\\Building_ArachnaeGravEngine.cs",
|
||||
"ToolTip": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Buildings\\Building_ArachnaeGravEngine.cs",
|
||||
"RelativeToolTip": "Buildings\\Building_ArachnaeGravEngine.cs",
|
||||
"ViewState": "AgIAAAAAAAAAAAAAAADwvxcAAAAiAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-12-14T12:37:14.137Z"
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 10,
|
||||
"Title": "CompSectorSurveillance.cs",
|
||||
"DocumentMoniker": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Flyover\\ARA_SectorSurveillance\\CompSectorSurveillance.cs",
|
||||
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Flyover\\ARA_SectorSurveillance\\CompSectorSurveillance.cs",
|
||||
"RelativeDocumentMoniker": "Flyover\\ARA_SectorSurveillance\\CompSectorSurveillance.cs",
|
||||
"ToolTip": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Flyover\\ARA_SectorSurveillance\\CompSectorSurveillance.cs",
|
||||
"ToolTip": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Flyover\\ARA_SectorSurveillance\\CompSectorSurveillance.cs",
|
||||
"RelativeToolTip": "Flyover\\ARA_SectorSurveillance\\CompSectorSurveillance.cs",
|
||||
"ViewState": "AgIAAPACAAAAAAAAAAAAABEDAAAAAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
@@ -223,23 +108,23 @@
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 9,
|
||||
"DocumentIndex": 2,
|
||||
"Title": "CompGroundStrafing.cs",
|
||||
"DocumentMoniker": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Flyover\\ARA_GroundStrafing\\CompGroundStrafing.cs",
|
||||
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Flyover\\ARA_GroundStrafing\\CompGroundStrafing.cs",
|
||||
"RelativeDocumentMoniker": "Flyover\\ARA_GroundStrafing\\CompGroundStrafing.cs",
|
||||
"ToolTip": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Flyover\\ARA_GroundStrafing\\CompGroundStrafing.cs",
|
||||
"ToolTip": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Flyover\\ARA_GroundStrafing\\CompGroundStrafing.cs",
|
||||
"RelativeToolTip": "Flyover\\ARA_GroundStrafing\\CompGroundStrafing.cs",
|
||||
"ViewState": "AgIAAAAAAAAAAAAAAAAAABsAAAAMAAAAAAAAAA==",
|
||||
"ViewState": "AgIAAGwBAAAAAAAAAAArwIYBAAAFAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-10-30T13:00:11.18Z"
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 13,
|
||||
"DocumentIndex": 6,
|
||||
"Title": "CompAbilityEffect_GiveHediffWithSkillDuration.cs",
|
||||
"DocumentMoniker": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Abilities\\ARA_GiveHediffWithSkillDuration\\CompAbilityEffect_GiveHediffWithSkillDuration.cs",
|
||||
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Abilities\\ARA_GiveHediffWithSkillDuration\\CompAbilityEffect_GiveHediffWithSkillDuration.cs",
|
||||
"RelativeDocumentMoniker": "Abilities\\ARA_GiveHediffWithSkillDuration\\CompAbilityEffect_GiveHediffWithSkillDuration.cs",
|
||||
"ToolTip": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Abilities\\ARA_GiveHediffWithSkillDuration\\CompAbilityEffect_GiveHediffWithSkillDuration.cs",
|
||||
"ToolTip": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Abilities\\ARA_GiveHediffWithSkillDuration\\CompAbilityEffect_GiveHediffWithSkillDuration.cs",
|
||||
"RelativeToolTip": "Abilities\\ARA_GiveHediffWithSkillDuration\\CompAbilityEffect_GiveHediffWithSkillDuration.cs",
|
||||
"ViewState": "AgIAAEsAAAAAAAAAAAAWwGAAAAAAAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
@@ -247,11 +132,11 @@
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 14,
|
||||
"DocumentIndex": 7,
|
||||
"Title": "CompAbilityEffect_AbilityShowTemperatureRange.cs",
|
||||
"DocumentMoniker": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Abilities\\ARA_ShowTemperatureRange\\CompAbilityEffect_AbilityShowTemperatureRange.cs",
|
||||
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Abilities\\ARA_ShowTemperatureRange\\CompAbilityEffect_AbilityShowTemperatureRange.cs",
|
||||
"RelativeDocumentMoniker": "Abilities\\ARA_ShowTemperatureRange\\CompAbilityEffect_AbilityShowTemperatureRange.cs",
|
||||
"ToolTip": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Abilities\\ARA_ShowTemperatureRange\\CompAbilityEffect_AbilityShowTemperatureRange.cs",
|
||||
"ToolTip": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Abilities\\ARA_ShowTemperatureRange\\CompAbilityEffect_AbilityShowTemperatureRange.cs",
|
||||
"RelativeToolTip": "Abilities\\ARA_ShowTemperatureRange\\CompAbilityEffect_AbilityShowTemperatureRange.cs",
|
||||
"ViewState": "AgIAAAAAAAAAAAAAAAAAABcAAAArAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
@@ -259,11 +144,11 @@
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 12,
|
||||
"DocumentIndex": 5,
|
||||
"Title": "CompAbilityEffect_AircraftStrike.cs",
|
||||
"DocumentMoniker": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Flyover\\ARA_AircraftHangar\\CompAbilityEffect_AircraftStrike.cs",
|
||||
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Flyover\\ARA_AircraftHangar\\CompAbilityEffect_AircraftStrike.cs",
|
||||
"RelativeDocumentMoniker": "Flyover\\ARA_AircraftHangar\\CompAbilityEffect_AircraftStrike.cs",
|
||||
"ToolTip": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Flyover\\ARA_AircraftHangar\\CompAbilityEffect_AircraftStrike.cs",
|
||||
"ToolTip": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Flyover\\ARA_AircraftHangar\\CompAbilityEffect_AircraftStrike.cs",
|
||||
"RelativeToolTip": "Flyover\\ARA_AircraftHangar\\CompAbilityEffect_AircraftStrike.cs",
|
||||
"ViewState": "AgIAAHYAAAAAAAAAAAAtwJcAAAArAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
@@ -271,11 +156,11 @@
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 11,
|
||||
"DocumentIndex": 4,
|
||||
"Title": "ThingclassFlyOver.cs",
|
||||
"DocumentMoniker": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Flyover\\ThingclassFlyOver.cs",
|
||||
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Flyover\\ThingclassFlyOver.cs",
|
||||
"RelativeDocumentMoniker": "Flyover\\ThingclassFlyOver.cs",
|
||||
"ToolTip": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Flyover\\ThingclassFlyOver.cs",
|
||||
"ToolTip": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Flyover\\ThingclassFlyOver.cs",
|
||||
"RelativeToolTip": "Flyover\\ThingclassFlyOver.cs",
|
||||
"ViewState": "AgIAAIkCAAAAAAAAAAAawI8CAAANAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
@@ -283,11 +168,11 @@
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 15,
|
||||
"DocumentIndex": 8,
|
||||
"Title": "CompAbilityEffect_AbilityShowSpawnablePawns.cs",
|
||||
"DocumentMoniker": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Abilities\\ARA_ShowSpawnablePawnsList\\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": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\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": "AgIAABYAAAAAAAAAAAAuwBYAAAArAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
@@ -295,11 +180,11 @@
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 17,
|
||||
"DocumentIndex": 10,
|
||||
"Title": "CompAircraftHangar.cs",
|
||||
"DocumentMoniker": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Flyover\\ARA_AircraftHangar\\CompAircraftHangar.cs",
|
||||
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Flyover\\ARA_AircraftHangar\\CompAircraftHangar.cs",
|
||||
"RelativeDocumentMoniker": "Flyover\\ARA_AircraftHangar\\CompAircraftHangar.cs",
|
||||
"ToolTip": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Flyover\\ARA_AircraftHangar\\CompAircraftHangar.cs",
|
||||
"ToolTip": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Flyover\\ARA_AircraftHangar\\CompAircraftHangar.cs",
|
||||
"RelativeToolTip": "Flyover\\ARA_AircraftHangar\\CompAircraftHangar.cs",
|
||||
"ViewState": "AgIAABcAAAAAAAAAAAAQwCQAAAAnAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
@@ -307,11 +192,11 @@
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 16,
|
||||
"DocumentIndex": 9,
|
||||
"Title": "CompAbilityEffect_SpawnFlyOver.cs",
|
||||
"DocumentMoniker": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Flyover\\ARA_SpawnFlyOver\\CompAbilityEffect_SpawnFlyOver.cs",
|
||||
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Flyover\\ARA_SpawnFlyOver\\CompAbilityEffect_SpawnFlyOver.cs",
|
||||
"RelativeDocumentMoniker": "Flyover\\ARA_SpawnFlyOver\\CompAbilityEffect_SpawnFlyOver.cs",
|
||||
"ToolTip": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Flyover\\ARA_SpawnFlyOver\\CompAbilityEffect_SpawnFlyOver.cs",
|
||||
"ToolTip": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Flyover\\ARA_SpawnFlyOver\\CompAbilityEffect_SpawnFlyOver.cs",
|
||||
"RelativeToolTip": "Flyover\\ARA_SpawnFlyOver\\CompAbilityEffect_SpawnFlyOver.cs",
|
||||
"ViewState": "AgIAAFMDAAAAAAAAAAAawG8DAAAAAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
@@ -319,11 +204,11 @@
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 18,
|
||||
"DocumentIndex": 11,
|
||||
"Title": "WorldComponent_AircraftManager.cs",
|
||||
"DocumentMoniker": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Flyover\\ARA_AircraftHangar\\WorldComponent_AircraftManager.cs",
|
||||
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Flyover\\ARA_AircraftHangar\\WorldComponent_AircraftManager.cs",
|
||||
"RelativeDocumentMoniker": "Flyover\\ARA_AircraftHangar\\WorldComponent_AircraftManager.cs",
|
||||
"ToolTip": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Flyover\\ARA_AircraftHangar\\WorldComponent_AircraftManager.cs",
|
||||
"ToolTip": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Flyover\\ARA_AircraftHangar\\WorldComponent_AircraftManager.cs",
|
||||
"RelativeToolTip": "Flyover\\ARA_AircraftHangar\\WorldComponent_AircraftManager.cs",
|
||||
"ViewState": "AgIAAJUAAAAAAAAAAAAowK4AAAAUAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
@@ -331,11 +216,11 @@
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 19,
|
||||
"DocumentIndex": 12,
|
||||
"Title": "CompProperties_FlyOverEscort.cs",
|
||||
"DocumentMoniker": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Flyover\\ARA_FlyOverEscort\\CompProperties_FlyOverEscort.cs",
|
||||
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Flyover\\ARA_FlyOverEscort\\CompProperties_FlyOverEscort.cs",
|
||||
"RelativeDocumentMoniker": "Flyover\\ARA_FlyOverEscort\\CompProperties_FlyOverEscort.cs",
|
||||
"ToolTip": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Flyover\\ARA_FlyOverEscort\\CompProperties_FlyOverEscort.cs",
|
||||
"ToolTip": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Flyover\\ARA_FlyOverEscort\\CompProperties_FlyOverEscort.cs",
|
||||
"RelativeToolTip": "Flyover\\ARA_FlyOverEscort\\CompProperties_FlyOverEscort.cs",
|
||||
"ViewState": "AgIAAAAAAAAAAAAAAAAAABAAAAAvAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
|
||||
@@ -168,6 +168,7 @@
|
||||
<Compile Include="Pawn_Comps\ARA_UniquePawn\CompProperties_UniquePawn.cs" />
|
||||
<Compile Include="Pawn_Comps\ARA_UniquePawn\CompUniquePawn.cs" />
|
||||
<Compile Include="Pawn_Comps\ARA_UniquePawn\Patch_UniquePawn.cs" />
|
||||
<Compile Include="Placeworker\CompProperties_CustomRadius.cs" />
|
||||
<Compile Include="Storyteller\CustomRaidDef.cs" />
|
||||
<Compile Include="Storyteller\CustomRaidTracker.cs" />
|
||||
<Compile Include="Storyteller\IncidentParmsExtensions.cs" />
|
||||
|
||||
@@ -693,16 +693,16 @@ namespace ArachnaeSwarm
|
||||
return room.Role != null && room.Role.defName == "ARA_Incubator_Room";
|
||||
}
|
||||
|
||||
// 计算周围4格内的营养液数量
|
||||
// 计算周围5格内的营养液数量
|
||||
private int CountNearbyNutrientSolutions()
|
||||
{
|
||||
var map = Map;
|
||||
if (map == null) return 0;
|
||||
|
||||
int count = 0;
|
||||
int radius = 4; // 4格半径
|
||||
int radius = 5; // 4格半径
|
||||
|
||||
// 检查周围4格范围内的所有单元格
|
||||
// 检查周围5格范围内的所有单元格
|
||||
for (int x = -radius; x <= radius; x++)
|
||||
{
|
||||
for (int y = -radius; y <= radius; y++)
|
||||
@@ -763,9 +763,9 @@ namespace ArachnaeSwarm
|
||||
var room = building.GetRoom();
|
||||
if (room != null)
|
||||
{
|
||||
// 如果在同一个房间,或者距离较近(10格内)
|
||||
// 如果在同一个房间,或者距离较近(5格内)
|
||||
float distance = building.Position.DistanceTo(this.Position);
|
||||
if (room == this.GetRoom() || distance <= 10f)
|
||||
if (room == this.GetRoom() || distance <= 5f)
|
||||
{
|
||||
count++;
|
||||
}
|
||||
|
||||
264
Source/ArachnaeSwarm/Needs/Need_HoneyProduction.cs
Normal file
264
Source/ArachnaeSwarm/Needs/Need_HoneyProduction.cs
Normal file
@@ -0,0 +1,264 @@
|
||||
using RimWorld;
|
||||
using UnityEngine;
|
||||
using Verse;
|
||||
|
||||
namespace ArachnaeSwarm
|
||||
{
|
||||
public class Need_HoneyProduction : Need
|
||||
{
|
||||
// 基础流失速率(与食物需要对应)
|
||||
private const float BaseHoneyGainPerTick = 2.6666667E-05f * 0.5f; // 食物流失速率的50%
|
||||
|
||||
// 用于存储对食物需要的引用
|
||||
private Need_Food cachedFoodNeed;
|
||||
|
||||
// 当前类别
|
||||
private HoneyProductionCategory curCategoryInt = HoneyProductionCategory.Empty;
|
||||
|
||||
// 上次满的时间点
|
||||
private int lastFullTick = -99999;
|
||||
|
||||
// 蜜罐的最大容量(可能需要调整)
|
||||
public override float MaxLevel => 1f;
|
||||
|
||||
// 当前类别
|
||||
public HoneyProductionCategory CurCategory => curCategoryInt;
|
||||
|
||||
// 是否满仓
|
||||
public bool IsFull => CurCategory == HoneyProductionCategory.Full;
|
||||
|
||||
// 是否为空
|
||||
public bool IsEmpty => CurCategory == HoneyProductionCategory.Empty;
|
||||
|
||||
// 当前类别对应的生产效率
|
||||
public float ProductionEfficiency
|
||||
{
|
||||
get
|
||||
{
|
||||
switch (curCategoryInt)
|
||||
{
|
||||
case HoneyProductionCategory.Full:
|
||||
return 1.0f;
|
||||
case HoneyProductionCategory.High:
|
||||
return 0.8f;
|
||||
case HoneyProductionCategory.Medium:
|
||||
return 0.5f;
|
||||
case HoneyProductionCategory.Low:
|
||||
return 0.3f;
|
||||
case HoneyProductionCategory.Empty:
|
||||
return 0f;
|
||||
default:
|
||||
return 0f;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 获取食物需要的引用
|
||||
private Need_Food FoodNeed
|
||||
{
|
||||
get
|
||||
{
|
||||
if (cachedFoodNeed == null || cachedFoodNeed.pawn != pawn)
|
||||
{
|
||||
cachedFoodNeed = pawn.needs?.TryGetNeed<Need_Food>();
|
||||
}
|
||||
return cachedFoodNeed;
|
||||
}
|
||||
}
|
||||
|
||||
public Need_HoneyProduction(Pawn newPawn) : base(newPawn)
|
||||
{
|
||||
// 初始化时设置为空
|
||||
curLevelInt = 0f;
|
||||
threshPercents = new System.Collections.Generic.List<float>
|
||||
{
|
||||
0.25f, // Low -> Medium
|
||||
0.5f, // Medium -> High
|
||||
0.75f // High -> Full
|
||||
};
|
||||
}
|
||||
|
||||
public override void ExposeData()
|
||||
{
|
||||
base.ExposeData();
|
||||
Scribe_Values.Look(ref lastFullTick, "lastFullTick", -99999);
|
||||
}
|
||||
|
||||
public override void NeedInterval()
|
||||
{
|
||||
base.NeedInterval();
|
||||
|
||||
// 检查是否需要冻结(与食物需要类似的条件)
|
||||
if (IsFrozen)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
// 获取食物需要的流失速率
|
||||
float foodFallRate = GetFoodFallRate();
|
||||
|
||||
// 蜜罐的增长速率是食物流失速率的50%
|
||||
float honeyGainRate = foodFallRate * 0.5f;
|
||||
|
||||
// 应用150 ticks的间隔
|
||||
CurLevel += honeyGainRate * 150f;
|
||||
|
||||
// 更新类别
|
||||
UpdateCategory();
|
||||
|
||||
// 记录满的时间
|
||||
if (IsFull)
|
||||
{
|
||||
lastFullTick = Find.TickManager.TicksGame;
|
||||
}
|
||||
}
|
||||
|
||||
// 获取食物流失速率
|
||||
private float GetFoodFallRate()
|
||||
{
|
||||
if (FoodNeed == null)
|
||||
{
|
||||
// 如果没有食物需要,使用默认值
|
||||
return BaseHoneyGainPerTick / 0.5f; // 反向计算基础食物流失速率
|
||||
}
|
||||
|
||||
// 获取当前食物类别对应的流失速率
|
||||
return FoodNeed.FoodFallPerTick;
|
||||
}
|
||||
|
||||
// 更新类别
|
||||
private void UpdateCategory()
|
||||
{
|
||||
float percentage = CurLevelPercentage;
|
||||
|
||||
if (percentage >= 0.75f)
|
||||
curCategoryInt = HoneyProductionCategory.Full;
|
||||
else if (percentage >= 0.5f)
|
||||
curCategoryInt = HoneyProductionCategory.High;
|
||||
else if (percentage >= 0.25f)
|
||||
curCategoryInt = HoneyProductionCategory.Medium;
|
||||
else if (percentage > 0f)
|
||||
curCategoryInt = HoneyProductionCategory.Low;
|
||||
else
|
||||
curCategoryInt = HoneyProductionCategory.Empty;
|
||||
}
|
||||
|
||||
// 提取蜂蜜(减少蜜罐存量)
|
||||
public void ExtractHoney(float amount)
|
||||
{
|
||||
CurLevel -= amount;
|
||||
if (CurLevel < 0f)
|
||||
CurLevel = 0f;
|
||||
UpdateCategory();
|
||||
}
|
||||
|
||||
// 强制清空蜜罐
|
||||
public void EmptyHoney()
|
||||
{
|
||||
CurLevel = 0f;
|
||||
curCategoryInt = HoneyProductionCategory.Empty;
|
||||
}
|
||||
|
||||
// 重置到初始状态
|
||||
public override void SetInitialLevel()
|
||||
{
|
||||
// 初始为空
|
||||
CurLevel = 0f;
|
||||
curCategoryInt = HoneyProductionCategory.Empty;
|
||||
}
|
||||
|
||||
// 获取提示字符串
|
||||
public override string GetTipString()
|
||||
{
|
||||
string text = (LabelCap + ": " + CurLevelPercentage.ToStringPercent()).Colorize(ColoredText.TipSectionTitleColor);
|
||||
text += "\n" + def.description;
|
||||
text += $"\n\n{"AS.HoneyProduction.CurrentLevel".Translate()}: {CurLevel:0.##} / {MaxLevel:0.##}";
|
||||
text += $"\n{"AS.HoneyProduction.Category".Translate()}: {GetCategoryLabel().CapitalizeFirst()}";
|
||||
text += $"\n{"AS.HoneyProduction.Efficiency".Translate()}: {ProductionEfficiency.ToStringPercent()}";
|
||||
text += $"\n{"AS.HoneyProduction.FoodDrainRate".Translate()}: {GetFoodFallRate():0.#####}/tick";
|
||||
text += $"\n{"AS.HoneyProduction.HoneyGainRate".Translate()}: {(GetFoodFallRate() * 0.5f):0.#####}/tick";
|
||||
|
||||
if (IsFull)
|
||||
{
|
||||
text += $"\n\n{"AS.HoneyProduction.FullWarning".Translate()}";
|
||||
}
|
||||
|
||||
return text;
|
||||
}
|
||||
|
||||
// 获取类别标签
|
||||
public string GetCategoryLabel()
|
||||
{
|
||||
switch (curCategoryInt)
|
||||
{
|
||||
case HoneyProductionCategory.Full:
|
||||
return "AS.HoneyProduction.Full".Translate();
|
||||
case HoneyProductionCategory.High:
|
||||
return "AS.HoneyProduction.High".Translate();
|
||||
case HoneyProductionCategory.Medium:
|
||||
return "AS.HoneyProduction.Medium".Translate();
|
||||
case HoneyProductionCategory.Low:
|
||||
return "AS.HoneyProduction.Low".Translate();
|
||||
case HoneyProductionCategory.Empty:
|
||||
return "AS.HoneyProduction.Empty".Translate();
|
||||
default:
|
||||
return "Unknown";
|
||||
}
|
||||
}
|
||||
|
||||
// 在UI上绘制
|
||||
public override void DrawOnGUI(Rect rect, int maxThresholdMarkers = int.MaxValue, float customMargin = -1f, bool drawArrows = true, bool doTooltip = true, Rect? rectForTooltip = null, bool drawLabel = true)
|
||||
{
|
||||
if (threshPercents == null)
|
||||
{
|
||||
threshPercents = new System.Collections.Generic.List<float>
|
||||
{
|
||||
0.25f, 0.5f, 0.75f
|
||||
};
|
||||
}
|
||||
|
||||
base.DrawOnGUI(rect, maxThresholdMarkers, customMargin, false, doTooltip, rectForTooltip, drawLabel);
|
||||
}
|
||||
|
||||
// 是否冻结
|
||||
protected override bool IsFrozen
|
||||
{
|
||||
get
|
||||
{
|
||||
// 如果基础条件冻结,则蜜罐生产也冻结
|
||||
if (base.IsFrozen)
|
||||
return true;
|
||||
|
||||
// 如果没有食物需要,或者食物需要被冻结,则蜜罐生产也冻结
|
||||
if (FoodNeed == null || FoodNeed.IsFrozen)
|
||||
return true;
|
||||
|
||||
// 如果生物死亡,则冻结
|
||||
if (pawn.Dead)
|
||||
return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// GUI变化箭头(总是显示增长)
|
||||
public override int GUIChangeArrow => 1;
|
||||
|
||||
// 调试调整百分比
|
||||
protected override void OffsetDebugPercent(float offsetPercent)
|
||||
{
|
||||
base.OffsetDebugPercent(offsetPercent);
|
||||
UpdateCategory();
|
||||
}
|
||||
}
|
||||
|
||||
// 蜜罐生产类别
|
||||
public enum HoneyProductionCategory
|
||||
{
|
||||
Empty, // 空仓
|
||||
Low, // 低存量(0-25%)
|
||||
Medium, // 中存量(25-50%)
|
||||
High, // 高存量(50-75%)
|
||||
Full // 满仓(75-100%)
|
||||
}
|
||||
}
|
||||
292
Source/ArachnaeSwarm/Placeworker/CompProperties_CustomRadius.cs
Normal file
292
Source/ArachnaeSwarm/Placeworker/CompProperties_CustomRadius.cs
Normal file
@@ -0,0 +1,292 @@
|
||||
using RimWorld;
|
||||
using UnityEngine;
|
||||
using Verse;
|
||||
using System.Collections.Generic;
|
||||
using HarmonyLib;
|
||||
using RimWorld.Planet;
|
||||
|
||||
namespace ArachnaeSwarm
|
||||
{
|
||||
// 自定义属性组件,用于存储半径和颜色信息
|
||||
public class CompProperties_CustomRadius : CompProperties
|
||||
{
|
||||
public float radius = 10f;
|
||||
public Color color = new Color(0.8f, 0.8f, 0.4f); // 默认浅黄色
|
||||
public float radiusOffset = -2.1f; // 半径偏移量,与原始保持一致
|
||||
public bool showInGUI = true; // 是否在GUI中显示切换选项
|
||||
public string label = "Show Radius"; // 直接定义标签文本
|
||||
public string description = "Toggle visibility of the custom radius overlay."; // 直接定义描述文本
|
||||
public bool defaultVisible = true; // 默认是否可见
|
||||
|
||||
public CompProperties_CustomRadius()
|
||||
{
|
||||
this.compClass = typeof(CompCustomRadius);
|
||||
}
|
||||
}
|
||||
|
||||
// 实际的组件类
|
||||
public class CompCustomRadius : ThingComp
|
||||
{
|
||||
private bool radiusVisible = true;
|
||||
|
||||
public CompProperties_CustomRadius Props
|
||||
{
|
||||
get
|
||||
{
|
||||
return (CompProperties_CustomRadius)this.props;
|
||||
}
|
||||
}
|
||||
|
||||
public float EffectiveRadius
|
||||
{
|
||||
get
|
||||
{
|
||||
return Props.radius + Props.radiusOffset;
|
||||
}
|
||||
}
|
||||
|
||||
public bool RadiusVisible
|
||||
{
|
||||
get { return radiusVisible && Props.showInGUI; }
|
||||
set { radiusVisible = value; }
|
||||
}
|
||||
|
||||
public override void Initialize(CompProperties props)
|
||||
{
|
||||
base.Initialize(props);
|
||||
radiusVisible = Props.defaultVisible;
|
||||
}
|
||||
|
||||
public override void PostExposeData()
|
||||
{
|
||||
base.PostExposeData();
|
||||
Scribe_Values.Look(ref radiusVisible, "radiusVisible", Props.defaultVisible);
|
||||
}
|
||||
|
||||
// 在检视面板中显示切换选项
|
||||
public override IEnumerable<Gizmo> CompGetGizmosExtra()
|
||||
{
|
||||
if (!Props.showInGUI) yield break;
|
||||
|
||||
// 只对玩家所有的物体显示Gizmo
|
||||
if (parent.Faction != Faction.OfPlayer)
|
||||
yield break;
|
||||
|
||||
// 创建切换 gizmo
|
||||
Command_Toggle toggleCommand = new Command_Toggle();
|
||||
toggleCommand.defaultLabel = Props.label;
|
||||
toggleCommand.defaultDesc = Props.description;
|
||||
|
||||
// 尝试加载图标,如果失败则使用默认图标
|
||||
try
|
||||
{
|
||||
toggleCommand.icon = ContentFinder<Texture2D>.Get("Wula/UI/Commands/WULA_ShowRadius", false);
|
||||
if (toggleCommand.icon == null)
|
||||
{
|
||||
// 使用一个简单的占位符图标
|
||||
toggleCommand.icon = BaseContent.BadTex;
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
toggleCommand.icon = BaseContent.BadTex;
|
||||
}
|
||||
|
||||
toggleCommand.isActive = () => RadiusVisible;
|
||||
toggleCommand.toggleAction = () => RadiusVisible = !RadiusVisible;
|
||||
|
||||
yield return toggleCommand;
|
||||
}
|
||||
|
||||
// 获取绘制颜色(考虑透明度等)
|
||||
public Color GetDrawColor()
|
||||
{
|
||||
return Props.color;
|
||||
}
|
||||
|
||||
// 检查是否应该绘制半径
|
||||
public bool ShouldDrawRadius()
|
||||
{
|
||||
// 只绘制玩家所有的物体
|
||||
if (parent.Faction != Faction.OfPlayer)
|
||||
return false;
|
||||
|
||||
// 检查是否在地图视图中(不在世界地图)
|
||||
if (Find.CurrentMap == null || WorldRendererUtility.WorldRendered)
|
||||
return false;
|
||||
|
||||
return RadiusVisible;
|
||||
}
|
||||
}
|
||||
|
||||
// 自定义放置工作器
|
||||
public class PlaceWorker_CustomRadius : PlaceWorker
|
||||
{
|
||||
public override void DrawGhost(ThingDef def, IntVec3 center, Rot4 rot, Color ghostCol, Thing thing = null)
|
||||
{
|
||||
// 检查是否在地图视图中
|
||||
if (Find.CurrentMap == null || WorldRendererUtility.WorldRendered)
|
||||
return;
|
||||
|
||||
// 如果已经有物体存在,则检查其组件的可见性设置
|
||||
if (thing != null)
|
||||
{
|
||||
CompCustomRadius comp = thing.TryGetComp<CompCustomRadius>();
|
||||
if (comp == null || !comp.ShouldDrawRadius())
|
||||
return;
|
||||
}
|
||||
|
||||
// 获取自定义半径组件属性
|
||||
CompProperties_CustomRadius compProperties = def.GetCompProperties<CompProperties_CustomRadius>();
|
||||
if (compProperties != null && compProperties.showInGUI)
|
||||
{
|
||||
float effectiveRadius = compProperties.radius + compProperties.radiusOffset;
|
||||
if (effectiveRadius > 0f)
|
||||
{
|
||||
// 使用指定的颜色绘制圆环
|
||||
Color drawColor = compProperties.color;
|
||||
if (thing != null)
|
||||
{
|
||||
CompCustomRadius comp = thing.TryGetComp<CompCustomRadius>();
|
||||
if (comp != null)
|
||||
{
|
||||
drawColor = comp.GetDrawColor();
|
||||
}
|
||||
}
|
||||
GenDraw.DrawRadiusRing(center, effectiveRadius, drawColor);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 可选:在验证放置位置时也考虑半径
|
||||
public override AcceptanceReport AllowsPlacing(BuildableDef checkingDef, IntVec3 loc, Rot4 rot, Map map, Thing thingToIgnore = null, Thing thing = null)
|
||||
{
|
||||
// 这里可以添加额外的放置验证逻辑
|
||||
// 例如检查半径内是否有不允许的建筑等
|
||||
|
||||
return true; // 默认允许放置
|
||||
}
|
||||
}
|
||||
|
||||
// 为已放置的建筑添加绘制支持
|
||||
[StaticConstructorOnStartup]
|
||||
public static class CustomRadiusRenderer
|
||||
{
|
||||
static CustomRadiusRenderer()
|
||||
{
|
||||
try
|
||||
{
|
||||
// 使用Harmony为MapInterface.MapInterfaceUpdate方法添加补丁
|
||||
var harmony = new Harmony("WulaFallenEmpire.CustomRadius");
|
||||
|
||||
// 尝试不同的绘制方法
|
||||
var mapInterfaceMethod = AccessTools.Method(typeof(MapInterface), "MapInterfaceUpdate");
|
||||
if (mapInterfaceMethod != null)
|
||||
{
|
||||
harmony.Patch(mapInterfaceMethod,
|
||||
postfix: new HarmonyMethod(typeof(CustomRadiusRenderer), nameof(Postfix_MapInterfaceUpdate)));
|
||||
}
|
||||
}
|
||||
catch (System.Exception ex)
|
||||
{
|
||||
Log.Warning($"[CustomRadius] Error in static constructor: {ex}");
|
||||
}
|
||||
}
|
||||
|
||||
public static void Postfix_MapInterfaceUpdate()
|
||||
{
|
||||
try
|
||||
{
|
||||
// 检查是否在地图视图中(不在世界地图)
|
||||
if (Find.CurrentMap == null || WorldRendererUtility.WorldRendered)
|
||||
return;
|
||||
|
||||
// 绘制所有带有自定义半径组件的已放置建筑
|
||||
foreach (var thing in Find.CurrentMap.listerThings.AllThings)
|
||||
{
|
||||
// 只绘制玩家所有的物体
|
||||
if (thing.Faction != Faction.OfPlayer)
|
||||
continue;
|
||||
|
||||
if (thing.Spawned && thing.def.HasComp(typeof(CompCustomRadius)))
|
||||
{
|
||||
CompCustomRadius comp = thing.TryGetComp<CompCustomRadius>();
|
||||
if (comp != null && comp.ShouldDrawRadius())
|
||||
{
|
||||
float effectiveRadius = comp.EffectiveRadius;
|
||||
if (effectiveRadius > 0f)
|
||||
{
|
||||
GenDraw.DrawRadiusRing(thing.Position, effectiveRadius, comp.GetDrawColor());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (System.Exception)
|
||||
{
|
||||
// 静默处理错误
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 为建筑选择时添加绘制支持
|
||||
[StaticConstructorOnStartup]
|
||||
public static class CustomRadiusSelectionRenderer
|
||||
{
|
||||
static CustomRadiusSelectionRenderer()
|
||||
{
|
||||
try
|
||||
{
|
||||
var harmony = new Harmony("WulaFallenEmpire.CustomRadiusSelection");
|
||||
|
||||
// 尝试为选择器绘制方法添加补丁
|
||||
var selectionDrawMethod = AccessTools.Method(typeof(SelectionDrawer), "DrawSelectionOverlays");
|
||||
if (selectionDrawMethod != null)
|
||||
{
|
||||
harmony.Patch(selectionDrawMethod,
|
||||
postfix: new HarmonyMethod(typeof(CustomRadiusSelectionRenderer), nameof(Postfix_DrawSelectionOverlays)));
|
||||
}
|
||||
}
|
||||
catch (System.Exception ex)
|
||||
{
|
||||
Log.Warning($"[CustomRadius] Error in static constructor: {ex}");
|
||||
}
|
||||
}
|
||||
|
||||
public static void Postfix_DrawSelectionOverlays()
|
||||
{
|
||||
try
|
||||
{
|
||||
// 检查是否在地图视图中(不在世界地图)
|
||||
if (Find.CurrentMap == null || WorldRendererUtility.WorldRendered)
|
||||
return;
|
||||
|
||||
if (Find.Selector == null) return;
|
||||
|
||||
foreach (object selected in Find.Selector.SelectedObjectsListForReading)
|
||||
{
|
||||
if (selected is Thing thing && thing.Spawned && thing.def.HasComp(typeof(CompCustomRadius)))
|
||||
{
|
||||
// 只绘制玩家所有的物体
|
||||
if (thing.Faction != Faction.OfPlayer)
|
||||
continue;
|
||||
|
||||
CompCustomRadius comp = thing.TryGetComp<CompCustomRadius>();
|
||||
if (comp != null && comp.ShouldDrawRadius())
|
||||
{
|
||||
float effectiveRadius = comp.EffectiveRadius;
|
||||
if (effectiveRadius > 0f)
|
||||
{
|
||||
GenDraw.DrawRadiusRing(thing.Position, effectiveRadius, comp.GetDrawColor());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
// 静默处理错误
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user