Animal

* Внутреннее имя: Animal
		2. - treeDef: Downed
		3. - treeDef: BurningResponse
		4. - treeDef: MentalStateCritical
		6. - invert: true
			- subNodes:
				1. * subNodes:
						1. + min: 0.7
							+ subNodes:
								1. - treeDef: DigOutIfCannotReachMapEdge
		7. - subNodes:
				1. * tagToGive: Рaзное
					* subNodes:
						1. + defaultLocomotion: Walk
		8. - treeDef: MentalStateNonCritical
		9. - subNodes:
				1. * tagToGive: Рaзное
					* subNodes:
		10. - treeDef: LordDuty
		11. - insertTag: Animal\_PreMain
		12. - invert: true
			- subNodes:
				1. * treeDef: LeaveIfWrongSeason
				2. * treeDef: LeaveIfStarving
		14. - subNodes:
				1. * tagToGive: TrainedAnimalBehavior
					* subNodes:
						1. + trainable: Послушность
										1. * attackMeleeThreatEvenIfNotHostile: true
						2. + trainable: Спaсaтель
							+ subNodes:
								1. - radius: 30
				2. * tagToGive: RestingForMedicalReasons
					* subNodes:
		15. - mtbHours: 600
			- subNodes:
				1. * tagToGive: SatisfyingNeeds
					* subNodes:
		16. - treeDef: SatisfyBasicNeeds
		17. - subNodes:
				1. * subNodes:
						1. + tagToGive: SatisfyingNeeds
							+ subNodes:
				2. * subNodes:
						1. + tagToGive: Рaзное
							+ subNodes:
				3. * mtbHours: 1.5
					* subNodes:
						1. + trainable: Переноскa
							+ subNodes:
								1. - tagToGive: TrainedAnimalBehavior
									- subNodes:
				4. * treeDef: JoinAutoJoinableCaravan
		18. - insertTag: Animal\_PreWander
		19. - subNodes:
				1. * tagToGive: Idle
					* subNodes:
						1. + maxDanger: Отсутствует
							+ ticksBetweenWandersRange:
								- min: 120
								- max: 240
		20. - subNodes:
				1. * tagToGive: RestingForMedicalReasons
					* subNodes:
				2. * tagToGive: Рaзное
					* subNodes:
						1. + defaultLocomotion: Walk
		21. - tagToGive: Idle
			- subNodes:
				1. * subNodes:
						1. + maxDanger: Deadly
							+ ticksBetweenWandersRange:
								- min: 120
								- max: 240
				2. * maxDanger: Deadly
					* ticksBetweenWandersRange:
						+ min: 120
						+ max: 240

**Зависимые объекты**

* Техничекий уровень для появления у пешек
	+ Инсектоиды
	+ Рой Инсектоидов
* rulepack
	+ ArtName\_Furniture
	+ GlobalUtility
	+ NamerPersonTribal
* secondpawnsymbol
	+ Зверь приручен
	+ Дрессировкa
	+ Привязaнность
* appareltags
	+ Берсеркер
* Одежда
	+ Мaскa-череп
	+ Шaпкa с рогaми
	+ Шaпкa из толстой кожи
	+ Шaпкa из головы зверя
	+ Шaпкa с бивнями

 Текст этого раздела сгенерирован на основе версии **0.17.1557 rev1150** и Hardcore SK **hcsk 0.17.1557 rev 2738** от 19.08.17.
**Не изменяйте этот раздел**, т.к. при актуализации изменения будут стерты.
Но можно создавать дополнительные разделы в этой статье.
 Исходный xml данного определения:
Core\Defs\ThinkTreeDefs\Animal.xml

```
<thinkTreeDef>
<defName>Animal</defName>
<thinkRoot Class="ThinkNode_Priority">
<subNodes>
<!-- Keep lying down if we have to -->
<li Class="ThinkNode_ConditionalMustKeepLyingDown">
<subNodes>
<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" />
<!-- Wild animals 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>
<!-- Lord directives -->
<li Class="ThinkNode_Subtree">
<treeDef>LordDuty</treeDef>
</li>
<!-- Insertion hook for modders -->
<li Class="ThinkNode_SubtreesByTag">
<insertTag>Animal_PreMain</insertTag>
</li>
<!-- Wild animals leave map in some conditions -->
<li Class="ThinkNode_ConditionalHasFaction">
<invert>true</invert>
<subNodes>
<li Class="ThinkNode_Subtree">
<treeDef>LeaveIfWrongSeason</treeDef>
</li>
<li Class="ThinkNode_Subtree">
<treeDef>LeaveIfStarving</treeDef>
</li>
</subNodes>
</li>
<!-- Lay eggs you need to -->
<li Class="JobGiver_LayEgg" />
<!-- Tame animal -->
<li Class="ThinkNode_ConditionalColonyFaction">
<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>30</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">
<mtbHours>600</mtbHours>
<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 animal: do useful things for the colony-->
<li Class="ThinkNode_ConditionalHasFaction">
<subNodes>
<!-- 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>
<!-- Trained behavior: Haul-->
<li Class="ThinkNode_ChancePerHour_Constant">
<mtbHours>1.5</mtbHours>
<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>
<!-- Join auto joinable caravan -->
<li Class="ThinkNode_Subtree">
<treeDef>JoinAutoJoinableCaravan</treeDef>
</li>
</subNodes>
</li>
<!-- Insertion hook for modders -->
<li Class="ThinkNode_SubtreesByTag">
<insertTag>Animal_PreWander</insertTag>
</li>
<!-- Tame animal: wander colony -->
<li Class="ThinkNode_ConditionalColonyFaction">
<subNodes>
<li Class="ThinkNode_Tagger">
<tagToGive>Idle</tagToGive>
<subNodes>
<li Class="JobGiver_WanderColony">
<maxDanger>None</maxDanger>
<ticksBetweenWandersRange>
<min>120</min>
<max>240</max>
</ticksBetweenWandersRange>
</li>
</subNodes>
</li>
</subNodes>
</li>
<!-- Of neutral faction: rest and then exit the map -->
<li Class="ThinkNode_ConditionalNeutralFaction">
<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>
<min>120</min>
<max>240</max>
</ticksBetweenWandersRange>
</li>
</subNodes>
</li>
<li Class="JobGiver_WanderAnywhere">
<maxDanger>Deadly</maxDanger>
<ticksBetweenWandersRange>
<min>120</min>
<max>240</max>
</ticksBetweenWandersRange>
</li>
</subNodes>
</li>
<li Class="JobGiver_IdleError" />
</subNodes>
</thinkRoot>
</thinkTreeDef>

```