11
This commit is contained in:
Binary file not shown.
@@ -1555,7 +1555,7 @@
|
|||||||
<verbClass>Verb_CastAbility</verbClass>
|
<verbClass>Verb_CastAbility</verbClass>
|
||||||
<range>24</range>
|
<range>24</range>
|
||||||
<warmupTime>0</warmupTime>
|
<warmupTime>0</warmupTime>
|
||||||
<soundCast>Heatspikes_Shot</soundCast>
|
<soundCast>SpitterSpit</soundCast>
|
||||||
<soundCastTail>Heatspikes_Tail</soundCastTail>
|
<soundCastTail>Heatspikes_Tail</soundCastTail>
|
||||||
<targetParams>
|
<targetParams>
|
||||||
<canTargetPawns>True</canTargetPawns>
|
<canTargetPawns>True</canTargetPawns>
|
||||||
|
|||||||
@@ -1299,7 +1299,7 @@
|
|||||||
<HediffDef>
|
<HediffDef>
|
||||||
<defName>ARA_Skyraider_Hivelord</defName>
|
<defName>ARA_Skyraider_Hivelord</defName>
|
||||||
<label>亚种-领主种</label>
|
<label>亚种-领主种</label>
|
||||||
<description>这只阿拉克涅空天种已经获得拔耀,可以孵化大量的天巢种辅虫,这些灵敏的辅虫会后散开四处狩猎目标。</description>
|
<description>这只阿拉克涅空天种已经获得拔耀,可以投掷天巢种辅虫,这些灵敏的辅虫会后散开四处狩猎目标。</description>
|
||||||
<hediffClass>HediffWithComps</hediffClass>
|
<hediffClass>HediffWithComps</hediffClass>
|
||||||
<defaultLabelColor>(0.6, 0.4, 0.8)</defaultLabelColor>
|
<defaultLabelColor>(0.6, 0.4, 0.8)</defaultLabelColor>
|
||||||
<isBad>false</isBad>
|
<isBad>false</isBad>
|
||||||
@@ -1347,12 +1347,12 @@
|
|||||||
<productionQueue>
|
<productionQueue>
|
||||||
<li>
|
<li>
|
||||||
<pawnKind>ArachnaeBase_Race_Skyhive</pawnKind>
|
<pawnKind>ArachnaeBase_Race_Skyhive</pawnKind>
|
||||||
<count>8</count>
|
<count>4</count>
|
||||||
<cooldownTicks>200</cooldownTicks>
|
<cooldownTicks>200</cooldownTicks>
|
||||||
</li>
|
</li>
|
||||||
</productionQueue>
|
</productionQueue>
|
||||||
</li>
|
</li>
|
||||||
<!-- <li Class="ArachnaeSwarm.HediffCompProperties_TopTurret">
|
<li Class="ArachnaeSwarm.HediffCompProperties_TopTurret">
|
||||||
<turretDef>ARA_Skyraider_Hivelord_Turret</turretDef>
|
<turretDef>ARA_Skyraider_Hivelord_Turret</turretDef>
|
||||||
<angleOffset>0</angleOffset>
|
<angleOffset>0</angleOffset>
|
||||||
<autoAttack>true</autoAttack>
|
<autoAttack>true</autoAttack>
|
||||||
@@ -1360,7 +1360,7 @@
|
|||||||
<li Class="ArachnaeSwarm.HediffCompProperties_DrawMote">
|
<li Class="ArachnaeSwarm.HediffCompProperties_DrawMote">
|
||||||
<mote>ARA_Mote_Hivelord_Turret_Range</mote>
|
<mote>ARA_Mote_Hivelord_Turret_Range</mote>
|
||||||
<hideMoteWhenNotDrafted>true</hideMoteWhenNotDrafted>
|
<hideMoteWhenNotDrafted>true</hideMoteWhenNotDrafted>
|
||||||
</li> -->
|
</li>
|
||||||
</comps>
|
</comps>
|
||||||
</HediffDef>
|
</HediffDef>
|
||||||
<ThingDef ParentName="MoteBase">
|
<ThingDef ParentName="MoteBase">
|
||||||
@@ -1383,7 +1383,7 @@
|
|||||||
<AbilityDef>
|
<AbilityDef>
|
||||||
<defName>ARA_Skyraider_Empthrower</defName>
|
<defName>ARA_Skyraider_Empthrower</defName>
|
||||||
<label>空天种转换——电磁风暴</label>
|
<label>空天种转换——电磁风暴</label>
|
||||||
<description>使空天种发生内驱性进化,以降低机动力和失去高空机动能力为代价,使其获得孵化磁暴种辅虫的能力——这种辅虫会以自杀式袭击的方式释放出EMP,以对抗机械族。\n\n该进化方向提供3只阿拉克涅电磁种辅虫。</description>
|
<description>使空天种发生内驱性进化,以降低机动力和失去高空机动能力为代价,使其获得投掷磁暴种辅虫的能力——这种辅虫会以自杀式袭击的方式释放出EMP,以对抗机械族。\n\n该进化方向不提供阿拉克涅辅虫。</description>
|
||||||
<iconPath>ArachnaeSwarm/UI/Abilities/ARA_Skyraider_Empthrower</iconPath>
|
<iconPath>ArachnaeSwarm/UI/Abilities/ARA_Skyraider_Empthrower</iconPath>
|
||||||
<cooldownTicksRange>1800</cooldownTicksRange>
|
<cooldownTicksRange>1800</cooldownTicksRange>
|
||||||
<hostile>false</hostile>
|
<hostile>false</hostile>
|
||||||
@@ -1422,7 +1422,7 @@
|
|||||||
<HediffDef>
|
<HediffDef>
|
||||||
<defName>ARA_Skyraider_Empthrower</defName>
|
<defName>ARA_Skyraider_Empthrower</defName>
|
||||||
<label>亚种-飓风种</label>
|
<label>亚种-飓风种</label>
|
||||||
<description>这只阿拉克涅空天种已经获得拔耀,会孵化磁暴种辅虫,这些辅虫以自杀性袭击释放EMP对抗敌方机械族。</description>
|
<description>这只阿拉克涅空天种已经获得拔耀,会投掷磁暴种辅虫,这些辅虫以自杀性袭击释放EMP对抗敌方机械族。</description>
|
||||||
<hediffClass>HediffWithComps</hediffClass>
|
<hediffClass>HediffWithComps</hediffClass>
|
||||||
<defaultLabelColor>(0.6, 0.4, 0.8)</defaultLabelColor>
|
<defaultLabelColor>(0.6, 0.4, 0.8)</defaultLabelColor>
|
||||||
<isBad>false</isBad>
|
<isBad>false</isBad>
|
||||||
@@ -1466,16 +1466,7 @@
|
|||||||
</li>
|
</li>
|
||||||
</stages>
|
</stages>
|
||||||
<comps>
|
<comps>
|
||||||
<li Class="ArachnaeSwarm.HediffCompProperties_ProductionQueue">
|
<li Class="ArachnaeSwarm.HediffCompProperties_TopTurret">
|
||||||
<productionQueue>
|
|
||||||
<li>
|
|
||||||
<pawnKind>ArachnaeBase_Race_Empsuicider</pawnKind>
|
|
||||||
<count>3</count>
|
|
||||||
<cooldownTicks>200</cooldownTicks>
|
|
||||||
</li>
|
|
||||||
</productionQueue>
|
|
||||||
</li>
|
|
||||||
<!-- <li Class="ArachnaeSwarm.HediffCompProperties_TopTurret">
|
|
||||||
<turretDef>ARA_Skyraider_Empthrower_Turret</turretDef>
|
<turretDef>ARA_Skyraider_Empthrower_Turret</turretDef>
|
||||||
<angleOffset>0</angleOffset>
|
<angleOffset>0</angleOffset>
|
||||||
<autoAttack>true</autoAttack>
|
<autoAttack>true</autoAttack>
|
||||||
@@ -1483,7 +1474,7 @@
|
|||||||
<li Class="ArachnaeSwarm.HediffCompProperties_DrawMote">
|
<li Class="ArachnaeSwarm.HediffCompProperties_DrawMote">
|
||||||
<mote>ARA_Mote_Empthrower_Turret_Range</mote>
|
<mote>ARA_Mote_Empthrower_Turret_Range</mote>
|
||||||
<hideMoteWhenNotDrafted>true</hideMoteWhenNotDrafted>
|
<hideMoteWhenNotDrafted>true</hideMoteWhenNotDrafted>
|
||||||
</li> -->
|
</li>
|
||||||
</comps>
|
</comps>
|
||||||
</HediffDef>
|
</HediffDef>
|
||||||
<ThingDef ParentName="MoteBase">
|
<ThingDef ParentName="MoteBase">
|
||||||
|
|||||||
@@ -152,6 +152,7 @@
|
|||||||
<li>ArachnaeBase_Race_Acidcut</li>
|
<li>ArachnaeBase_Race_Acidcut</li>
|
||||||
<li>ArachnaeBase_Race_Baneling</li>
|
<li>ArachnaeBase_Race_Baneling</li>
|
||||||
<li>ArachnaeBase_Race_Skyhive</li>
|
<li>ArachnaeBase_Race_Skyhive</li>
|
||||||
|
<li>ArachnaeBase_Race_Locust</li>
|
||||||
<li>ArachnaeNode_Race_MimicNematode</li>
|
<li>ArachnaeNode_Race_MimicNematode</li>
|
||||||
</targetRaces>
|
</targetRaces>
|
||||||
|
|
||||||
|
|||||||
@@ -83,14 +83,6 @@
|
|||||||
</headPosPerRotation>
|
</headPosPerRotation>
|
||||||
</race>
|
</race>
|
||||||
<comps>
|
<comps>
|
||||||
<li Class="ArachnaeSwarm.CompProperties_NodeSwarmLifetime">
|
|
||||||
<immuteHediff>ARA_Cycle_Suppression_Hediff</immuteHediff>
|
|
||||||
<lifespanHediff>ARA_LifespanHediff</lifespanHediff>
|
|
||||||
<lifetimeDays>12</lifetimeDays>
|
|
||||||
<labelOverride>寿命</labelOverride>
|
|
||||||
<tooltipOverride>阿拉克涅辅虫从出生起就走在死亡的道路上了——它们的寿命就是如此短暂。</tooltipOverride>
|
|
||||||
<showGizmoOnNonPlayerControlled>true</showGizmoOnNonPlayerControlled>
|
|
||||||
</li>
|
|
||||||
<li Class="ArachnaeSwarm.CompProperties_HediffGiver">
|
<li Class="ArachnaeSwarm.CompProperties_HediffGiver">
|
||||||
<hediffs>
|
<hediffs>
|
||||||
<li>ARA_TemperatureRegulation</li>
|
<li>ARA_TemperatureRegulation</li>
|
||||||
@@ -174,6 +166,14 @@
|
|||||||
</race>
|
</race>
|
||||||
<comps>
|
<comps>
|
||||||
<li Class="ArachnaeSwarm.CompProperties_HoneyProduction_Animal"></li>
|
<li Class="ArachnaeSwarm.CompProperties_HoneyProduction_Animal"></li>
|
||||||
|
<li Class="ArachnaeSwarm.CompProperties_NodeSwarmLifetime">
|
||||||
|
<immuteHediff>ARA_Cycle_Suppression_Hediff</immuteHediff>
|
||||||
|
<lifespanHediff>ARA_LifespanHediff</lifespanHediff>
|
||||||
|
<lifetimeDays>12</lifetimeDays>
|
||||||
|
<labelOverride>寿命</labelOverride>
|
||||||
|
<tooltipOverride>阿拉克涅辅虫从出生起就走在死亡的道路上了——它们的寿命就是如此短暂。</tooltipOverride>
|
||||||
|
<showGizmoOnNonPlayerControlled>true</showGizmoOnNonPlayerControlled>
|
||||||
|
</li>
|
||||||
<li Class="ArachnaeSwarm.CompProperties_AdvancedTraining">
|
<li Class="ArachnaeSwarm.CompProperties_AdvancedTraining">
|
||||||
<trainables>
|
<trainables>
|
||||||
<li>
|
<li>
|
||||||
@@ -246,13 +246,21 @@
|
|||||||
<capacities>
|
<capacities>
|
||||||
<li>Cut</li>
|
<li>Cut</li>
|
||||||
</capacities>
|
</capacities>
|
||||||
<power>7</power>
|
<power>4</power>
|
||||||
<cooldownTime>2.8</cooldownTime>
|
<cooldownTime>2.8</cooldownTime>
|
||||||
<linkedBodyPartsGroup>HeadAttackTool</linkedBodyPartsGroup>
|
<linkedBodyPartsGroup>HeadAttackTool</linkedBodyPartsGroup>
|
||||||
<ensureLinkedBodyPartsGroupAlwaysUsable>true</ensureLinkedBodyPartsGroupAlwaysUsable>
|
<ensureLinkedBodyPartsGroupAlwaysUsable>true</ensureLinkedBodyPartsGroupAlwaysUsable>
|
||||||
</li>
|
</li>
|
||||||
</tools>
|
</tools>
|
||||||
<comps>
|
<comps>
|
||||||
|
<li Class="ArachnaeSwarm.CompProperties_NodeSwarmLifetime">
|
||||||
|
<immuteHediff>ARA_Cycle_Suppression_Hediff</immuteHediff>
|
||||||
|
<lifespanHediff>ARA_LifespanHediff</lifespanHediff>
|
||||||
|
<lifetimeDays>12</lifetimeDays>
|
||||||
|
<labelOverride>寿命</labelOverride>
|
||||||
|
<tooltipOverride>阿拉克涅辅虫从出生起就走在死亡的道路上了——它们的寿命就是如此短暂。</tooltipOverride>
|
||||||
|
<showGizmoOnNonPlayerControlled>true</showGizmoOnNonPlayerControlled>
|
||||||
|
</li>
|
||||||
<li Class="ArachnaeSwarm.CompProperties_AdvancedTraining">
|
<li Class="ArachnaeSwarm.CompProperties_AdvancedTraining">
|
||||||
<trainables>
|
<trainables>
|
||||||
<li>
|
<li>
|
||||||
@@ -323,6 +331,14 @@
|
|||||||
</deathAction>
|
</deathAction>
|
||||||
</race>
|
</race>
|
||||||
<comps>
|
<comps>
|
||||||
|
<li Class="ArachnaeSwarm.CompProperties_NodeSwarmLifetime">
|
||||||
|
<immuteHediff>ARA_Cycle_Suppression_Hediff</immuteHediff>
|
||||||
|
<lifespanHediff>ARA_LifespanHediff</lifespanHediff>
|
||||||
|
<lifetimeDays>12</lifetimeDays>
|
||||||
|
<labelOverride>寿命</labelOverride>
|
||||||
|
<tooltipOverride>阿拉克涅辅虫从出生起就走在死亡的道路上了——它们的寿命就是如此短暂。</tooltipOverride>
|
||||||
|
<showGizmoOnNonPlayerControlled>true</showGizmoOnNonPlayerControlled>
|
||||||
|
</li>
|
||||||
<li Class="ArachnaeSwarm.CompProperties_SwarmMaintainer">
|
<li Class="ArachnaeSwarm.CompProperties_SwarmMaintainer">
|
||||||
<showDebugInfo>false</showDebugInfo>
|
<showDebugInfo>false</showDebugInfo>
|
||||||
<relevantSkill>Crafting</relevantSkill>
|
<relevantSkill>Crafting</relevantSkill>
|
||||||
@@ -411,6 +427,14 @@
|
|||||||
</li>
|
</li>
|
||||||
</tools>
|
</tools>
|
||||||
<comps>
|
<comps>
|
||||||
|
<li Class="ArachnaeSwarm.CompProperties_NodeSwarmLifetime">
|
||||||
|
<immuteHediff>ARA_Cycle_Suppression_Hediff</immuteHediff>
|
||||||
|
<lifespanHediff>ARA_LifespanHediff</lifespanHediff>
|
||||||
|
<lifetimeDays>12</lifetimeDays>
|
||||||
|
<labelOverride>寿命</labelOverride>
|
||||||
|
<tooltipOverride>阿拉克涅辅虫从出生起就走在死亡的道路上了——它们的寿命就是如此短暂。</tooltipOverride>
|
||||||
|
<showGizmoOnNonPlayerControlled>true</showGizmoOnNonPlayerControlled>
|
||||||
|
</li>
|
||||||
<li Class="ArachnaeSwarm.CompProperties_AdvancedTraining">
|
<li Class="ArachnaeSwarm.CompProperties_AdvancedTraining">
|
||||||
<trainables>
|
<trainables>
|
||||||
<li>
|
<li>
|
||||||
@@ -469,6 +493,14 @@
|
|||||||
<MoveSpeed>6.6</MoveSpeed>
|
<MoveSpeed>6.6</MoveSpeed>
|
||||||
</statBases>
|
</statBases>
|
||||||
<comps>
|
<comps>
|
||||||
|
<li Class="ArachnaeSwarm.CompProperties_NodeSwarmLifetime">
|
||||||
|
<immuteHediff>ARA_Cycle_Suppression_Hediff</immuteHediff>
|
||||||
|
<lifespanHediff>ARA_LifespanHediff</lifespanHediff>
|
||||||
|
<lifetimeDays>30</lifetimeDays>
|
||||||
|
<labelOverride>寿命</labelOverride>
|
||||||
|
<tooltipOverride>阿拉克涅辅虫从出生起就走在死亡的道路上了——它们的寿命就是如此短暂。</tooltipOverride>
|
||||||
|
<showGizmoOnNonPlayerControlled>true</showGizmoOnNonPlayerControlled>
|
||||||
|
</li>
|
||||||
<li Class="ArachnaeSwarm.CompProperties_AdvancedTraining">
|
<li Class="ArachnaeSwarm.CompProperties_AdvancedTraining">
|
||||||
<trainables>
|
<trainables>
|
||||||
<li>
|
<li>
|
||||||
@@ -538,6 +570,14 @@
|
|||||||
<MoveSpeed>6.6</MoveSpeed>
|
<MoveSpeed>6.6</MoveSpeed>
|
||||||
</statBases>
|
</statBases>
|
||||||
<comps>
|
<comps>
|
||||||
|
<li Class="ArachnaeSwarm.CompProperties_NodeSwarmLifetime">
|
||||||
|
<immuteHediff>ARA_Cycle_Suppression_Hediff</immuteHediff>
|
||||||
|
<lifespanHediff>ARA_LifespanHediff</lifespanHediff>
|
||||||
|
<lifetimeDays>0.5</lifetimeDays>
|
||||||
|
<labelOverride>寿命</labelOverride>
|
||||||
|
<tooltipOverride>阿拉克涅辅虫从出生起就走在死亡的道路上了——它们的寿命就是如此短暂。</tooltipOverride>
|
||||||
|
<showGizmoOnNonPlayerControlled>true</showGizmoOnNonPlayerControlled>
|
||||||
|
</li>
|
||||||
<li Class="ArachnaeSwarm.CompProperties_AdvancedTraining">
|
<li Class="ArachnaeSwarm.CompProperties_AdvancedTraining">
|
||||||
<trainables>
|
<trainables>
|
||||||
<li>
|
<li>
|
||||||
@@ -625,6 +665,14 @@
|
|||||||
</li>
|
</li>
|
||||||
</tools>
|
</tools>
|
||||||
<comps>
|
<comps>
|
||||||
|
<li Class="ArachnaeSwarm.CompProperties_NodeSwarmLifetime">
|
||||||
|
<immuteHediff>ARA_Cycle_Suppression_Hediff</immuteHediff>
|
||||||
|
<lifespanHediff>ARA_LifespanHediff</lifespanHediff>
|
||||||
|
<lifetimeDays>12</lifetimeDays>
|
||||||
|
<labelOverride>寿命</labelOverride>
|
||||||
|
<tooltipOverride>阿拉克涅辅虫从出生起就走在死亡的道路上了——它们的寿命就是如此短暂。</tooltipOverride>
|
||||||
|
<showGizmoOnNonPlayerControlled>true</showGizmoOnNonPlayerControlled>
|
||||||
|
</li>
|
||||||
<li Class="ArachnaeSwarm.CompProperties_PawnFlight">
|
<li Class="ArachnaeSwarm.CompProperties_PawnFlight">
|
||||||
<flightCondition>Always</flightCondition>
|
<flightCondition>Always</flightCondition>
|
||||||
|
|
||||||
@@ -706,6 +754,14 @@
|
|||||||
</li>
|
</li>
|
||||||
</tools>
|
</tools>
|
||||||
<comps>
|
<comps>
|
||||||
|
<li Class="ArachnaeSwarm.CompProperties_NodeSwarmLifetime">
|
||||||
|
<immuteHediff>ARA_Cycle_Suppression_Hediff</immuteHediff>
|
||||||
|
<lifespanHediff>ARA_LifespanHediff</lifespanHediff>
|
||||||
|
<lifetimeDays>15</lifetimeDays>
|
||||||
|
<labelOverride>寿命</labelOverride>
|
||||||
|
<tooltipOverride>阿拉克涅辅虫从出生起就走在死亡的道路上了——它们的寿命就是如此短暂。</tooltipOverride>
|
||||||
|
<showGizmoOnNonPlayerControlled>true</showGizmoOnNonPlayerControlled>
|
||||||
|
</li>
|
||||||
<li Class="ArachnaeSwarm.CompProperties_AdvancedTraining">
|
<li Class="ArachnaeSwarm.CompProperties_AdvancedTraining">
|
||||||
<trainables>
|
<trainables>
|
||||||
<li>
|
<li>
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
<MoveSpeed>5</MoveSpeed>
|
<MoveSpeed>5</MoveSpeed>
|
||||||
</statBases>
|
</statBases>
|
||||||
<race>
|
<race>
|
||||||
<lifeExpectancy>2500</lifeExpectancy>
|
<lifeExpectancy>100</lifeExpectancy>
|
||||||
<body>ArachnaeSlayer_Body</body>
|
<body>ArachnaeSlayer_Body</body>
|
||||||
<thinkTreeMain>ARA_Insect_Beast</thinkTreeMain>
|
<thinkTreeMain>ARA_Insect_Beast</thinkTreeMain>
|
||||||
<!-- 身形大小 -->
|
<!-- 身形大小 -->
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="utf-8" ?>
|
<?xml version="1.0" encoding="utf-8" ?>
|
||||||
<Defs>
|
<Defs>
|
||||||
|
|
||||||
<ThinkTreeDef>
|
<ThinkTreeDef>
|
||||||
<defName>ARA_Insect_Beast</defName>
|
<defName>ARA_Insect_Beast</defName>
|
||||||
<thinkRoot Class="ThinkNode_Priority">
|
<thinkRoot Class="ThinkNode_Priority">
|
||||||
@@ -1010,9 +1009,6 @@
|
|||||||
<treeDef>MentalStateCritical</treeDef>
|
<treeDef>MentalStateCritical</treeDef>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<!-- React to close melee threat -->
|
|
||||||
<li Class="JobGiver_ReactToCloseMeleeThreat"/>
|
|
||||||
|
|
||||||
<!-- Do a queued job -->
|
<!-- Do a queued job -->
|
||||||
<li Class="ThinkNode_QueuedJob"/>
|
<li Class="ThinkNode_QueuedJob"/>
|
||||||
|
|
||||||
@@ -1110,9 +1106,11 @@
|
|||||||
<subNodes>
|
<subNodes>
|
||||||
<li Class="ArachnaeSwarm.ThinkNode_ConditionalNotProducedByMechCarrier">
|
<li Class="ArachnaeSwarm.ThinkNode_ConditionalNotProducedByMechCarrier">
|
||||||
<subNodes>
|
<subNodes>
|
||||||
|
<!-- React to close melee threat -->
|
||||||
|
<li Class="JobGiver_ReactToCloseMeleeThreat"/>
|
||||||
<li Class="JobGiver_AIFightEnemies">
|
<li Class="JobGiver_AIFightEnemies">
|
||||||
<targetAcquireRadius>100</targetAcquireRadius>
|
<targetAcquireRadius>30</targetAcquireRadius>
|
||||||
<targetKeepRadius>100</targetKeepRadius>
|
<targetKeepRadius>35</targetKeepRadius>
|
||||||
</li>
|
</li>
|
||||||
<li Class="JobGiver_AITrashColonyClose" />
|
<li Class="JobGiver_AITrashColonyClose" />
|
||||||
<li Class="JobGiver_AITrashBuildingsDistant" />
|
<li Class="JobGiver_AITrashBuildingsDistant" />
|
||||||
@@ -1372,9 +1370,6 @@
|
|||||||
<treeDef>MentalStateCritical</treeDef>
|
<treeDef>MentalStateCritical</treeDef>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<!-- React to close melee threat -->
|
|
||||||
<li Class="JobGiver_ReactToCloseMeleeThreat"/>
|
|
||||||
|
|
||||||
<!-- Do a queued job -->
|
<!-- Do a queued job -->
|
||||||
<li Class="ThinkNode_QueuedJob"/>
|
<li Class="ThinkNode_QueuedJob"/>
|
||||||
|
|
||||||
@@ -1472,9 +1467,11 @@
|
|||||||
<subNodes>
|
<subNodes>
|
||||||
<li Class="ArachnaeSwarm.ThinkNode_ConditionalNotProducedByMechCarrier">
|
<li Class="ArachnaeSwarm.ThinkNode_ConditionalNotProducedByMechCarrier">
|
||||||
<subNodes>
|
<subNodes>
|
||||||
|
<!-- React to close melee threat -->
|
||||||
|
<li Class="JobGiver_ReactToCloseMeleeThreat"/>
|
||||||
<li Class="JobGiver_AIFightEnemies">
|
<li Class="JobGiver_AIFightEnemies">
|
||||||
<targetAcquireRadius>100</targetAcquireRadius>
|
<targetAcquireRadius>30</targetAcquireRadius>
|
||||||
<targetKeepRadius>100</targetKeepRadius>
|
<targetKeepRadius>35</targetKeepRadius>
|
||||||
</li>
|
</li>
|
||||||
<li Class="JobGiver_AITrashColonyClose" />
|
<li Class="JobGiver_AITrashColonyClose" />
|
||||||
<li Class="JobGiver_AITrashBuildingsDistant" />
|
<li Class="JobGiver_AITrashBuildingsDistant" />
|
||||||
@@ -2265,9 +2262,6 @@
|
|||||||
<treeDef>MentalStateCritical</treeDef>
|
<treeDef>MentalStateCritical</treeDef>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<!-- React to close melee threat -->
|
|
||||||
<li Class="JobGiver_ReactToCloseMeleeThreat"/>
|
|
||||||
|
|
||||||
<!-- Do a queued job -->
|
<!-- Do a queued job -->
|
||||||
<li Class="ThinkNode_QueuedJob"/>
|
<li Class="ThinkNode_QueuedJob"/>
|
||||||
|
|
||||||
@@ -2303,8 +2297,8 @@
|
|||||||
<subNodes>
|
<subNodes>
|
||||||
<!-- Wild insects with no lord will fight nearby enemies -->
|
<!-- Wild insects with no lord will fight nearby enemies -->
|
||||||
<li Class="JobGiver_AIFightEnemies">
|
<li Class="JobGiver_AIFightEnemies">
|
||||||
<targetAcquireRadius>100</targetAcquireRadius> <!-- Same as DefendAndExpandHive -->
|
<targetAcquireRadius>30</targetAcquireRadius>
|
||||||
<targetKeepRadius>100</targetKeepRadius>
|
<targetKeepRadius>35</targetKeepRadius>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<!-- Wild insects leave map in some conditions -->
|
<!-- Wild insects leave map in some conditions -->
|
||||||
@@ -2365,9 +2359,11 @@
|
|||||||
<subNodes>
|
<subNodes>
|
||||||
<li Class="ArachnaeSwarm.ThinkNode_ConditionalNotProducedByMechCarrier">
|
<li Class="ArachnaeSwarm.ThinkNode_ConditionalNotProducedByMechCarrier">
|
||||||
<subNodes>
|
<subNodes>
|
||||||
|
<!-- React to close melee threat -->
|
||||||
|
<li Class="JobGiver_ReactToCloseMeleeThreat"/>
|
||||||
<li Class="JobGiver_AIFightEnemies">
|
<li Class="JobGiver_AIFightEnemies">
|
||||||
<targetAcquireRadius>100</targetAcquireRadius>
|
<targetAcquireRadius>30</targetAcquireRadius>
|
||||||
<targetKeepRadius>100</targetKeepRadius>
|
<targetKeepRadius>35</targetKeepRadius>
|
||||||
</li>
|
</li>
|
||||||
<li Class="JobGiver_AITrashColonyClose" />
|
<li Class="JobGiver_AITrashColonyClose" />
|
||||||
<li Class="JobGiver_AITrashBuildingsDistant" />
|
<li Class="JobGiver_AITrashBuildingsDistant" />
|
||||||
@@ -2540,9 +2536,6 @@
|
|||||||
<treeDef>MentalStateCritical</treeDef>
|
<treeDef>MentalStateCritical</treeDef>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<!-- React to close melee threat -->
|
|
||||||
<li Class="JobGiver_ReactToCloseMeleeThreat"/>
|
|
||||||
|
|
||||||
<!-- Do a queued job -->
|
<!-- Do a queued job -->
|
||||||
<li Class="ThinkNode_QueuedJob"/>
|
<li Class="ThinkNode_QueuedJob"/>
|
||||||
|
|
||||||
@@ -2640,9 +2633,11 @@
|
|||||||
<subNodes>
|
<subNodes>
|
||||||
<li Class="ArachnaeSwarm.ThinkNode_ConditionalNotProducedByMechCarrier">
|
<li Class="ArachnaeSwarm.ThinkNode_ConditionalNotProducedByMechCarrier">
|
||||||
<subNodes>
|
<subNodes>
|
||||||
|
<!-- React to close melee threat -->
|
||||||
|
<li Class="JobGiver_ReactToCloseMeleeThreat"/>
|
||||||
<li Class="JobGiver_AIFightEnemies">
|
<li Class="JobGiver_AIFightEnemies">
|
||||||
<targetAcquireRadius>100</targetAcquireRadius>
|
<targetAcquireRadius>30</targetAcquireRadius>
|
||||||
<targetKeepRadius>100</targetKeepRadius>
|
<targetKeepRadius>35</targetKeepRadius>
|
||||||
</li>
|
</li>
|
||||||
<li Class="JobGiver_AITrashColonyClose" />
|
<li Class="JobGiver_AITrashColonyClose" />
|
||||||
<li Class="JobGiver_AITrashBuildingsDistant" />
|
<li Class="JobGiver_AITrashBuildingsDistant" />
|
||||||
@@ -2815,11 +2810,6 @@
|
|||||||
<treeDef>MentalStateCritical</treeDef>
|
<treeDef>MentalStateCritical</treeDef>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<!-- React to close melee threat -->
|
|
||||||
<li Class="JobGiver_ReactToCloseMeleeThreat">
|
|
||||||
<maxDistance>2.9</maxDistance>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
<!-- Do a queued job -->
|
<!-- Do a queued job -->
|
||||||
<li Class="ThinkNode_QueuedJob"/>
|
<li Class="ThinkNode_QueuedJob"/>
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
@@ -3,35 +3,55 @@
|
|||||||
"WorkspaceRootPath": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\",
|
"WorkspaceRootPath": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\",
|
||||||
"Documents": [
|
"Documents": [
|
||||||
{
|
{
|
||||||
"AbsoluteMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\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}"
|
"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|d:\\steamlibrary\\steamapps\\common\\rimworld\\mods\\arachnaeswarm\\source\\arachnaeswarm\\hediffs\\ara_configurablemutant\\necrotictransformationutility.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
"AbsoluteMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|d:\\steamlibrary\\steamapps\\common\\rimworld\\mods\\arachnaeswarm\\source\\arachnaeswarm\\building_comps\\comprefuelablenutrition.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||||
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:hediffs\\ara_configurablemutant\\necrotictransformationutility.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:building_comps\\comprefuelablenutrition.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_nodeswarmlifetime\\compnodeswarmlifetime.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
"AbsoluteMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|d:\\steamlibrary\\steamapps\\common\\rimworld\\mods\\arachnaeswarm\\source\\arachnaeswarm\\building_comps\\ara_productstorage\\compproperties_productstorage.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||||
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:pawn_comps\\ara_nodeswarmlifetime\\compnodeswarmlifetime.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:building_comps\\ara_productstorage\\compproperties_productstorage.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\\gizmo_queuedincubationprogress.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
"AbsoluteMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|d:\\steamlibrary\\steamapps\\common\\rimworld\\mods\\arachnaeswarm\\source\\arachnaeswarm\\building_comps\\ara_compinteractiveproducer\\compinteractiveproducer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||||
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:buildings\\building_ootheca\\gizmo_queuedincubationprogress.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:building_comps\\ara_compinteractiveproducer\\compinteractiveproducer.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\\gizmo_pawnprogressbar.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
"AbsoluteMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|d:\\steamlibrary\\steamapps\\common\\rimworld\\mods\\arachnaeswarm\\source\\arachnaeswarm\\abilities\\compabilityeffect_transformcorpse.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||||
|
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:abilities\\compabilityeffect_transformcorpse.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\\jobs\\jobdriver_followproducer\\thinknode_conditionalnotproducedbymechcarrier.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||||
|
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:jobs\\jobdriver_followproducer\\thinknode_conditionalnotproducedbymechcarrier.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\\gizmo_pawnprogressbar.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||||
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:buildings\\building_ootheca\\gizmo_pawnprogressbar.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:buildings\\building_ootheca\\gizmo_pawnprogressbar.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\\gizmo_neutronflux.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\\gizmo_neutronflux.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||||
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:buildings\\building_ootheca\\gizmo_neutronflux.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:buildings\\building_ootheca\\gizmo_neutronflux.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_equipmentootheca\\building_equipmentootheca.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
"AbsoluteMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\hediffs\\ara_configurablemutant\\necrotictransformationutility.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||||
|
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:hediffs\\ara_configurablemutant\\necrotictransformationutility.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_nodeswarmlifetime\\compnodeswarmlifetime.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||||
|
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:pawn_comps\\ara_nodeswarmlifetime\\compnodeswarmlifetime.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\\gizmo_queuedincubationprogress.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||||
|
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:buildings\\building_ootheca\\gizmo_queuedincubationprogress.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_equipmentootheca\\building_equipmentootheca.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||||
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:buildings\\building_equipmentootheca\\building_equipmentootheca.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:buildings\\building_equipmentootheca\\building_equipmentootheca.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_corpsevat\\building_corpsevat.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_corpsevat\\building_corpsevat.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||||
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:buildings\\building_corpsevat\\building_corpsevat.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
"RelativeMoniker": "D:0:0:{EAE0DB6B-E282-C812-7F5A-6D13E9D24581}|ArachnaeSwarm.csproj|solutionrelative:buildings\\building_corpsevat\\building_corpsevat.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -76,9 +96,91 @@
|
|||||||
"DockedWidth": 200,
|
"DockedWidth": 200,
|
||||||
"SelectedChildIndex": 6,
|
"SelectedChildIndex": 6,
|
||||||
"Children": [
|
"Children": [
|
||||||
|
{
|
||||||
|
"$type": "Bookmark",
|
||||||
|
"Name": "ST:0:0:{1c4feeaa-4718-4aa9-859d-94ce25d182ba}"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 1,
|
"DocumentIndex": 1,
|
||||||
|
"Title": "CompRefuelableNutrition.cs",
|
||||||
|
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Building_Comps\\CompRefuelableNutrition.cs",
|
||||||
|
"RelativeDocumentMoniker": "Building_Comps\\CompRefuelableNutrition.cs",
|
||||||
|
"ToolTip": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Building_Comps\\CompRefuelableNutrition.cs",
|
||||||
|
"RelativeToolTip": "Building_Comps\\CompRefuelableNutrition.cs",
|
||||||
|
"ViewState": "AgIAAAAAAAAAAAAAAAAAABAAAAAyAAAAAAAAAA==",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2026-01-27T03:51:40.77Z",
|
||||||
|
"EditorCaption": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 2,
|
||||||
|
"Title": "CompProperties_ProductStorage.cs",
|
||||||
|
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Building_Comps\\ARA_ProductStorage\\CompProperties_ProductStorage.cs",
|
||||||
|
"RelativeDocumentMoniker": "Building_Comps\\ARA_ProductStorage\\CompProperties_ProductStorage.cs",
|
||||||
|
"ToolTip": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Building_Comps\\ARA_ProductStorage\\CompProperties_ProductStorage.cs",
|
||||||
|
"RelativeToolTip": "Building_Comps\\ARA_ProductStorage\\CompProperties_ProductStorage.cs",
|
||||||
|
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAUAAABKAAAAAAAAAA==",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2026-01-27T03:51:33.86Z",
|
||||||
|
"EditorCaption": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 3,
|
||||||
|
"Title": "CompInteractiveProducer.cs",
|
||||||
|
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Building_Comps\\ARA_CompInteractiveProducer\\CompInteractiveProducer.cs",
|
||||||
|
"RelativeDocumentMoniker": "Building_Comps\\ARA_CompInteractiveProducer\\CompInteractiveProducer.cs",
|
||||||
|
"ToolTip": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Building_Comps\\ARA_CompInteractiveProducer\\CompInteractiveProducer.cs",
|
||||||
|
"RelativeToolTip": "Building_Comps\\ARA_CompInteractiveProducer\\CompInteractiveProducer.cs",
|
||||||
|
"ViewState": "AgIAAFICAAAAAAAAAAAAAFICAAAtAAAAAAAAAA==",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2026-01-27T03:51:32.573Z",
|
||||||
|
"EditorCaption": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 4,
|
||||||
|
"Title": "CompAbilityEffect_TransformCorpse.cs",
|
||||||
|
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Abilities\\CompAbilityEffect_TransformCorpse.cs",
|
||||||
|
"RelativeDocumentMoniker": "Abilities\\CompAbilityEffect_TransformCorpse.cs",
|
||||||
|
"ToolTip": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Abilities\\CompAbilityEffect_TransformCorpse.cs",
|
||||||
|
"RelativeToolTip": "Abilities\\CompAbilityEffect_TransformCorpse.cs",
|
||||||
|
"ViewState": "AgIAAFQAAAAAAAAAAAAuwGkAAABdAAAAAAAAAA==",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2026-01-27T03:51:29.604Z",
|
||||||
|
"EditorCaption": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 5,
|
||||||
|
"Title": "ThinkNode_ConditionalNotProducedByMechCarrier.cs",
|
||||||
|
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Jobs\\JobDriver_FollowProducer\\ThinkNode_ConditionalNotProducedByMechCarrier.cs",
|
||||||
|
"RelativeDocumentMoniker": "Jobs\\JobDriver_FollowProducer\\ThinkNode_ConditionalNotProducedByMechCarrier.cs",
|
||||||
|
"ToolTip": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Jobs\\JobDriver_FollowProducer\\ThinkNode_ConditionalNotProducedByMechCarrier.cs",
|
||||||
|
"RelativeToolTip": "Jobs\\JobDriver_FollowProducer\\ThinkNode_ConditionalNotProducedByMechCarrier.cs",
|
||||||
|
"ViewState": "AgIAAAAAAAAAAAAAAAAAABQAAAAIAAAAAAAAAA==",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2026-01-27T00:51:15.459Z",
|
||||||
|
"EditorCaption": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$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": "AgIAABwCAAAAAAAAAAAvwDICAAAJAAAAAAAAAA==",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2026-01-23T08:31:14.555Z",
|
||||||
|
"EditorCaption": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 8,
|
||||||
"Title": "NecroticTransformationUtility.cs",
|
"Title": "NecroticTransformationUtility.cs",
|
||||||
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Hediffs\\ARA_ConfigurableMutant\\NecroticTransformationUtility.cs",
|
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Hediffs\\ARA_ConfigurableMutant\\NecroticTransformationUtility.cs",
|
||||||
"RelativeDocumentMoniker": "Hediffs\\ARA_ConfigurableMutant\\NecroticTransformationUtility.cs",
|
"RelativeDocumentMoniker": "Hediffs\\ARA_ConfigurableMutant\\NecroticTransformationUtility.cs",
|
||||||
@@ -86,12 +188,11 @@
|
|||||||
"RelativeToolTip": "Hediffs\\ARA_ConfigurableMutant\\NecroticTransformationUtility.cs",
|
"RelativeToolTip": "Hediffs\\ARA_ConfigurableMutant\\NecroticTransformationUtility.cs",
|
||||||
"ViewState": "AgIAAA8AAAAAAAAAAAAtwCIAAAAcAAAAAAAAAA==",
|
"ViewState": "AgIAAA8AAAAAAAAAAAAtwCIAAAAcAAAAAAAAAA==",
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
"WhenOpened": "2026-01-26T08:44:42.184Z",
|
"WhenOpened": "2026-01-26T08:44:42.184Z"
|
||||||
"EditorCaption": ""
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 2,
|
"DocumentIndex": 9,
|
||||||
"Title": "CompNodeSwarmLifetime.cs",
|
"Title": "CompNodeSwarmLifetime.cs",
|
||||||
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Pawn_Comps\\ARA_NodeSwarmLifetime\\CompNodeSwarmLifetime.cs",
|
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Pawn_Comps\\ARA_NodeSwarmLifetime\\CompNodeSwarmLifetime.cs",
|
||||||
"RelativeDocumentMoniker": "Pawn_Comps\\ARA_NodeSwarmLifetime\\CompNodeSwarmLifetime.cs",
|
"RelativeDocumentMoniker": "Pawn_Comps\\ARA_NodeSwarmLifetime\\CompNodeSwarmLifetime.cs",
|
||||||
@@ -99,12 +200,11 @@
|
|||||||
"RelativeToolTip": "Pawn_Comps\\ARA_NodeSwarmLifetime\\CompNodeSwarmLifetime.cs",
|
"RelativeToolTip": "Pawn_Comps\\ARA_NodeSwarmLifetime\\CompNodeSwarmLifetime.cs",
|
||||||
"ViewState": "AgIAADYAAAAAAAAAAAAtwEoAAAAbAAAAAAAAAA==",
|
"ViewState": "AgIAADYAAAAAAAAAAAAtwEoAAAAbAAAAAAAAAA==",
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
"WhenOpened": "2026-01-26T08:44:35.266Z",
|
"WhenOpened": "2026-01-26T08:44:35.266Z"
|
||||||
"EditorCaption": ""
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 3,
|
"DocumentIndex": 10,
|
||||||
"Title": "Gizmo_QueuedIncubationProgress.cs",
|
"Title": "Gizmo_QueuedIncubationProgress.cs",
|
||||||
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Buildings\\Building_Ootheca\\Gizmo_QueuedIncubationProgress.cs",
|
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Buildings\\Building_Ootheca\\Gizmo_QueuedIncubationProgress.cs",
|
||||||
"RelativeDocumentMoniker": "Buildings\\Building_Ootheca\\Gizmo_QueuedIncubationProgress.cs",
|
"RelativeDocumentMoniker": "Buildings\\Building_Ootheca\\Gizmo_QueuedIncubationProgress.cs",
|
||||||
@@ -112,29 +212,24 @@
|
|||||||
"RelativeToolTip": "Buildings\\Building_Ootheca\\Gizmo_QueuedIncubationProgress.cs",
|
"RelativeToolTip": "Buildings\\Building_Ootheca\\Gizmo_QueuedIncubationProgress.cs",
|
||||||
"ViewState": "AgIAAAAAAAAAAAAAAAAAABEAAAAuAAAAAAAAAA==",
|
"ViewState": "AgIAAAAAAAAAAAAAAAAAABEAAAAuAAAAAAAAAA==",
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
"WhenOpened": "2026-01-26T08:11:04.23Z",
|
"WhenOpened": "2026-01-26T08:11:04.23Z"
|
||||||
"EditorCaption": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$type": "Bookmark",
|
|
||||||
"Name": "ST:0:0:{1c4feeaa-4718-4aa9-859d-94ce25d182ba}"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 4,
|
"DocumentIndex": 6,
|
||||||
"Title": "Gizmo_PawnProgressBar.cs",
|
"Title": "Gizmo_PawnProgressBar.cs",
|
||||||
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Buildings\\Building_Ootheca\\Gizmo_PawnProgressBar.cs",
|
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Buildings\\Building_Ootheca\\Gizmo_PawnProgressBar.cs",
|
||||||
"RelativeDocumentMoniker": "Buildings\\Building_Ootheca\\Gizmo_PawnProgressBar.cs",
|
"RelativeDocumentMoniker": "Buildings\\Building_Ootheca\\Gizmo_PawnProgressBar.cs",
|
||||||
"ToolTip": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Buildings\\Building_Ootheca\\Gizmo_PawnProgressBar.cs",
|
"ToolTip": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Buildings\\Building_Ootheca\\Gizmo_PawnProgressBar.cs",
|
||||||
"RelativeToolTip": "Buildings\\Building_Ootheca\\Gizmo_PawnProgressBar.cs",
|
"RelativeToolTip": "Buildings\\Building_Ootheca\\Gizmo_PawnProgressBar.cs",
|
||||||
"ViewState": "AgIAAAAAAAAAAAAAAAAAAA4AAAAmAAAAAAAAAA==",
|
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAwAAAAFAAAAAAAAAA==",
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
"WhenOpened": "2026-01-26T08:12:03.772Z",
|
"WhenOpened": "2026-01-26T08:12:03.772Z",
|
||||||
"EditorCaption": ""
|
"EditorCaption": ""
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 5,
|
"DocumentIndex": 7,
|
||||||
"Title": "Gizmo_NeutronFlux.cs",
|
"Title": "Gizmo_NeutronFlux.cs",
|
||||||
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Buildings\\Building_Ootheca\\Gizmo_NeutronFlux.cs",
|
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Buildings\\Building_Ootheca\\Gizmo_NeutronFlux.cs",
|
||||||
"RelativeDocumentMoniker": "Buildings\\Building_Ootheca\\Gizmo_NeutronFlux.cs",
|
"RelativeDocumentMoniker": "Buildings\\Building_Ootheca\\Gizmo_NeutronFlux.cs",
|
||||||
@@ -147,20 +242,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 0,
|
"DocumentIndex": 11,
|
||||||
"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": "AgIAABEBAAAAAAAAAAAswCoBAAAkAAAAAAAAAA==",
|
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
|
||||||
"WhenOpened": "2026-01-23T08:31:14.555Z",
|
|
||||||
"EditorCaption": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$type": "Document",
|
|
||||||
"DocumentIndex": 6,
|
|
||||||
"Title": "Building_EquipmentOotheca.cs",
|
"Title": "Building_EquipmentOotheca.cs",
|
||||||
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Buildings\\Building_EquipmentOotheca\\Building_EquipmentOotheca.cs",
|
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Buildings\\Building_EquipmentOotheca\\Building_EquipmentOotheca.cs",
|
||||||
"RelativeDocumentMoniker": "Buildings\\Building_EquipmentOotheca\\Building_EquipmentOotheca.cs",
|
"RelativeDocumentMoniker": "Buildings\\Building_EquipmentOotheca\\Building_EquipmentOotheca.cs",
|
||||||
@@ -168,12 +250,11 @@
|
|||||||
"RelativeToolTip": "Buildings\\Building_EquipmentOotheca\\Building_EquipmentOotheca.cs",
|
"RelativeToolTip": "Buildings\\Building_EquipmentOotheca\\Building_EquipmentOotheca.cs",
|
||||||
"ViewState": "AgIAAEIBAAAAAAAAAAAAAEMBAAAAAAAAAAAAAA==",
|
"ViewState": "AgIAAEIBAAAAAAAAAAAAAEMBAAAAAAAAAAAAAA==",
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
"WhenOpened": "2026-01-26T07:52:41.869Z",
|
"WhenOpened": "2026-01-26T07:52:41.869Z"
|
||||||
"EditorCaption": ""
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 7,
|
"DocumentIndex": 12,
|
||||||
"Title": "Building_CorpseVat.cs",
|
"Title": "Building_CorpseVat.cs",
|
||||||
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Buildings\\Building_CorpseVat\\Building_CorpseVat.cs",
|
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Buildings\\Building_CorpseVat\\Building_CorpseVat.cs",
|
||||||
"RelativeDocumentMoniker": "Buildings\\Building_CorpseVat\\Building_CorpseVat.cs",
|
"RelativeDocumentMoniker": "Buildings\\Building_CorpseVat\\Building_CorpseVat.cs",
|
||||||
@@ -181,12 +262,11 @@
|
|||||||
"RelativeToolTip": "Buildings\\Building_CorpseVat\\Building_CorpseVat.cs",
|
"RelativeToolTip": "Buildings\\Building_CorpseVat\\Building_CorpseVat.cs",
|
||||||
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAgAAAASAAAAAAAAAA==",
|
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAgAAAASAAAAAAAAAA==",
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
"WhenOpened": "2026-01-23T10:24:46.264Z",
|
"WhenOpened": "2026-01-23T10:24:46.264Z"
|
||||||
"EditorCaption": ""
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 9,
|
"DocumentIndex": 14,
|
||||||
"Title": "JobGiver_Grower.cs",
|
"Title": "JobGiver_Grower.cs",
|
||||||
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Jobs\\JobDriver_Plant\\JobGiver_Grower.cs",
|
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Jobs\\JobDriver_Plant\\JobGiver_Grower.cs",
|
||||||
"RelativeDocumentMoniker": "Jobs\\JobDriver_Plant\\JobGiver_Grower.cs",
|
"RelativeDocumentMoniker": "Jobs\\JobDriver_Plant\\JobGiver_Grower.cs",
|
||||||
@@ -198,7 +278,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 11,
|
"DocumentIndex": 16,
|
||||||
"Title": "Hediff_Possession.cs",
|
"Title": "Hediff_Possession.cs",
|
||||||
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Abilities\\ARA_HuggingFace\\Hediff_Possession.cs",
|
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Abilities\\ARA_HuggingFace\\Hediff_Possession.cs",
|
||||||
"RelativeDocumentMoniker": "Abilities\\ARA_HuggingFace\\Hediff_Possession.cs",
|
"RelativeDocumentMoniker": "Abilities\\ARA_HuggingFace\\Hediff_Possession.cs",
|
||||||
@@ -210,7 +290,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 12,
|
"DocumentIndex": 17,
|
||||||
"Title": "CompAbilityEffect_Possess.cs",
|
"Title": "CompAbilityEffect_Possess.cs",
|
||||||
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Abilities\\ARA_HuggingFace\\CompAbilityEffect_Possess.cs",
|
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Abilities\\ARA_HuggingFace\\CompAbilityEffect_Possess.cs",
|
||||||
"RelativeDocumentMoniker": "Abilities\\ARA_HuggingFace\\CompAbilityEffect_Possess.cs",
|
"RelativeDocumentMoniker": "Abilities\\ARA_HuggingFace\\CompAbilityEffect_Possess.cs",
|
||||||
@@ -222,7 +302,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 8,
|
"DocumentIndex": 13,
|
||||||
"Title": "CorpseVatExtension.cs",
|
"Title": "CorpseVatExtension.cs",
|
||||||
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Buildings\\Building_CorpseVat\\CorpseVatExtension.cs",
|
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Buildings\\Building_CorpseVat\\CorpseVatExtension.cs",
|
||||||
"RelativeDocumentMoniker": "Buildings\\Building_CorpseVat\\CorpseVatExtension.cs",
|
"RelativeDocumentMoniker": "Buildings\\Building_CorpseVat\\CorpseVatExtension.cs",
|
||||||
@@ -234,7 +314,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 13,
|
"DocumentIndex": 18,
|
||||||
"Title": "CompDelayedTerrainSpawn.cs",
|
"Title": "CompDelayedTerrainSpawn.cs",
|
||||||
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Building_Comps\\ARA_BuildingTerrainSpawn\\CompDelayedTerrainSpawn.cs",
|
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Building_Comps\\ARA_BuildingTerrainSpawn\\CompDelayedTerrainSpawn.cs",
|
||||||
"RelativeDocumentMoniker": "Building_Comps\\ARA_BuildingTerrainSpawn\\CompDelayedTerrainSpawn.cs",
|
"RelativeDocumentMoniker": "Building_Comps\\ARA_BuildingTerrainSpawn\\CompDelayedTerrainSpawn.cs",
|
||||||
@@ -246,7 +326,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 14,
|
"DocumentIndex": 19,
|
||||||
"Title": "CompProperties_HediffTerrainSpawn.cs",
|
"Title": "CompProperties_HediffTerrainSpawn.cs",
|
||||||
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Hediffs\\ARA_HediffTerrainSpawn\\CompProperties_HediffTerrainSpawn.cs",
|
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Hediffs\\ARA_HediffTerrainSpawn\\CompProperties_HediffTerrainSpawn.cs",
|
||||||
"RelativeDocumentMoniker": "Hediffs\\ARA_HediffTerrainSpawn\\CompProperties_HediffTerrainSpawn.cs",
|
"RelativeDocumentMoniker": "Hediffs\\ARA_HediffTerrainSpawn\\CompProperties_HediffTerrainSpawn.cs",
|
||||||
@@ -258,7 +338,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 10,
|
"DocumentIndex": 15,
|
||||||
"Title": "JobGiver_Cleaner.cs",
|
"Title": "JobGiver_Cleaner.cs",
|
||||||
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Jobs\\JobDriver_Clean\\JobGiver_Cleaner.cs",
|
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Jobs\\JobDriver_Clean\\JobGiver_Cleaner.cs",
|
||||||
"RelativeDocumentMoniker": "Jobs\\JobDriver_Clean\\JobGiver_Cleaner.cs",
|
"RelativeDocumentMoniker": "Jobs\\JobDriver_Clean\\JobGiver_Cleaner.cs",
|
||||||
@@ -270,7 +350,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 15,
|
"DocumentIndex": 20,
|
||||||
"Title": "CompHediffTerrainSpawn.cs",
|
"Title": "CompHediffTerrainSpawn.cs",
|
||||||
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Hediffs\\ARA_HediffTerrainSpawn\\CompHediffTerrainSpawn.cs",
|
"DocumentMoniker": "D:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\ArachnaeSwarm\\Source\\ArachnaeSwarm\\Hediffs\\ARA_HediffTerrainSpawn\\CompHediffTerrainSpawn.cs",
|
||||||
"RelativeDocumentMoniker": "Hediffs\\ARA_HediffTerrainSpawn\\CompHediffTerrainSpawn.cs",
|
"RelativeDocumentMoniker": "Hediffs\\ARA_HediffTerrainSpawn\\CompHediffTerrainSpawn.cs",
|
||||||
|
|||||||
@@ -561,6 +561,7 @@ namespace ArachnaeSwarm
|
|||||||
}
|
}
|
||||||
public override IEnumerable<Gizmo> GetGizmos()
|
public override IEnumerable<Gizmo> GetGizmos()
|
||||||
{
|
{
|
||||||
|
base.GetGizmos();
|
||||||
// 首先获取选中的同类建筑
|
// 首先获取选中的同类建筑
|
||||||
var selectedOothecas = GetSelectedOothecas();
|
var selectedOothecas = GetSelectedOothecas();
|
||||||
bool isMultiSelect = selectedOothecas.Count > 1;
|
bool isMultiSelect = selectedOothecas.Count > 1;
|
||||||
|
|||||||
@@ -1,7 +1,5 @@
|
|||||||
// 修改 Gizmo_PawnProgressBar.cs
|
|
||||||
using RimWorld;
|
using RimWorld;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
using Verse;
|
using Verse;
|
||||||
|
|
||||||
@@ -9,7 +7,6 @@ namespace ArachnaeSwarm
|
|||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 统一的双向进度条 Gizmo - 用于所有孵化建筑/组件
|
/// 统一的双向进度条 Gizmo - 用于所有孵化建筑/组件
|
||||||
/// 支持多选显示
|
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[StaticConstructorOnStartup]
|
[StaticConstructorOnStartup]
|
||||||
public class Gizmo_PawnProgressBar : Gizmo
|
public class Gizmo_PawnProgressBar : Gizmo
|
||||||
@@ -25,219 +22,16 @@ namespace ArachnaeSwarm
|
|||||||
private static readonly Texture2D EmptyBarTex = SolidColorMaterials.NewSolidColorTexture(new Color(0.1f, 0.1f, 0.1f, 0.5f));
|
private static readonly Texture2D EmptyBarTex = SolidColorMaterials.NewSolidColorTexture(new Color(0.1f, 0.1f, 0.1f, 0.5f));
|
||||||
|
|
||||||
private readonly IOrderGizmoProvider provider;
|
private readonly IOrderGizmoProvider provider;
|
||||||
private readonly Thing parentThing;
|
|
||||||
|
|
||||||
// 多选相关
|
|
||||||
private bool isMultiSelect = false;
|
|
||||||
private List<IOrderGizmoProvider> multiSelectProviders = new List<IOrderGizmoProvider>();
|
|
||||||
|
|
||||||
public Gizmo_PawnProgressBar(IOrderGizmoProvider provider)
|
public Gizmo_PawnProgressBar(IOrderGizmoProvider provider)
|
||||||
{
|
{
|
||||||
this.provider = provider;
|
this.provider = provider;
|
||||||
this.parentThing = provider as Thing;
|
|
||||||
this.Order = -140f;
|
this.Order = -140f;
|
||||||
|
|
||||||
// 检查是否是多个建筑被选中
|
|
||||||
UpdateMultiSelectInfo();
|
|
||||||
}
|
|
||||||
|
|
||||||
private void UpdateMultiSelectInfo()
|
|
||||||
{
|
|
||||||
if (Find.Selector == null || parentThing == null)
|
|
||||||
return;
|
|
||||||
|
|
||||||
// 获取选中的同类建筑
|
|
||||||
var selectedThings = Find.Selector.SelectedObjects
|
|
||||||
.Where(obj => obj is Thing thing &&
|
|
||||||
thing.def == parentThing.def &&
|
|
||||||
thing.Faction == Faction.OfPlayer)
|
|
||||||
.ToList();
|
|
||||||
|
|
||||||
isMultiSelect = selectedThings.Count > 1;
|
|
||||||
|
|
||||||
if (isMultiSelect)
|
|
||||||
{
|
|
||||||
multiSelectProviders.Clear();
|
|
||||||
foreach (var thing in selectedThings)
|
|
||||||
{
|
|
||||||
if (thing is IOrderGizmoProvider provider)
|
|
||||||
{
|
|
||||||
multiSelectProviders.Add(provider);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public override float GetWidth(float maxWidth) => Mathf.Min(Width, maxWidth);
|
public override float GetWidth(float maxWidth) => Mathf.Min(Width, maxWidth);
|
||||||
|
|
||||||
public override GizmoResult GizmoOnGUI(Vector2 topLeft, float maxWidth, GizmoRenderParms parms)
|
public override GizmoResult GizmoOnGUI(Vector2 topLeft, float maxWidth, GizmoRenderParms parms)
|
||||||
{
|
|
||||||
// 更新多选信息
|
|
||||||
UpdateMultiSelectInfo();
|
|
||||||
|
|
||||||
if (isMultiSelect)
|
|
||||||
{
|
|
||||||
return DrawMultiSelectGizmo(topLeft, maxWidth);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
return DrawSingleSelectGizmo(topLeft, maxWidth);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private GizmoResult DrawMultiSelectGizmo(Vector2 topLeft, float maxWidth)
|
|
||||||
{
|
|
||||||
// 计算显示多少个建筑的进度
|
|
||||||
int displayCount = Mathf.Min(multiSelectProviders.Count, 4); // 最多显示4个
|
|
||||||
|
|
||||||
// 计算高度
|
|
||||||
float contentHeight = Padding * 2 + Text.LineHeight + Spacing; // 标题
|
|
||||||
contentHeight += displayCount * (BarHeight + Spacing + 14f); // 每个建筑的进度条
|
|
||||||
float totalHeight = Mathf.Max(75f, contentHeight);
|
|
||||||
|
|
||||||
Rect rect = new Rect(topLeft.x, topLeft.y - (totalHeight - 75f), GetWidth(maxWidth), totalHeight);
|
|
||||||
Widgets.DrawWindowBackground(rect);
|
|
||||||
|
|
||||||
Rect innerRect = rect.ContractedBy(Padding);
|
|
||||||
float curY = innerRect.y;
|
|
||||||
|
|
||||||
// === 多选标题区域 ===
|
|
||||||
Text.Font = GameFont.Small;
|
|
||||||
Rect titleRect = new Rect(innerRect.x, curY, innerRect.width, Text.LineHeight);
|
|
||||||
|
|
||||||
string title = "ARA_Gizmo_MultiSelectTitle".Translate(multiSelectProviders.Count);
|
|
||||||
GUI.color = new Color(0.7f, 0.9f, 1f);
|
|
||||||
Widgets.Label(titleRect, title);
|
|
||||||
GUI.color = Color.white;
|
|
||||||
|
|
||||||
curY += Text.LineHeight + Spacing;
|
|
||||||
|
|
||||||
// === 显示每个建筑的进度 ===
|
|
||||||
for (int i = 0; i < displayCount; i++)
|
|
||||||
{
|
|
||||||
var currentProvider = multiSelectProviders[i];
|
|
||||||
var orders = currentProvider.GetOrdersForGizmo();
|
|
||||||
|
|
||||||
if (orders.Count > 0)
|
|
||||||
{
|
|
||||||
// 建筑标签
|
|
||||||
Text.Font = GameFont.Tiny;
|
|
||||||
Rect buildingLabelRect = new Rect(innerRect.x, curY, innerRect.width, 12f);
|
|
||||||
string buildingLabel = $"{i+1}. {(currentProvider as Thing)?.LabelCap ?? "Unknown"}";
|
|
||||||
Widgets.Label(buildingLabelRect, buildingLabel);
|
|
||||||
curY += 12f;
|
|
||||||
|
|
||||||
// 显示第一个订单
|
|
||||||
var order = orders[0];
|
|
||||||
Rect orderRect = new Rect(innerRect.x, curY, innerRect.width, BarHeight + 14f);
|
|
||||||
DrawMultiSelectOrderItem(orderRect, order, currentProvider, i);
|
|
||||||
curY += BarHeight + 14f + Spacing;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
// 无订单状态
|
|
||||||
Text.Font = GameFont.Tiny;
|
|
||||||
Rect emptyRect = new Rect(innerRect.x, curY, innerRect.width, 20f);
|
|
||||||
GUI.color = new Color(0.7f, 0.7f, 0.7f);
|
|
||||||
Widgets.Label(emptyRect, "ARA_Status_Empty".Translate());
|
|
||||||
GUI.color = Color.white;
|
|
||||||
curY += 20f + Spacing;
|
|
||||||
}
|
|
||||||
|
|
||||||
// 添加分隔线
|
|
||||||
if (i < displayCount - 1)
|
|
||||||
{
|
|
||||||
Widgets.DrawLineHorizontal(innerRect.x, curY - Spacing/2, innerRect.width);
|
|
||||||
curY += 2f;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// 如果有更多建筑,显示提示
|
|
||||||
if (multiSelectProviders.Count > displayCount)
|
|
||||||
{
|
|
||||||
Text.Font = GameFont.Tiny;
|
|
||||||
Rect moreRect = new Rect(innerRect.x, curY, innerRect.width, 14f);
|
|
||||||
GUI.color = new Color(0.5f, 0.5f, 0.5f);
|
|
||||||
Widgets.Label(moreRect, "ARA_Gizmo_MoreBuildings".Translate(multiSelectProviders.Count - displayCount));
|
|
||||||
GUI.color = Color.white;
|
|
||||||
}
|
|
||||||
|
|
||||||
Text.Font = GameFont.Small;
|
|
||||||
return new GizmoResult(GizmoState.Clear);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void DrawMultiSelectOrderItem(Rect rect, PawnOrderDisplayInfo order, IOrderGizmoProvider provider, int index)
|
|
||||||
{
|
|
||||||
float labelHeight = 14f;
|
|
||||||
|
|
||||||
// 标签行
|
|
||||||
Text.Font = GameFont.Tiny;
|
|
||||||
Rect labelRect = new Rect(rect.x, rect.y, rect.width - 20f, labelHeight);
|
|
||||||
|
|
||||||
GUI.color = Color.white;
|
|
||||||
Widgets.Label(labelRect, $"{order.label} {order.progress.ToStringPercent("F0")}");
|
|
||||||
|
|
||||||
// 取消按钮(针对单个建筑)
|
|
||||||
Rect cancelRect = new Rect(rect.xMax - 16f, rect.y, 16f, labelHeight);
|
|
||||||
if (Widgets.ButtonText(cancelRect, "×", false))
|
|
||||||
{
|
|
||||||
provider.RemoveOrderByIndex(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
// 进度条
|
|
||||||
Rect barRect = new Rect(rect.x, rect.y + labelHeight, rect.width, BarHeight);
|
|
||||||
|
|
||||||
if (order.status == OrderStatus.Incubating)
|
|
||||||
{
|
|
||||||
// 双向进度条:品质向左,进度向右
|
|
||||||
float midX = barRect.x + barRect.width / 2f;
|
|
||||||
float halfWidth = barRect.width / 2f;
|
|
||||||
|
|
||||||
// 背景
|
|
||||||
GUI.DrawTexture(barRect, EmptyBarTex);
|
|
||||||
|
|
||||||
// 品质进度(向左)
|
|
||||||
float qualityWidth = halfWidth * order.qualityProgress;
|
|
||||||
Rect qualityRect = new Rect(midX - qualityWidth, barRect.y, qualityWidth, barRect.height);
|
|
||||||
GUI.DrawTexture(qualityRect, QualityBarTex);
|
|
||||||
|
|
||||||
// 生产进度(向右)
|
|
||||||
float progressWidth = halfWidth * order.progress;
|
|
||||||
Rect progressRect = new Rect(midX, barRect.y, progressWidth, barRect.height);
|
|
||||||
GUI.DrawTexture(progressRect, ProgressBarTex);
|
|
||||||
|
|
||||||
// 中线
|
|
||||||
Widgets.DrawLineVertical(midX, barRect.y, barRect.height);
|
|
||||||
|
|
||||||
// 百分比文字
|
|
||||||
Text.Font = GameFont.Tiny;
|
|
||||||
Text.Anchor = TextAnchor.MiddleLeft;
|
|
||||||
GUI.color = new Color(0.8f, 0.9f, 1f);
|
|
||||||
Widgets.Label(new Rect(barRect.x + 2f, barRect.y, halfWidth - 4f, barRect.height),
|
|
||||||
order.qualityProgress.ToStringPercent("F0"));
|
|
||||||
|
|
||||||
Text.Anchor = TextAnchor.MiddleRight;
|
|
||||||
GUI.color = new Color(0.8f, 1f, 0.8f);
|
|
||||||
Widgets.Label(new Rect(midX + 2f, barRect.y, halfWidth - 4f, barRect.height),
|
|
||||||
order.progress.ToStringPercent("F0"));
|
|
||||||
|
|
||||||
Text.Anchor = TextAnchor.UpperLeft;
|
|
||||||
GUI.color = Color.white;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
// 等待幼虫状态:显示等待指示
|
|
||||||
GUI.DrawTexture(barRect, EmptyBarTex);
|
|
||||||
Text.Font = GameFont.Tiny;
|
|
||||||
Text.Anchor = TextAnchor.MiddleCenter;
|
|
||||||
GUI.color = new Color(0.8f, 0.6f, 0.2f);
|
|
||||||
Widgets.Label(barRect, "ARA_Status_WaitingForLarva".Translate());
|
|
||||||
GUI.color = Color.white;
|
|
||||||
Text.Anchor = TextAnchor.UpperLeft;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private GizmoResult DrawSingleSelectGizmo(Vector2 topLeft, float maxWidth)
|
|
||||||
{
|
{
|
||||||
var orders = provider.GetOrdersForGizmo();
|
var orders = provider.GetOrdersForGizmo();
|
||||||
int orderCount = orders.Count;
|
int orderCount = orders.Count;
|
||||||
@@ -257,10 +51,10 @@ namespace ArachnaeSwarm
|
|||||||
// === 标题区域(可点击打开菜单) ===
|
// === 标题区域(可点击打开菜单) ===
|
||||||
Text.Font = GameFont.Small;
|
Text.Font = GameFont.Small;
|
||||||
Rect titleRect = new Rect(innerRect.x, curY, innerRect.width, Text.LineHeight);
|
Rect titleRect = new Rect(innerRect.x, curY, innerRect.width, Text.LineHeight);
|
||||||
|
|
||||||
string title;
|
string title;
|
||||||
bool canAdd = orderCount < provider.QueueLimit;
|
bool canAdd = orderCount < provider.QueueLimit;
|
||||||
|
|
||||||
if (orderCount > 0)
|
if (orderCount > 0)
|
||||||
{
|
{
|
||||||
// 显示第一个订单名称
|
// 显示第一个订单名称
|
||||||
@@ -279,12 +73,12 @@ namespace ArachnaeSwarm
|
|||||||
{
|
{
|
||||||
Widgets.DrawHighlight(titleRect);
|
Widgets.DrawHighlight(titleRect);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Widgets.ButtonInvisible(titleRect))
|
if (Widgets.ButtonInvisible(titleRect))
|
||||||
{
|
{
|
||||||
provider.ShowOrderMenu();
|
provider.ShowOrderMenu();
|
||||||
}
|
}
|
||||||
|
|
||||||
// 带下拉箭头的标题
|
// 带下拉箭头的标题
|
||||||
GUI.color = new Color(0.7f, 0.9f, 1f);
|
GUI.color = new Color(0.7f, 0.9f, 1f);
|
||||||
Widgets.Label(titleRect, title.Truncate(titleRect.width - 20f) + " ▼");
|
Widgets.Label(titleRect, title.Truncate(titleRect.width - 20f) + " ▼");
|
||||||
@@ -305,18 +99,18 @@ namespace ArachnaeSwarm
|
|||||||
float listHeight = Mathf.Min(visibleCount, orderCount) * itemHeight;
|
float listHeight = Mathf.Min(visibleCount, orderCount) * itemHeight;
|
||||||
float totalContentHeight = orderCount * itemHeight;
|
float totalContentHeight = orderCount * itemHeight;
|
||||||
bool needsScrollbar = orderCount > MaxVisibleOrders;
|
bool needsScrollbar = orderCount > MaxVisibleOrders;
|
||||||
|
|
||||||
float scrollbarWidth = needsScrollbar ? 12f : 0f;
|
float scrollbarWidth = needsScrollbar ? 12f : 0f;
|
||||||
Rect listRect = new Rect(innerRect.x, curY, innerRect.width - scrollbarWidth, listHeight);
|
Rect listRect = new Rect(innerRect.x, curY, innerRect.width - scrollbarWidth, listHeight);
|
||||||
Rect viewRect = new Rect(0, 0, listRect.width, totalContentHeight);
|
Rect viewRect = new Rect(0, 0, listRect.width, totalContentHeight);
|
||||||
|
|
||||||
// 滚动条区域
|
// 滚动条区域
|
||||||
if (needsScrollbar)
|
if (needsScrollbar)
|
||||||
{
|
{
|
||||||
Rect scrollbarRect = new Rect(innerRect.xMax - scrollbarWidth, curY, scrollbarWidth, listHeight);
|
Rect scrollbarRect = new Rect(innerRect.xMax - scrollbarWidth, curY, scrollbarWidth, listHeight);
|
||||||
float scrollMax = totalContentHeight - listHeight;
|
float scrollMax = totalContentHeight - listHeight;
|
||||||
provider.GizmoScrollPosition = GUI.VerticalScrollbar(scrollbarRect, provider.GizmoScrollPosition, listHeight, 0f, totalContentHeight);
|
provider.GizmoScrollPosition = GUI.VerticalScrollbar(scrollbarRect, provider.GizmoScrollPosition, listHeight, 0f, totalContentHeight);
|
||||||
|
|
||||||
// 也支持滚轮
|
// 也支持滚轮
|
||||||
if (Mouse.IsOver(listRect))
|
if (Mouse.IsOver(listRect))
|
||||||
{
|
{
|
||||||
@@ -332,7 +126,7 @@ namespace ArachnaeSwarm
|
|||||||
{
|
{
|
||||||
var order = orders[i];
|
var order = orders[i];
|
||||||
Rect itemRect = new Rect(0, drawY, listRect.width, itemHeight - Spacing);
|
Rect itemRect = new Rect(0, drawY, listRect.width, itemHeight - Spacing);
|
||||||
|
|
||||||
if (itemRect.yMax > 0 && itemRect.y < listRect.height)
|
if (itemRect.yMax > 0 && itemRect.y < listRect.height)
|
||||||
{
|
{
|
||||||
DrawOrderItem(itemRect, order, i);
|
DrawOrderItem(itemRect, order, i);
|
||||||
@@ -358,11 +152,11 @@ namespace ArachnaeSwarm
|
|||||||
private void DrawOrderItem(Rect rect, PawnOrderDisplayInfo order, int index)
|
private void DrawOrderItem(Rect rect, PawnOrderDisplayInfo order, int index)
|
||||||
{
|
{
|
||||||
float labelHeight = 14f;
|
float labelHeight = 14f;
|
||||||
|
|
||||||
// 标签行
|
// 标签行
|
||||||
Text.Font = GameFont.Tiny;
|
Text.Font = GameFont.Tiny;
|
||||||
Rect labelRect = new Rect(rect.x, rect.y, rect.width - 20f, labelHeight);
|
Rect labelRect = new Rect(rect.x, rect.y, rect.width - 20f, labelHeight);
|
||||||
|
|
||||||
if (order.status == OrderStatus.WaitingForLarva)
|
if (order.status == OrderStatus.WaitingForLarva)
|
||||||
{
|
{
|
||||||
// 整个标签区域可点击呼叫幼虫
|
// 整个标签区域可点击呼叫幼虫
|
||||||
@@ -370,12 +164,12 @@ namespace ArachnaeSwarm
|
|||||||
{
|
{
|
||||||
Widgets.DrawHighlight(labelRect);
|
Widgets.DrawHighlight(labelRect);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Widgets.ButtonInvisible(labelRect))
|
if (Widgets.ButtonInvisible(labelRect))
|
||||||
{
|
{
|
||||||
provider.CallLarvaForGizmo();
|
provider.CallLarvaForGizmo();
|
||||||
}
|
}
|
||||||
|
|
||||||
GUI.color = new Color(1f, 0.8f, 0.4f);
|
GUI.color = new Color(1f, 0.8f, 0.4f);
|
||||||
Widgets.Label(labelRect, $"{order.label} [" + "ARA_Status_WaitingForLarva".Translate() + "]");
|
Widgets.Label(labelRect, $"{order.label} [" + "ARA_Status_WaitingForLarva".Translate() + "]");
|
||||||
}
|
}
|
||||||
@@ -395,7 +189,7 @@ namespace ArachnaeSwarm
|
|||||||
|
|
||||||
// 进度条
|
// 进度条
|
||||||
Rect barRect = new Rect(rect.x, rect.y + labelHeight, rect.width, BarHeight);
|
Rect barRect = new Rect(rect.x, rect.y + labelHeight, rect.width, BarHeight);
|
||||||
|
|
||||||
if (order.status == OrderStatus.Incubating)
|
if (order.status == OrderStatus.Incubating)
|
||||||
{
|
{
|
||||||
// 双向进度条:品质向左,进度向右
|
// 双向进度条:品质向左,进度向右
|
||||||
@@ -417,24 +211,24 @@ namespace ArachnaeSwarm
|
|||||||
|
|
||||||
// 中线
|
// 中线
|
||||||
Widgets.DrawLineVertical(midX, barRect.y, barRect.height);
|
Widgets.DrawLineVertical(midX, barRect.y, barRect.height);
|
||||||
|
|
||||||
// 百分比文字(在进度条内部)
|
// 百分比文字(在进度条内部)
|
||||||
Text.Font = GameFont.Tiny;
|
Text.Font = GameFont.Tiny;
|
||||||
Text.Anchor = TextAnchor.MiddleLeft;
|
Text.Anchor = TextAnchor.MiddleLeft;
|
||||||
GUI.color = new Color(0.8f, 0.9f, 1f);
|
GUI.color = new Color(0.8f, 0.9f, 1f);
|
||||||
Widgets.Label(new Rect(barRect.x + 2f, barRect.y, halfWidth - 4f, barRect.height),
|
Widgets.Label(new Rect(barRect.x + 2f, barRect.y, halfWidth - 4f, barRect.height),
|
||||||
order.qualityProgress.ToStringPercent("F0"));
|
order.qualityProgress.ToStringPercent("F0"));
|
||||||
|
|
||||||
Text.Anchor = TextAnchor.MiddleRight;
|
Text.Anchor = TextAnchor.MiddleRight;
|
||||||
GUI.color = new Color(0.8f, 1f, 0.8f);
|
GUI.color = new Color(0.8f, 1f, 0.8f);
|
||||||
Widgets.Label(new Rect(midX + 2f, barRect.y, halfWidth - 4f, barRect.height),
|
Widgets.Label(new Rect(midX + 2f, barRect.y, halfWidth - 4f, barRect.height),
|
||||||
order.progress.ToStringPercent("F0"));
|
order.progress.ToStringPercent("F0"));
|
||||||
|
|
||||||
Text.Anchor = TextAnchor.UpperLeft;
|
Text.Anchor = TextAnchor.UpperLeft;
|
||||||
GUI.color = Color.white;
|
GUI.color = Color.white;
|
||||||
|
|
||||||
// Tooltip
|
// Tooltip
|
||||||
string tooltip = $"{order.label}\n" +
|
string tooltip = $"{order.label}\n" +
|
||||||
"ARA_Tooltip_Quality".Translate(order.qualityProgress.ToStringPercent(), order.estimatedQuality) + "\n" +
|
"ARA_Tooltip_Quality".Translate(order.qualityProgress.ToStringPercent(), order.estimatedQuality) + "\n" +
|
||||||
"ARA_Tooltip_Progress".Translate(order.progress.ToStringPercent()) + "\n" +
|
"ARA_Tooltip_Progress".Translate(order.progress.ToStringPercent()) + "\n" +
|
||||||
"ARA_Tooltip_Remaining".Translate(order.remainingTime);
|
"ARA_Tooltip_Remaining".Translate(order.remainingTime);
|
||||||
|
|||||||
@@ -14,17 +14,14 @@ namespace ArachnaeSwarm
|
|||||||
private bool checkProducerAlive = true;
|
private bool checkProducerAlive = true;
|
||||||
|
|
||||||
// 可选:是否检查生产者是否在同一地图
|
// 可选:是否检查生产者是否在同一地图
|
||||||
private bool checkSameMap = true;
|
private bool checkSameMap = false;
|
||||||
|
|
||||||
// 可选:是否检查生产者是否可到达
|
// 可选:是否检查生产者是否可到达
|
||||||
private bool checkReachable = true;
|
private bool checkReachable = false;
|
||||||
|
|
||||||
// 可选:是否检查生产者类型(pawn必须征召才跟随)
|
// 可选:是否检查生产者类型(pawn必须征召才跟随)
|
||||||
private bool checkProducerTypeConditions = true;
|
private bool checkProducerTypeConditions = true;
|
||||||
|
|
||||||
// 可选:额外条件类(可以通过XML添加额外条件)
|
|
||||||
public string extraConditionClass;
|
|
||||||
|
|
||||||
public ThinkNode_ConditionalNotProducedByMechCarrier()
|
public ThinkNode_ConditionalNotProducedByMechCarrier()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user