379 lines
15 KiB
XML
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>
|