Merge branch 'mechworkproxy' into animalwork
# Conflicts: # 1.6/1.6/Assemblies/ArachnaeSwarm.dll
This commit is contained in:
@@ -135,7 +135,7 @@
|
||||
<armorPenetrationBase>0.1</armorPenetrationBase>
|
||||
<stoppingPower>1</stoppingPower>
|
||||
<shadowSize>0</shadowSize>
|
||||
<spawnTerrain>InsectSludge</spawnTerrain>
|
||||
<spawnTerrain>ARA_InsectSludge</spawnTerrain>
|
||||
<terrainChance>0.75</terrainChance>
|
||||
<filth>Filth_Slime</filth>
|
||||
<filthCount>1</filthCount>
|
||||
|
||||
@@ -27,8 +27,8 @@
|
||||
</AlienRace.AlienBackstoryDef>
|
||||
<AlienRace.AlienBackstoryDef ParentName="ARA_BaseBackStory">
|
||||
<defName>Arachnae_Queen_BS_Adult_1</defName>
|
||||
<title>王道征途</title>
|
||||
<titleShort>王道征途</titleShort>
|
||||
<title>见习女皇</title>
|
||||
<titleShort>见习女皇</titleShort>
|
||||
<description>[PAWN_nameDef]顺利地在虫巢中长大后,她离开了生养她的巢穴并来到一片陌生的地域,着手准备建立自己的势力。\n\n[PAWN_nameDef]知道自己势单力薄,比起其他娇生惯养的姐妹,她在很多事情上更愿意亲力亲为。</description>
|
||||
<slot>Adulthood</slot>
|
||||
<skillGains>
|
||||
@@ -47,9 +47,9 @@
|
||||
|
||||
<AlienRace.AlienBackstoryDef ParentName="ARA_BaseBackStory">
|
||||
<defName>Arachnae_Node_BS_Child_1</defName>
|
||||
<title>阿拉克涅虫族</title>
|
||||
<titleShort>阿拉克涅虫族</titleShort>
|
||||
<description>[PAWN_nameDef]是一只阿拉克涅虫族。</description>
|
||||
<title>阿拉克涅督虫</title>
|
||||
<titleShort>督虫</titleShort>
|
||||
<description>[PAWN_nameDef]是一只阿拉克涅督虫——这个种姓的阿拉克涅虫族是虫巢的中坚力量,服从于女皇种的指挥的同时,也指挥着麾下的辅虫。她们从诞生之初便肩负着不同的使命,并且在较短的寿命中尽心尽力地服侍虫群。</description>
|
||||
<slot>Childhood</slot>
|
||||
|
||||
<spawnCategories>
|
||||
@@ -62,16 +62,15 @@
|
||||
|
||||
<requiresSpawnCategory>true</requiresSpawnCategory>
|
||||
</AlienRace.AlienBackstoryDef>
|
||||
|
||||
<AlienRace.AlienBackstoryDef ParentName="ARA_BaseBackStory">
|
||||
<defName>Arachnae_Node_BS_Adult_1</defName>
|
||||
<title>阿拉克涅督虫种</title>
|
||||
<titleShort>阿拉克涅督虫种</titleShort>
|
||||
<description>[PAWN_nameDef]是一只阿拉克涅督虫种。</description>
|
||||
<defName>Arachnae_Node_BS_Adult_Myrmecocystus</defName>
|
||||
<title>阿拉克涅蜜罐种</title>
|
||||
<titleShort>蜜罐种</titleShort>
|
||||
<description>[PAWN_nameDef]是一只阿拉克涅蜜罐种督虫。基因的选择性表达使其长出了肿胀的囊袋和复杂的口器,这使得她可以吞噬那些未经过处理的尸体和各种杂食,并通过消化器官将其转变为阿拉克涅虫蜜以供其他虫族食用。\n\n[PAWN_nameDef]在战斗中并不是一个值得正视的对手,她虽然可以将胃酸喷出以抵抗近距离的来访者,但是自身没有可以接入武装器官的副肢,脆弱臃肿的特性也决定了她几乎无法躲开任何攻击。</description>
|
||||
<slot>Adulthood</slot>
|
||||
|
||||
<spawnCategories>
|
||||
<li>ArachnaeNode_spawnCategoriesB</li>
|
||||
<li>ArachnaeNode_spawnCategories_Myrmecocystus</li>
|
||||
</spawnCategories>
|
||||
</AlienRace.AlienBackstoryDef>
|
||||
</Defs>
|
||||
@@ -2,8 +2,8 @@
|
||||
<Defs>
|
||||
<HediffDef>
|
||||
<defName>ARA_AcidCoverd</defName>
|
||||
<label>阿拉克涅虫液</label>
|
||||
<description>一支拥有酸囊的阿拉克涅虫族向此人喷射了强酸,沾染的强酸将使得此人痛不欲生,盔甲和表皮软化,并持续灼烧它的身体。</description>
|
||||
<label>阿拉克涅酸液</label>
|
||||
<description>一支拥有酸囊的阿拉克涅虫族向此人喷射了强酸,沾染的液体将使得此人痛不欲生,盔甲和表皮软化,并持续灼烧它的身体。</description>
|
||||
<defaultLabelColor>(1, 1, 0.8)</defaultLabelColor>
|
||||
<hediffClass>ArachnaeSwarm.HediffCurseFlame</hediffClass>
|
||||
<comps>
|
||||
@@ -18,7 +18,7 @@
|
||||
<modExtensions>
|
||||
<li Class="ArachnaeSwarm.CurseFlameModExt">
|
||||
<damageDefName>AcidBurn</damageDefName>
|
||||
<damageRange>1~5</damageRange>
|
||||
<damageRange>1~2</damageRange>
|
||||
<damageIntervalTicks>40</damageIntervalTicks>
|
||||
</li>
|
||||
</modExtensions>
|
||||
|
||||
@@ -14,6 +14,16 @@
|
||||
<label>连接至 {0} 个虫群工蜂</label>
|
||||
<minSeverity>0</minSeverity>
|
||||
<!-- Stat offsets will be added here later -->
|
||||
<disablesNeeds>
|
||||
<li>Joy</li>
|
||||
<li>Beauty</li>
|
||||
<li>Comfort</li>
|
||||
<li>Outdoors</li>
|
||||
<li>Chemical_Alcohol</li>
|
||||
</disablesNeeds>
|
||||
<enablesNeeds>
|
||||
<li>Indoors</li>
|
||||
</enablesNeeds>
|
||||
</li>
|
||||
</stages>
|
||||
</HediffDef>
|
||||
|
||||
@@ -100,7 +100,7 @@
|
||||
</PawnKindDef>
|
||||
<PawnKindDef Name="ArachnaeNodeA_Colonist" ParentName="ArachnaeNodeABasePawnKind">
|
||||
<defName>ArachnaeNode_Race_Myrmecocystus</defName>
|
||||
<label>阿拉克涅督虫种</label>
|
||||
<label>阿拉克涅蜜罐种</label>
|
||||
<race>ArachnaeNode_Race_Myrmecocystus</race>
|
||||
<defaultFactionType>PlayerColony</defaultFactionType>
|
||||
<invNutrition>2.55</invNutrition>
|
||||
@@ -108,7 +108,7 @@
|
||||
<li>
|
||||
<categories>
|
||||
<li>ArachnaeNode_spawnCategoriesA</li>
|
||||
<li>ArachnaeNode_spawnCategoriesB</li>
|
||||
<li>ArachnaeNode_spawnCategories_Myrmecocystus</li>
|
||||
</categories>
|
||||
</li>
|
||||
</backstoryFiltersOverride>
|
||||
|
||||
@@ -67,6 +67,7 @@
|
||||
</li>
|
||||
</tools>
|
||||
<race>
|
||||
<thinkTreeMain>ARA_InsectWorker</thinkTreeMain>
|
||||
<body>BeetleLikeWithClaw</body>
|
||||
<thinkTreeMain>ARA_Insect_WithPlanting</thinkTreeMain>
|
||||
<baseHungerRate>0.25</baseHungerRate>
|
||||
@@ -102,7 +103,26 @@
|
||||
<deathAction Class="DeathActionProperties_Vanish">
|
||||
<workerClass>DeathActionWorker_Vanish</workerClass>
|
||||
</deathAction>
|
||||
<mechEnabledWorkTypes Inherit="False">
|
||||
<li>Hauling</li>
|
||||
<li>Mining</li>
|
||||
<li>Construction</li>
|
||||
<li>Crafting</li>
|
||||
<li>Smithing</li>
|
||||
<li>Tailoring</li>
|
||||
<li>Cooking</li>
|
||||
<li>Research</li>
|
||||
<li>PlantCutting</li>
|
||||
<li>Growing</li>
|
||||
<li>Cleaning</li>
|
||||
<li>Doctor</li>
|
||||
<li>Firefighter</li>
|
||||
</mechEnabledWorkTypes>
|
||||
<mechFixedSkillLevel>10</mechFixedSkillLevel>
|
||||
</race>
|
||||
<comps>
|
||||
<li Class="ArachnaeSwarm.CompProperties_WorkForNonMechs"/>
|
||||
</comps>
|
||||
<tradeTags>
|
||||
<li>AnimalInsect</li>
|
||||
</tradeTags>
|
||||
|
||||
@@ -242,7 +242,7 @@
|
||||
<!-- 手术继承自人类 -->
|
||||
<humanRecipeImport>false</humanRecipeImport>
|
||||
<!-- 睡觉定义 -->
|
||||
<canLayDown>true</canLayDown>
|
||||
<canLayDown>false</canLayDown>
|
||||
<!-- 各种零件定义 -->
|
||||
<alienPartGenerator Inherit="False">
|
||||
<!-- 允许的头部 -->
|
||||
|
||||
@@ -3,18 +3,18 @@
|
||||
<ThingDef ParentName="OrganicProductBase">
|
||||
<defName>ARA_InsectJelly</defName>
|
||||
<label>阿拉克涅虫蜜</label>
|
||||
<description>由虫族储存和用作食物的果冻。它顺滑、浓郁,能满足食用者的娱乐需求。由于其独特的生物特性,它几乎可以滋养任何生物,永不腐烂。</description>
|
||||
<possessionCount>10</possessionCount>
|
||||
<description>由阿拉克涅虫族储存和用作食物的果冻。它顺滑、浓郁、永不腐烂,能满足食用者的娱乐需求。由于其独特的生物特性,非阿拉克涅虫族也可以食用这种食物,并且不会引起食物中毒。</description>
|
||||
<possessionCount>20</possessionCount>
|
||||
<graphicData>
|
||||
<texPath>Things/Item/Resource/AnimalProductRaw/InsectJelly</texPath>
|
||||
<graphicClass>Graphic_StackCount</graphicClass>
|
||||
</graphicData>
|
||||
<socialPropernessMatters>true</socialPropernessMatters>
|
||||
<statBases>
|
||||
<MarketValue>8.0</MarketValue>
|
||||
<MarketValue>5.0</MarketValue>
|
||||
<Mass>0.025</Mass>
|
||||
<Nutrition>0.1</Nutrition>
|
||||
<FoodPoisonChanceFixedHuman>0.02</FoodPoisonChanceFixedHuman>
|
||||
<FoodPoisonChanceFixedHuman>0</FoodPoisonChanceFixedHuman>
|
||||
</statBases>
|
||||
<ingestible>
|
||||
<foodType>AnimalProduct</foodType>
|
||||
|
||||
84
1.6/1.6/Defs/Thing_building/ARA_Building.xml
Normal file
84
1.6/1.6/Defs/Thing_building/ARA_Building.xml
Normal file
@@ -0,0 +1,84 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<Defs>
|
||||
<TerrainDef ParentName="FloorBase">
|
||||
<defName>ARA_InsectSludge</defName>
|
||||
<label>阿拉克涅菌毯</label>
|
||||
<description>由阿拉克涅虫族所铺设的由真菌和分泌物混合得到的地面,清洁速度很快,但是对其他种族来说不太好看。</description>
|
||||
<designationCategory>Floors</designationCategory>
|
||||
<texturePath>Terrain/Surfaces/InsectSludge</texturePath>
|
||||
<pollutionShaderType MayRequire="Ludeon.RimWorld.Biotech">TerrainFadeRoughLinearBurn</pollutionShaderType>
|
||||
<pollutionOverlayTexturePath>Terrain/Surfaces/PollutionMud</pollutionOverlayTexturePath>
|
||||
<pollutionColor>(1, 1, 1, 1)</pollutionColor>
|
||||
<edgeType>FadeRough</edgeType>
|
||||
<resourcesFractionWhenDeconstructed>0</resourcesFractionWhenDeconstructed>
|
||||
<renderPrecedence>330</renderPrecedence>
|
||||
<pathCost>0</pathCost>
|
||||
<generatedFilth>Filth_Slime</generatedFilth>
|
||||
<filthAcceptanceMask>
|
||||
<li>Unnatural</li>
|
||||
</filthAcceptanceMask>
|
||||
<natural>true</natural>
|
||||
<fertility>0</fertility>
|
||||
<takeFootprints>True</takeFootprints>
|
||||
<avoidWander>false</avoidWander>
|
||||
<statBases>
|
||||
<Beauty>-6</Beauty>
|
||||
<CleaningTimeFactor>0.25</CleaningTimeFactor>
|
||||
<Cleanliness>0</Cleanliness>
|
||||
<Flammability>0.2</Flammability>
|
||||
</statBases>
|
||||
<!-- <tags>
|
||||
<li>Insect</li>
|
||||
</tags> -->
|
||||
</TerrainDef>
|
||||
<ThingDef ParentName="Wall">
|
||||
<defName>ARA_InsectWall</defName>
|
||||
<label>堆积山岩</label>
|
||||
<description>阿拉克涅工蜂将硬质岩石堆起来形成的墙壁,非常坚硬并且不会花费材料,就是看起来不太美观。</description>
|
||||
<uiOrder>1800</uiOrder>
|
||||
<uiIconPath>Wula/Building/Linked/WULA_Fortress_Wall_MenuIcon</uiIconPath>
|
||||
<graphicData>
|
||||
<texPath>ArachnaeSwarm/Building/ARA_InsectWall</texPath>
|
||||
<graphicClass>Graphic_Single</graphicClass>
|
||||
<shaderType>CutoutComplex</shaderType>
|
||||
</graphicData>
|
||||
<designationCategory>Structure</designationCategory>
|
||||
<mineable>true</mineable>
|
||||
<blockLight>true</blockLight>
|
||||
<statBases>
|
||||
<MarketValue>0</MarketValue>
|
||||
<Beauty>-6</Beauty>
|
||||
<MaxHitPoints>1000</MaxHitPoints>
|
||||
<WorkToBuild>1500</WorkToBuild>
|
||||
<Flammability>0</Flammability>
|
||||
<Cleanliness>0</Cleanliness>
|
||||
</statBases>
|
||||
<building>
|
||||
<isAirtight>true</isAirtight>
|
||||
<isNaturalRock>true</isNaturalRock>
|
||||
</building>
|
||||
<terrainAffordanceNeeded>Heavy</terrainAffordanceNeeded>
|
||||
<costStuffCount>0</costStuffCount>
|
||||
<stuffCategories Inherit="False"/>
|
||||
<!-- <placeWorkers>
|
||||
<li>PlaceWorker_OnSubstructure</li>
|
||||
</placeWorkers> -->
|
||||
<damageMultipliers Inherit="False">
|
||||
<li>
|
||||
<damageDef>Bomb</damageDef>
|
||||
<multiplier>0.1</multiplier>
|
||||
</li>
|
||||
<li>
|
||||
<damageDef>Thump</damageDef>
|
||||
<multiplier>0.1</multiplier>
|
||||
</li>
|
||||
</damageMultipliers>
|
||||
<comps>
|
||||
<li Class="ArachnaeSwarm.CompProperties_DelayedTerrainSpawn">
|
||||
<delayTicks>60</delayTicks> <!-- 60 ticks = 1 second -->
|
||||
<terrainToSpawn>ARA_InsectSludge</terrainToSpawn>
|
||||
<spawnRadius>1.35</spawnRadius>
|
||||
</li>
|
||||
</comps>
|
||||
</ThingDef>
|
||||
</Defs>
|
||||
@@ -3,7 +3,7 @@
|
||||
<ThingDef ParentName="BuildingNaturalBase">
|
||||
<defName>ARA_InteractiveEggSac</defName>
|
||||
<label>阿拉克涅虫卵囊-休眠中</label>
|
||||
<description>一个脆弱、易燃、黏滑的囊状物,是阿拉克涅女皇种所诞之卵,内含哺育一只新督虫所需的营养和遗传物质——可以通过阿拉克涅女皇种的交互完成激活进程。</description>
|
||||
<description>一个脆弱、易燃、黏滑的囊状物,是阿拉克涅女皇种所诞之卵,内含哺育一只新督虫所需的营养和遗传物质,可以通过阿拉克涅女皇种的交互完成激活进程——参阅虫卵的具体信息,了解各个督虫的特点。</description>
|
||||
<thingClass>Building</thingClass>
|
||||
<descriptionHyperlinks>
|
||||
<ThingDef>ArachnaeNode_Race_Myrmecocystus</ThingDef>
|
||||
@@ -96,38 +96,5 @@
|
||||
<spawnRadius>4.6</spawnRadius>
|
||||
</li>
|
||||
</comps>
|
||||
|
||||
</ThingDef>
|
||||
|
||||
<TerrainDef ParentName="FloorBase">
|
||||
<defName>ARA_InsectSludge</defName>
|
||||
<label>阿拉克涅菌毯</label>
|
||||
<description>由阿拉克涅虫族所铺设的由真菌和分泌物混合得到的地面,清洁速度很快,但是对其他种族来说不太好看。</description>
|
||||
<designationCategory>Floors</designationCategory>
|
||||
<texturePath>Terrain/Surfaces/InsectSludge</texturePath>
|
||||
<pollutionShaderType MayRequire="Ludeon.RimWorld.Biotech">TerrainFadeRoughLinearBurn</pollutionShaderType>
|
||||
<pollutionOverlayTexturePath>Terrain/Surfaces/PollutionMud</pollutionOverlayTexturePath>
|
||||
<pollutionColor>(1, 1, 1, 1)</pollutionColor>
|
||||
<edgeType>FadeRough</edgeType>
|
||||
<resourcesFractionWhenDeconstructed>0</resourcesFractionWhenDeconstructed>
|
||||
<renderPrecedence>330</renderPrecedence>
|
||||
<pathCost>0</pathCost>
|
||||
<generatedFilth>Filth_Slime</generatedFilth>
|
||||
<filthAcceptanceMask>
|
||||
<li>Unnatural</li>
|
||||
</filthAcceptanceMask>
|
||||
<natural>true</natural>
|
||||
<fertility>0</fertility>
|
||||
<takeFootprints>True</takeFootprints>
|
||||
<avoidWander>false</avoidWander>
|
||||
<statBases>
|
||||
<Beauty>-6</Beauty>
|
||||
<CleaningTimeFactor>0.25</CleaningTimeFactor>
|
||||
<Cleanliness>0</Cleanliness>
|
||||
<Flammability>0.2</Flammability>
|
||||
</statBases>
|
||||
<!-- <tags>
|
||||
<li>Insect</li>
|
||||
</tags> -->
|
||||
</TerrainDef>
|
||||
</Defs>
|
||||
444
1.6/1.6/Defs/ThinkTreeDefs/ARA_AnimalWorkThinkTrees.xml
Normal file
444
1.6/1.6/Defs/ThinkTreeDefs/ARA_AnimalWorkThinkTrees.xml
Normal file
@@ -0,0 +1,444 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<Defs>
|
||||
<ThinkTreeDef>
|
||||
<defName>ARA_InsectWorker</defName>
|
||||
<thinkRoot Class="ThinkNode_Priority">
|
||||
<subNodes>
|
||||
<!-- Keep lying down if we have to -->
|
||||
<li Class="ThinkNode_ConditionalMustKeepLyingDown">
|
||||
<subNodes>
|
||||
<!-- Do a queued job if possible -->
|
||||
<li Class="ThinkNode_QueuedJob">
|
||||
<inBedOnly>true</inBedOnly>
|
||||
</li>
|
||||
|
||||
<!-- Keep lying down -->
|
||||
<li Class="JobGiver_KeepLyingDown"/>
|
||||
</subNodes>
|
||||
</li>
|
||||
|
||||
<li Class="ThinkNode_Subtree">
|
||||
<treeDef>Downed</treeDef>
|
||||
</li>
|
||||
<li Class="ThinkNode_Subtree">
|
||||
<treeDef>BurningResponse</treeDef>
|
||||
</li>
|
||||
<li Class="ThinkNode_Subtree">
|
||||
<treeDef>MentalStateCritical</treeDef>
|
||||
</li>
|
||||
|
||||
<!-- React to close melee threat -->
|
||||
<li Class="JobGiver_ReactToCloseMeleeThreat"/>
|
||||
|
||||
<!-- Do a queued job -->
|
||||
<li Class="ThinkNode_QueuedJob"/>
|
||||
|
||||
<!-- Wild insects dig out if no path to map edge and starving -->
|
||||
<li Class="ThinkNode_ConditionalHasFaction">
|
||||
<invert>true</invert>
|
||||
<subNodes>
|
||||
<li Class="ThinkNode_ConditionalStarving">
|
||||
<subNodes>
|
||||
<li Class="ThinkNode_ConditionalBodySize">
|
||||
<min>0.7</min>
|
||||
<subNodes>
|
||||
<li Class="ThinkNode_Subtree">
|
||||
<treeDef>DigOutIfCannotReachMapEdge</treeDef>
|
||||
</li>
|
||||
</subNodes>
|
||||
</li>
|
||||
</subNodes>
|
||||
</li>
|
||||
</subNodes>
|
||||
</li>
|
||||
|
||||
<!-- Leave if timed out -->
|
||||
<li Class="ThinkNode_ConditionalExitTimedOut">
|
||||
<subNodes>
|
||||
<li Class="ThinkNode_Tagger">
|
||||
<tagToGive>Misc</tagToGive>
|
||||
<subNodes>
|
||||
<li Class="JobGiver_ExitMapRandom">
|
||||
<defaultLocomotion>Walk</defaultLocomotion>
|
||||
</li>
|
||||
</subNodes>
|
||||
</li>
|
||||
</subNodes>
|
||||
</li>
|
||||
|
||||
<!-- Mental state non critical -->
|
||||
<li Class="ThinkNode_Subtree">
|
||||
<treeDef>MentalStateNonCritical</treeDef>
|
||||
</li>
|
||||
|
||||
<!-- Forced goto -->
|
||||
<li Class="ThinkNode_ConditionalForcedGoto">
|
||||
<subNodes>
|
||||
<li Class="ThinkNode_Tagger">
|
||||
<tagToGive>Misc</tagToGive>
|
||||
<subNodes>
|
||||
<li Class="JobGiver_ForcedGoto"/>
|
||||
</subNodes>
|
||||
</li>
|
||||
</subNodes>
|
||||
</li>
|
||||
|
||||
<!-- Behavior when roped -->
|
||||
<li Class="ThinkNode_Subtree">
|
||||
<treeDef>RopedPawn</treeDef>
|
||||
</li>
|
||||
|
||||
<!-- Lord directives -->
|
||||
<li Class="ThinkNode_Subtree">
|
||||
<treeDef>LordDuty</treeDef>
|
||||
</li>
|
||||
|
||||
<!-- Insertion hook for modders -->
|
||||
<li Class="ThinkNode_SubtreesByTag">
|
||||
<insertTag>Animal_PreMain</insertTag>
|
||||
</li>
|
||||
<li Class="ThinkNode_SubtreesByTag">
|
||||
<insertTag>Insect_PreMain</insertTag>
|
||||
</li>
|
||||
|
||||
<li Class="ThinkNode_ConditionalHasFaction">
|
||||
<invert>true</invert>
|
||||
<subNodes>
|
||||
<!-- Wild insects with no lord will fight nearby enemies -->
|
||||
<li Class="JobGiver_AIFightEnemies">
|
||||
<targetAcquireRadius>30</targetAcquireRadius> <!-- Same as DefendAndExpandHive -->
|
||||
<targetKeepRadius>35</targetKeepRadius>
|
||||
</li>
|
||||
|
||||
<!-- Wild insects leave map in some conditions -->
|
||||
<li Class="ThinkNode_Subtree">
|
||||
<treeDef>LeaveIfWrongSeason</treeDef>
|
||||
</li>
|
||||
<li Class="ThinkNode_Subtree">
|
||||
<treeDef>LeaveIfStarving</treeDef>
|
||||
</li>
|
||||
|
||||
<!-- Wild insects randomly leave map -->
|
||||
<li Class="ThinkNode_ChancePerHour_Constant">
|
||||
<mtbDays>60</mtbDays>
|
||||
<subNodes>
|
||||
<li Class="ThinkNode_Tagger">
|
||||
<tagToGive>Misc</tagToGive>
|
||||
<subNodes>
|
||||
<li Class="JobGiver_ExitMapRandom">
|
||||
<defaultLocomotion>Walk</defaultLocomotion>
|
||||
</li>
|
||||
</subNodes>
|
||||
</li>
|
||||
</subNodes>
|
||||
</li>
|
||||
</subNodes>
|
||||
</li>
|
||||
|
||||
<!-- Insects of a faction that's not the players without a lord leave randomly -->
|
||||
<li Class="ThinkNode_ConditionalOfPlayerFaction">
|
||||
<invert>true</invert>
|
||||
<subNodes>
|
||||
<li Class="ThinkNode_ConditionalHasFaction">
|
||||
<subNodes>
|
||||
<li Class="ThinkNode_ConditionalNoLord">
|
||||
<subNodes>
|
||||
<li Class="ThinkNode_ChancePerHour_Constant">
|
||||
<mtbDays>60</mtbDays>
|
||||
<subNodes>
|
||||
<li Class="ThinkNode_Tagger">
|
||||
<tagToGive>Misc</tagToGive>
|
||||
<subNodes>
|
||||
<li Class="JobGiver_ExitMapRandom">
|
||||
<defaultLocomotion>Walk</defaultLocomotion>
|
||||
</li>
|
||||
</subNodes>
|
||||
</li>
|
||||
</subNodes>
|
||||
</li>
|
||||
</subNodes>
|
||||
</li>
|
||||
</subNodes>
|
||||
</li>
|
||||
</subNodes>
|
||||
</li>
|
||||
|
||||
<!-- Tame insects -->
|
||||
<li Class="ThinkNode_ConditionalOfPlayerFaction">
|
||||
<subNodes>
|
||||
<li Class="ThinkNode_Tagger">
|
||||
<tagToGive>TrainedAnimalBehavior</tagToGive>
|
||||
<subNodes>
|
||||
<!-- Trained behavior: obedience: Follow and defend master -->
|
||||
<li Class="ThinkNode_ConditionalTrainableCompleted">
|
||||
<trainable>Obedience</trainable>
|
||||
<subNodes>
|
||||
<li Class="ThinkNode_ConditionalShouldFollowMaster">
|
||||
<subNodes>
|
||||
<li Class="JobGiver_AIDefendMaster">
|
||||
<attackMeleeThreatEvenIfNotHostile>true</attackMeleeThreatEvenIfNotHostile>
|
||||
</li>
|
||||
<li Class="JobGiver_AIFollowMaster"/>
|
||||
<li Class="JobGiver_WanderNearMaster"/>
|
||||
</subNodes>
|
||||
</li>
|
||||
</subNodes>
|
||||
</li>
|
||||
|
||||
<!-- Trained behavior: Rescue-->
|
||||
<li Class="ThinkNode_ConditionalTrainableCompleted">
|
||||
<trainable>Rescue</trainable>
|
||||
<subNodes>
|
||||
<li Class="JobGiver_RescueNearby">
|
||||
<radius>75</radius>
|
||||
</li>
|
||||
</subNodes>
|
||||
</li>
|
||||
</subNodes>
|
||||
</li>
|
||||
|
||||
<!-- Take care of critical needs (below rescue - so heroic!)-->
|
||||
|
||||
<li Class="ThinkNode_Tagger">
|
||||
<tagToGive>RestingForMedicalReasons</tagToGive>
|
||||
<subNodes>
|
||||
<li Class="JobGiver_PatientGoToBed"/>
|
||||
</subNodes>
|
||||
</li>
|
||||
|
||||
<li Class="JobGiver_SeekAllowedArea"/>
|
||||
<li Class="JobGiver_SeekSafeTemperature"/>
|
||||
|
||||
</subNodes>
|
||||
</li>
|
||||
|
||||
<!-- Eat random things out of curiosity -->
|
||||
<li Class="ThinkNode_ChancePerHour_Constant">
|
||||
<mtbDays>60</mtbDays>
|
||||
<subNodes>
|
||||
<li Class="ThinkNode_Tagger">
|
||||
<tagToGive>SatisfyingNeeds</tagToGive>
|
||||
<subNodes>
|
||||
<li Class="JobGiver_EatRandom"/>
|
||||
</subNodes>
|
||||
</li>
|
||||
</subNodes>
|
||||
</li>
|
||||
|
||||
<!-- Satisfy basic needs -->
|
||||
<li Class="ThinkNode_Subtree">
|
||||
<treeDef>SatisfyBasicNeeds</treeDef>
|
||||
</li>
|
||||
|
||||
<!-- Tame insect: do useful things for the colony-->
|
||||
<li Class="ThinkNode_ConditionalHasFaction">
|
||||
<subNodes>
|
||||
|
||||
<!-- Do a queued job -->
|
||||
<li Class="ThinkNode_QueuedJob" />
|
||||
|
||||
<li Class="JobGiver_SeekAllowedArea" />
|
||||
<li Class="JobGiver_Work">
|
||||
<emergency>true</emergency>
|
||||
</li>
|
||||
<li Class="JobGiver_Work" />
|
||||
|
||||
<!-- Try to mate -->
|
||||
<li Class="ThinkNode_ChancePerHour_Mate">
|
||||
<subNodes>
|
||||
<li Class="ThinkNode_Tagger">
|
||||
<tagToGive>SatisfyingNeeds</tagToGive>
|
||||
<subNodes>
|
||||
<li Class="JobGiver_Mate"/>
|
||||
</subNodes>
|
||||
</li>
|
||||
</subNodes>
|
||||
</li>
|
||||
|
||||
<!-- Nuzzle randoms -->
|
||||
<li Class="ThinkNode_ChancePerHour_Nuzzle">
|
||||
<subNodes>
|
||||
<li Class="ThinkNode_Tagger">
|
||||
<tagToGive>Misc</tagToGive>
|
||||
<subNodes>
|
||||
<li Class="JobGiver_Nuzzle"/>
|
||||
</subNodes>
|
||||
</li>
|
||||
</subNodes>
|
||||
</li>
|
||||
|
||||
<!-- Roamers gonna roam -->
|
||||
<li Class="ThinkNode_ChancePerDay_Roam">
|
||||
<subNodes>
|
||||
<li Class="ThinkNode_Tagger">
|
||||
<tagToGive>Misc</tagToGive>
|
||||
<subNodes>
|
||||
<li Class="JobGiver_StartRoaming"/>
|
||||
</subNodes>
|
||||
</li>
|
||||
</subNodes>
|
||||
</li>
|
||||
|
||||
<!-- Trained behavior: Haul-->
|
||||
<li Class="ThinkNode_ChancePerHour_Constant">
|
||||
<mtbHours>1.5</mtbHours>
|
||||
<subNodes>
|
||||
<li Class="ThinkNode_ConditionalRequireCapacities">
|
||||
<requiredCapacities>
|
||||
<li>Manipulation</li>
|
||||
</requiredCapacities>
|
||||
<subNodes>
|
||||
<li Class="ThinkNode_ConditionalTrainableCompleted">
|
||||
<trainable>Haul</trainable>
|
||||
<subNodes>
|
||||
<li Class="ThinkNode_Tagger">
|
||||
<tagToGive>TrainedAnimalBehavior</tagToGive>
|
||||
<subNodes>
|
||||
<li Class="JobGiver_Haul"/>
|
||||
</subNodes>
|
||||
</li>
|
||||
</subNodes>
|
||||
</li>
|
||||
</subNodes>
|
||||
</li>
|
||||
</subNodes>
|
||||
</li>
|
||||
|
||||
<!-- Trained behavior: Forage -->
|
||||
<li Class="ThinkNode_ConditionalTrainableCompleted" MayRequire="Ludeon.RimWorld.Odyssey">
|
||||
<trainable>Forage</trainable>
|
||||
<subNodes>
|
||||
<li Class="ThinkNode_ChancePerHour_Forage">
|
||||
<subNodes>
|
||||
<li Class="ThinkNode_ConditionalAnimalShouldForage">
|
||||
<subNodes>
|
||||
<li Class="JobGiver_Forage" />
|
||||
</subNodes>
|
||||
</li>
|
||||
</subNodes>
|
||||
</li>
|
||||
</subNodes>
|
||||
</li>
|
||||
|
||||
<!-- Trained behavior: Mine -->
|
||||
<li Class="ThinkNode_ConditionalTrainableCompleted" MayRequire="Ludeon.RimWorld.Odyssey">
|
||||
<trainable>Dig</trainable>
|
||||
<subNodes>
|
||||
<li Class="ThinkNode_ConditionalAnimalShouldDig">
|
||||
<subNodes>
|
||||
<li Class="JobGiver_Mine" />
|
||||
</subNodes>
|
||||
</li>
|
||||
</subNodes>
|
||||
</li>
|
||||
|
||||
</subNodes>
|
||||
</li>
|
||||
|
||||
<!-- Insertion hook for modders -->
|
||||
<li Class="ThinkNode_SubtreesByTag">
|
||||
<insertTag>Animal_PreWander</insertTag>
|
||||
</li>
|
||||
<li Class="ThinkNode_SubtreesByTag">
|
||||
<insertTag>Insect_PreWander</insertTag>
|
||||
</li>
|
||||
|
||||
<!-- Tame insect: wander near colony if possible -->
|
||||
<li Class="ThinkNode_ConditionalOfPlayerFaction">
|
||||
<subNodes>
|
||||
<li Class="ThinkNode_Tagger">
|
||||
<tagToGive>Idle</tagToGive>
|
||||
<subNodes>
|
||||
<!-- Wander near your current position if in hostile map -->
|
||||
<li Class="ThinkNode_ConditionalAnyEnemyInHostileMap">
|
||||
<subNodes>
|
||||
<li Class="JobGiver_WanderAnywhere">
|
||||
<maxDanger>None</maxDanger>
|
||||
<ticksBetweenWandersRange>120~240</ticksBetweenWandersRange>
|
||||
</li>
|
||||
</subNodes>
|
||||
</li>
|
||||
|
||||
<li Class="ThinkNode_ConditionalRoamer">
|
||||
<subNodes>
|
||||
<li Class="JobGiver_WanderInRoofedCellsInPen">
|
||||
<maxDanger>None</maxDanger>
|
||||
<ticksBetweenWandersRange>120~240</ticksBetweenWandersRange>
|
||||
<expiryInterval>500</expiryInterval>
|
||||
</li>
|
||||
|
||||
<!-- tame roamers should not wander too far, and if unenclosed wander near a suitable pen marker 10% of the time -->
|
||||
<li Class="ThinkNode_ConditionalRandom">
|
||||
<chance>0.1</chance>
|
||||
<subNodes>
|
||||
<li Class="JobGiver_WanderInPen">
|
||||
<maxDanger>None</maxDanger>
|
||||
<ticksBetweenWandersRange>120~240</ticksBetweenWandersRange>
|
||||
<expiryInterval>500</expiryInterval>
|
||||
</li>
|
||||
</subNodes>
|
||||
</li>
|
||||
|
||||
<li Class="JobGiver_WanderAnywhere">
|
||||
<maxDanger>None</maxDanger>
|
||||
<ticksBetweenWandersRange>120~240</ticksBetweenWandersRange>
|
||||
</li>
|
||||
</subNodes>
|
||||
</li>
|
||||
|
||||
<!-- Wander near colony -->
|
||||
<li Class="JobGiver_WanderColony">
|
||||
<maxDanger>None</maxDanger>
|
||||
<ticksBetweenWandersRange>120~240</ticksBetweenWandersRange>
|
||||
</li>
|
||||
</subNodes>
|
||||
</li>
|
||||
</subNodes>
|
||||
</li>
|
||||
|
||||
<!-- Of neutral faction: rest and then exit the map -->
|
||||
<li Class="ThinkNode_ConditionalNonPlayerNonHostileFaction">
|
||||
<subNodes>
|
||||
<li Class="ThinkNode_Tagger">
|
||||
<tagToGive>RestingForMedicalReasons</tagToGive>
|
||||
<subNodes>
|
||||
<li Class="JobGiver_PatientGoToBed"/>
|
||||
</subNodes>
|
||||
</li>
|
||||
|
||||
<li Class="ThinkNode_Tagger">
|
||||
<tagToGive>Misc</tagToGive>
|
||||
<subNodes>
|
||||
<li Class="JobGiver_ExitMapBest">
|
||||
<defaultLocomotion>Walk</defaultLocomotion>
|
||||
</li>
|
||||
</subNodes>
|
||||
</li>
|
||||
</subNodes>
|
||||
</li>
|
||||
|
||||
<!-- Wander -->
|
||||
<li Class="ThinkNode_Tagger">
|
||||
<tagToGive>Idle</tagToGive>
|
||||
<subNodes>
|
||||
<li Class="ThinkNode_ConditionalHerdAnimal">
|
||||
<subNodes>
|
||||
<li Class="JobGiver_WanderHerd">
|
||||
<maxDanger>Deadly</maxDanger>
|
||||
<ticksBetweenWandersRange>120~240</ticksBetweenWandersRange>
|
||||
</li>
|
||||
</subNodes>
|
||||
</li>
|
||||
|
||||
<li Class="JobGiver_WanderAnywhere">
|
||||
<maxDanger>Deadly</maxDanger>
|
||||
<ticksBetweenWandersRange>120~240</ticksBetweenWandersRange>
|
||||
</li>
|
||||
</subNodes>
|
||||
</li>
|
||||
|
||||
<li Class="JobGiver_IdleError"/>
|
||||
</subNodes>
|
||||
</thinkRoot>
|
||||
</ThinkTreeDef>
|
||||
</Defs>
|
||||
Reference in New Issue
Block a user