Files
WulaFallenEmpireRW/1.6/WVC Work Modes/Patches/05_Patches_WorkModes_Bonus.xml
Tourswen 03f326452b 翻译
2025-12-14 01:05:52 +08:00

379 lines
15 KiB
XML

<?xml version="1.0" encoding="utf-8" ?>
<Patch>
<!-- =========================================================== -->
<Operation Class="WVC_WorkModes.PatchOperation_Settings">
<settingName>WVC_EscortIfEnemyWorkAndRecharge</settingName>
<active Class="PatchOperationSequence">
<operations>
<li Class="PatchOperationInsert">
<xpath>/Defs/ThinkTreeDef[defName="WULA_AutonomousMech"]/thinkRoot/subNodes/li[@Class="WulaFallenEmpire.ThinkNode_ConditionalAutonomousMech"]/subNodes/li[@Class="ThinkNode_ConditionalNotFormingCaravan"]/subNodes/li[@Class="WulaFallenEmpire.ThinkNode_ConditionalAutonomousWorkMode"][requiredMode="Work"]</xpath>
<value>
<li Class="WulaFallenEmpire.ThinkNode_ConditionalAutonomousWorkMode">
<requiredMode>WVC_EscortIfEnemyWorkAndRecharge</requiredMode>
<subNodes>
<!-- Enemy = true -->
<li Class="WVC_WorkModes.ThinkNode_ConditionalEnemyOnMap">
<subNodes>
<li Class="WVC_WorkModes.JobGiver_SmartAIDefendOverseer" />
<li Class="WVC_WorkModes.JobGiver_SmartAIFollowOverseer"/>
<li Class="WVC_WorkModes.JobGiver_SmartAIWaitWithOverseer" />
<li Class="WVC_WorkModes.JobGiver_SmartWanderOverseer" />
</subNodes>
</li>
<!-- Enemy = false -->
<li Class="JobGiver_SeekAllowedArea" />
<li Class="JobGiver_GetEnergy_Charger" />
<li Class="JobGiver_Work">
<emergency>true</emergency>
</li>
<li Class="JobGiver_Work" />
<!-- Go to smart charge -->
<li Class="WVC_WorkModes.JobGiver_GetEnergy_Charger">
<tickInterval>625</tickInterval>
</li>
<!-- Go to spot -->
<!-- <li Class="WVC_WorkModes.JobGiver_GoToClosetShutdownSpot"> -->
<!-- <spotDefName>WVC_IOMSS_WorkAndRecharge</spotDefName> -->
<!-- <backupSpotDefName>WVC_IdleOptimization_MechanoidShutdownSpot</backupSpotDefName> -->
<!-- </li> -->
<li Class="WVC_WorkModes.JobGiver_GoToShutdownZone">
<workModeType>Work</workModeType>
<possibleRooms>
<li>WVC_MechHangar</li>
</possibleRooms>
</li>
<!-- Shutdown long -->
<li Class="WVC_WorkModes.JobGiver_GetEnergy_SelfShutdown">
<forced>true</forced>
</li>
</subNodes>
</li>
</value>
</li>
</operations>
</active>
<deActive Class="PatchOperationSequence">
<operations>
<li Class="PatchOperationRemove">
<xpath>/Defs/MechWorkModeDef[defName="WVC_EscortIfEnemyWorkAndRecharge"]</xpath>
<success>Always</success>
</li>
</operations>
</deActive>
</Operation>
<!-- =========================================================== -->
<Operation Class="WVC_WorkModes.PatchOperation_Settings">
<settingName>WVC_EscortIfDraftedOrDowned</settingName>
<active Class="PatchOperationSequence">
<operations>
<li Class="PatchOperationInsert">
<xpath>/Defs/ThinkTreeDef[defName="WULA_AutonomousMech"]/thinkRoot/subNodes/li[@Class="WulaFallenEmpire.ThinkNode_ConditionalAutonomousMech"]/subNodes/li[@Class="ThinkNode_ConditionalNotFormingCaravan"]/subNodes/li[@Class="WulaFallenEmpire.ThinkNode_ConditionalAutonomousWorkMode"][requiredMode="Work"]</xpath>
<value>
<li Class="WulaFallenEmpire.ThinkNode_ConditionalAutonomousWorkMode">
<requiredMode>WVC_EscortIfDraftedOrDowned</requiredMode>
<subNodes>
<!-- Drafted == true -->
<li Class="WVC_WorkModes.ThinkNode_ConditionalDrafted">
<subNodes>
<li Class="WVC_WorkModes.JobGiver_SmartAIDefendOverseer" />
<li Class="WVC_WorkModes.JobGiver_SmartAIFollowOverseer"/>
<li Class="WVC_WorkModes.JobGiver_SmartAIWaitWithOverseer" />
<li Class="WVC_WorkModes.JobGiver_SmartWanderOverseer" />
</subNodes>
</li>
<!-- Drafted == false -->
<!-- Downed == true -->
<li Class="WVC_WorkModes.ThinkNode_ConditionalDowned">
<subNodes>
<li Class="WVC_WorkModes.JobGiver_SmartAIDefendOverseer" />
<li Class="WVC_WorkModes.JobGiver_SmartAIFollowOverseer"/>
<li Class="JobGiver_AIFightEnemies">
<targetAcquireRadius>65</targetAcquireRadius>
<targetKeepRadius>72</targetKeepRadius>
</li>
<!-- <li Class="WVC_WorkModes.JobGiver_SmartAIWaitWithOverseer" /> -->
<li Class="WVC_WorkModes.JobGiver_SmartWanderOverseer" />
</subNodes>
</li>
<!-- Downed == false -->
<li Class="JobGiver_SeekAllowedArea" />
<li Class="JobGiver_GetEnergy_Charger" />
<!-- Go to smart charge -->
<li Class="WVC_WorkModes.JobGiver_GetEnergy_Charger">
<tickInterval>625</tickInterval>
</li>
<!-- Go to spot -->
<!-- <li Class="WVC_WorkModes.JobGiver_GoToClosetShutdownSpot"> -->
<!-- <spotDefName>WVC_IOMSS_WaitEnemy</spotDefName> -->
<!-- <backupSpotDefName>WVC_IdleOptimization_MechanoidShutdownSpot</backupSpotDefName> -->
<!-- </li> -->
<li Class="WVC_WorkModes.JobGiver_GoToShutdownZone">
<workModeType>Combat</workModeType>
<possibleRooms>
<li>WVC_MechHangar</li>
</possibleRooms>
</li>
<!-- Shutdown long -->
<li Class="WVC_WorkModes.JobGiver_GetEnergy_SelfShutdown">
<forced>true</forced>
</li>
</subNodes>
</li>
</value>
</li>
</operations>
</active>
<deActive Class="PatchOperationSequence">
<operations>
<li Class="PatchOperationRemove">
<xpath>/Defs/MechWorkModeDef[defName="WVC_EscortIfDraftedOrDowned"]</xpath>
<success>Always</success>
</li>
</operations>
</deActive>
</Operation>
<!-- =========================================================== -->
<Operation Class="WVC_WorkModes.PatchOperation_Settings">
<settingName>WVC_HiveMindResearching</settingName>
<active Class="PatchOperationSequence">
<operations>
<li Class="PatchOperationInsert">
<xpath>/Defs/ThinkTreeDef[defName="WULA_AutonomousMech"]/thinkRoot/subNodes/li[@Class="WulaFallenEmpire.ThinkNode_ConditionalAutonomousMech"]/subNodes/li[@Class="ThinkNode_ConditionalNotFormingCaravan"]/subNodes/li[@Class="WulaFallenEmpire.ThinkNode_ConditionalAutonomousWorkMode"][requiredMode="Work"]</xpath>
<value>
<li Class="WulaFallenEmpire.ThinkNode_ConditionalAutonomousWorkMode">
<requiredMode>WVC_HiveMindResearching</requiredMode>
<subNodes>
<!-- <li Class="WVC_WorkModes.ThinkNode_ConditionalResearchProjects"> -->
<!-- <invert>true</invert> -->
<!-- <allOfResearchProjects> -->
<!-- <li>WVC_WorkModes_HiveMindResearch</li> -->
<!-- </allOfResearchProjects> -->
<!-- <subNodes> -->
<!-- <li Class="WVC_WorkModes.JobGiver_ChangeMode"> -->
<!-- <workMode>Work</workMode> -->
<!-- </li> -->
<!-- </subNodes> -->
<!-- </li> -->
<!-- <li Class="WVC_WorkModes.ThinkNode_ConditionalWorkModesWithResearchRequirement"> -->
<!-- <workMode>Work</workMode> -->
<!-- <workModeResearchRequirementDefs> -->
<!-- <li>WVC_WorkModes_HiveMindResearch</li> -->
<!-- </workModeResearchRequirementDefs> -->
<!-- </li> -->
<!-- Find Enemy -->
<li Class="WVC_WorkModes.ThinkNode_ConditionalEnemyOnMap">
<subNodes>
<!-- If Danger -->
<!-- <li Class="WVC_WorkModes.JobGiver_GoToClosetShutdownSpot"> -->
<!-- <spotDefName>WVC_IOMSS_TotallySafeSpot</spotDefName> -->
<!-- <backupSpotDefName>WVC_IdleOptimization_MechanoidShutdownSpot</backupSpotDefName> -->
<!-- </li> -->
<li Class="WVC_WorkModes.JobGiver_GoToShutdownZone">
<workModeType>Safe</workModeType>
<possibleRooms>
<li>WVC_MechHangar</li>
</possibleRooms>
</li>
<li Class="WVC_WorkModes.JobGiver_GetEnergy_SelfShutdown">
<tickInterval>1500</tickInterval>
<forced>true</forced>
</li>
</subNodes>
</li>
<!-- If Safe -->
<li Class="JobGiver_SeekAllowedArea" />
<li Class="JobGiver_GetEnergy_Charger" />
<li Class="WVC_WorkModes.ThinkNode_ConditionalCanRepair">
<subNodes>
<li Class="WVC_WorkModes.JobGiver_GoToShutdownZone">
<workModeType>Safe</workModeType>
<possibleRooms>
<li>WVC_MechHangar</li>
</possibleRooms>
</li>
<!-- Very-very long shutdown -->
<li Class="WVC_WorkModes.JobGiver_GetEnergy_SelfShutdown">
<tickInterval>6000</tickInterval>
<forced>true</forced>
</li>
</subNodes>
</li>
<li Class="WVC_WorkModes.JobGiver_MechDoResearch">
<statDef>BandwidthCost</statDef>
<researchAmount>10</researchAmount>
</li>
<li Class="JobGiver_WanderColony">
<maxDanger>Deadly</maxDanger>
<locomotionUrgency>Amble</locomotionUrgency>
<reportStringOverride>Researching.</reportStringOverride>
</li>
</subNodes>
</li>
</value>
</li>
</operations>
</active>
<deActive Class="PatchOperationSequence">
<operations>
<li Class="PatchOperationRemove">
<xpath>/Defs/MechWorkModeDef[defName="WVC_HiveMindResearching"]</xpath>
<success>Always</success>
</li>
<li Class="PatchOperationRemove">
<xpath>/Defs/ResearchProjectDef[defName="WVC_WorkModes_HiveMindResearch"]</xpath>
<success>Always</success>
</li>
<li Class="PatchOperationRemove">
<xpath>/Defs/WVC_WorkModes.WorkModeResearchRequirementDef[defName="WVC_WorkModes_HiveMindResearch"]</xpath>
<success>Always</success>
</li>
</operations>
</deActive>
</Operation>
<!-- =========================================================== -->
<Operation Class="WVC_WorkModes.PatchOperation_Settings">
<settingName>WVC_Scavenging</settingName>
<active Class="PatchOperationSequence">
<operations>
<li Class="PatchOperationInsert">
<xpath>/Defs/ThinkTreeDef[defName="WULA_AutonomousMech"]/thinkRoot/subNodes/li[@Class="WulaFallenEmpire.ThinkNode_ConditionalAutonomousMech"]/subNodes/li[@Class="ThinkNode_ConditionalNotFormingCaravan"]/subNodes/li[@Class="WulaFallenEmpire.ThinkNode_ConditionalAutonomousWorkMode"][requiredMode="Work"]</xpath>
<value>
<li Class="WulaFallenEmpire.ThinkNode_ConditionalAutonomousWorkMode">
<requiredMode>WVC_Scavenging</requiredMode>
<subNodes>
<!-- <li Class="WVC_WorkModes.ThinkNode_ConditionalResearchProjects"> -->
<!-- <invert>true</invert> -->
<!-- <allOfResearchProjects> -->
<!-- <li>WVC_WorkModes_Scavenging</li> -->
<!-- </allOfResearchProjects> -->
<!-- <subNodes> -->
<!-- <li Class="WVC_WorkModes.JobGiver_ChangeMode"> -->
<!-- <workMode>Work</workMode> -->
<!-- </li> -->
<!-- </subNodes> -->
<!-- </li> -->
<!-- <li Class="WVC_WorkModes.ThinkNode_ConditionalWorkModesWithResearchRequirement"> -->
<!-- <workMode>Work</workMode> -->
<!-- <workModeResearchRequirementDefs> -->
<!-- <li>WVC_WorkModes_Scavenging</li> -->
<!-- </workModeResearchRequirementDefs> -->
<!-- </li> -->
<!-- Find Enemy -->
<li Class="WVC_WorkModes.ThinkNode_ConditionalEnemyOnMap">
<subNodes>
<!-- If Danger -->
<!-- <li Class="WVC_WorkModes.JobGiver_GoToClosetShutdownSpot"> -->
<!-- <spotDefName>WVC_IOMSS_TotallySafeSpot</spotDefName> -->
<!-- <backupSpotDefName>WVC_IdleOptimization_MechanoidShutdownSpot</backupSpotDefName> -->
<!-- </li> -->
<li Class="WVC_WorkModes.JobGiver_GoToShutdownZone">
<workModeType>Safe</workModeType>
<possibleRooms>
<li>WVC_MechHangar</li>
</possibleRooms>
</li>
<li Class="WVC_WorkModes.JobGiver_GetEnergy_SelfShutdown">
<tickInterval>1500</tickInterval>
<forced>true</forced>
</li>
</subNodes>
</li>
<!-- If Safe -->
<li Class="JobGiver_SeekAllowedArea" />
<li Class="JobGiver_GetEnergy_Charger" />
<li Class="WVC_WorkModes.ThinkNode_ConditionalCanRepair">
<subNodes>
<li Class="WVC_WorkModes.JobGiver_GoToShutdownZone">
<workModeType>Safe</workModeType>
<possibleRooms>
<li>WVC_MechHangar</li>
</possibleRooms>
</li>
<!-- Very-very long shutdown -->
<li Class="WVC_WorkModes.JobGiver_GetEnergy_SelfShutdown">
<tickInterval>6000</tickInterval>
<forced>true</forced>
</li>
</subNodes>
</li>
<!-- Scavenge -->
<li Class="WVC_WorkModes.ThinkNode_ConditionalAnyScavengeZone">
<subNodes>
<li Class="WVC_WorkModes.JobGiver_GoToScavengeZone"/>
<li Class="WVC_WorkModes.JobGiver_ScavengeSpawner">
<statDef>WorkSpeedGlobal</statDef>
<chanceToSuccess>0.02</chanceToSuccess>
<productDefs>
<li>
<productDef>Steel</productDef>
<productCount>1~3</productCount>
<selectionWeight>1.2</selectionWeight>
</li>
<li>
<productDef>WoodLog</productDef>
<productCount>1~2</productCount>
<selectionWeight>0.77</selectionWeight>
</li>
<li>
<productDef>Plasteel</productDef>
<productCount>1~2</productCount>
<selectionWeight>0.18</selectionWeight>
</li>
<li>
<productDef>Silver</productDef>
<productCount>1~3</productCount>
<selectionWeight>0.03</selectionWeight>
</li>
<li>
<productDef>Gold</productDef>
<productCount>1~2</productCount>
<selectionWeight>0.03</selectionWeight>
</li>
<li>
<productDef>ComponentIndustrial</productDef>
<productCount>1~2</productCount>
<selectionWeight>0.02</selectionWeight>
</li>
</productDefs>
</li>
<li Class="WVC_WorkModes.JobGiver_WanderScavenge">
<maxDanger>Deadly</maxDanger>
<locomotionUrgency>Amble</locomotionUrgency>
<reportStringOverride>Scavenging.</reportStringOverride>
</li>
</subNodes>
</li>
</subNodes>
</li>
</value>
</li>
</operations>
</active>
<deActive Class="PatchOperationSequence">
<operations>
<li Class="PatchOperationRemove">
<xpath>/Defs/MechWorkModeDef[defName="WVC_Scavenging"]</xpath>
<success>Always</success>
</li>
<li Class="PatchOperationRemove">
<xpath>/Defs/ResearchProjectDef[defName="WVC_WorkModes_Scavenging"]</xpath>
<success>Always</success>
</li>
<li Class="PatchOperationRemove">
<xpath>/Defs/WVC_WorkModes.WorkModeResearchRequirementDef[defName="WVC_WorkModes_Scavenging"]</xpath>
<success>Always</success>
</li>
</operations>
</deActive>
</Operation>
</Patch>