Guest User

Untitled

a guest
Jan 21st, 2020
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 383.51 KB | None | 0 0
  1. [XComGame.XComGameState_AIPlayerData]
  2. DownThrottleUnitCount=4 ; Number of enemies engaged to activate Down Throttling.
  3. UpThrottleTurnCount=2 ; Number of turns to pass before activating Up Throttling.
  4. DownThrottleGroupRange=50; Distance (meters) in which any non-engaged groups will be steered away as part of the Down Throttling effects.
  5. RetreatCap=-1 ; Max number of units that can fall back to the objective area (or nearest guard group). -1 == no limit.
  6. MaxEngagedEnemies[0]=4 ; Rookie
  7. MaxEngagedEnemies[1]=6 ; Veteran
  8. MaxEngagedEnemies[2]=6 ; Commander
  9. MaxEngagedEnemies[3]=99 ; Legend
  10. YellCooldownDuration[0]=4 ; Rookie
  11. YellCooldownDuration[1]=3 ; Veteran
  12. YellCooldownDuration[2]=3 ; Commander
  13. YellCooldownDuration[3]=2 ; Legend
  14.  
  15. [XComGame.XComGameState_AIGroup]
  16. SURPRISED_SCAMPER_CHANCE=0.0 ; 0/3 of units should do surprised scamper
  17. DESTINATION_REACHED_SIZE_SQ=300000 ; find new destinations once the group average is within this many UUs of its target destination
  18. MAX_TURNS_BETWEEN_DESTINATIONS=2
  19. FallbackExclusionList=Berserker
  20. FallbackExclusionList=Chryssalid
  21. FallbackExclusionList=PsiZombie
  22. FallbackExclusionList=PsiZombieHuman
  23. FallbackExclusionList=Sectopod
  24. FallbackExclusionList=AdvStunLancerM1
  25. FallbackExclusionList=AdvStunLancerM2
  26. FallbackExclusionList=AdvStunLancerM3
  27. FallbackExclusionList=Faceless
  28. FallbackExclusionList=TheLost
  29. FallbackExclusionList=ChosenAssassin
  30. FallbackExclusionList=ChosenSniper
  31. FallbackExclusionList=ChosenWarlock
  32. FallbackExclusionList=SpectreM1
  33. FallbackExclusionList=SpectreM2
  34. FallbackChance=0.5f ; Chance to fall back to mission objective when unit is the last remaining unit in a multi-unit group
  35. UnitInFallbackRangeMeters=5 ; 1) the Unit is in fallback range, as defined by this config value (dist from fallback location)
  36.  
  37. [XComGame.XComGameState_AIUnitData]
  38. RemoveAlertDataOlderThanAge=10
  39.  
  40. [XComGame.XGAIPlayer]
  41. LastResortTargetEffects=(EffectName="Bind")
  42. LastResortTargetEffects=(EffectName="Panicked")
  43. LastResortTargetEffects=(EffectName="Berserk")
  44. LastResortTargetEffects=(EffectName="Obsessed")
  45. LastResortTargetEffects=(EffectName="Shattered")
  46. LastResortTargetEffects=(EffectName="MindControl", ApplyToAlliesOnly=1) ;Enemies that are mind-controlled should be attacked like anyone else.
  47. LastResortTargetEffects=(EffectName="Dazed")
  48. LastResortTargetEffects=(EffectName="Stasis")
  49.  
  50. [XComGame.XGAIPlayer_TheLost]
  51. DistributionPercentToXCom=70 ;Remainder percent is set to attack Advent or Aliens.
  52.  
  53. [XComGame.XGAIBehavior]
  54. DefaultIdealRange=10.0f
  55. CALC_RANGE_NUMERATOR=10 ; CurrentTileScore value = CALC_RANGE_NUMERATOR / (| DTE - IR |*CALC_RANGE_DENOM_FACTOR + CALC_RANGE_DENOM_ADDEND).
  56. CALC_RANGE_DENOM_ADDEND=10 ; CurrentTileScore value = CALC_RANGE_NUMERATOR / (| DTE - IR |*CALC_RANGE_DENOM_FACTOR + CALC_RANGE_DENOM_ADDEND).
  57. CALC_RANGE_DENOM_FACTOR=1; CurrentTileScore value = CALC_RANGE_NUMERATOR / (| DTE - IR |*CALC_RANGE_DENOM_FACTOR + CALC_RANGE_DENOM_ADDEND).
  58. bCALC_RANGE_LINEAR=true; // If true, use linear distance scoring instead of inverse. Score= (1 - |DTE-IR|/CALC_RANGE_LINEAR_DENOM.)
  59. CALC_RANGE_LINEAR_DENOM=16 ; CurrentTileScore value = (1 - |DTE-IR|/CALC_RANGE_LINEAR_DENOM).
  60. CURR_TILE_LINGER_PENALTY=0.75; Multiplier on current location distance score to lower the value of the current tile and promote movement.
  61. CALC_NO_COVER_FACTOR=-4.0f ; Used in weighting each cover location. One location can have different cover values
  62. CALC_MID_COVER_FACTOR=1.0f ; depending on multiple enemy positions around that location. On one side it can have full
  63. CALC_FULL_COVER_FACTOR=1.1f ; cover to one enemy, another side can have no cover. CoverScore= avg of all cover values per known enemy.
  64. CALC_FULL_COVER_FACTOR_POD_LEADER=2.5f; Leaders of groups will prioritize full cover to a greater degree.
  65. DEFAULT_AI_MIN_SPREAD_DISTANCE=6.0f ; default distance (meters) from teammates to prefer to stay away. Should be about double an AoE radius.
  66. DEFAULT_AI_SPREAD_WEIGHT_MULTIPLIER=0.2f ;destination scores get multiplied by this value for tile locations adjacent to teammates.
  67. MIN_SURPRISED_SCAMPER_PATH_LENGTH=2 ; Scamper paths will never be cut short less than this number of tiles.
  68. MAX_SURPRISED_SCAMPER_PATH_LENGTH=6 ; Scamper paths longer than this number of tiles will be cut to this number of tiles.
  69. AoERepeatAttackExclusionList=ScythingClaws
  70. AoERepeatAttackExclusionList=AdvPurifierFlamethrower
  71. MIN_HEIGHT_RANGE=3 ;Ignore any height differences less than N tiles high, along the Z axis, when computing destination scores for height advantages.
  72. AoEProfiles=( Profile=GrenadeProfile, Ability=ThrowGrenade, bUsePrecomputePath=1, bFailOnFriendlyFire=1)
  73. AoEProfiles=( Profile=GrenadeAggressiveProfile, Ability=ThrowGrenade, bUsePrecomputePath=1)
  74. AoEProfiles=( Profile=GrenadePanickedProfile, Ability=ThrowGrenade, bTargetAllies=1, bTargetCivilians=1, bUsePrecomputePath=1, MinTargets=1, bRequirePotentialTarget=1)
  75. AoEProfiles=( Profile=GrenadeMindControlledProfile, Ability=ThrowGrenade, bTargetSelf=1, bUsePrecomputePath=1)
  76. AoEProfiles=( Profile=BlazingPinionsBasicProfile, Ability=BlazingPinionsStage1, bRequiresOutdoor=1)
  77. AoEProfiles=( Profile=AcidBlobProfile, Ability=AcidBlob, bFailOnFriendlyFire=1, bIgnoreSelfDamage=1)
  78. AoEProfiles=( Profile=PoisonSpitProfile, Ability=PoisonSpit, bIgnoreSelfDamage=1)
  79. AoEProfiles=( Profile=PoisonSpitSingleProfile, Ability=PoisonSpit, bIgnoreSelfDamage=1, MinTargets=1)
  80. AoEProfiles=( Profile=MicroMissilesProfile, bUsePrecomputePath=1, Ability=MicroMissiles)
  81. AoEProfiles=( Profile=MicroMissilesProfileMk2, bUsePrecomputePath=1, Ability=MicroMissiles, MinTargets=1)
  82. AoEProfiles=( Profile=PsiRiftProfile, Ability=PsiDimensionalRiftStage1, MinTargets=3, bFailOnFriendlyFire=1, bFailOnObjectiveFire=False)
  83. AoEProfiles=( Profile=BlazingPinionsProfile, Ability=BlazingPinionsStage1, MinTargets=3, bFailOnObjectiveFire=False)
  84. AoEProfiles=( Profile=AnimaInversionCorpseProfile, Ability=AnimaInversion, bTargetEnemy=0, bTargetCivilians=0, bTargetCorpses=1, bFailOnObjectiveFire=0, bFailOnFriendlyFire=0)
  85. AoEProfiles=( Profile=AnimaInversionMixedProfile, Ability=AnimaInversion, bTargetEnemy=1, bTargetCivilians=1, bTargetCorpses=1, bFailOnObjectiveFire=0, bFailOnFriendlyFire=0, MinTargets=3)
  86. AoEProfiles=( Profile=ScythingClawsPrefTargetProfile, Ability=ScythingClaws, bIgnoreSelfDamage=True, MinTargets=1, bRequirePotentialTarget=True)
  87. AoEProfiles=( Profile=ScythingClawsProfile, Ability=ScythingClaws, bIgnoreSelfDamage=True, MinTargets=1)
  88. AoEProfiles=( Profile=WrathCannonProfile, Ability=WrathCannon, bIgnoreSelfDamage=True, MinTargets=1)
  89. AoEProfiles=( Profile=WrathCannonS1Profile, Ability=WrathCannonStage1, bIgnoreSelfDamage=True, MinTargets=1)
  90. AoEProfiles=( Profile=PsiBombProfile, Ability=PsiBombStage1, bIgnoreSelfDamage=False, MinTargets=1)
  91. AoEProfiles=( Profile=NullLanceProfile, Ability=NullLance, MinTargets=1, bRequirePotentialTarget=1)
  92. AoEProfiles=( Profile=NullLanceValidateProfile, Ability=NullLance, bTestLocationValidity=1, MinTargets=1)
  93. AoEProfiles=( Profile=HarborWavePrefTargetProfile, Ability=HarborWave, bIgnoreSelfDamage=True, bFailOnObjectiveFire=false, MinTargets=2, bTestTargetEffectsApply=true)
  94. AoEProfiles=( Profile=HarborWaveProfile, Ability=HarborWave, bIgnoreSelfDamage=True, bFailOnObjectiveFire=false, bTargetTheLost=1, MinTargets=1, bTestTargetEffectsApply=true)
  95. AoEProfiles=( Profile=FlameThrowerLostTargetProfile, Ability=AdvPurifierFlamethrower, bIgnoreSelfDamage=True, bFailOnObjectiveFire=true, bFailOnFriendlyFire=true, bTargetTheLost=1, bTargetEnemy=0, MinTargets=1, bAreaSearchSpace=1, bRequireLoS=1, bIgnoreRepeatAttackList=1)
  96. AoEProfiles=( Profile=FlameThrowerMultiProfile, Ability=AdvPurifierFlamethrower, bIgnoreSelfDamage=True, bFailOnObjectiveFire=true, bFailOnFriendlyFire=true, MinTargets=2, bAreaSearchSpace=1, bRequireLoS=1, bIgnoreRepeatAttackList=1)
  97. AoEProfiles=( Profile=FlameThrowerProfile, Ability=AdvPurifierFlamethrower, bIgnoreSelfDamage=True, bFailOnObjectiveFire=true, bFailOnFriendlyFire=true, MinTargets=1, bAreaSearchSpace=1, bRequireLoS=1, bIgnoreRepeatAttackList=1)
  98. AoEProfiles=( Profile=FlameThrowerAdjacent, Ability=AdvPurifierFlamethrower, bIgnoreSelfDamage=True, bFailOnObjectiveFire=true, bFailOnFriendlyFire=true, MinTargets=1, bAreaSearchSpace=1, bRequireLoS=1, bCountAdjacentAsHits=1, bIgnoreRepeatAttackList=1)
  99. AoEProfiles=( Profile=FlameThrowerIgnoreFF, Ability=AdvPurifierFlamethrower, bIgnoreSelfDamage=True, bFailOnObjectiveFire=true, bFailOnFriendlyFire=false, MinTargets=1, bAreaSearchSpace=1, bRequireLoS=1, bCountAdjacentAsHits=1, bIgnoreRepeatAttackList=1)
  100. AoEProfiles=( Profile=FlameThrowerMimicBeacon, Ability=AdvPurifierFlamethrower, bIgnoreSelfDamage=True, bFailOnObjectiveFire=true, bFailOnFriendlyFire=false, MinTargets=1, bTargetEnemy=0, bAreaSearchSpace=1, bRequireLoS=1, bRequirePotentialTarget=1, bIgnoreRepeatAttackList=1)
  101. AoEProfiles=( Profile=FlameThrowerMimicBeaconAdjacent, Ability=AdvPurifierFlamethrower, bIgnoreSelfDamage=True, bFailOnObjectiveFire=true, bFailOnFriendlyFire=false, MinTargets=1, bTargetEnemy=0, bAreaSearchSpace=1, bRequireLoS=1, bCountAdjacentAsHits=1, bRequirePotentialTarget=1, bIgnoreRepeatAttackList=1)
  102. AoEProfiles=( Profile=MountainMistPreferred, Ability=ThrowGrenade, bFailOnObjectiveFire=false, bUsePrecomputePath=1)
  103. AoEProfiles=( Profile=MountainMistAny, Ability=ThrowGrenade, bUsePrecomputePath=1, bFailOnObjectiveFire=false, MinTargets=1)
  104. AoEProfiles=( Profile=GrenadeProfileAny, Ability=ThrowGrenade, bUsePrecomputePath=1, bFailOnFriendlyFire=1, MinTargets=1)
  105. AoEProfiles=( Profile=PsiSelfDestructProfilePreferred, Ability=TriggerPsiSelfDestruct, bIgnoreSelfDamage=True, bFailOnObjectiveFire=false, bPathToTarget=true, MinTargets=1)
  106. AoEProfiles=( Profile=PsiSelfDestructProfileAny, Ability=TriggerPsiSelfDestruct, bIgnoreSelfDamage=True, bFailOnObjectiveFire=false, bPathToTarget=true, MinTargets=1)
  107. m_arrMoveWeightProfile=(Profile=MWP_Fallback, fCoverWeight=3.0f, fDistanceWeight=0.0f, fFlankingWeight=0.0f, fEnemyVisWeight=0.0f, fEnemyVisWeightPeak1=2.0, fAllyVisWeight=1.0f, fCloseModifier=0.9f, fFarModifier=1.1f)
  108. m_arrMoveWeightProfile=(Profile=MWP_Defensive, fCoverWeight=2.0f, fDistanceWeight=2.0f, fFlankingWeight=0.5f, fEnemyVisWeight=0.0f, fEnemyVisWeightPeak1=2.0, fAllyVisWeight=4.0f, fCloseModifier=1.0f, fFarModifier=1.0f)
  109. m_arrMoveWeightProfile=(Profile=MWP_Standard, fCoverWeight=1.8f, fDistanceWeight=4.0f, fFlankingWeight=1.0f, fEnemyVisWeight=0.0f, fEnemyVisWeightPeak1=1.0, fAllyVisWeight=1.0f, fCloseModifier=1.0f, fFarModifier=1.0f)
  110. m_arrMoveWeightProfile=(Profile=MWP_Aggressive, fCoverWeight=1.7f, fDistanceWeight=5.0f, fFlankingWeight=2.0f, fEnemyVisWeight=1.0f, fEnemyVisWeightPeak1=0.0, fAllyVisWeight=1.0f, fCloseModifier=1.1f, fFarModifier=0.9f)
  111. m_arrMoveWeightProfile=(Profile=MWP_Fanatic, fCoverWeight=0.0f, fDistanceWeight=5.0f, fFlankingWeight=2.0f, fEnemyVisWeight=1.0f, fEnemyVisWeightPeak1=0.0, fAllyVisWeight=0.0f, fCloseModifier=1.1f, fFarModifier=0.9f)
  112. m_arrMoveWeightProfile=(Profile=MWP_Hunting, fCoverWeight=2.0f, fDistanceWeight=4.0f, fFlankingWeight=2.0f, fEnemyVisWeight=6.0f, fEnemyVisWeightPeak1=0.0, fAllyVisWeight=1.0f, fCloseModifier=1.0f, fFarModifier=1.0f)
  113. m_arrMoveWeightProfile=(Profile=MWP_AdvanceCover, fCoverWeight=2.0f, fDistanceWeight=5.0f, fFlankingWeight=2.0f, fEnemyVisWeight=0.5f, fEnemyVisWeightPeak1=1.5, fAllyVisWeight=1.0f, fCloseModifier=1.1f, fFarModifier=0.9f)
  114. m_arrMoveWeightProfile=(Profile=MWP_Flanking, fCoverWeight=1.0f, fDistanceWeight=1.0f, fFlankingWeight=10.0f, fEnemyVisWeight=0.0f, fEnemyVisWeightPeak1=3.0, fAllyVisWeight=1.0f, fCloseModifier=0.9f, fFarModifier=1.1f)
  115. m_arrMoveWeightProfile=(Profile=MWP_Melee, fCoverWeight=0.1f, fDistanceWeight=1.0f, fFlankingWeight=1.0f, fEnemyVisWeight=0.0f, fEnemyVisWeightPeak1=1.0, fAllyVisWeight=1.0f, fCloseModifier=1.1f, fFarModifier=0.9f, fPriorityDistWeight=1.0f, bPrioritizeClosest=1, bIsMelee=1)
  116. m_arrMoveWeightProfile=(Profile=MWP_MeleeDefensive, fCoverWeight=0.2f, fDistanceWeight=1.0f, fFlankingWeight=0.0f, fEnemyVisWeight=-0.5f, fEnemyVisWeightPeak1=2.0, fAllyVisWeight=1.0f, fCloseModifier=1.1f, fFarModifier=0.9f,fPriorityDistWeight=1.0f, bPrioritizeClosest=1, bIsMelee=1)
  117. m_arrMoveWeightProfile=(Profile=MWP_MeleeAggressive, fCoverWeight=0.1f, fDistanceWeight=2.0f, fFlankingWeight=2.0f, fEnemyVisWeight=1.0f, fEnemyVisWeightPeak1=1.0, fAllyVisWeight=0.5f, fCloseModifier=1.1f, fFarModifier=0.9f,fPriorityDistWeight=1.0f, bPrioritizeClosest=1, bIsMelee=1)
  118. m_arrMoveWeightProfile=(Profile=MWP_MeleeFanatic, fCoverWeight=0.0f, fDistanceWeight=1.0f, fFlankingWeight=1.0f, fEnemyVisWeight=2.0f, fEnemyVisWeightPeak1=0.0, fAllyVisWeight=0.0f, fCloseModifier=1.1f, fFarModifier=0.9f,fPriorityDistWeight=1.0f, bPrioritizeClosest=1, bIsMelee=1)
  119. m_arrMoveWeightProfile=(Profile=MWP_CivilianGreen, fCoverWeight=1.0f, fDistanceWeight=0.0f, fFlankingWeight=0.0f, fEnemyVisWeight=0.1f, fEnemyVisWeightPeak1=0f, fAllyVisWeight=0.0f, fRandWeight=7.0f)
  120. m_arrMoveWeightProfile=(Profile=MWP_CivilianRed, fCoverWeight=10.0f, fDistanceWeight=1.0f, fFlankingWeight=0.0f, fEnemyVisWeight=0.0f, fEnemyVisWeightPeak1=0f, fAllyVisWeight=0.0f, fCloseModifier=0.1f, fFarModifier=1.5f)
  121. m_arrMoveWeightProfile=(Profile=MWP_RandomNoCover, fCoverWeight=0.0f, fDistanceWeight=0.5f, fFlankingWeight=0.0f, fEnemyVisWeight=1.0f, fEnemyVisWeightPeak1=0f, fHeightWeight=1.0f, fAllyVisWeight=0.5f, fRandWeight=0.5f)
  122. m_arrMoveWeightProfile=(Profile=MWP_Teleport, fCoverWeight=2.0f, fDistanceWeight=1.0f, fFlankingWeight=1.0f, fEnemyVisWeight=1.0f, fEnemyVisWeightPeak1=0f, fAllyVisWeight=0, fCloseModifier=0.5f, fFarModifier=1.5f, MinimumTileDist=5.0f)
  123. m_arrMoveWeightProfile=(Profile=MWP_IsoTeleport, fCoverWeight=2.0f, fDistanceWeight=1.0f, fFlankingWeight=1.0f, fEnemyVisWeight=0.0f, fEnemyVisWeightPeak1=0.75f, fAllyVisWeight=-0.2, fCloseModifier=0.5f, fFarModifier=1.5f, MinimumTileDist=5.0f)
  124. m_arrMoveWeightProfile=(Profile=MWP_MimicBeacon, fCoverWeight=0.5f, fDistanceWeight=1.0f, fFlankingWeight=0.5f, fEnemyVisWeight=0.2f, fEnemyVisWeightPeak1=0.0, fAllyVisWeight=0.2f, fPriorityDistWeight=5.0f, fCloseModifier=2.0f, fFarModifier=0.5f)
  125. m_arrMoveWeightProfile=(Profile=MWP_PriorityTarget, fCoverWeight=0.1f, fDistanceWeight=0.1f, fFlankingWeight=0.1f, fEnemyVisWeight=0.1f, fEnemyVisWeightPeak1=0.0, fAllyVisWeight=0.1f, fPriorityDistWeight=5.0f, fCloseModifier=1.0f, fFarModifier=1.0f)
  126. m_arrMoveWeightProfile=(Profile=MWP_Burrow, fRandWeight=1.0f)
  127. m_arrMoveWeightProfile=(Profile=MWP_IsoStealth, fCoverWeight=1.0f, fDistanceWeight=0.5f, fFlankingWeight=1.0f, fEnemyVisWeight=0.0f, fEnemyVisWeightPeak1=2.0f, fAllyVisWeight=-0.2, fCloseModifier=0.5f, fFarModifier=1.5f, MinimumTileDist=5.0f)
  128. m_arrMoveWeightProfile=(Profile=MWP_Grapple, fCoverWeight=0.2f, fDistanceWeight=0.5f, fFlankingWeight=0.1f, fEnemyVisWeight=1.0f, fEnemyVisWeightPeak1=0.5f, fAllyVisWeight=0, fHeightWeight=0.5f, fCloseModifier=1.0f, fFarModifier=1.0f)
  129. m_arrMoveWeightProfile=(Profile=MWP_GrappleDefense, fCoverWeight=2.0f, fDistanceWeight=0.5f, fFlankingWeight=1.0f, fEnemyVisWeight=0.1f, fEnemyVisWeightPeak1=1.0f, fAllyVisWeight=0, fHeightWeight=0.5f, fCloseModifier=1.0f, fFarModifier=1.0f)
  130. m_arrMoveWeightProfile=(Profile=MWP_GrappleOffense, fCoverWeight=0.5f, fDistanceWeight=2.0f, fFlankingWeight=1.0f, fEnemyVisWeight=1.0f, fEnemyVisWeightPeak1=1.0f, fAllyVisWeight=0, fHeightWeight=1.0f, fCloseModifier=1.0f, fFarModifier=1.0f)
  131. m_arrMoveWeightProfile=(Profile=MWP_GrappleExtract, fCoverWeight=0.0f, fDistanceWeight=3.0f, fFlankingWeight=0, fEnemyVisWeight=0.0f, fEnemyVisWeightPeak1=0.0f, fAllyVisWeight=0, fHeightWeight=0.0f, fCloseModifier=2.0f, fFarModifier=1.0f)
  132. m_arrMoveWeightProfile=(Profile=MWP_PanicObsessed, fCoverWeight=1.0f, fDistanceWeight=2.0f, fFlankingWeight=10.0f, fEnemyVisWeight=0.0f, fEnemyVisWeightPeak1=1.0, fAllyVisWeight=0.0f, fCloseModifier=1.5f, fFarModifier=1.0f)
  133. m_arrMoveWeightProfile=(Profile=MWP_TeleportAlly, fCoverWeight=0.3f, fDistanceWeight=0.5f, fFlankingWeight=1.5f, fEnemyVisWeight=1.0f, fEnemyVisWeightPeak1=0.5f, fAllyVisWeight=0, fCloseModifier=2.5f, fFarModifier=1.0f, MinimumTileDist=3.0f)
  134. m_arrMoveWeightProfile=(Profile=MWP_TeleportAllyNoCover, fCoverWeight=0.0f, fDistanceWeight=0.5f, fFlankingWeight=1.5f, fEnemyVisWeight=1.0f, fEnemyVisWeightPeak1=0.5f, fAllyVisWeight=0, fCloseModifier=2.5f, fFarModifier=1.0f, MinimumTileDist=3.0f)
  135. m_arrMoveWeightProfile=(Profile=MWP_TeleportAllyMelee, fCoverWeight=0.0f, fDistanceWeight=0.5f, fFlankingWeight=0.0f, fEnemyVisWeight=1.0f, fEnemyVisWeightPeak1=0.5f, fAllyVisWeight=0, fCloseModifier=2.5f, fFarModifier=1.0f, bIsMelee=1)
  136. m_arrMoveWeightProfile=(Profile=MWP_BendingReed, fCoverWeight=0.5f, fDistanceWeight=0.5f, fFlankingWeight=0.0f, fEnemyVisWeight=-1.5f, fEnemyVisWeightPeak1=0.7f, fAllyVisWeight=0, fCloseModifier=0.1f, fFarModifier=2.5f, MinimumTileDist=6.0f)
  137. m_arrMoveWeightProfile=(Profile=MWP_HolyWarrior, fCoverWeight=1.0f, fDistanceWeight=3.0f, fFlankingWeight=0.2f, fEnemyVisWeight=0.0f, fEnemyVisWeightPeak1=0.3f, fAllyVisWeight=0.2f, fCloseModifier=0.8f, fFarModifier=1.2f, MinimumTileDist=3.0f)
  138. m_arrMoveWeightProfile=(Profile=MWP_StandardHeight, fCoverWeight=1.8f, fDistanceWeight=4.0f, fFlankingWeight=1.0f, fEnemyVisWeight=0.0f, fEnemyVisWeightPeak1=1.0, fAllyVisWeight=1.0f, fHeightWeight=1.0f, fCloseModifier=2.0f, fFarModifier=0.5f)
  139. m_arrMoveWeightProfile=(Profile=MWP_ChosenHunter, fCoverWeight=1.8f, fDistanceWeight=4.0f, fFlankingWeight=1.0f, fEnemyVisWeight=1.0f, fEnemyVisWeightPeak1=0.0, fAllyVisWeight=0.0f, fHeightWeight=1.0f, fCloseModifier=2.0f, fFarModifier=0.5f)
  140. m_arrMoveWeightProfile=(Profile=MWP_AdvanceCoverHeight, fCoverWeight=2.0f, fDistanceWeight=5.0f, fFlankingWeight=2.0f, fEnemyVisWeight=0.5f, fEnemyVisWeightPeak1=0, fAllyVisWeight=0.0f, fHeightWeight=1.0f, fCloseModifier=1.1f, fFarModifier=0.9f)
  141. m_arrMoveWeightProfile=(Profile=MWP_FallbackHeight, fCoverWeight=3.0f, fDistanceWeight=0.0f, fFlankingWeight=0.0f, fEnemyVisWeight=0.0f, fEnemyVisWeightPeak1=2.0, fAllyVisWeight=1.0f, fHeightWeight=1.0f, fCloseModifier=0.9f, fFarModifier=1.1f)
  142. m_arrMoveWeightProfile=(Profile=MWP_DefensiveHeight, fCoverWeight=2.0f, fDistanceWeight=2.0f, fFlankingWeight=0.5f, fEnemyVisWeight=0.0f, fEnemyVisWeightPeak1=2.0, fAllyVisWeight=4.0f, fHeightWeight=1.0f, fCloseModifier=1.0f, fFarModifier=1.0f)
  143. m_arrMoveWeightProfile=(Profile=MWP_AgileRandom, fCoverWeight=0.1f, fFlankingWeight=-1.0f, fRandWeight=5.0)
  144. m_arrMoveWeightProfile=(Profile=MWP_AdvanceToTarget, fCoverWeight=0.2f, fDistanceWeight=10.0f, fFlankingWeight=1.0f, fEnemyVisWeight=0f, fEnemyVisWeightPeak1=1, fAllyVisWeight=0.0f, fHeightWeight=0.0f, fCloseModifier=1.1f, fFarModifier=0.9f)
  145. m_arrMoveWeightProfile=(Profile=MWP_RandomCover, fCoverWeight=0.5f, fRandWeight=5.0)
  146.  
  147. [XComGame.X2AIBTBehaviorTree]
  148. EquivalentAbilities=( KeyName=StandardShot, EquivalentAbilityName[0]=PistolStandardShot, EquivalentAbilityName[1]=AnimaGate, EquivalentAbilityName[2]=BlasterDuringCannon, EquivalentAbilityName[3]=StandardShot_NoEnd, EquivalentAbilityName[4]=Blaster, EquivalentAbilityName[5]=SniperStandardFire)
  149. EquivalentAbilities=( KeyName=ThrowGrenade, EquivalentAbilityName[0]=LaunchGrenade); EquivalentAbilityName[1]=PoisonSpit, EquivalentAbilityName[2]=AcidBlob) // Abilities with different effects are not equivalent.
  150. EquivalentAbilities=( KeyName=StandardMelee, EquivalentAbilityName[0]=BigDamnPunch, EquivalentAbilityName[1]=DevastatingPunch, EquivalentAbilityName[2]=ChryssalidSlash, EquivalentAbilityName[3]=Bayonet, EquivalentAbilityName[4]=SwordSlice, EquivalentAbilityName[5]=Reaper, EquivalentAbilityName[6]=StunLance, EquivalentAbilityName[7]=AnimaConsume, EquivalentAbilityName[8]=ScythingClaws, EquivalentAbilityName[9]=Bind, EquivalentAbilityName[10]=ChryssalidSlashMP, EquivalentAbilityName[11]=SkirmisherMelee)
  151. EquivalentAbilities=( KeyName=EnergyShield, EquivalentAbilityName[0]=EnergyShield, EquivalentAbilityName[1]=EnergyShieldMk3)
  152. EquivalentAbilities=( KeyName=PsiDimensionalRiftStage1, EquivalentAbilityName[0]=VoidRift )
  153. EquivalentAbilities=( KeyName=Overwatch, EquivalentAbilityName[0]=SniperRifleOverwatch )
  154. EquivalentAbilities=( KeyName=VanishingWind, EquivalentAbilityName[0]=Vanish )
  155. EquivalentAbilities=( KeyName=HolyWarrior, EquivalentAbilityName[0]=HolyWarriorM1, EquivalentAbilityName[1]=HolyWarriorM2, EquivalentAbilityName[2]=HolyWarriorM3 )
  156. EquivalentAbilities=( KeyName=StunLance, EquivalentAbilityName[0]=SpectralStunLance)
  157. EquivalentAbilities=( KeyName=Stasis, EquivalentAbilityName[0]=PriestStasis )
  158. EquivalentAbilities=( KeyName=Shadowbind, EquivalentAbilityName[0]=ShadowbindM2)
  159. EquivalentAbilities=( KeyName=Corress, EquivalentAbilityName[0]=CorressM2, EquivalentAbilityName[1]=CorressM3, EquivalentAbilityName[2]=CorressM4)
  160. EquivalentAbilities=( KeyName=SpectralArmy, EquivalentAbilityName[0]=SpectralArmyM2, EquivalentAbilityName[1]=SpectralArmyM3, EquivalentAbilityName[2]=SpectralArmyM4)
  161. EquivalentAbilities=( KeyName=PsiMindControl, EquivalentAbilityName[0]=PriestPsiMindControl)
  162. Behaviors=(BehaviorName=GenericAIRoot, NodeType=Selector, Child[0]=TryNonAggressiveBehavior, Child[1]=TryMindControlledRoot, Child[2]="::CharacterRoot", Child[3]=SkipMove)
  163. Behaviors=(BehaviorName=TryNonAggressiveBehavior, NodeType=Sequence, Child[0]=HasHitAttackLimit, Child[1]=NonAggressiveBehavior)
  164. Behaviors=(BehaviorName=HasHitAttackLimit, NodeType=Condition) ; Uses values defined above for MaxEngagedEnemies, per difficulty level.
  165. Behaviors=(BehaviorName=NonAggressiveBehavior, NodeType=Selector, Child[0]=TryNonAggressiveBehaviorFirstAction, Child[1]=MoveFlanking, Child[2]=SkipMove)
  166. Behaviors=(BehaviorName=TryNonAggressiveBehaviorFirstAction, NodeType=Sequence, Child[0]=NotLastActionPoint, Child[1]=NonAggressiveBehaviorFirstAction)
  167. Behaviors=(BehaviorName=NonAggressiveBehaviorFirstAction, NodeType=RandSelector, Child[0]=TryOverwatch, Param[0]=33, Child[1]=MoveFlankingOrDefensive, Param[1]=67)
  168. Behaviors=(BehaviorName=MoveFlankingOrDefensive, NodeType=Selector, Child[0]=MoveFlanking, Child[1]=MoveDefensive, Child[2]=SkipMove)
  169. Behaviors=(BehaviorName=TryMindControlledRoot, NodeType=Sequence, Child[0]=AffectedByEffect-MindControl, Child[1]=MindControlledRoot)
  170. Behaviors=(BehaviorName=NotRedAlert, NodeType=Inverter, Child[0]=IsRedAlert)
  171. Behaviors=(BehaviorName=IsInFirstCombatTurn, NodeType=Condition)
  172. Behaviors=(BehaviorName=IsFlanked, NodeType=Condition)
  173. Behaviors=(BehaviorName=NotFlanked, NodeType=Inverter, Child[0]=IsFlanked)
  174. Behaviors=(BehaviorName=IsVisibleToPlayer, NodeType=Condition)
  175. Behaviors=(BehaviorName=TargetIsVisibleToPlayer, NodeType=Condition)
  176. Behaviors=(BehaviorName=DidNotMoveLastTurn, NodeType=Condition)
  177. Behaviors=(BehaviorName=HighPopularSupport, NodeType=Condition, Param[0]="PopularSupport", Param[1]=">", Param[2]="50%")
  178. Behaviors=(BehaviorName=LowPopularSupport, NodeType=Inverter, Child[0]=HighPopularSupport)
  179. Behaviors=(BehaviorName=IsGroupLeader, NodeType=Condition)
  180. Behaviors=(BehaviorName=IsFollower, NodeType=Inverter, Child[0]=IsGroupLeader)
  181. Behaviors=(BehaviorName=HasAmmo, NodeType=Condition)
  182. Behaviors=(BehaviorName=OutOfAmmo, NodeType=Inverter, Child[0]=HasAmmo)
  183. Behaviors=(BehaviorName=IsLastActionPoint, NodeType=StatCondition, Param[0]=ActionPoints, Param[1]="==", Param[2]=1)
  184. Behaviors=(BehaviorName=NotLastActionPoint, NodeType=StatCondition, Param[0]=ActionPoints, Param[1]=">", Param[2]=1)
  185. Behaviors=(BehaviorName=HasThreeActionPoints, NodeType=StatCondition, Param[0]=ActionPoints, Param[1]="==", Param[2]=3)
  186. Behaviors=(BehaviorName=HasGoodShotTarget, NodeType=Condition)
  187. Behaviors=(BehaviorName=IsInDangerousArea, NodeType=Condition)
  188. Behaviors=(BehaviorName=NotInDangerousArea, NodeType=Inverter, Child[0]=IsInDangerousArea)
  189. Behaviors=(BehaviorName=HasKillShot, NodeType=Condition); only functional for StandardShot
  190. Behaviors=(BehaviorName=HasNoKillShot, NodeType=Inverter, Child[0]=HasKillShot)
  191. Behaviors=(BehaviorName=TargetIsVulnerable, NodeType=Selector, Child[0]=TargetIsKillable, Child[1]=TargetHasLowHP)
  192. Behaviors=(BehaviorName=HasHighHP, NodeType=StatCondition, Param[0]=eStat_HP, Param[1]=">=", Param[2]="70%")
  193. Behaviors=(BehaviorName=HasLowHP, NodeType=StatCondition, Param[0]=eStat_HP, Param[1]="<=", Param[2]="30%")
  194. Behaviors=(BehaviorName=NotLowHP, NodeType=StatCondition, Param[0]=eStat_HP, Param[1]=">", Param[2]="30%")
  195. Behaviors=(BehaviorName=IsBloodied, NodeType=StatCondition, Param[0]=eStat_HP, Param[1]="<=", Param[2]="50%")
  196. Behaviors=(BehaviorName=HasWounds, NodeType=StatCondition, Param[0]=eStat_HP, Param[1]="<", Param[2]="100%")
  197. Behaviors=(BehaviorName=IsRedAlert, NodeType=StatCondition, Param[0]=eStat_AlertLevel, Param[1]="==", Param[2]="2")
  198. Behaviors=(BehaviorName=IsOrangeAlert, NodeType=Condition)
  199. Behaviors=(BehaviorName=IsYellowAlert, NodeType=StatCondition, Param[0]=eStat_AlertLevel, Param[1]="==", Param[2]="1")
  200. Behaviors=(BehaviorName=IsGreenAlert, NodeType=StatCondition, Param[0]=eStat_AlertLevel, Param[1]="==", Param[2]="0")
  201. Behaviors=(BehaviorName=HasRevealed, NodeType=Condition )
  202. Behaviors=(BehaviorName=TargetHasRevealed, NodeType=Condition )
  203. Behaviors=(BehaviorName=NotYetRevealed, NodeType=Inverter, Child[0]=HasRevealed )
  204. Behaviors=(BehaviorName=HasCombatOccured, NodeType=StatCondition, Param[0]=CombatCount, Param[1]=">", Param[2]="0")
  205. Behaviors=(BehaviorName=HasMoreThanOneOverwatcher, NodeType=StatCondition, Param[0]=OverwatcherCount, Param[1]=">", Param[2]="1")
  206. Behaviors=(BehaviorName=NoOverwatchingTeammates, NodeType=StatCondition, Param[0]=OverwatcherCount, Param[1]="==", Param[2]="0", Param[3]="1")
  207. Behaviors=(BehaviorName=OneOverwatchingTeammate, NodeType=StatCondition, Param[0]=OverwatcherCount, Param[1]="==", Param[2]="1", Param[3]="1")
  208. Behaviors=(BehaviorName=MultipleOverwatchingTeammates, NodeType=StatCondition, Param[0]=OverwatcherCount, Param[1]=">", Param[2]="1", Param[3]="1")
  209. Behaviors=(BehaviorName=TargetHasBeenAttackedTwice, NodeType=StatCondition, Param[0]=TargetSelectedThisTurnCount, Param[1]=">=", Param[2]="2")
  210. Behaviors=(BehaviorName=TargetHasBeenAttackedOnce, NodeType=StatCondition, Param[0]=TargetSelectedThisTurnCount, Param[1]="=", Param[2]="1")
  211. Behaviors=(BehaviorName=TargetHasNotBeenAttacked, NodeType=StatCondition, Param[0]=TargetSelectedThisTurnCount, Param[1]="=", Param[2]="0")
  212. Behaviors=(BehaviorName=NoVisibleOverwatchers, NodeType=StatCondition, Param[0]=OverwatcherCount, Param[1]="==", Param[2]="0")
  213. Behaviors=(BehaviorName=NoVisibleSuppressors, NodeType=StatCondition, Param[0]=SuppressorCount, Param[1]="==", Param[2]="0")
  214. Behaviors=(BehaviorName=HasBTVar-SafeToMove, NodeType=Condition)
  215. Behaviors=(BehaviorName=SetSafeToMoveTrue, NodeType=Action, Param[0]=SetBTVar, Param[1]="SafeToMove", Param[2]="1")
  216. Behaviors=(BehaviorName=SetSafeToMoveFalse, NodeType=Action, Param[0]=SetBTVar, Param[1]="SafeToMove", Param[2]="0")
  217. Behaviors=(BehaviorName=IsSafeToMove, NodeType=StatCondition, Param[0]=BTVar, Param[1]="!=", Param[2]="0", Param[3]="SafeToMove")
  218. Behaviors=(BehaviorName=InitSafeToMoveVar, NodeType=Selector, Child[0]=HasBTVar-SafeToMove, Child[1]=UpdateSafeToMoveVar)
  219. Behaviors=(BehaviorName=UpdateSafeToMoveVar, NodeType=Selector, Child[0]=TrySetSafeToMoveTrue, Child[1]=SetSafeToMoveFalse)
  220. Behaviors=(BehaviorName=TrySetSafeToMoveTrue, NodeType=Sequence, Child[0]=AreConditionsSafeForMove, Child[1]=SetSafeToMoveTrue)
  221. Behaviors=(BehaviorName=AreConditionsSafeForMove, NodeType=Selector, Child[0]=IsFlanked, Child[1]=PassesOverwatchSuppressMoveChecks)
  222. Behaviors=(BehaviorName=PassesOverwatchSuppressMoveChecks, NodeType=Sequence, Child[0]=PassesSuppressMoveChecks, Child[1]=PassesOverwatchMoveChecks)
  223. Behaviors=(BehaviorName=PassesOverwatchMoveChecks, NodeType=Selector, Child[0]=NoVisibleOverwatchers, Child[1]=RollToNotMoveAgainstOverwatchersFails)
  224. Behaviors=(BehaviorName=PassesSuppressMoveChecks, NodeType=Selector, Child[0]=NoVisibleSuppressors, Child[1]=RollToNotMoveAgainstSuppressorsFails)
  225. Behaviors=(BehaviorName=RollToNotMoveAgainstOverwatchersFails, NodeType=Sequence, Child[0]=SetNoMoveFalse, Child[1]=SetOverwatcherStack, Child[2]=RepeatRollNoMoveOnOverwatcherUntilPass, Child[3]=RollToNotMoveFailed)
  226. Behaviors=(BehaviorName=RollToNotMoveAgainstSuppressorsFails, NodeType=Sequence, Child[0]=SetNoMoveFalse, Child[1]=SetSuppressorStack, Child[2]=RepeatRollNoMoveOnSuppressorUntilPass, Child[3]=RollToNotMoveFailed)
  227. Behaviors=(BehaviorName=RepeatRollNoMoveOnOverwatcherUntilPass, NodeType=RepeatUntilFail, Child[0]=IterateRollOnNoMoveToOverwatcher)
  228. Behaviors=(BehaviorName=RepeatRollNoMoveOnSuppressorUntilPass, NodeType=RepeatUntilFail, Child[0]=IterateRollOnNoMoveToSuppressor)
  229. Behaviors=(BehaviorName=IterateRollOnNoMoveToOverwatcher, NodeType=Sequence, Child[0]=SetNextOverwatcher, Child[1]=Roll50ToNotMove, Child[2]=RollToNotMoveFailed) ; If RollToNotMove failed, keep rolling until it passes or we run out of overwatchers.
  230. Behaviors=(BehaviorName=IterateRollOnNoMoveToSuppressor, NodeType=Sequence, Child[0]=SetNextSuppressor, Child[1]=Roll75ToNotMove, Child[2]=RollToNotMoveFailed) ; If RollToNotMove failed, keep rolling until it passes or we run out of suppressors.
  231. Behaviors=(BehaviorName=SetNextOverwatcher, NodeType=Action)
  232. Behaviors=(BehaviorName=SetOverwatcherStack, NodeType=Action)
  233. Behaviors=(BehaviorName=SetNextSuppressor, NodeType=Action)
  234. Behaviors=(BehaviorName=SetSuppressorStack, NodeType=Action)
  235. Behaviors=(BehaviorName=Roll50ToNotMove, NodeType=RandSelector, Child[0]=SetNoMoveTrue, Param[0]=50, Child[1]=SetNoMoveFalse, Param[1]=50)
  236. Behaviors=(BehaviorName=Roll75ToNotMove, NodeType=RandSelector, Child[0]=SetNoMoveTrue, Param[0]=75, Child[1]=SetNoMoveFalse, Param[1]=25)
  237. Behaviors=(BehaviorName=SetNoMoveTrue, NodeType=Action, Param[0]=SetBTVar, Param[1]="NoMove", Param[2]="1")
  238. Behaviors=(BehaviorName=SetNoMoveFalse, NodeType=Action, Param[0]=SetBTVar, Param[1]="NoMove", Param[2]="0")
  239. Behaviors=(BehaviorName=RollToNotMoveFailed, NodeType=StatCondition, Param[0]=BTVar, Param[1]="==", Param[2]="0", Param[3]="NoMove")
  240. Behaviors=(BehaviorName=RollToNotMovePassed, NodeType=StatCondition, Param[0]=BTVar, Param[1]="!=", Param[2]="0", Param[3]="NoMove")
  241. Behaviors=(BehaviorName=SafeToMove, NodeType=Sequence, Child[0]=InitSafeToMoveVar, Child[1]=IsSafeToMove)
  242. Behaviors=(BehaviorName=IsDifficultyEasy, NodeType=StatCondition, Param[0]=Difficulty, Param[1]="==", Param[2]="0")
  243. Behaviors=(BehaviorName=IsDifficultyNormal, NodeType=StatCondition, Param[0]=Difficulty, Param[1]="==", Param[2]="1")
  244. Behaviors=(BehaviorName=IsDifficultyHard, NodeType=StatCondition, Param[0]=Difficulty, Param[1]="==", Param[2]="2")
  245. Behaviors=(BehaviorName=IsDifficultyClassic, NodeType=StatCondition, Param[0]=Difficulty, Param[1]="==", Param[2]="3")
  246. Behaviors=(BehaviorName=IsDifficultyAboveNormal, NodeType=StatCondition, Param[0]=Difficulty, Param[1]=">", Param[2]="1")
  247. Behaviors=(BehaviorName=IsDifficultyLow, NodeType=StatCondition, Param[0]=Difficulty, Param[1]="<=", Param[2]="1")
  248. Behaviors=(BehaviorName=UseDashMovement, NodeType=Action)
  249. Behaviors=(BehaviorName=SetCiviliansAsEnemiesInMoveCalculation, NodeType=Action)
  250. Behaviors=(BehaviorName=SetNoCoverMovement, NodeType=Action)
  251. Behaviors=(BehaviorName=HasPriorityTargetUnit, NodeType=Condition)
  252. Behaviors=(BehaviorName=HasPriorityTargetObject, NodeType=Condition)
  253. Behaviors=(BehaviorName=HasPriorityTarget, NodeType=Selector, Child[0]=HasPriorityTargetUnit, Child[1]=HasValidProtectDeviceTarget)
  254. Behaviors=(BehaviorName=SetPriorityTargetFromKismet, NodeType=Action)
  255. Behaviors=(BehaviorName=MoveTowardPriorityTarget, NodeType=Sequence, Child[0]=SetPriorityTargetFromKismet, Child[1]=SelectMoveTowardPriorityTarget)
  256. Behaviors=(BehaviorName=SelectMoveTowardPriorityTarget, NodeType=Selector, Child[0]=TryMeleeMoveTowardPriorityTarget, Child[1]=TryStandardMoveTowardPriorityTarget)
  257. Behaviors=(BehaviorName=TryStandardMoveTowardPriorityTarget, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardMove, Child[1]=FindDestinationTowardPriorityTarget, Child[2]=SelectAbility-StandardMove)
  258. Behaviors=(BehaviorName=FindDestinationTowardPriorityTarget, NodeType=Selector, Child[0]=FindPriorityTargetDestWithStandardShot, Child[1]=SelectFindPriorityTargetMeleeOrStandardShot); Not all units have a standard shot ability.
  259. Behaviors=(BehaviorName=FindRestrictedDestination-MWP_PriorityTarget, NodeType=Action)
  260. Behaviors=(BehaviorName=FindPriorityTargetDestWithStandardShot, NodeType=Sequence, Child[0]=IsAbilityReady-StandardShot, Child[1]=RestrictToAbilityRange-StandardShot, Child[2]=OverrideIdealRange-3, Child[3]=FindRestrictedDestination-MWP_PriorityTarget)
  261. Behaviors=(BehaviorName=IsAbilityReady-StandardShot, NodeType=Condition)
  262. Behaviors=(BehaviorName=SelectFindPriorityTargetMeleeOrStandardShot, NodeType=Selector, Child[0]=IfMeleeFindClosestPointToTarget, Child[1]=FindRestrictedDestination-MWP_PriorityTarget)
  263. Behaviors=(BehaviorName=TryMeleeMoveTowardPriorityTarget, NodeType=Sequence, Child[0]=IsAbilityReady-StandardMelee, Child[1]=RestrictToPotentialTargetRange-StandardMelee, Child[2]=FindRestrictedDestination-MWP_MeleeFanatic, Child[3]=SelectAbility-StandardMove)
  264. Behaviors=(BehaviorName=HasValidProtectDeviceTarget, NodeType=Sequence, Child[0]=HasPriorityTargetObject, Child[1]=PriorityTargetNotAttackedThisTurn )
  265. Behaviors=(BehaviorName=PriorityTargetNotAttackedThisTurn, NodeType=StatCondition, Param[0]=PriorityObjectAttackCount, Param[1]="==", Param[2]="0")
  266. Behaviors=(BehaviorName=HasEnemyVIP, NodeType=Condition) ; Slightly different from HasPriorityTargetUnit in that the Enemy VIP is not always the priority target.
  267. Behaviors=(BehaviorName=TargetIsPriorityUnit, NodeType=Condition)
  268. Behaviors=(BehaviorName=TargetIsPriorityObject, NodeType=Condition)
  269. Behaviors=(BehaviorName=TargetIsEnemyVIP, NodeType=Condition)
  270. Behaviors=(BehaviorName=TargetIsNotEnemyVIP, NodeType=Inverter, Child[0]=TargetIsEnemyVIP)
  271. Behaviors=(BehaviorName=AffectedByEffect-MindControl, NodeType=Condition)
  272. Behaviors=(BehaviorName=AffectedByEffect-RageTriggered, NodeType=Condition)
  273. Behaviors=(BehaviorName=AffectedByEffect-PsychosisTriggered, NodeType=Condition)
  274. Behaviors=(BehaviorName=AffectedByEffect-GatekeeperClosedEffect, NodeType=Condition)
  275. Behaviors=(BehaviorName=AffectedByEffect-WrathCannonStage1Effect, NodeType=Condition)
  276. Behaviors=(BehaviorName=AffectedByEffect-FrenzyEffect, NodeType=Condition)
  277. Behaviors=(BehaviorName=AffectedByEffect-Burrowed, NodeType=Condition)
  278. Behaviors=(BehaviorName=TargetAffectedByEffect-MarkedTarget, NodeType=Condition)
  279. Behaviors=(BehaviorName=AffectedByEffect-Poisoned, NodeType=Condition)
  280. Behaviors=(BehaviorName=TargetAffectedByEffect-Disoriented, NodeType=Condition)
  281. Behaviors=(BehaviorName=TargetAffectedByEffect-Confused, NodeType=Condition)
  282. Behaviors=(BehaviorName=TargetAffectedByEffect-Panicked, NodeType=Condition)
  283. Behaviors=(BehaviorName=TargetAffectedByEffect-Suppression, NodeType=Condition)
  284. Behaviors=(BehaviorName=TargetIsApplyingEffect-Suppression, NodeType=Condition)
  285. Behaviors=(BehaviorName=TargetWillWeakened, NodeType=Selector, Child[0]=TargetAffectedByEffect-Disoriented, Child[1]=TargetAffectedByEffect-Confused, Child[2]=TargetAffectedByEffect-Panicked);, Child[3]=TargetNotAffectedByDominated)
  286. Behaviors=(BehaviorName=TargetWillunWeakened, NodeType=Inverter, Child[0]=TargetWillWeakened)
  287. Behaviors=(BehaviorName=IsMissionOfType-Terror, NodeType=Condition)
  288. Behaviors=(BehaviorName=IsMissionOfType-ChosenRetaliation, NodeType=Condition)
  289. Behaviors=(BehaviorName=IsAIInCivilianRadius, NodeType=Condition)
  290. Behaviors=(BehaviorName=HasMultipleEnergyShieldTargets, NodeType=StatCondition, Param[0]=AbilityTargetUnitCount-EnergyShield, Param[1]=">=", Param[2]=3) ; Param[2] count includes self.
  291. Behaviors=(BehaviorName=HasAnyEnergyShieldTargets, NodeType=StatCondition, Param[0]=AbilityTargetUnitCount-EnergyShield, Param[1]=">=", Param[2]=2)
  292. Behaviors=(BehaviorName=TargetHasLowHP, NodeType=TargetStatCondition, Param[0]=eStat_HP, Param[1]="<=", Param[2]="40%")
  293. Behaviors=(BehaviorName=TargetHasHighHP, NodeType=TargetStatCondition, Param[0]=eStat_HP, Param[1]=">=", Param[2]="75%")
  294. Behaviors=(BehaviorName=TargetHasMaxHP, NodeType=TargetStatCondition, Param[0]=eStat_HP, Param[1]=">=", Param[2]="100%")
  295. Behaviors=(BehaviorName=TargetWounded, NodeType=Inverter, Child[0]=TargetHasMaxHP)
  296. Behaviors=(BehaviorName=TargetIsKillable, NodeType=Condition)
  297. Behaviors=(BehaviorName=TargetHitChanceLow, NodeType=Condition)
  298. Behaviors=(BehaviorName=TargetHitChanceHigh, NodeType=Condition)
  299. Behaviors=(BehaviorName=IsFlankingTarget, NodeType=Condition)
  300. Behaviors=(BehaviorName=TargetIsCivilian, NodeType=Condition)
  301. Behaviors=(BehaviorName=TargetIsNotCivilian, NodeType=Inverter, Child[0]=TargetIsCivilian)
  302. Behaviors=(BehaviorName=TargetIsEnemy, NodeType=Condition)
  303. Behaviors=(BehaviorName=TargetIsAlly, NodeType=Condition)
  304. Behaviors=(BehaviorName=TargetIsAdvent, NodeType=Condition)
  305. Behaviors=(BehaviorName=TargetIsAlien, NodeType=Condition)
  306. Behaviors=(BehaviorName=TargetIsNotAlien, NodeType=Inverter, Child[0]=TargetIsAlien)
  307. Behaviors=(BehaviorName=TargetIsRobotic, NodeType=Condition)
  308. Behaviors=(BehaviorName=TargetIsClosestValidTarget, NodeType=Condition)
  309. Behaviors=(BehaviorName=TargetIsNotAttackable, NodeType=Condition) ; Dead, or incapacitated.
  310. Behaviors=(BehaviorName=TargetIsChosen, NodeType=Condition)
  311. Behaviors=(BehaviorName=TargetIsEngagedChosen, NodeType=Condition)
  312. Behaviors=(BehaviorName=TargetIsNotEngagedChosen, NodeType=Inverter, Child[0]=TargetIsEngagedChosen)
  313. Behaviors=(BehaviorName=FindDestination-MWP_FallBack, NodeType=Action)
  314. Behaviors=(BehaviorName=FindDestination-MWP_Defensive, NodeType=Action)
  315. Behaviors=(BehaviorName=FindDestination-MWP_Standard, NodeType=Action)
  316. Behaviors=(BehaviorName=FindDestination-MWP_Aggressive, NodeType=Action)
  317. Behaviors=(BehaviorName=FindDestination-MWP_Fanatic, NodeType=Action)
  318. Behaviors=(BehaviorName=FindDestination-MWP_AdvanceCover, NodeType=Action)
  319. Behaviors=(BehaviorName=FindDestination-MWP_Flanking, NodeType=Action)
  320. Behaviors=(BehaviorName=FindDestination-MWP_Hunting, NodeType=Action)
  321. Behaviors=(BehaviorName=FindDestination-MWP_Melee, NodeType=Action)
  322. Behaviors=(BehaviorName=FindDestination-MWP_MeleeDefensive, NodeType=Action)
  323. Behaviors=(BehaviorName=FindDestination-MWP_MeleeAggressive, NodeType=Action)
  324. Behaviors=(BehaviorName=FindDestination-MWP_MeleeFanatic, NodeType=Action)
  325. Behaviors=(BehaviorName=FindDestination-MWP_CivilianGreen, NodeType=Action)
  326. Behaviors=(BehaviorName=FindDestination-MWP_CivilianRed, NodeType=Action)
  327. Behaviors=(BehaviorName=FindRestrictedDestination-MWP_RandomNoCover, NodeType=Action)
  328. Behaviors=(BehaviorName=FindDestinationWithLoS-MWP_Teleport, NodeType=Action)
  329. Behaviors=(BehaviorName=FindDestinationWithLoS-MWP_IsoTeleport, NodeType=Action)
  330. Behaviors=(BehaviorName=FindDestinationWithLoS-MWP_FallBack, NodeType=Action)
  331. Behaviors=(BehaviorName=FindDestinationWithLoS-MWP_Defensive, NodeType=Action)
  332. Behaviors=(BehaviorName=FindDestinationWithLoS-MWP_Standard, NodeType=Action)
  333. Behaviors=(BehaviorName=FindDestinationWithLoS-MWP_Aggressive, NodeType=Action)
  334. Behaviors=(BehaviorName=FindDestinationWithLoS-MWP_Fanatic, NodeType=Action)
  335. Behaviors=(BehaviorName=FindDestinationWithLoS-MWP_AdvanceCover, NodeType=Action)
  336. Behaviors=(BehaviorName=FindDestinationWithLoS-MWP_Flanking, NodeType=Action)
  337. Behaviors=(BehaviorName=FindRestrictedDestination-MWP_FallBack, NodeType=Action)
  338. Behaviors=(BehaviorName=FindRestrictedDestination-MWP_Defensive, NodeType=Action)
  339. Behaviors=(BehaviorName=FindRestrictedDestination-MWP_Standard, NodeType=Action)
  340. Behaviors=(BehaviorName=FindRestrictedDestination-MWP_Aggressive, NodeType=Action)
  341. Behaviors=(BehaviorName=FindRestrictedDestination-MWP_Fanatic, NodeType=Action)
  342. Behaviors=(BehaviorName=FindRestrictedDestination-MWP_Flanking, NodeType=Action)
  343. Behaviors=(BehaviorName=FindRestrictedDestination-MWP_AdvanceCover, NodeType=Action)
  344. Behaviors=(BehaviorName=FindRestrictedDestination-MWP_Melee, NodeType=Action)
  345. Behaviors=(BehaviorName=FindRestrictedDestination-MWP_MeleeDefensive, NodeType=Action)
  346. Behaviors=(BehaviorName=FindRestrictedDestination-MWP_MeleeFanatic, NodeType=Action)
  347. Behaviors=(BehaviorName=FindRestrictedDestination-MWP_Teleport, NodeType=Action)
  348. Behaviors=(BehaviorName=FindRestrictedDestination-MWP_IsoTeleport, NodeType=Action)
  349. Behaviors=(BehaviorName=FindRestrictedDestination-MWP_MimicBeacon, NodeType=Action)
  350. Behaviors=(BehaviorName=FindRestrictedDestination-MWP_Burrow, NodeType=Action)
  351. Behaviors=(BehaviorName=FindDestinationWithLoS-MWP_StandardHeight, NodeType=Action)
  352. Behaviors=(BehaviorName=FindDestination-MWP_StandardHeight, NodeType=Action)
  353. Behaviors=(BehaviorName=ResetDestinationSearch, NodeType=Action)
  354. Behaviors=(BehaviorName=RestrictToEnemyLoS, NodeType=Action)
  355. Behaviors=(BehaviorName=RestrictToAllyLoS, NodeType=Action)
  356. Behaviors=(BehaviorName=RestrictToFlanking, NodeType=Action)
  357. Behaviors=(BehaviorName=RestrictToNonFlanking, NodeType=Action) ; Force all destinations are not flanking the enemy.
  358. Behaviors=(BehaviorName=RestrictToUnflanked, NodeType=Action) ; Force all destinations are not flanked by any visible enemy.
  359. Behaviors=(BehaviorName=RestrictToAbilityRange-ThrowGrenade, NodeType=Action)
  360. Behaviors=(BehaviorName=RestrictToAbilityRange-PoisonSpit, NodeType=Action)
  361. Behaviors=(BehaviorName=RestrictToAbilityRange-AcidBlob, NodeType=Action)
  362. Behaviors=(BehaviorName=RestrictToAbilityRange-MicroMissiles, NodeType=Action)
  363. Behaviors=(BehaviorName=RestrictToAbilityRange-BlazingPinionsStage1, NodeType=Action)
  364. Behaviors=(BehaviorName=RestrictToAbilityRange-PsiDimensionalRiftStage1, NodeType=Action)
  365. Behaviors=(BehaviorName=RestrictToAbilityRange-NullLance, NodeType=Action)
  366. Behaviors=(BehaviorName=RestrictToAbilityRange-PsiMindControl, NodeType=Action)
  367. Behaviors=(BehaviorName=RestrictToAbilityRange-AnimaInversion, NodeType=Action)
  368. Behaviors=(BehaviorName=RestrictToAbilityRange-PsiBombStage1, NodeType=Action)
  369. Behaviors=(BehaviorName=RestrictToAbilityRange-StandardShot, NodeType=Action)
  370. Behaviors=(BehaviorName=RestrictToAbilityRange-Suppression, NodeType=Action)
  371. Behaviors=(BehaviorName=RestrictToPotentialTargetRange-EnergyShield, NodeType=Action); Requires a potential target. Used for finding a destination to shield our 'best' unit.
  372. Behaviors=(BehaviorName=RestrictToAlliedAbilityRange-EnergyShield, NodeType=Action, Param[0]=2) ;Param[0] is the minimum number of Allied Targets in range for each tile to be considered.
  373. Behaviors=(BehaviorName=RestrictToPotentialTargetRange-StandardMelee, NodeType=Action); StandardMelee has aliases in equivalentAbilities list.
  374. Behaviors=(BehaviorName=RestrictToPotentialTargetRange-NullLance, NodeType=Action)
  375. Behaviors=(BehaviorName=AddAbilityRangeWeight-EnergyShield, NodeType=Action, Param[0]="5.5")
  376. Behaviors=(BehaviorName=FindGrenadeDestination, NodeType=Sequence, Child[0]=ResetDestinationSearch, Child[1]=RestrictToAbilityRange-ThrowGrenade, Child[2]=RestrictToEnemyLoS, Child[3]=FindRestrictedDestination-MWP_Standard)
  377. Behaviors=(BehaviorName=FindPoisonSpitDestination, NodeType=Sequence, Child[0]=ResetDestinationSearch, Child[1]=RestrictToAbilityRange-PoisonSpit, Child[2]=RestrictToEnemyLoS, Child[3]=FindRestrictedDestination-MWP_Standard)
  378. Behaviors=(BehaviorName=FindAcidBlobDestination, NodeType=Sequence, Child[0]=ResetDestinationSearch, Child[1]=RestrictToAbilityRange-AcidBlob, Child[2]=RestrictToEnemyLoS, Child[3]=FindRestrictedDestination-MWP_Standard)
  379. Behaviors=(BehaviorName=FindMicroMissilesDestination, NodeType=Sequence, Child[0]=ResetDestinationSearch, Child[1]=RestrictToAbilityRange-MicroMissiles, Child[2]=RestrictToEnemyLoS, Child[3]=FindRestrictedDestination-MWP_Fanatic)
  380. Behaviors=(BehaviorName=FindBlazingPinionsDestination, NodeType=Sequence, Child[0]=ResetDestinationSearch, Child[1]=RestrictToAbilityRange-BlazingPinionsStage1, Child[2]=RestrictToEnemyLoS, Child[3]=FindRestrictedDestination-MWP_Fanatic)
  381. Behaviors=(BehaviorName=FindShieldDestinationDefensive, NodeType=Selector, Child[0]=FindShieldDestinationDefensive_MultipleUnits, Child[1]=FindShieldDestinationDefensive_BestUnit)
  382. Behaviors=(BehaviorName=FindShieldDestinationDefensive_MultipleUnits, NodeType=Sequence, Child[0]=ResetDestinationSearch, Child[1]=RestrictToAlliedAbilityRange-EnergyShield, Child[2]=AddAbilityRangeWeight-EnergyShield, Child[3]=FindRestrictedDestination-MWP_Defensive)
  383. Behaviors=(BehaviorName=FindShieldDestinationDefensive_BestUnit, NodeType=Sequence, Child[0]=SelectPotentialTargetForEnergyShield, Child[1]=ResetDestinationSearch, Child[2]=RestrictToPotentialTargetRange-EnergyShield, Child[3]=FindRestrictedDestination-MWP_Defensive)
  384. Behaviors=(BehaviorName=FindDimensionalRiftDestination, NodeType=Sequence, Child[0]=ResetDestinationSearch, Child[1]=RestrictToAbilityRange-PsiDimensionalRiftStage1, Child[2]=RestrictToEnemyLoS, Child[3]=FindRestrictedDestination-MWP_Defensive)
  385. Behaviors=(BehaviorName=FindMindControlDestinationDefensive, NodeType=Sequence, Child[0]=ResetDestinationSearch, Child[1]=RestrictToAbilityRange-PsiMindControl, Child[2]=RestrictToEnemyLoS, Child[3]=FindRestrictedDestination-MWP_Defensive)
  386. Behaviors=(BehaviorName=FindAnimaInversionDestination, NodeType=Sequence, Child[0]=ResetDestinationSearch, Child[1]=RestrictToAbilityRange-AnimaInversion, Child[2]=RestrictToEnemyLoS, Child[3]=FindRestrictedDestination-MWP_Fanatic)
  387. Behaviors=(BehaviorName=FindPsiBombDestination, NodeType=Sequence, Child[0]=ResetDestinationSearch, Child[1]=RestrictToAbilityRange-PsiBombStage1, Child[2]=RestrictToEnemyLoS, Child[3]=FindRestrictedDestination-MWP_Standard)
  388. Behaviors=(BehaviorName=FindNullLanceDestination, NodeType=Sequence, Child[0]=ResetDestinationSearch, Child[1]=RestrictToAbilityRange-NullLance, Child[2]=RestrictToEnemyLoS, Child[3]=FindRestrictedDestination-MWP_Standard)
  389. Behaviors=(BehaviorName=FindPsiBombTeleportDestination, NodeType=Sequence, Child[0]=ResetDestinationSearch, Child[1]=RestrictToAbilityRange-PsiBombStage1, Child[2]=RestrictToEnemyLoS, Child[3]=UseDashMovement, Child[4]=FindRestrictedDestination-MWP_Teleport)
  390. Behaviors=(BehaviorName=FindPsiMindControlTeleportDestination, NodeType=Sequence, Child[0]=ResetDestinationSearch, Child[1]=RestrictToAbilityRange-PsiMindControl, Child[2]=RestrictToEnemyLoS, Child[3]=UseDashMovement, Child[4]=FindRestrictedDestination-MWP_Teleport)
  391. Behaviors=(BehaviorName=FindPsiDimensionalRiftTeleportDestination, NodeType=Sequence, Child[0]=ResetDestinationSearch, Child[1]=RestrictToAbilityRange-PsiDimensionalRiftStage1, Child[2]=RestrictToEnemyLoS, Child[3]=UseDashMovement, Child[4]=FindRestrictedDestination-MWP_Teleport)
  392. Behaviors=(BehaviorName=FindNullLanceTeleportDestination, NodeType=Sequence, Child[0]=RestrictToPotentialTargetRange-NullLance, Child[1]=UseDashMovement, Child[2]=FindRestrictedDestination-MWP_Teleport)
  393. Behaviors=(BehaviorName=FindSuppressionDestination, NodeType=Sequence, Child[0]=ResetDestinationSearch, Child[1]=RestrictToAbilityRange-Suppression, Child[2]=RestrictToEnemyLoS, Child[3]=FindRestrictedDestination-MWP_Standard)
  394. Behaviors=(BehaviorName=SkipMove, NodeType=Action)
  395. Behaviors=(BehaviorName=SelectMoveStandard, NodeType=Selector, Child[0]=SelectMoveProfileByJob, Child[1]=MoveStandard)
  396. Behaviors=(BehaviorName=SelectMove_JobOrDefensive, NodeType=Selector, Child[0]=SelectMoveProfileByJob, Child[1]=MoveDefensive)
  397. Behaviors=(BehaviorName=SelectMove_JobOrAggressive, NodeType=Selector, Child[0]=SelectMoveProfileByJob, Child[1]=MoveAggressive)
  398. Behaviors=(BehaviorName=SelectNCMove_JobOrFanatic, NodeType=Selector, Child[0]=SelectNCMoveProfileByJob, Child[1]=MoveNoCover)
  399. Behaviors=(BehaviorName=SelectMove_JobOrHunter, NodeType=Selector, Child[0]=SelectMoveProfileByJob, Child[1]=MoveHunting)
  400. Behaviors=(BehaviorName=SelectMove_JobOrFlanking, NodeType=Selector, Child[0]=SelectMoveProfileByJob, Child[1]=MoveFlanking)
  401. Behaviors=(BehaviorName=SelectMove_JobOrMelee, NodeType=Selector, Child[0]=SelectMoveProfileByJob, Child[1]=MoveMelee)
  402. Behaviors=(BehaviorName=SelectUnsafeMove_JobOrMelee, NodeType=Selector, Child[0]=SelectMoveProfileByJobUnsafe, Child[1]=MoveMeleeUnsafe)
  403. Behaviors=(BehaviorName=FallBack, NodeType=Sequence, Child[0]=SafeToMove, Child[1]=FallBackUnsafe)
  404. Behaviors=(BehaviorName=FallBackUnsafe, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardMove, Child[1]=ResetDestinationSearch, Child[2]=FindBestFallbackDestination, Child[3]=SelectAbility-StandardMove)
  405. Behaviors=(BehaviorName=FindBestFallbackDestination, NodeType=Selector, Child[0]=FindDestinationWithLoS-MWP_Defensive, Child[1]=FindDestinationWithLoS-MWP_FallBack, Child[2]=FindDestination-MWP_Defensive, Child[3]=FindDestination-MWP_FallBack)
  406. Behaviors=(BehaviorName=FallBackWithLoS, NodeType=Sequence, Child[0]=SafeToMove, Child[1]=FallBackWithLoSUnsafe)
  407. Behaviors=(BehaviorName=FallBackWithLoSUnsafe, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardMove, Child[1]=ResetDestinationSearch, Child[2]=FindDestinationWithLoS-MWP_FallBack, Child[3]=SelectAbility-StandardMove)
  408. Behaviors=(BehaviorName=NCFallBackWithLoS, NodeType=Sequence, Child[0]=SafeToMove, Child[1]=NCFallBackWithLoSUnsafe)
  409. Behaviors=(BehaviorName=NCFallBackWithLoSUnsafe, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardMove, Child[1]=ResetDestinationSearch, Child[2]=SetNoCoverMovement, Child[3]=FindDestinationWithLoS-MWP_FallBack, Child[4]=SelectAbility-StandardMove)
  410. Behaviors=(BehaviorName=FindFriendlyFallbackDestination, NodeType=Sequence, Child[0]=ResetDestinationSearch, Child[1]=RestrictToAllyLoS, Child[2]=FindRestrictedDestination-MWP_FallBack)
  411. Behaviors=(BehaviorName=FallBackIfFirstAbility, NodeType=Sequence, Child[0]=NotLastActionPoint, Child[1]=FallBack)
  412. Behaviors=(BehaviorName=FallBackIfFirstAbilityUnsafe, NodeType=Sequence, Child[0]=NotLastActionPoint, Child[1]=FallBackUnsafe)
  413. Behaviors=(BehaviorName=FallBackWithLoSIfFirstAbility, NodeType=Sequence, Child[0]=NotLastActionPoint, Child[1]=FallBackWithLoS)
  414. Behaviors=(BehaviorName=FallBackWithLoSIfFirstAbilityUnsafe, NodeType=Sequence, Child[0]=NotLastActionPoint, Child[1]=FallBackWithLoSUnsafe)
  415. Behaviors=(BehaviorName=MoveDefensive, NodeType=Sequence, Child[0]=SafeToMove, Child[1]=MoveDefensiveUnsafe)
  416. Behaviors=(BehaviorName=MoveDefensiveUnsafe, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardMove, Child[1]=ResetDestinationSearch, Child[2]=FindDestination-MWP_Defensive, Child[3]=SelectAbility-StandardMove)
  417. Behaviors=(BehaviorName=NCMoveDefensive, NodeType=Sequence, Child[0]=SafeToMove, Child[1]=NCMoveDefensiveUnsafe)
  418. Behaviors=(BehaviorName=NCMoveDefensiveUnsafe, NodeType=Selector, Child[0]=NCMoveDefensiveUnsafe_LoS, Child[1]=NCMoveDefensiveUnsafe_Any)
  419. Behaviors=(BehaviorName=NCMoveDefensiveUnsafe_LoS, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardMove, Child[1]=ResetDestinationSearch, Child[2]=SetNoCoverMovement, Child[3]=FindDestinationWithLoS-MWP_Defensive, Child[4]=SelectAbility-StandardMove)
  420. Behaviors=(BehaviorName=NCMoveDefensiveUnsafe_Any, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardMove, Child[1]=ResetDestinationSearch, Child[2]=SetNoCoverMovement, Child[3]=FindDestination-MWP_Defensive, Child[4]=SelectAbility-StandardMove)
  421. Behaviors=(BehaviorName=MoveDefensiveIfFirstAbility, NodeType=Sequence, Child[0]=NotLastActionPoint, Child[1]=MoveDefensive)
  422. Behaviors=(BehaviorName=MoveDefensiveIfFirstAbilityUnsafe, NodeType=Sequence, Child[0]=NotLastActionPoint, Child[1]=MoveDefensiveUnsafe)
  423. Behaviors=(BehaviorName=MoveDefensiveWithLoS, NodeType=Sequence, Child[0]=SafeToMove, Child[1]=MoveDefensiveWithLoSUnsafe)
  424. Behaviors=(BehaviorName=MoveDefensiveWithLoSUnsafe, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardMove, Child[1]=ResetDestinationSearch, Child[2]=RestrictToUnflanked, Child[3]=FindDestinationWithLoS-MWP_Defensive, Child[4]=SelectAbility-StandardMove)
  425. Behaviors=(BehaviorName=MoveDefensiveWithLoSIfFirstAbility, NodeType=Sequence, Child[0]=NotLastActionPoint, Child[1]=MoveDefensiveWithLoS)
  426. Behaviors=(BehaviorName=MoveDefensiveWithLoSIfFirstAbilityUnsafe, NodeType=Sequence, Child[0]=NotLastActionPoint, Child[1]=MoveDefensiveWithLoSUnsafe)
  427. Behaviors=(BehaviorName=MoveStandard, NodeType=Sequence, Child[0]=SafeToMove, Child[1]=MoveStandardUnsafe)
  428. Behaviors=(BehaviorName=MoveStandardUnsafe, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardMove, Child[1]=FindDestination-MWP_Standard, Child[2]=SelectAbility-StandardMove)
  429. Behaviors=(BehaviorName=MoveStandardIfFirstAbility, NodeType=Sequence, Child[0]=NotLastActionPoint, Child[1]=MoveStandard)
  430. Behaviors=(BehaviorName=MoveStandardWithLoS, NodeType=Sequence, Child[0]=SafeToMove, Child[1]=MoveStandardWithLoSUnsafe)
  431. Behaviors=(BehaviorName=MoveStandardWithLoSUnsafe, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardMove, Child[1]=ResetDestinationSearch, Child[2]=FindDestinationWithLoS-MWP_Standard, Child[3]=SelectAbility-StandardMove)
  432. Behaviors=(BehaviorName=MoveStandardWithLoSIfFirstAbility, NodeType=Sequence, Child[0]=NotLastActionPoint, Child[1]=MoveStandardWithLoS)
  433. Behaviors=(BehaviorName=MoveStandardWithLoSIfFirstAbilityUnsafe, NodeType=Sequence, Child[0]=NotLastActionPoint, Child[1]=MoveStandardWithLoSUnsafe)
  434. Behaviors=(BehaviorName=MoveAggressiveUnsafe, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardMove, Child[1]=ResetDestinationSearch, Child[2]=FindDestinationWithLoS-MWP_Aggressive, Child[3]=SelectAbility-StandardMove)
  435. Behaviors=(BehaviorName=MoveAggressive, NodeType=Sequence, Child[0]=SafeToMove, Child[1]=MoveAggressiveUnsafe)
  436. Behaviors=(BehaviorName=MoveAggressiveIfFirstAbility, NodeType=Sequence, Child[0]=NotLastActionPoint, Child[1]=MoveAggressive)
  437. Behaviors=(BehaviorName=MoveAggressiveIfFirstAbilityUnsafe, NodeType=Sequence, Child[0]=NotLastActionPoint, Child[1]=MoveAggressiveUnsafe)
  438. Behaviors=(BehaviorName=NCMoveAggressiveUnsafe, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardMove, Child[1]=ResetDestinationSearch, Child[2]=SetNoCoverMovement, Child[3]=FindDestinationWithLoS-MWP_Aggressive, Child[4]=SelectAbility-StandardMove)
  439. Behaviors=(BehaviorName=NCMoveAggressive, NodeType=Sequence, Child[0]=SafeToMove, Child[1]=NCMoveAggressiveUnsafe)
  440. Behaviors=(BehaviorName=MoveNoCoverUnsafe, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardMove, Child[1]=ResetDestinationSearch, Child[2]=SetNoCoverMovement, Child[3]=FindDestination-MWP_Fanatic, Child[4]=SelectAbility-StandardMove)
  441. Behaviors=(BehaviorName=MoveNoCover, NodeType=Sequence, Child[0]=SafeToMove, Child[1]=MoveNoCoverUnsafe)
  442. Behaviors=(BehaviorName=MoveNoCoverIfFirstAbility, NodeType=Sequence, Child[0]=NotLastActionPoint, Child[1]=MoveNoCover)
  443. Behaviors=(BehaviorName=MoveNoCoverIfFirstAbilityUnsafe, NodeType=Sequence, Child[0]=NotLastActionPoint, Child[1]=MoveNoCoverUnsafe)
  444. Behaviors=(BehaviorName=MoveHuntingUnsafe, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardMove, Child[1]=FindDestinationForHunter, Child[2]=SelectAbility-StandardMove)
  445. Behaviors=(BehaviorName=MoveHunting, NodeType=Sequence, Child[0]=SafeToMove, Child[1]=MoveHuntingUnsafe)
  446. Behaviors=(BehaviorName=FindDestinationForHunter, NodeType=Selector, Child[0]=HuntWithLoS, Child[1]=BestHuntDestinationWithoutLoS)
  447. Behaviors=(BehaviorName=HuntWithLoS, NodeType=Sequence, Child[0]=ResetDestinationSearch, Child[1]=RestrictToEnemyLoS, Child[2]=FindDestination-MWP_Hunting)
  448. Behaviors=(BehaviorName=BestHuntDestinationWithoutLoS, NodeType=Sequence, Child[0]=ResetDestinationSearch, Child[1]=FindDestination-MWP_Hunting)
  449. Behaviors=(BehaviorName=MoveAdvanceToCover, NodeType=Sequence, Child[0]=SafeToMove, Child[1]=MoveAdvanceToCoverUnsafe)
  450. Behaviors=(BehaviorName=MoveAdvanceToCoverUnsafe, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardMove, Child[1]=ResetDestinationSearch, Child[2]=FindDestination-MWP_AdvanceCover, Child[3]=SelectAbility-StandardMove)
  451. Behaviors=(BehaviorName=MoveAdvanceToCoverLoSUnsafe, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardMove, Child[1]=ResetDestinationSearch, Child[2]=FindDestinationWithLoS-MWP_AdvanceCover, Child[3]=SelectAbility-StandardMove)
  452. Behaviors=(BehaviorName=NCMoveAdvanceToCover, NodeType=Sequence, Child[0]=SafeToMove, Child[1]=NCMoveAdvanceToCoverUnsafe)
  453. Behaviors=(BehaviorName=NCMoveAdvanceToCoverUnsafe, NodeType=Selector, Child[0]=NCMoveAdvanceToCoverUnsafe_LoS, Child[1]=NCMoveAdvanceToCoverUnsafe_Any)
  454. Behaviors=(BehaviorName=NCMoveAdvanceToCoverUnsafe_LoS, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardMove, Child[1]=ResetDestinationSearch, Child[2]=SetNoCoverMovement, Child[3]=FindDestinationWithLoS-MWP_AdvanceCover, Child[4]=SelectAbility-StandardMove)
  455. Behaviors=(BehaviorName=NCMoveAdvanceToCoverUnsafe_Any, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardMove, Child[1]=ResetDestinationSearch, Child[2]=SetNoCoverMovement, Child[3]=FindDestination-MWP_AdvanceCover, Child[4]=SelectAbility-StandardMove)
  456. Behaviors=(BehaviorName=MoveFlanking, NodeType=Sequence, Child[0]=SafeToMove, Child[1]=MoveFlankingUnsafe)
  457. Behaviors=(BehaviorName=MoveFlankingUnsafe, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardMove, Child[1]=ResetDestinationSearch, Child[2]=FindDestinationWithLoS-MWP_Flanking, Child[3]=SelectAbility-StandardMove)
  458. Behaviors=(BehaviorName=MoveFlankingIfFirstAbility, NodeType=Sequence, Child[0]=NotLastActionPoint, Child[1]=MoveFlanking)
  459. Behaviors=(BehaviorName=MoveFlankingIfFirstAbilityUnsafe, NodeType=Sequence, Child[0]=NotLastActionPoint, Child[1]=MoveFlankingUnsafe)
  460. Behaviors=(BehaviorName=NCMoveFlanking, NodeType=Sequence, Child[0]=SafeToMove, Child[1]=NCMoveFlankingUnsafe)
  461. Behaviors=(BehaviorName=NCMoveFlankingUnsafe, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardMove, Child[1]=ResetDestinationSearch, Child[2]=SetNoCoverMovement, Child[3]=FindDestinationWithLoS-MWP_Flanking, Child[4]=SelectAbility-StandardMove)
  462. Behaviors=(BehaviorName=MoveMelee, NodeType=Sequence, Child[0]=SafeToMove, Child[1]=MoveMeleeUnsafe)
  463. Behaviors=(BehaviorName=MoveMeleeUnsafe, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardMove, Child[1]=ResetDestinationSearch, Child[2]=FindMeleeDestination, Child[3]=SelectAbility-StandardMove)
  464. Behaviors=(BehaviorName=MoveMeleeDefensive, NodeType=Sequence, Child[0]=SafeToMove, Child[1]=MoveMeleeDefensiveUnsafe)
  465. Behaviors=(BehaviorName=MoveMeleeDefensiveUnsafe, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardMove, Child[1]=ResetDestinationSearch, Child[2]=FindMeleeDestinationDefensive, Child[3]=SelectAbility-StandardMove)
  466. Behaviors=(BehaviorName=MoveMeleeFANATIC, NodeType=Sequence, Child[0]=SafeToMove, Child[1]=MoveMeleeFANATICUnsafe)
  467. Behaviors=(BehaviorName=MoveMeleeFANATICUnsafe, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardMove, Child[1]=ResetDestinationSearch, Child[2]=FindMeleeDestinationFANATIC, Child[3]=SelectAbility-StandardMove)
  468. Behaviors=(BehaviorName=MoveToPotentialMeleeFANATIC, NodeType=Sequence, Child[0]=SafeToMove, Child[1]=MoveToPotentialMeleeFANATICUnsafe)
  469. Behaviors=(BehaviorName=MoveToPotentialMeleeFANATICUnsafe, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardMove, Child[1]=FindPotentialMeleeDestinationFANATIC, Child[2]=SelectAbility-StandardMove)
  470. Behaviors=(BehaviorName=MoveMeleeIfFirstAbility, NodeType=Sequence, Child[0]=NotLastActionPoint, Child[1]=MoveMelee)
  471. Behaviors=(BehaviorName=MoveMeleeDefensiveIfFirstAbility, NodeType=Sequence, Child[0]=NotLastActionPoint, Child[1]=MoveMeleeDefensive)
  472. Behaviors=(BehaviorName=MoveMeleeIfFirstAbilityFANATIC, NodeType=Sequence, Child[0]=NotLastActionPoint, Child[1]=MoveMeleeFANATIC)
  473. Behaviors=(BehaviorName=MoveToPotentialMeleeIfFirstAbilityFANATIC, NodeType=Sequence, Child[0]=NotLastActionPoint, Child[1]=IncludeAlliesAsMeleeTargets, Child[2]=MoveToPotentialMeleeFANATIC)
  474. Behaviors=(BehaviorName=MoveMeleeIfFirstAbilityUnsafe, NodeType=Sequence, Child[0]=NotLastActionPoint, Child[1]=MoveMeleeUnsafe)
  475. Behaviors=(BehaviorName=MoveMeleeDefensiveIfFirstAbilityUnsafe, NodeType=Sequence, Child[0]=NotLastActionPoint, Child[1]=MoveMeleeDefensiveUnsafe)
  476. Behaviors=(BehaviorName=MoveMeleeIfFirstAbilityFANATICUnsafe, NodeType=Sequence, Child[0]=NotLastActionPoint, Child[1]=MoveMeleeFANATICUnsafe)
  477. Behaviors=(BehaviorName=MoveMeleeDash, NodeType=Selector, Child[0]=IfFirstActionMoveMeleeDash, Child[1]=MoveMelee)
  478. Behaviors=(BehaviorName=MoveMeleeDashUnsafe, NodeType=Selector, Child[0]=IfFirstActionMoveMeleeDashUnsafe, Child[1]=MoveMeleeUnsafe)
  479. Behaviors=(BehaviorName=IfFirstActionMoveMeleeDash, NodeType=Sequence, Child[0]=NotLastActionPoint, Child[1]=AttemptMoveMeleeDash)
  480. Behaviors=(BehaviorName=IfFirstActionMoveMeleeDashUnsafe, NodeType=Sequence, Child[0]=NotLastActionPoint, Child[1]=AttemptMoveMeleeDashUnsafe)
  481. Behaviors=(BehaviorName=AttemptMoveMeleeDash, NodeType=Sequence, Child[0]=SafeToMove, Child[1]=AttemptMoveMeleeDashUnsafe)
  482. Behaviors=(BehaviorName=AttemptMoveMeleeDashUnsafe, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardMove, Child[1]=ResetDestinationSearch, Child[2]=UseDashMovement, Child[3]=FindMeleeDestination, Child[4]=SelectAbility-StandardMove)
  483. Behaviors=(BehaviorName=MoveMeleeDashFANATIC, NodeType=Selector, Child[0]=IfFirstActionMoveMeleeDashFANATIC, Child[1]=MoveMeleeFANATIC)
  484. Behaviors=(BehaviorName=MoveMeleeDashFANATICUnsafe, NodeType=Selector, Child[0]=IfFirstActionMoveMeleeDashFANATICUnsafe, Child[1]=MoveMeleeFANATICUnsafe)
  485. Behaviors=(BehaviorName=IfFirstActionMoveMeleeDashFANATIC, NodeType=Sequence, Child[0]=NotLastActionPoint, Child[1]=AttemptMoveMeleeDashFANATIC)
  486. Behaviors=(BehaviorName=IfFirstActionMoveMeleeDashFANATICUnsafe, NodeType=Sequence, Child[0]=NotLastActionPoint, Child[1]=AttemptMoveMeleeDashFANATICUnsafe)
  487. Behaviors=(BehaviorName=AttemptMoveMeleeDashFANATIC, NodeType=Sequence, Child[0]=SafeToMove, Child[1]=AttemptMoveMeleeDashFANATICUnsafe)
  488. Behaviors=(BehaviorName=AttemptMoveMeleeDashFANATICUnsafe, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardMove, Child[1]=ResetDestinationSearch, Child[2]=UseDashMovement, Child[3]=FindMeleeDestinationFANATIC, Child[4]=SelectAbility-StandardMove)
  489. Behaviors=(BehaviorName=MoveMeleePriorityTarget, NodeType=Sequence, Child[0]=SafeToMove, Child[1]=MoveMeleePriorityTargetUnsafe)
  490. Behaviors=(BehaviorName=MoveMeleePriorityTargetUnsafe, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardMove, Child[1]=ResetDestinationSearch, Child[2]=UseDashMovement, Child[3]=FindPriorityMeleeDestination, Child[4]=SelectAbility-StandardMove)
  491. Behaviors=(BehaviorName=FindMeleeDestination, NodeType=Sequence, Child[0]=IncludeCiviliansIfTerrorist, Child[1]=SelectPotentialMeleeTarget, Child[2]=RestrictToPotentialTargetRange-StandardMelee, Child[3]=FindRestrictedDestination-MWP_Melee)
  492. Behaviors=(BehaviorName=FindMeleeDestinationDefensive, NodeType=Sequence, Child[0]=IncludeCiviliansIfTerrorist, Child[1]=SelectPotentialMeleeTarget, Child[2]=RestrictToPotentialTargetRange-StandardMelee, Child[3]=FindRestrictedDestination-MWP_MeleeDefensive)
  493. Behaviors=(BehaviorName=FindMeleeDestinationFANATIC, NodeType=Sequence, Child[0]=IncludeCiviliansIfTerrorist, Child[1]=SelectPotentialMeleeTarget, Child[2]=RestrictToPotentialTargetRange-StandardMelee, Child[3]=FindRestrictedDestination-MWP_MeleeFanatic)
  494. Behaviors=(BehaviorName=FindPriorityMeleeDestination, NodeType=Sequence, Child[0]=SelectPotentialMeleePriorityTarget, Child[1]=RestrictToPotentialTargetRange-StandardMelee, Child[2]=FindRestrictedDestination-MWP_MeleeFanatic)
  495. Behaviors=(BehaviorName=FindPotentialMeleeDestinationFANATIC, NodeType=Sequence, Child[0]=IncludeCiviliansIfTerrorist, Child[1]=RestrictToPotentialTargetRange-StandardMelee, Child[2]=FindRestrictedDestination-MWP_MeleeFanatic)
  496. Behaviors=(BehaviorName=TryTerroristMoveMeleeFANATICUnsafe, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardMove, Child[1]=ResetDestinationSearch, Child[2]=IncludeCiviliansIfTerrorist, Child[3]=FindMeleeDestinationFANATIC, Child[4]=SelectAbility-StandardMove)
  497. Behaviors=(BehaviorName=TryTerroristMoveMeleeFANATIC, NodeType=Sequence, Child[0]=SafeToMove, Child[1]=TryTerroristMoveMeleeFANATICUnsafe)
  498. Behaviors=(BehaviorName=MoveRandomUnsafe, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardMove, Child[1]=ResetDestinationSearch, Child[2]=RestrictToUnflanked, Child[3]=FindRestrictedDestination-MWP_RandomNoCover, Child[4]=SelectAbility-StandardMove)
  499. Behaviors=(BehaviorName=MoveRandom, NodeType=Sequence, Child[0]=SafeToMove, Child[1]=MoveRandomUnsafe)
  500. Behaviors=(BehaviorName=MoveRandomCover, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardMove, Child[1]=ResetDestinationSearch, Child[2]=FindDestination-MWP_RandomCover, Child[3]=SelectAbility-StandardMove)
  501. Behaviors=(BehaviorName=FindDestination-MWP_RandomCover, NodeType=Action)
  502. Behaviors=(BehaviorName=MoveStandardWithDestination, NodeType=Selector, Child[0]=MoveStandardWithDestinationUnsafe, Child[1]=DeleteTopAlertAndHeatSeek)
  503. Behaviors=(BehaviorName=MoveStandardWithDestinationUnsafe, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardMove, Child[1]=HasValidAlertDataLocation, Child[2]=FindAlertDataMovementDestination, Child[3]=SelectAbility-StandardMove)
  504. Behaviors=(BehaviorName=DeleteTopAlertAndHeatSeek, NodeType=Sequence, Child[0]=SSDeleteAlertDataIfValid, Child[1]=SelectHeatSeekMove)
  505. Behaviors=(BehaviorName=SSDeleteAlertDataIfValid, NodeType=Successor, Child[0]=DeleteAlertDataIfValid)
  506. Behaviors=(BehaviorName=DeleteAlertDataIfValid, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardMove, Child[1]=HasValidAlertDataLocation, Child[2]=DeleteCurrentAlertData)
  507. Behaviors=(BehaviorName=HeatSeekNearestUnconcealed, NodeType=Action)
  508. Behaviors=(BehaviorName=SelectHeatSeekMove, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardMove, Child[1]=UseDashMovement, Child[2]=HeatSeekNearestUnconcealed, Child[3]=SelectAbility-StandardMove)
  509. Behaviors=(BehaviorName=MoveStandardHeight, NodeType=Sequence, Child[0]=SafeToMove, Child[1]=MoveStandardHeightUnsafe)
  510. Behaviors=(BehaviorName=MoveStandardHeightUnsafe, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardMove, Child[1]=ResetDestinationSearch, Child[2]=FindDestination-MWP_StandardHeight, Child[3]=SelectAbility-StandardMove)
  511. Behaviors=(BehaviorName=MoveStandardHeightIfFirstAbility, NodeType=Sequence, Child[0]=NotLastActionPoint, Child[1]=MoveStandardHeight)
  512. Behaviors=(BehaviorName=MoveStandardHeightWithLoS, NodeType=Sequence, Child[0]=SafeToMove, Child[1]=MoveStandardHeightWithLoSUnsafe)
  513. Behaviors=(BehaviorName=MoveStandardHeightWithLoSUnsafe, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardMove, Child[1]=ResetDestinationSearch, Child[2]=FindDestinationWithLoS-MWP_StandardHeight, Child[3]=SelectAbility-StandardMove)
  514. Behaviors=(BehaviorName=MoveStandardHeightWithLoSIfFirstAbility, NodeType=Sequence, Child[0]=NotLastActionPoint, Child[1]=MoveStandardHeightWithLoS)
  515. Behaviors=(BehaviorName=MoveStandardHeightWithLoSIfFirstAbilityUnsafe, NodeType=Sequence, Child[0]=NotLastActionPoint, Child[1]=MoveStandardHeightWithLoSUnsafe)
  516. Behaviors=(BehaviorName=MoveAdvanceToCoverHeightLoSUnsafe, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardMove, Child[1]=ResetDestinationSearch, Child[2]=FindDestinationWithLoS-MWP_AdvanceCoverHeight, Child[3]=SelectAbility-StandardMove)
  517. Behaviors=(BehaviorName=FindDestinationWithLoS-MWP_AdvanceCoverHeight, NodeType=Action)
  518. Behaviors=(BehaviorName=MoveAdvanceToCoverHeight, NodeType=Sequence, Child[0]=SafeToMove, Child[1]=MoveAdvanceToCoverHeightUnsafe)
  519. Behaviors=(BehaviorName=MoveAdvanceToCoverHeightUnsafe, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardMove, Child[1]=ResetDestinationSearch, Child[2]=FindDestination-MWP_AdvanceCoverHeight, Child[3]=SelectAbility-StandardMove)
  520. Behaviors=(BehaviorName=FindDestination-MWP_AdvanceCoverHeight, NodeType=Action)
  521. Behaviors=(BehaviorName=FallbackHeight, NodeType=Sequence, Child[0]=SafeToMove, Child[1]=FallbackHeightUnsafe)
  522. Behaviors=(BehaviorName=FallbackHeightUnsafe, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardMove, Child[1]=ResetDestinationSearch, Child[2]=FindBestFallbackHeightDestination, Child[3]=SelectAbility-StandardMove)
  523. Behaviors=(BehaviorName=FindBestFallbackHeightDestination, NodeType=Selector, Child[0]=FindDestination-MWP_DefensiveHeight, Child[1]=FindDestination-MWP_FallbackHeight)
  524. Behaviors=(BehaviorName=FindDestination-MWP_DefensiveHeight, NodeType=Action)
  525. Behaviors=(BehaviorName=FindDestination-MWP_FallbackHeight, NodeType=Action)
  526. Behaviors=(BehaviorName=SetAlertDataStack, NodeType=Action)
  527. Behaviors=(BehaviorName=SetNextAlertData, NodeType=Action)
  528. Behaviors=(BehaviorName=DeleteCurrentAlertData, NodeType=Action)
  529. Behaviors=(BehaviorName=UpdateBestAlertData, NodeType=Action)
  530. Behaviors=(BehaviorName=AlertDataMovementUseCover, NodeType=Action)
  531. Behaviors=(BehaviorName=AlertDataMovementIgnoreCover, NodeType=Action)
  532. Behaviors=(BehaviorName=FindAlertDataMovementDestination, NodeType=Action)
  533. Behaviors=(BehaviorName=DisableGreenAlertMovement, NodeType=Action) ; Disables Green Alert movement when we want to force a unit to move to an Alert Data destination.
  534. Behaviors=(BehaviorName=AlertDataIsAbsoluteKnowledge, NodeType=Condition)
  535. Behaviors=(BehaviorName=AlertDataWasSoundMade, NodeType=Condition)
  536. Behaviors=(BehaviorName=AlertDataWasEnemyThere, NodeType=Condition)
  537. Behaviors=(BehaviorName=AlertDataIsCorpseThere, NodeType=Condition)
  538. Behaviors=(BehaviorName=AlertDataIsAggressive, NodeType=Condition)
  539. Behaviors=(BehaviorName=AlertDataTileIsVisible, NodeType=Condition)
  540. Behaviors=(BehaviorName=AlertDataTileNotVisible, NodeType=Inverter, Child[0]=AlertDataTileIsVisible)
  541. Behaviors=(BehaviorName=AlertDataHasTag-Defend, NodeType=Condition)
  542. Behaviors=(BehaviorName=AlertDataHasTag-Advance, NodeType=Condition)
  543. Behaviors=(BehaviorName=AlertDataHasTag-Rendezvous, NodeType=Condition)
  544. Behaviors=(BehaviorName=AlertDataHasTag-StrikePointOne, NodeType=Condition)
  545. Behaviors=(BehaviorName=AlertDataHasTag-StrikePointTwo, NodeType=Condition)
  546. Behaviors=(BehaviorName=AlertDataHasTag-StrikePointThree, NodeType=Condition)
  547. Behaviors=(BehaviorName=AlertDataIsType-SeesSpottedUnit, NodeType=Condition) ; red alert trigger
  548. Behaviors=(BehaviorName=AlertDataIsType-ThrottlingBeacon, NodeType=Condition) ; group-specific trigger to influence activity-balancing from the FightManager.
  549. Behaviors=(BehaviorName=AlertDataIsType-MapwideAlert, NodeType=Condition) ; Red alert trigger, kicked off by Kismet, with lower priority than visible enemies.
  550. Behaviors=(BehaviorName=AlertDataIsType-TookDamage, NodeType=Condition) ; Conditional red alert trigger (with LOS to damage instigator)
  551. Behaviors=(BehaviorName=AlertDataIsType-TakingFire, NodeType=Condition) ; Conditional red alert trigger (with LOS to shot instigator and within sound range)
  552. Behaviors=(BehaviorName=AlertDataIsType-DetectedNewCorpse, NodeType=Condition) ; Yellow alert ...
  553. Behaviors=(BehaviorName=AlertDataIsType-DetectedAllyTakingDamage, NodeType=Condition) ; Yellow alert ...
  554. Behaviors=(BehaviorName=AlertDataIsType-DetectedSound, NodeType=Condition) ; Yellow alert ...
  555. Behaviors=(BehaviorName=AlertDataIsType-AlertedByYell, NodeType=Condition) ;
  556. Behaviors=(BehaviorName=AlertDataIsType-AlertedByCommLink, NodeType=Condition) ;
  557. Behaviors=(BehaviorName=AlertDataIsType-CivilianRaisedAlarm, NodeType=Condition) ;
  558. Behaviors=(BehaviorName=AlertDataIsType-XCOMAchievedObjective, NodeType=Condition) ;
  559. Behaviors=(BehaviorName=AlertDataIsType-SeesExplosion, NodeType=Condition) ;
  560. Behaviors=(BehaviorName=AlertDataIsType-SeesSmoke, NodeType=Condition) ;
  561. Behaviors=(BehaviorName=AlertDataIsType-SeesFire, NodeType=Condition) ;
  562. Behaviors=(BehaviorName=AlertDataIsType-SeesAlertedAllies, NodeType=Condition) ;
  563. Behaviors=(BehaviorName=AlertDataWasSoundScary, NodeType=StatCondition, Param[0]=AlertDataRadius, Param[1]=">=", Param[2]="10")
  564. Behaviors=(BehaviorName=IsAlertDataKismet, NodeType=Selector, Child[0]=AlertDataHasTag-Defend, Child[1]=AlertDataHasTag-Advance)
  565. Behaviors=(BehaviorName=IsAlertDataNotKismet, NodeType=Inverter, Child[0]=IsAlertDataKismet)
  566. Behaviors=(BehaviorName=IsAlertDataScary, NodeType=Selector, Child[0]=AlertDataIsType-TakingFire, Child[1]=AlertDataIsType-DetectedAllyTakingDamage, Child[2]=AlertDataIsType-SeesExplosion, Child[3]=AlertDataIsType-SeesAlertedAllies)
  567. Behaviors=(BehaviorName=IsAlertDataNOTScary, NodeType=Inverter, Child[0]=IsAlertDataScary)
  568. Behaviors=(BehaviorName=IfAlertDataIsScary, NodeType=Selector, Child[0]=ScoreIfAlertDataScary, Child[1]=AddToAlertDataScore_0)
  569. Behaviors=(BehaviorName=ScoreIfAlertDataScary, NodeType=Sequence, Child[0]=IsAlertDataScary, Child[1]=AddToAlertDataScore_50)
  570. Behaviors=(BehaviorName=PurgeAlertDataIfNotScary, NodeType=Sequence, Child[0]=IsAlertDataNOTScary, Child[1]=DeleteCurrentAlertData)
  571. Behaviors=(BehaviorName=HasValidAlertDataLocation, NodeType=Condition)
  572. Behaviors=(BehaviorName=IterateAlertDataForVisibility, NodeType=RepeatUntilFail, Child[0]=CheckVisibilityOnAlert)
  573. Behaviors=(BehaviorName=CheckVisibilityOnAlert, NodeType=Sequence, Child[0]=SetNextAlertData, Child[1]=SSScoreAlertDataVisibility, Child[2]=UpdateBestAlertData, Child[3]=EarlyExitIfFoundValidAlert)
  574. Behaviors=(BehaviorName=SSScoreAlertDataVisibility, NodeType=Successor, Child[0]=ScoreAlertDataVisibility)
  575. Behaviors=(BehaviorName=ScoreAlertDataVisibility, NodeType=Sequence, Child[0]=AlertDataTileIsVisible, Child[1]=AddToAlertDataScore_100)
  576. Behaviors=(BehaviorName=EarlyExitIfFoundValidAlert, NodeType=Inverter, Child[0]=HasValidAlertDataLocation) ; return false if we have a alert data score > 0.
  577. Behaviors=(BehaviorName=GenericAlertHandler, NodeType=Selector, Child[0]=GenericOrangeMovement, Child[1]=GenericYellowMovement, Child[2]=SelectHeatSeekMove)
  578. Behaviors=(BehaviorName=GenericOrangeMovement, NodeType=Sequence, Child[0]=IsOrangeAlert, Child[1]=TrySelectOrangeAlertAction)
  579. Behaviors=(BehaviorName=GenericYellowMovement, NodeType=Sequence, Child[0]=IsYellowAlert, Child[1]=TrySelectYellowAlertAction)
  580. Behaviors=(BehaviorName=NoEnemySpotted, NodeType=Inverter, Child[0]=AlertDataIsAbsoluteKnowledge)
  581. Behaviors=(BehaviorName=IsEnemySpotted, NodeType=Selector, Child[0]=IsRedAlert, Child[1]=IsOrangeAlert)
  582. Behaviors=(BehaviorName=TrySelectOrangeAlertAction, NodeType=Sequence, Child[0]=SelectAlertData, Child[1]=HandleAlertData)
  583. Behaviors=(BehaviorName=SelectAlertData, NodeType=Sequence, Child[0]=SetAlertDataStack, Child[1]=GenericSelectBestAlert, Child[2]=HasValidAlertDataLocation)
  584. Behaviors=(BehaviorName=HandleAlertData, NodeType=Selector, Child[0]=TryAttackPriorityTarget, Child[1]=MoveToAlertData)
  585. Behaviors=(BehaviorName=MoveToAlertData, NodeType=Sequence, Child[0]=SetAlertDataStack, Child[1]=GenericSelectBestAlert, Child[2]=HasValidAlertDataLocation, Child[3]=AlertDataMovementUseCover, Child[4]=MoveStandardWithDestination)
  586. Behaviors=(BehaviorName=TrySelectYellowAlertAction, NodeType=Selector, Child[0]=TryAttackPriorityTarget, Child[1]=YellowAlertMove)
  587. Behaviors=(BehaviorName=YellowAlertMove, NodeType=Sequence, Child[0]=SetAlertDataStack, Child[1]=GenericSelectBestAlert, Child[2]=HasValidAlertDataLocation, Child[3]=MoveStandardWithDestination)
  588. Behaviors=(BehaviorName=HuntEnemy, NodeType=Sequence, Child[0]=SafeToMove, Child[1]=SetAlertDataStack, Child[2]=GenericSelectBestAlert, Child[3]=HasValidAlertDataLocation, Child[4]=MoveStandardWithDestination)
  589. Behaviors=(BehaviorName=HuntEnemyWithCover, NodeType=Sequence, Child[0]=SafeToMove, Child[1]=SetAlertDataStack, Child[2]=GenericSelectBestAlert, Child[3]=HasValidAlertDataLocation, Child[4]=AlertDataMovementUseCover, Child[5]=MoveStandardWithDestination)
  590. Behaviors=(BehaviorName=HuntEnemyUnsafe, NodeType=Sequence, Child[0]=SetAlertDataStack, Child[1]=GenericSelectBestAlert, Child[2]=HasValidAlertDataLocation, Child[3]=MoveStandardWithDestinationUnsafe)
  591. Behaviors=(BehaviorName=MoveToAlertIfNotVisible, NodeType=Sequence, Child[0]=HasValidAlertDataLocation, Child[1]=AlertDataTileNotVisible, Child[2]=AlertDataMovementUseCover, Child[3]=MoveStandardWithDestination)
  592. Behaviors=(BehaviorName=MoveToAlert, NodeType=Selector, Child[0]=TryAlertMoveWithCover, Child[1]=TakeAlertMoveWithoutCover)
  593. Behaviors=(BehaviorName=TryAlertMoveWithCover, NodeType=Sequence, Child[0]=AlertDataMovementUseCover, Child[1]=MoveStandardWithDestination)
  594. Behaviors=(BehaviorName=TakeAlertMoveWithoutCover, NodeType=Sequence, Child[0]=AlertDataMovementIgnoreCover, Child[1]=MoveStandardWithDestination)
  595. Behaviors=(BehaviorName=MoveToAlertUnsafe, NodeType=Selector, Child[0]=TryAlertMoveWithCoverUnsafe, Child[1]=TakeAlertMoveWithoutCoverUnsafe)
  596. Behaviors=(BehaviorName=TryAlertMoveWithCoverUnsafe, NodeType=Sequence, Child[0]=AlertDataMovementUseCover, Child[1]=MoveStandardWithDestinationUnsafe)
  597. Behaviors=(BehaviorName=TakeAlertMoveWithoutCoverUnsafe, NodeType=Sequence, Child[0]=AlertDataMovementIgnoreCover, Child[1]=MoveStandardWithDestinationUnsafe)
  598. Behaviors=(BehaviorName=GenericSelectBestAlert, NodeType=RepeatUntilFail, Child[0]=GenericEvaluateAlertData)
  599. Behaviors=(BehaviorName=GenericEvaluateAlertData, NodeType=Sequence, Child[0]=SetNextAlertData, Child[1]=GenericScoreAlertData, Child[2]=UpdateBestAlertData)
  600. Behaviors=(BehaviorName=GenericScoreAlertData, NodeType=Sequence, Child[0]=SSScoreInvalidAlertData, Child[1]=IfAlertIsSpottedTarget, Child[2]=IfAlertDataIsScary, Child[3]=IfAlertIsSpottedCorpse, Child[4]=IfAlertIsHeardNoise, Child[5]=IfAlertIsDangerous, Child[6]=ScoreAlertDataAge, Child[7]=ScoreAlertDataDistance)
  601. Behaviors=(BehaviorName=IfAlertIsSpottedTarget, NodeType=Selector, Child[0]=ScoreAlert_AbsoluteKnowledge, Child[1]=ScoreAlert_FormerKnowledge, Child[2]=AddToAlertDataScore_0)
  602. Behaviors=(BehaviorName=ScoreAlert_AbsoluteKnowledge, NodeType=Sequence, Child[0]=AlertDataIsAbsoluteKnowledge, Child[1]=AddToAlertDataScore_100)
  603. Behaviors=(BehaviorName=ScoreAlert_FormerKnowledge, NodeType=Sequence, Child[0]=AlertDataWasEnemyThere, Child[1]=AddToAlertDataScore_50)
  604. Behaviors=(BehaviorName=IfAlertIsSpottedCorpse, NodeType=Selector, Child[0]=ScoreAlert_SpottedCorpse, Child[1]=AddToAlertDataScore_0)
  605. Behaviors=(BehaviorName=ScoreAlert_SpottedCorpse, NodeType=Sequence, Child[0]=AlertDataIsCorpseThere, Child[1]=AddToAlertDataScore_30)
  606. Behaviors=(BehaviorName=IfAlertIsHeardNoise, NodeType=Selector, Child[0]=ScoreAlert_HeardNoise, Child[1]=AddToAlertDataScore_0)
  607. Behaviors=(BehaviorName=ScoreAlert_HeardNoise, NodeType=Sequence, Child[0]=AlertDataWasSoundMade, Child[1]=AddToAlertDataScore_15, Child[2]=IfAlertNoiseIsScary)
  608. Behaviors=(BehaviorName=IfAlertNoiseIsScary, NodeType=Selector, Child[0]=ScoreAlert_NoiseScary, Child[1]=AddToAlertDataScore_0)
  609. Behaviors=(BehaviorName=ScoreAlert_NoiseScary, NodeType=Sequence, Child[0]=AlertDataWasSoundScary, Child[1]=AddToAlertDataScore_10)
  610. Behaviors=(BehaviorName=IfAlertIsDangerous, NodeType=Selector, Child[0]=ScoreAlert_Dangerous, Child[1]=AddToAlertDataScore_0)
  611. Behaviors=(BehaviorName=ScoreAlert_Dangerous, NodeType=Sequence, Child[0]=AlertDataIsAggressive, Child[1]=AddToAlertDataScore_25)
  612. Behaviors=(BehaviorName=ScoreAlertDataAge, NodeType=Selector, Child[0]=IsAlertDataKismet, Child[1]=IfAlertDataOld, Child[2]=IfAlertDataStale, Child[3]=IfAlertDataRecent, Child[4]=IfAlertDataFresh, Child[5]=AddToAlertDataScore_0)
  613. Behaviors=(BehaviorName=IfAlertDataFresh, NodeType=Sequence, Child[0]=IsAlertDataFresh, Child[1]=AddToAlertDataScore_-5)
  614. Behaviors=(BehaviorName=IsAlertDataFresh, NodeType=StatCondition, Param[0]=AlertDataAge, Param[1]=">=", Param[2]="1")
  615. Behaviors=(BehaviorName=IfAlertDataRecent, NodeType=Sequence, Child[0]=IsAlertDataRecent, Child[1]=AddToAlertDataScore_-10)
  616. Behaviors=(BehaviorName=IsAlertDataRecent, NodeType=StatCondition, Param[0]=AlertDataAge, Param[1]=">=", Param[2]="2")
  617. Behaviors=(BehaviorName=IfAlertDataStale, NodeType=Sequence, Child[0]=IsAlertDataStale, Child[1]=PurgeAlertDataIfNotScary, Child[2]=AddToAlertDataScore_-15)
  618. Behaviors=(BehaviorName=IsAlertDataStale, NodeType=StatCondition, Param[0]=AlertDataAge, Param[1]=">=", Param[2]="4")
  619. Behaviors=(BehaviorName=IfAlertDataOld, NodeType=Sequence, Child[0]=IsAlertDataOld, Child[1]=DeleteCurrentAlertData, Child[2]=AddToAlertDataScore_-100)
  620. Behaviors=(BehaviorName=IsAlertDataOld, NodeType=StatCondition, Param[0]=AlertDataAge, Param[1]=">=", Param[2]="6")
  621. Behaviors=(BehaviorName=SSScoreInvalidAlertData, NodeType=Successor, Child[0]=ScoreInvalidAlertData)
  622. Behaviors=(BehaviorName=ScoreInvalidAlertData, NodeType=Sequence, Child[0]=IsAlertNotValidTarget, Child[1]=AddToAlertDataScore_-500)
  623. Behaviors=(BehaviorName=IsAlertNotValidTarget, NodeType=Selector, Child[0]=IsAlertNotValidTarget_UnitIsNotAttackable, Child[1]=IsAlertNotValidTarget_LastResortUnit)
  624. Behaviors=(BehaviorName=IsAlertNotValidTarget_UnitIsNotAttackable, NodeType=Sequence, Child[0]=TargetIsNotAttackable, Child[1]=DeleteCurrentAlertData)
  625. Behaviors=(BehaviorName=IsAlertNotValidTarget_LastResortUnit, NodeType=Sequence, Child[0]=HasNonLastResortEnemies, Child[1]=IsLastResortTarget)
  626. Behaviors=(BehaviorName=ScoreAlertDataDistance, NodeType=Selector, Child[0]=IfAlertDataFar, Child[1]=IfAlertDataThreeMoves, Child[2]=IfAlertDataTwoMoves, Child[3]=AddToAlertDataScore_20)
  627. Behaviors=(BehaviorName=IfAlertDataTwoMoves, NodeType=Sequence, Child[0]=IsAlertDataTwoMoves, Child[1]=AddToAlertDataScore_15)
  628. Behaviors=(BehaviorName=IsAlertDataTwoMoves, NodeType=StatCondition, Param[0]=AlertDataDistance, Param[1]=">", Param[2]="12")
  629. Behaviors=(BehaviorName=IfAlertDataThreeMoves, NodeType=Sequence, Child[0]=IsAlertDataThreeMoves, Child[1]=AddToAlertDataScore_10)
  630. Behaviors=(BehaviorName=IsAlertDataThreeMoves, NodeType=StatCondition, Param[0]=AlertDataDistance, Param[1]=">", Param[2]="24")
  631. Behaviors=(BehaviorName=IfAlertDataFar, NodeType=Sequence, Child[0]=IsAlertDataFar, Child[1]=AddToAlertDataScore_5)
  632. Behaviors=(BehaviorName=IsAlertDataFar, NodeType=StatCondition, Param[0]=AlertDataDistance, Param[1]=">", Param[2]="36")
  633. Behaviors=(BehaviorName=AlertScoreRandom, NodeType=RandSelector, Child[0]=AddToAlertDataScore_10, Child[1]=AddToAlertDataScore_20, Child[2]=AddToAlertDataScore_30, Child[3]=AddToAlertDataScore_40, Child[4]=AddToAlertDataScore_50, Child[5]=AddToAlertDataScore_60 )
  634. Behaviors=(BehaviorName=ScoreAlertFor_Defend, NodeType=Selector, Child[0]=ScoreAlertIfDefend, Child[1]=AddToAlertDataScore_0)
  635. Behaviors=(BehaviorName=ScoreAlertIfDefend, NodeType=Sequence, Child[0]=AlertDataHasTag-Defend, Child[1]=AddToAlertDataScore_50)
  636. Behaviors=(BehaviorName=ScoreAlertFor_Advance, NodeType=Selector, Child[0]=ScoreAlertIfAdvance, Child[1]=AddToAlertDataScore_0)
  637. Behaviors=(BehaviorName=ScoreAlertIfAdvance, NodeType=Sequence, Child[0]=AlertDataHasTag-Advance, Child[1]=AddToAlertDataScore_50)
  638. Behaviors=(BehaviorName=SetNextTarget, NodeType=Action)
  639. Behaviors=(BehaviorName=HasUnconcealedEnemies, NodeType=Condition)
  640. Behaviors=(BehaviorName=UpdateBestTarget, NodeType=Action)
  641. Behaviors=(BehaviorName=TargetHasHighestShotHitChance, NodeType=Condition)
  642. Behaviors=(BehaviorName=GenericSelectBestTarget, NodeType=RepeatUntilFail, Child[0]=GenericEvaluateTarget)
  643. Behaviors=(BehaviorName=GenericEvaluateTarget, NodeType=Sequence, Child[0]=SetNextTarget, Child[1]=GenericTargetEvaluations, Child[2]=UpdateBestTarget);
  644. Behaviors=(BehaviorName=GenericTargetEvaluations, NodeType=Sequence, Child[0]=TargetScoreHitChance, Child[1]=TargetScoreHealth, Child[2]=TargetScoreFlanking, Child[3]=TargetScoreMarked, Child[4]=ApplyDifficultyModifiers, Child[5]=TargetScoreCivilian, Child[6]=AvoidBoundAndPanickedTargets)
  645. Behaviors=(BehaviorName=SelectPriorityTarget, NodeType=RepeatUntilFail, Child[0]=EvaluatePriorityTarget)
  646. Behaviors=(BehaviorName=EvaluatePriorityTarget, NodeType=Sequence, Child[0]=SetNextTarget, Child[1]=ScoreIfTarget_HighestShotHitChance, Child[2]=TargetScorePriority, Child[3]=TargetScoreCivilian, Child[4]=UpdateBestTarget)
  647. Behaviors=(BehaviorName=SelectTarget_Favorable, NodeType=RepeatUntilFail, Child[0]=EvaluateTargetFavorable)
  648. Behaviors=(BehaviorName=EvaluateTargetFavorable, NodeType=Sequence, Child[0]=SetNextTarget, Child[1]=TargetScoreHitChanceFavorable, Child[2]=TargetScoreHealth, Child[3]=ApplyDifficultyModifiers, Child[4]=TargetScoreCivilian, Child[5]=UpdateBestTarget)
  649. Behaviors=(BehaviorName=SelectTarget_FavorableNonCivilianOrVIP, NodeType=RepeatUntilFail, Child[0]=EvaluateTargetFavorableNonCivilianOrVIP)
  650. Behaviors=(BehaviorName=EvaluateTargetFavorableNonCivilianOrVIP, NodeType=Sequence, Child[0]=SetNextTarget, Child[1]=TargetScoreHitChanceFavorable, Child[2]=TargetScoreHealth, Child[3]=ApplyDifficultyModifiers, Child[4]=SSScoreTargetOutIfCivilian, Child[5]=SSScoreTargetOutIfEnemyVIP, Child[6]="TargetScoreByScaledDistance-1+10", Child[7]=AvoidBoundAndPanickedTargets, Child[8]=UpdateBestTarget)
  651. Behaviors=(BehaviorName=SSScoreTargetOutIfCivilian, NodeType=Successor, Child[0]=ScoreTargetOutIfCivilian)
  652. Behaviors=(BehaviorName=SSScoreTargetOutIfEnemyVIP, NodeType=Successor, Child[0]=ScoreTargetOutIfEnemyVIP)
  653. Behaviors=(BehaviorName=ScoreTargetOutIfEnemyVIP, NodeType=Sequence, Child[0]=TargetIsEnemyVIP, Child[1]=AddToTargetScore_-1000)
  654. Behaviors=(BehaviorName=SelectTarget_FavorableNonLostCivilianOrVIP, NodeType=RepeatUntilFail, Child[0]=EvaluateTargetFavorableNonLostCivilianOrVIP)
  655. Behaviors=(BehaviorName=EvaluateTargetFavorableNonLostCivilianOrVIP, NodeType=Sequence, Child[0]=SetNextTarget, Child[1]=TargetScoreHitChanceFavorable, Child[2]=TargetScoreHealth, Child[3]=ApplyDifficultyModifiers, Child[4]=SSScoreTargetOutIfCivilian, Child[5]=SSScoreTargetOutIfEnemyVIP, Child[6]=SSScoreTargetOutIfLost, Child[7]="TargetScoreByScaledDistance-1+10", Child[8]=AvoidBoundAndPanickedTargets, Child[9]=UpdateBestTarget)
  656. Behaviors=(BehaviorName=SSScoreTargetOutIfLost, NodeType=Successor, Child[0]=ScoreTargetOutIfLost)
  657. Behaviors=(BehaviorName=ScoreTargetOutIfLost, NodeType=Sequence, Child[0]=IsTargetTeam-eTeam_TheLost, Child[1]=AddToTargetScore_-1000)
  658. Behaviors=(BehaviorName=SelectTarget_Opportunist, NodeType=RepeatUntilFail, Child[0]=EvaluateTargetOPPORTUNIST)
  659. Behaviors=(BehaviorName=EvaluateTargetOPPORTUNIST, NodeType=Sequence, Child[0]=SetNextTarget, Child[1]=TargetScoreHitChanceOPPORTUNIST, Child[2]=TargetScoreHealth, Child[3]=TargetScoreFlanking, Child[4]=ApplyDifficultyModifiers, Child[5]=TargetScoreCivilian, Child[6]=UpdateBestTarget)
  660. Behaviors=(BehaviorName=GenericSelectTargetSomewhatRandomly, NodeType=RepeatUntilFail, Child[0]=EvaluateTargetSomewhatRandomly)
  661. Behaviors=(BehaviorName=EvaluateTargetSomewhatRandomly, NodeType=Sequence, Child[0]=SetNextTarget, Child[1]=GenericScoreTargetRandomly, Child[2]=TargetScoreMarked, Child[3]=ApplyDifficultyModifiers, Child[4]=UpdateBestTarget)
  662. Behaviors=(BehaviorName=GenericSelectTargetRandomly, NodeType=RepeatUntilFail, Child[0]=EvaluateTargetRandomly)
  663. Behaviors=(BehaviorName=EvaluateTargetRandomly, NodeType=Sequence, Child[0]=SetNextTarget, Child[1]=GenericScoreTargetRandomly, Child[2]=UpdateBestTarget)
  664. Behaviors=(BehaviorName=GenericScoreTargetRandomly, NodeType=Successor, Child[0]=GenericScoreTargetRandomlySequence )
  665. Behaviors=(BehaviorName=GenericScoreTargetRandomlySequence, NodeType=RandSelector, Child[0]=AddToTargetScore_1, Child[1]=AddToTargetScore_10, Child[2]=AddToTargetScore_20, Child[3]=AddToTargetScore_30, Child[4]=AddToTargetScore_40, Child[5]=AddToTargetScore_50 )
  666. Behaviors=(BehaviorName=SelectAnyTargetRandomly_PreferEnemies, NodeType=RepeatUntilFail, Child[0]=EvaluateTargetRandomly_PreferEnemies)
  667. Behaviors=(BehaviorName=EvaluateTargetRandomly_PreferEnemies, NodeType=Sequence, Child[0]=SetNextTarget, Child[1]=GenericScoreTargetRandomly, Child[2]=TargetScorePreferEnemies, Child[3]=TargetScoreFlanking, Child[4]=UpdateBestTarget)
  668. Behaviors=(BehaviorName=TargetScorePreferEnemies, NodeType=Selector, Child[0]=ScoreIfEnemy, Child[1]=AddToTargetScore_0)
  669. Behaviors=(BehaviorName=ScoreIfEnemy, NodeType=Sequence, Child[0]=TargetIsEnemy, Child[1]=AddToTargetScore_10)
  670. Behaviors=(BehaviorName=NoTargetsAvailable, NodeType=Inverter, Child[0]=HaveAnyTargets)
  671. Behaviors=(BehaviorName=HaveAnyTargets, NodeType=Sequence, Child[0]=SetTargetStack-StandardShot, Child[1]=FindAnyTarget, Child[2]=HasValidTarget-StandardShot)
  672. Behaviors=(BehaviorName=FindAnyTarget, NodeType=RepeatUntilFail, Child[0]=SimpleEvaluateTarget)
  673. Behaviors=(BehaviorName=SimpleEvaluateTarget, NodeType=Sequence, Child[0]=SetNextTarget, Child[1]=TargetScorePreferEnemies, Child[2]=UpdateBestTarget)
  674. Behaviors=(BehaviorName=IsTargetValidBasedOnLastResortEffects, NodeType=Condition)
  675. Behaviors=(BehaviorName=HasNonLastResortEnemies, NodeType=Condition)
  676. Behaviors=(BehaviorName=IsTargetLastResortWithOtherOptionsAvailable, NodeType=Sequence, Child[0]=IsLastResortTarget, Child[1]=HasNonLastResortEnemies)
  677. Behaviors=(BehaviorName=IsLastResortTarget, NodeType=Condition)
  678. Behaviors=(BehaviorName=SelectBestSuppressionTarget, NodeType=RepeatUntilFail, Child[0]=EvaluateSuppressionTarget)
  679. Behaviors=(BehaviorName=EvaluateSuppressionTarget, NodeType=Sequence, Child[0]=SetNextTarget, Child[1]=TargetScoreUnsuppressedByClosestDistance, Child[2]=TargetScoreInvalidateCivilians, Child[3]=UpdateBestTarget)
  680. Behaviors=(BehaviorName=SelectClosestPotentialSuppressionTarget, NodeType=Sequence, Child[0]=SetPotentialTargetStack, Child[1]=SelectClosestUnsuppressedTarget, Child[2]=HasValidTarget-Potential)
  681. Behaviors=(BehaviorName=SelectClosestUnsuppressedTarget, NodeType=RepeatUntilFail, Child[0]=EvaluatePotentialSuppressionTarget)
  682. Behaviors=(BehaviorName=EvaluatePotentialSuppressionTarget, NodeType=Sequence, Child[0]=SetNextTarget, Child[1]=TargetScoreUnsuppressedByClosestDistance, Child[2]=AvoidBoundAndPanickedTargets, Child[3]=TargetScoreInvalidateCivilians, Child[4]=UpdateBestTarget)
  683. Behaviors=(BehaviorName=TargetScoreUnsuppressedByClosestDistance, NodeType=Successor, Child[0]=ScoreUnsuppressedByClosestDistance)
  684. Behaviors=(BehaviorName=ScoreUnsuppressedByClosestDistance, NodeType=Sequence, Child[0]=TargetIsNotSuppressed, Child[1]=TargetIsEnemy, Child[2]=TargetScoreByScaledDistance-1, Child[3]=AvoidBoundAndPanickedTargets, Child[4]=AddToTargetScore_100)
  685. Behaviors=(BehaviorName=TargetIsNotSuppressed, NodeType=Inverter, Child[0]=TargetAffectedByEffect-Suppression)
  686. Behaviors=(BehaviorName=TargetScoreByScaledDistance-1, NodeType=Action, Param[0]="-1"); Distance in Meters, Negated to favor closer units.
  687. Behaviors=(BehaviorName="TargetScoreByScaledDistance-1+10", NodeType=Action, Param[0]="-1", Param[1]=10); Distance in Meters, Negated to favor closer units, + 10.
  688. Behaviors=(BehaviorName=ShootOrSuppressIfNoGoodShot, NodeType=Selector, Child[0]=ConsiderSuppression, Child[1]=TryShootOrReloadOrOverwatch)
  689. Behaviors=(BehaviorName=ConsiderSuppression, NodeType=Sequence, Child[0]=AllShotPercentagesBelow50, Child[1]=SuppressIfAvailable)
  690. Behaviors=(BehaviorName=PsiEvaluateTargetsGeneric, NodeType=Sequence, Child[0]=SetNextTarget, Child[1]=TargetScorePsiAttack, Child[2]=TargetScoreHighestSoldierRank, Child[3]=TargetScoreHealth_HighFirst, Child[4]=SometimesRandomizeTarget, Child[5]=ApplyDifficultyModifiers, Child[6]=AvoidBoundAndPanickedTargets, Child[7]=TargetScoreInvalidateCivilians, Child[8]=UpdateBestTarget)
  691. Behaviors=(BehaviorName=PsiEvaluateTargetsMindControl, NodeType=Sequence, Child[0]=SetNextTarget, Child[1]=TargetScoreMindControl, Child[2]=TargetScoreHighestSoldierRank, Child[3]=TargetScoreHealth_HighFirst, Child[4]=TargetScoreInvalidateCivilians, Child[5]=AvoidBoundAndPanickedTargets, Child[6]=UpdateBestTarget)
  692. Behaviors=(BehaviorName=TargetScorePsiAttack, NodeType=Selector, Child[0]=ScoreIfConfused, Child[1]=ScoreIfPanicked, Child[2]=ScoreIfDisoriented, Child[3]=AddToTargetScore_0)
  693. Behaviors=(BehaviorName=ScoreIfConfused, NodeType=Sequence, Child[0]=TargetAffectedByEffect-Confused, Child[1]=AddToTargetScore_30)
  694. Behaviors=(BehaviorName=ScoreIfPanicked, NodeType=Sequence, Child[0]=TargetAffectedByEffect-Panicked, Child[1]=AddToTargetScore_20)
  695. Behaviors=(BehaviorName=ScoreIfDisoriented, NodeType=Sequence, Child[0]=TargetAffectedByEffect-Disoriented, Child[1]=AddToTargetScore_10)
  696. Behaviors=(BehaviorName=TargetScoreMindControl, NodeType=Selector, Child[0]=ScoreIfTargetWillWeakened, Child[1]=AddToTargetScore_-10)
  697. Behaviors=(BehaviorName=ScoreIfTargetWillWeakened, NodeType=Sequence, Child[0]=TargetWillWeakened, Child[1]=AddToTargetScore_50)
  698. Behaviors=(BehaviorName=SometimesRandomizeTarget, NodeType=RandSelector, Child[0]=AddToTargetScore_0, Param[0]=1, Child[1]=AddToTargetScore_10, Param[1]=2, Child[2]=AddToTargetScore_20, Param[2]=6, Child[3]=AddToTargetScore_30, Param[3]=2, Child[4]=AddToTargetScore_40, Param[4]=1 )
  699. Behaviors=(BehaviorName=TargetScoreByHitChanceValue-1, NodeType=Action, Param[0]=1, Param[1]=StandardShot )
  700. Behaviors=(BehaviorName=TargetScoreHitChance, NodeType=Selector, Child[0]=TargetScoreHitChanceUnlikely, Child[1]=TargetScoreHitChanceProbable, Child[2]=AddToTargetScore_40)
  701. Behaviors=(BehaviorName=TargetScoreHitChanceUnlikely, NodeType=Sequence, Child[0]=TargetHitChanceLow, Child[1]=AddToTargetScore_10) ; 30 points under mid rank shot
  702. Behaviors=(BehaviorName=TargetScoreHitChanceProbable, NodeType=Sequence, Child[0]=TargetHitChanceHigh, Child[1]=AddToTargetScore_70) ; 30 points over mid rank shot
  703. Behaviors=(BehaviorName=TargetScoreHitChanceOPPORTUNIST, NodeType=Selector, Child[0]=TargetScoreHitChanceUnlikelyOPPORTUNIST, Child[1]=TargetScoreHitChanceProbableOPPORTUNIST, Child[2]=AddToTargetScore_-20)
  704. Behaviors=(BehaviorName=TargetScoreHitChanceUnlikelyOPPORTUNIST, NodeType=Sequence, Child[0]=TargetHitChanceLow, Child[1]=AddToTargetScore_-100)
  705. Behaviors=(BehaviorName=TargetScoreHitChanceProbableOPPORTUNIST, NodeType=Sequence, Child[0]=TargetHitChanceHigh, Child[1]=AddToTargetScore_0) ; valid shot if any other paramater is positive.
  706. Behaviors=(BehaviorName=TargetScoreHitChanceFavorable, NodeType=Selector, Child[0]=TargetScoreHitChanceUnlikelyFavorable, Child[1]=TargetScoreHitChanceProbableFavorable, Child[2]=AddToTargetScore_40)
  707. Behaviors=(BehaviorName=TargetScoreHitChanceUnlikelyFavorable, NodeType=Sequence, Child[0]=TargetHitChanceLow, Child[1]=AddToTargetScore_-10) ; 50 points under mid rank shot, negative
  708. Behaviors=(BehaviorName=TargetScoreHitChanceProbableFavorable, NodeType=Sequence, Child[0]=TargetHitChanceHigh, Child[1]=AddToTargetScore_70) ; 30 points over mid rank shot
  709. Behaviors=(BehaviorName=TargetScoreHealth, NodeType=Selector, Child[0]=ScoreIfKillShot, Child[1]=ScoreIfTargetLowHP, Child[2]=ScoreIfTargetWounded, Child[3]=AddToTargetScore_0)
  710. Behaviors=(BehaviorName=ScoreIfKillShot, NodeType=Sequence, Child[0]=TargetIsKillable, Child[1]=AddToTargetScore_15, ) ; bump a kill shot up to the next aim tier with a bonus`
  711. Behaviors=(BehaviorName=ScoreIfTargetLowHP, NodeType=Sequence, Child[0]=TargetHasLowHP, Child[1]=AddToTargetScore_10) ; low hp but not kill shot is valued target, but not more than much better hit chance
  712. Behaviors=(BehaviorName=ScoreIfTargetWounded, NodeType=Sequence, Child[0]=TargetWounded, Child[1]=AddToTargetScore_5) ; in case of aim quality tie, shoot wounded target
  713. Behaviors=(BehaviorName=ApplyDifficultyModifiers, NodeType=Successor, Child[0]=CompositedTargetModifiers)
  714. Behaviors=(BehaviorName=CompositedTargetModifiers, NodeType=Sequence, Child[0]=SSTeamSpecificModifiers, Child[1]=ApplyDifficultyModifiersBase)
  715. Behaviors=(BehaviorName=SSTeamSpecificModifiers, NodeType=Successor, Child[0]=TeamSpecificModifiers)
  716. Behaviors=(BehaviorName=TeamSpecificModifiers, NodeType=Selector, Child[0]=XComSpecificModifiers, Child[1]=AISpecificModifiers, Child[2]=OtherTeamModifiers)
  717. Behaviors=(BehaviorName=XComSpecificModifiers, NodeType=Sequence, Child[0]=IsTeam-eTeam_XCom, Child[1]=TargetScoreMindControlledAlly, Child[2]=PrioritizeEnemyByTemplateNames)
  718. Behaviors=(BehaviorName=OtherTeamModifiers, NodeType=Sequence, Child[0]=NotTeamXCom, Child[1]=NotTeamAlien, Child[2]=AdjustScoreForOtherTeamPriorities)
  719. Behaviors=(BehaviorName=AdjustScoreForOtherTeamPriorities, NodeType=Sequence, Child[0]=TargetIsChosen, Child[1]=TargetIsNotEngagedChosen, Child[2]=AddToTargetScore_-1000)
  720. Behaviors=(BehaviorName=AISpecificModifiers, NodeType=Sequence, Child[0]=IsTeam-eTeam_Alien, Child[1]=IsTargetTeam-eTeam_TheLost, Child[2]=AdjustScoreForLostPriority)
  721. Behaviors=(BehaviorName=PrioritizeEnemyByTemplateNames, NodeType=Selector, Child[0]=ScorePriorityEnemies, Child[1]=AddToTargetScore_0)
  722. Behaviors=(BehaviorName=ScorePriorityEnemies, NodeType=Selector, Child[0]=ScoreSectoidPriority, Child[1]=ScoreMutonPriority, Child[2]=ScoreStunLancerPriority)
  723. Behaviors=(BehaviorName=ScoreSectoidPriority, NodeType=Sequence, Child[0]=TargetTemplateNameIs-Sectoid, Child[1]=AddToTargetScore_50)
  724. Behaviors=(BehaviorName=ScoreMutonPriority, NodeType=Sequence, Child[0]=TargetTemplateNameIs-Muton, Child[1]=AddToTargetScore_35)
  725. Behaviors=(BehaviorName=ScoreStunLancerPriority, NodeType=Sequence, Child[0]=IsTargetStunLancer, Child[1]=AddToTargetScore_20)
  726. Behaviors=(BehaviorName=ApplyDifficultyModifiersBase, NodeType=Sequence, Child[0]=IsDifficultyLow, Child[1]=AddToTargetScore_20, Child[2]="::DistributeAttacks")
  727. Behaviors=(BehaviorName=AvoidBoundAndPanickedTargets, NodeType=Selector, Child[0]=ScoreIfTargetBoundOrPanicked, Child[1]=AddToTargetScore_1)
  728. Behaviors=(BehaviorName=ScoreIfTargetBoundOrPanicked, NodeType=Sequence, Child[0]=IsTargetLastResortWithOtherOptionsAvailable, Child[1]=AddToTargetScore_-1000)
  729. Behaviors=(BehaviorName="::DistributeAttacks", NodeType=Selector, Child[0]=ScoreTargetIfMarked, Child[1]=AddToTargetScore_20);ScoreIfTargetHasBeenAttackedTwice, Child[2]=ScoreIfTargetHasBeenAttackedOnce, Child[3]=AddToTargetScore_30)
  730. Behaviors=(BehaviorName="Sectopod::DistributeAttacks", NodeType=Selector, Child[0]=ScoreIfTargetHasBeenAttackedTwice, Child[1]=ScoreIfTargetHasBeenAttackedOnce, Child[2]=AddToTargetScore_30)
  731. Behaviors=(BehaviorName=ScoreIfTargetHasBeenAttackedTwice, NodeType=Sequence, Child[0]=TargetHasBeenAttackedTwice, Child[1]=AddToTargetScore_0);
  732. Behaviors=(BehaviorName=ScoreIfTargetHasBeenAttackedOnce, NodeType=Sequence, Child[0]=TargetHasBeenAttackedOnce, Child[1]=AddToTargetScore_5);
  733. Behaviors=(BehaviorName=TargetScoreHealth_HighFirst, NodeType=Selector, Child[0]=PenalizeIfKillShot, Child[1]=ScoreIfTarget_MaxHP, Child[2]=ScoreIfTarget_HighHP, Child[3]=AddToTargetScore_5)
  734. Behaviors=(BehaviorName=PenalizeIfKillShot, NodeType=Sequence, Child[0]=TargetIsKillable, Child[1]=AddToTargetScore_0) ; If the attack would kill the target, deemphasize (but don't ignore)
  735. Behaviors=(BehaviorName=ScoreIfTarget_MaxHP, NodeType=Sequence, Child[0]=TargetHasMaxHP, Child[1]=AddToTargetScore_20) ; bump a max health target to the next aim tier with a bonus
  736. Behaviors=(BehaviorName=ScoreIfTarget_HighHP, NodeType=Sequence, Child[0]=TargetHasHighHP, Child[1]=AddToTargetScore_10) ; high hp is valued target, but not more than much better hit chance
  737. Behaviors=(BehaviorName=TargetScoreFlanking, NodeType=Selector, Child[0]=ScoreTargetIfFlanked, Child[1]=AddToTargetScore_0)
  738. Behaviors=(BehaviorName=ScoreTargetIfFlanked, NodeType=Sequence, Child[0]=IsFlankingTarget, Child[1]=TargetIsEnemy, Child[2]=AddToTargetScore_50)
  739. Behaviors=(BehaviorName=TargetScoreHighestSoldierRank, NodeType=Selector, Child[0]=ScoreIfTarget_HasHighestRank, Child[1]=AddToTargetScore_0)
  740. Behaviors=(BehaviorName=ScoreIfTarget_HasHighestRank, NodeType=Sequence, Child[0]=TargetHasHighestSoldierRank, Child[1]=AddToTargetScore_5) ; Just a tie breaker
  741. Behaviors=(BehaviorName=TargetHasHighestSoldierRank, NodeType=Condition)
  742. Behaviors=(BehaviorName=TargetScoreHighestShotHitChance, NodeType=Successor, Child[0]=ScoreIfTarget_HighestShotHitChance)
  743. Behaviors=(BehaviorName=ScoreIfTarget_HighestShotHitChance, NodeType=Sequence, Child[0]=TargetHasHighestShotHitChance, Child[1]=AddToTargetScore_10) ; tie breaker
  744. Behaviors=(BehaviorName=TargetScoreHighestShotHitChance_50, NodeType=Successor, Child[0]=ScoreIfTarget_HighestShotHitChance_50)
  745. Behaviors=(BehaviorName=ScoreIfTarget_HighestShotHitChance_50, NodeType=Sequence, Child[0]=TargetHasHighestShotHitChance, Child[1]=AddToTargetScore_50)
  746. Behaviors=(BehaviorName=TargetScoreMarked, NodeType=Selector, Child[0]=ScoreTargetIfMarked, Child[1]=AddToTargetScore_0)
  747. Behaviors=(BehaviorName=ScoreTargetIfMarked, NodeType=Sequence, Child[0]=TargetAffectedByEffect-MarkedTarget, Child[1]=AddToTargetScore_45) ; bump a marked target up to the next aim tier with a bonus, over even a killshot
  748. Behaviors=(BehaviorName=TargetScorePriority, NodeType=Selector, Child[0]=ScoreTargetIfPriority, Child[1]=AddToTargetScore_0) ; If I'm looking for a priority target, then if the target isn't priority, it should be very negative.
  749. Behaviors=(BehaviorName=ScoreTargetIfPriority, NodeType=Sequence, Child[0]=TargetIsPriorityUnit, Child[1]=AddToTargetScore_60) ; set a priority target for very high
  750. Behaviors=(BehaviorName=TargetScoreCivilian, NodeType=Successor, Child[0]=ScoreTargetIfCivilianByJob)
  751. Behaviors=(BehaviorName=TargetScoreInvalidateCivilians, NodeType=Selector, Child[0]=ScoreTargetOutIfCivilian, Child[1]=AddToTargetScore_0)
  752. Behaviors=(BehaviorName=TargetScoreFilterCiviliansForJob, NodeType=Selector, Child[0]=ScoreTargetIfCivilianByJob, Child[1]=ScoreTargetOutIfCivilian, Child[2]=AddToTargetScore_0)
  753. Behaviors=(BehaviorName=ScoreTargetOutIfCivilian, NodeType=Sequence, Child[0]=TargetIsCivilian, Child[1]=AddToTargetScore_-1000)
  754. Behaviors=(BehaviorName=ScoreTargetIfCivilianByJob, NodeType=Sequence, Child[0]=TargetIsCivilian, Child[1]=TargetNotTeamResistance, Child[2]=ScoreCivilianByJob)
  755. Behaviors=(BehaviorName=ScoreCivilianByJob, NodeType=Selector, Child[0]=ScoreCivilianIfExecutioner, Child[1]=ScoreCivilianIfLimitHit, Child[2]=ScoreCivilianIfActuallyFaceless, Child[3]=ScoreCivilianIfTerrorist)
  756. Behaviors=(BehaviorName=ScoreCivilianIfActuallyFaceless, NodeType=Sequence, Child[0]=TargetIsAlien, Child[1]=AddToTargetScore_-1000)
  757. Behaviors=(BehaviorName=ScoreCivilianIfTerrorist, NodeType=Sequence, Child[0]=IsMyJob-Terrorist, Child[1]=AddToTargetScore_40)
  758. Behaviors=(BehaviorName=ScoreCivilianIfLimitHit, NodeType=Sequence, Child[0]=CivilianKillLimitReached, Child[1]=AddToTargetScore_-1000)
  759. Behaviors=(BehaviorName=CivilianKillLimitReached, NodeType=Inverter, Child[0]=NumKilledCiviliansIsLessThanTurnCount)
  760. Behaviors=(BehaviorName=SecondWaveOptionEnabled-BetaStrike, NodeType=Condition)
  761. Behaviors=(BehaviorName=LimitCivilianKillsForBetaStrike, NodeType=Sequence, Child[0]=SecondWaveOptionEnabled-BetaStrike, Child[1]=ScoreCivilianIfLimitHit)
  762. Behaviors=(BehaviorName=TargetScoreKillAdventNotAliens, NodeType=Selector, Child[0]=ScoreTargetIfAllyAndAdvent, Child[1]=ScoreTargetIfAllyAndNotAdvent, Child[2]=AddToTargetScore_0)
  763. Behaviors=(BehaviorName=ScoreTargetIfAllyAndAdvent, NodeType=Sequence, Child[0]=TargetIsAlly, Child[1]=TargetIsAdvent, Child[2]=AddToTargetScore_1)
  764. Behaviors=(BehaviorName=ScoreTargetIfAllyAndNotAdvent, NodeType=Sequence, Child[0]=TargetIsAlly, Child[1]=AddToTargetScore_-100)
  765. Behaviors=(BehaviorName=TargetScoreTeamVisibility, NodeType=Selector, Child[0]=ScoreIfTarget_HasHighestVisibility, Child[1]=AddToTargetScore_0)
  766. Behaviors=(BehaviorName=ScoreIfTarget_HasHighestVisibility, NodeType=Sequence, Child[0]=TargetHasHighestTeamVisibility, Child[1]=AddToTargetScore_5) ; tie breaker
  767. Behaviors=(BehaviorName=TargetHasHighestTeamVisibility, NodeType=Condition)
  768. Behaviors=(BehaviorName=TargetScoreReachableForMelee, NodeType=Selector, Child[0]=ScoreUnReachable, Child[1]=AddToTargetScore_1)
  769. Behaviors=(BehaviorName=TargetIsNotAlly, NodeType=Inverter, Child[0]=TargetIsAlly)
  770. Behaviors=(BehaviorName=TargetCanBecomeZombie, NodeType=Condition)
  771. Behaviors=(BehaviorName=TargetCanNotBecomeZombie, NodeType=Inverter, Child[0]=TargetCanBecomeZombie)
  772. Behaviors=(BehaviorName=TargetScoreReachableAllyAnimaConsume, NodeType=Selector, Child[0]=TargetIsNotAlly, Child[1]=TargetCanNotBecomeZombie, Child[2]=TargetIsVisibleToPlayer, Child[3]=ScoreForAnimaConsumeAlly)
  773. Behaviors=(BehaviorName=ScoreForAnimaConsumeAlly, NodeType=Sequence, Child[0]=ScoreAnimaConsumeForRange, Child[1]=ScoreIfTargetLowHP, Child[2]=AddToTargetScore_1)
  774. Behaviors=(BehaviorName=ScoreAnimaConsumeForRange, NodeType=Selector, Child[0]=ScoreInAttackRange, Child[1]=ScoreUnreachable, Child[2]=AddToTargetScore_1)
  775. Behaviors=(BehaviorName=ScoreInAttackRange, NodeType=Sequence, Child[0]=IsTargetInAttackRange-StandardMelee, Child[1]=AddToTargetScore_100)
  776. Behaviors=(BehaviorName=ScoreUnReachable, NodeType=Sequence, Child[0]=TargetNotInMovementRange, Child[1]=AddToTargetScore_-100)
  777. Behaviors=(BehaviorName=TargetScoreClosestIfInRange, NodeType=Successor, Child[0]=ScoreClosestIfInRange)
  778. Behaviors=(BehaviorName=ScoreClosestIfInRange, NodeType=Sequence, Child[0]=TargetIsClosestValidTarget, Child[1]=IsTargetInMovementRange-StandardMelee, Child[2]=AddToTargetScore_100)
  779. Behaviors=(BehaviorName=SelectScoreHitChanceByJob, NodeType=Selector, Child[0]=ScoreHitIfSoldier, Child[1]=ScoreHitIfFlanker, Child[2]=ScoreHitIfLeader, Child[3]=ScoreHitIfSupport, Child[4]=TargetScoreHitChance)
  780. Behaviors=(BehaviorName=ScoreHitIfSoldier, NodeType=Sequence, Child[0]=IsMyJob-Soldier, Child[1]=TargetScoreHitChanceUnlikely)
  781. Behaviors=(BehaviorName=ScoreHitIfFlanker, NodeType=Sequence, Child[0]=IsMyJob-Flanker, Child[1]=TargetScoreHitChanceOPPORTUNIST)
  782. Behaviors=(BehaviorName=ScoreHitIfLeader, NodeType=Sequence, Child[0]=IsMyJob-Leader, Child[1]=TargetScoreHitChance)
  783. Behaviors=(BehaviorName=ScoreHitIfSupport, NodeType=Sequence, Child[0]=IsMyJob-Support, Child[1]=TargetScoreHitChanceProbable)
  784. Behaviors=(BehaviorName=IsAbilityAvailable-Reload, NodeType=Condition)
  785. Behaviors=(BehaviorName=IsAbilityAvailable-StandardShot, NodeType=Condition)
  786. Behaviors=(BehaviorName=IsAbilityAvailable-StandardMove, NodeType=Condition)
  787. Behaviors=(BehaviorName=IsAbilityAvailable-Overwatch, NodeType=Condition)
  788. Behaviors=(BehaviorName=IsAbilityAvailable-ThrowGrenade, NodeType=Condition)
  789. Behaviors=(BehaviorName=IsAbilityAvailable-FragGrenade, NodeType=Condition)
  790. Behaviors=(BehaviorName=IsAbilityAvailable-Yell, NodeType=Condition)
  791. Behaviors=(BehaviorName=IsAbilityAvailable-CallReinforcements, NodeType=Condition)
  792. Behaviors=(BehaviorName=IsAbilityAvailable-Suppression, NodeType=Condition)
  793. Behaviors=(BehaviorName=IsAbilityAvailable-HunkerDown, NodeType=Condition)
  794. Behaviors=(BehaviorName=IsAbilityAvailable-StandardMelee, NodeType=Condition)
  795. Behaviors=(BehaviorName=IsAbilityAvailable-Evac, NodeType=Condition)
  796. Behaviors=(BehaviorName=IsAbilityReady-StandardMelee, NodeType=Condition)
  797. Behaviors=(BehaviorName=SelectAbility-Reload, NodeType=Action)
  798. Behaviors=(BehaviorName=SelectAbility-StandardShot, NodeType=Action)
  799. Behaviors=(BehaviorName=SelectAbility-StandardMove, NodeType=Action)
  800. Behaviors=(BehaviorName=SelectAbility-Overwatch, NodeType=Action)
  801. Behaviors=(BehaviorName=SelectAbility-ThrowGrenade, NodeType=Action)
  802. Behaviors=(BehaviorName=SelectAbility-Yell, NodeType=Action)
  803. Behaviors=(BehaviorName=SelectAbility-CallReinforcements, NodeType=Action)
  804. Behaviors=(BehaviorName=SelectAbility-StandardMelee, NodeType=Action)
  805. Behaviors=(BehaviorName=SelectAbility-Suppression, NodeType=Action)
  806. Behaviors=(BehaviorName=SelectAbility-HunkerDown, NodeType=Action)
  807. Behaviors=(BehaviorName=SelectAbility-Evac, NodeType=Action)
  808. Behaviors=(BehaviorName=ShouldPatrol, NodeType=Selector, Child[0]=IsGreenAlert, Child[1]=NotYetRevealed)
  809. Behaviors=(BehaviorName=GenericGreenMovement, NodeType=Sequence, Child[0]=ShouldPatrol, Child[1]=GreenAlertActionSelector)
  810. Behaviors=(BehaviorName=GreenAlertActionSelector, NodeType=Selector, Child[0]=TryAttackPriorityTarget, Child[1]=SSSelectGreenAlertAction)
  811. Behaviors=(BehaviorName=SSSelectGreenAlertAction, NodeType=Successor, Child[0]=SelectGreenAlertAction )
  812. Behaviors=(BehaviorName=SelectGreenAlertAction, NodeType=Action)
  813. Behaviors=(BehaviorName=IgnoreHazards, NodeType=Action)
  814. Behaviors=(BehaviorName=SkipTurnifGreenAlert, NodeType=Sequence, Child[0]=IsGreenAlert, Child[1]=SkipMove)
  815. Behaviors=(BehaviorName=DoCower, NodeType=Sequence, Child[0]=IsAbilityAvailable-HunkerDown, Child[1]=SelectAbility-HunkerDown)
  816. Behaviors=(BehaviorName=MoveBackWithLOSIfFlanked, NodeType=Sequence, Child[0]=IsLastActionPoint, Child[1]=IsFlanked, Child[2]=IsAbilityAvailable-StandardMove, Child[3]=FindDestinationWithLoS-MWP_Defensive, Child[4]=SelectAbility-StandardMove);
  817. Behaviors=(BehaviorName=MoveBackWithLOSIfFlankedFirstAction, NodeType=Sequence, Child[0]=NotLastActionPoint, Child[1]=IsFlanked, Child[2]=IsAbilityAvailable-StandardMove, Child[3]=FindDestinationWithLoS-MWP_Defensive, Child[4]=SelectAbility-StandardMove);
  818. Behaviors=(BehaviorName=MoveForwardWithLOSIfFlanked, NodeType=Sequence, Child[0]=IsLastActionPoint, Child[1]=IsFlanked, Child[2]=IsAbilityAvailable-StandardMove, Child[3]=FindDestinationWithLoS-MWP_AdvanceCover, Child[4]=SelectAbility-StandardMove);
  819. Behaviors=(BehaviorName=MoveForwardWithLOSIfFlankedFirstAction, NodeType=Sequence, Child[0]=NotLastActionPoint, Child[1]=IsFlanked, Child[2]=IsAbilityAvailable-StandardMove, Child[3]=FindDestinationWithLoS-MWP_AdvanceCover, Child[4]=SelectAbility-StandardMove);
  820. Behaviors=(BehaviorName=DoIfFlankedMove, NodeType=Sequence, Child[0]=CheckIfNeedToMove, Child[1]=FlankedMoveSelector)
  821. Behaviors=(BehaviorName=CheckIfNeedToMove, NodeType=Selector, Child[0]=IsFlanked, Child[1]=IsInDangerousArea)
  822. Behaviors=(BehaviorName=CheckIfInDanger, NodeType=Selector, Child[0]=IsFlanked, Child[1]=HasMoreThanOneOverwatcher, Child[2]=IsInDangerousArea)
  823. Behaviors=(BehaviorName=CheckNotInDanger, NodeType=Inverter, Child[0]=CheckIfInDanger)
  824. Behaviors=(BehaviorName=FlankedMoveSelector, NodeType=Selector, Child[0]=MoveAdvanceToCoverLoSUnsafe, Child[1]=MoveAdvanceToCoverUnsafe, Child[2]=FallBack)
  825. Behaviors=(BehaviorName=DoIfFlankedMoveHeightPref, NodeType=Sequence, Child[0]=CheckIfNeedToMove, Child[1]=FlankedMoveSelectorHeight)
  826. Behaviors=(BehaviorName=DoIfOnDangerousGround, NodeType=Sequence, Child[0]=IsInDangerousArea, Child[1]=FlankedMoveSelector)
  827. Behaviors=(BehaviorName=LastActionAndFlanked, NodeType=Sequence, Child[0]=IsLastActionPoint, Child[1]=IsFlanked, Child[2]=ShootIfIdeal_OtherwiseMove)
  828. Behaviors=(BehaviorName=DoNoiseAlert, NodeType=Action)
  829. Behaviors=(BehaviorName=NeedsReload, NodeType=Sequence, Child[0]=IsAbilityAvailable-Reload, Child[1]=OutOfAmmo, Child[2]=SelectAbility-Reload)
  830. Behaviors=(BehaviorName=TryShootOrReload, NodeType=Selector, Child[0]=ShootIfAvailable, Child[1]=NeedsReload)
  831. Behaviors=(BehaviorName=TryShootOrReloadOrOverwatch, NodeType=Selector, Child[0]=ConsiderTakingOverwatch, Child[1]=ShootIfAvailable, Child[2]=NeedsReload)
  832. Behaviors=(BehaviorName=ConsiderTakingOverwatch, NodeType=Selector, Child[0]=TryTwoTurnAttackSupport, Child[1]=ConsiderTakingOverwatchAllUnits, Child[2]=ConsiderTakingOverwatchVIP, Child[3]=ConsiderTakingOverwatchEvac)
  833. Behaviors=(BehaviorName=ConsiderTakingOverwatchAllUnits, NodeType=Sequence, Child[0]=AllShotPercentagesBelow50, Child[1]=NoOverwatchingTeammates, Child[2]=RandFilter25Overwatch)
  834. Behaviors=(BehaviorName=AllShotPercentagesBelow50, NodeType=StatCondition, Param[0]=TopHitChance, Param[1]="<", Param[2]="50")
  835. Behaviors=(BehaviorName=AllShotPercentagesAtOrBelow50, NodeType=StatCondition, Param[0]=TopHitChance, Param[1]="<=", Param[2]="50")
  836. Behaviors=(BehaviorName=RandFilter25Overwatch, NodeType=RandFilter, Child[0]=TryOverwatch, Param[0]=25)
  837. Behaviors=(BehaviorName=ConsiderTakingOverwatchVIP, NodeType=Sequence, Child[0]=VIPVisible, Child[1]=RandOverwatch75_15)
  838. Behaviors=(BehaviorName=ConsiderTakingOverwatchEvac, NodeType=Sequence, Child[0]=EvacInRangeAndEnemyVisible, Child[1]=RandOverwatch100_75)
  839. Behaviors=(BehaviorName=VIPVisible, NodeType=Sequence, Child[0]=HasEnemyVIP, Child[1]=CanSeeLivingVIPOrCarriedVIP)
  840. Behaviors=(BehaviorName=CanSeeLivingVIPOrCarriedVIP, NodeType=Condition)
  841. Behaviors=(BehaviorName=EvacInRangeAndEnemyVisible, NodeType=Sequence, Child[0]=EvacWithinVisRange, Child[1]=AnyLivingEnemyVisible)
  842. Behaviors=(BehaviorName=NoVisibleEnemies, NodeType=StatCondition, Param[0]=VisibleEnemyCount, Param[1]="==", Param[2]=0)
  843. Behaviors=(BehaviorName=AnyLivingEnemyVisible, NodeType=StatCondition, Param[0]=VisibleEnemyCount, Param[1]=">", Param[2]=0)
  844. Behaviors=(BehaviorName=MultipleEnemiesVisible, NodeType=StatCondition, Param[0]=VisibleEnemyCount, Param[1]=">", Param[2]=1)
  845. Behaviors=(BehaviorName=AnyAlliesVisible, NodeType=StatCondition, Param[0]=VisibleAllyCount, Param[1]=">", Param[2]=0)
  846. Behaviors=(BehaviorName=NoAlliesVisible, NodeType=StatCondition, Param[0]=VisibleAllyCount, Param[1]="==", Param[2]=0)
  847. Behaviors=(BehaviorName=EvacWithinVisRange, NodeType=Condition)
  848. Behaviors=(BehaviorName=RandOverwatch100_75, NodeType=Selector, Child[0]=FirstOverwatch100, Child[1]=RandSecondOverwatch75)
  849. Behaviors=(BehaviorName=RandOverwatch75_15, NodeType=Selector, Child[0]=RandFirstOverwatch75, Child[1]=RandSecondOverwatch15)
  850. Behaviors=(BehaviorName=RandOverwatch75, NodeType=RandFilter, Child[0]=TryOverwatch, Param[0]=75)
  851. Behaviors=(BehaviorName=RandOverwatch15, NodeType=RandFilter, Child[0]=TryOverwatch, Param[0]=15)
  852. Behaviors=(BehaviorName=RandOverwatch50, NodeType=RandFilter, Child[0]=TryOverwatch, Param[0]=50)
  853. Behaviors=(BehaviorName=RandOverwatch100_50, NodeType=Selector, Child[0]=FirstOverwatch100, Child[1]=RandOverwatch50)
  854. Behaviors=(BehaviorName=FirstOverwatch100, NodeType=Sequence, Child[0]=NoOverwatchingTeammates, Child[1]=TryOverwatch)
  855. Behaviors=(BehaviorName=RandFirstOverwatch75, NodeType=Sequence, Child[0]=NoOverwatchingTeammates, Child[1]=RandOverwatch75)
  856. Behaviors=(BehaviorName=RandSecondOverwatch75, NodeType=Sequence, Child[0]=OneOverwatchingTeammate, Child[1]=RandOverwatch75)
  857. Behaviors=(BehaviorName=RandSecondOverwatch15, NodeType=Sequence, Child[0]=OneOverwatchingTeammate, Child[1]=RandOverwatch15)
  858. Behaviors=(BehaviorName=TryTwoTurnAttackSupportIfSafe, NodeType=Sequence, Child[0]=NotInDangerousArea, Child[1]=TryTwoTurnAttackSupport)
  859. Behaviors=(BehaviorName=TryTwoTurnAttackSupport, NodeType=Sequence, Child[0]=HasTwoTurnAttackTargets, Child[1]=TryOverwatchTwoTurnTarget)
  860. Behaviors=(BehaviorName=HasTwoTurnAttackTargets, NodeType=Condition)
  861. Behaviors=(BehaviorName=IsTargetInTwoTurnAttackArea, NodeType=Condition)
  862. Behaviors=(BehaviorName=TryOverwatchTwoTurnTarget, NodeType=Sequence, Child[0]=IsAbilityAvailable-Overwatch, Child[1]=RandOverwatch100_50)
  863. Behaviors=(BehaviorName=TryMeleeOrShoot, NodeType=Selector, Child[0]=ShootIfAvailable, Child[1]=StandardMeleeAttack)
  864. Behaviors=(BehaviorName=ShootIfAvailable, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardShot, Child[1]=SelectTargetForStandardShot, Child[2]=SelectAbility-StandardShot)
  865. Behaviors=(BehaviorName=ShootIfIdeal, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardShot, Child[1]=SelectTargetForStandardShot_Ideal, Child[2]=SelectAbility-StandardShot)
  866. Behaviors=(BehaviorName=ShootIfIdeal_OtherwiseMove, NodeType=Selector, Child[0]=ShootIfIdeal, Child[1]=MoveDefensiveWithLoS, Child[2]=MoveStandard)
  867. Behaviors=(BehaviorName=AttackIfFavorable, NodeType=Selector, Child[0]=TryGrenade, Child[1]=ShootIfAvailable_Favorable)
  868. Behaviors=(BehaviorName=ShootIfAvailable_Favorable, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardShot, Child[1]=SelectTargetForStandardShot_Favorable, Child[2]=SelectAbility-StandardShot)
  869. Behaviors=(BehaviorName=AttackIfIdeal, NodeType=Selector, Child[0]=TryMoveThenGrenade, Child[1]=ShootIfAvailable_Opportunist)
  870. Behaviors=(BehaviorName=ShootIfAvailable_Opportunist, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardShot, Child[1]=SelectTargetForStandardShot_Ideal, Child[2]=SelectAbility-StandardShot)
  871. Behaviors=(BehaviorName=TryOverwatch, NodeType=Sequence, Child[0]=IsAbilityAvailable-Overwatch, Child[1]=SelectAbility-Overwatch)
  872. Behaviors=(BehaviorName=OverwatchIfTargetAvailable, NodeType=Sequence, Child[0]=IsAbilityAvailable-Overwatch, Child[1]=IsOverwatchTargetAvailable, Child[2]=SelectAbility-Overwatch)
  873. Behaviors=(BehaviorName=IsOverwatchTargetAvailable, NodeType=Sequence, Child[0]=SetTargetStack-StandardShot, Child[1]=SelectOverwatchTarget, Child[2]=HasValidTarget-StandardShot)
  874. Behaviors=(BehaviorName=SelectOverwatchTarget, NodeType=RepeatUntilFail, Child[0]=EvaluateOverwatchTarget)
  875. Behaviors=(BehaviorName=EvaluateOverwatchTarget, NodeType=Sequence, Child[0]=SetNextTarget, Child[1]=TargetScoreHitChance, Child[2]=ApplyDifficultyModifiers, Child[3]=TargetScoreInvalidateCivilians, Child[4]=UpdateBestTarget)
  876. Behaviors=(BehaviorName=TryOverwatchIfLastAction, NodeType=Sequence, Child[0]=IsLastActionPoint, Child[1]=ConsiderTakingOverwatch)
  877. Behaviors=(BehaviorName=HasValidTarget-StandardShot, NodeType=Condition)
  878. Behaviors=(BehaviorName=SetTargetStack-StandardShot, NodeType=Action)
  879. Behaviors=(BehaviorName=SelectTargetForStandardShot, NodeType=Sequence, Child[0]=SetTargetStack-StandardShot, Child[1]=GenericSelectBestTarget, Child[2]=HasValidTarget-StandardShot)
  880. Behaviors=(BehaviorName=SelectTargetForStandardShot_Ideal, NodeType=Sequence, Child[0]=SetTargetStack-StandardShot, Child[1]=SelectTarget_Opportunist, Child[2]=HasValidTarget-StandardShot)
  881. Behaviors=(BehaviorName=SelectTargetForStandardShot_Favorable, NodeType=Sequence, Child[0]=SetTargetStack-StandardShot, Child[1]=SelectTarget_Favorable, Child[2]=HasValidTarget-StandardShot)
  882. Behaviors=(BehaviorName=TryShootPriorityTarget, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardShot, Child[1]=SelectPriorityTargetForStandardShot, Child[2]=SelectAbility-StandardShot)
  883. Behaviors=(BehaviorName=SelectPriorityTargetForStandardShot, NodeType=Sequence, Child[0]=SetTargetStack-StandardShot, Child[1]=SelectPriorityTarget, Child[2]=HasValidTarget-StandardShot)
  884. Behaviors=(BehaviorName=TryAttackPriorityTarget, NodeType=Sequence, Child[0]=HasPriorityTarget, Child[1]=AttackPriorityTarget)
  885. Behaviors=(BehaviorName=AttackPriorityTarget, NodeType=Selector, Child[0]=TryShootPriorityTarget, Child[1]=TryMeleeAttackPriorityTarget, Child[2]=NeedsReload)
  886. Behaviors=(BehaviorName=HasValidTarget-Suppression, NodeType=Condition)
  887. Behaviors=(BehaviorName=SetTargetStack-Suppression, NodeType=Action)
  888. Behaviors=(BehaviorName=SuppressIfAvailable, NodeType=Sequence, Child[0]=IsAbilityAvailable-Suppression, Child[1]=SelectTargetForSuppressionByAim, Child[2]=SelectAbility-Suppression)
  889. Behaviors=(BehaviorName=SelectTargetForSuppressionByAim, NodeType=Sequence, Child[0]=SetTargetStack-Suppression, Child[1]=SelectBestSuppressionTargetByAim, Child[2]=HasValidTarget-Suppression)
  890. Behaviors=(BehaviorName=SelectBestSuppressionTargetByAim, NodeType=RepeatUntilFail, Child[0]=EvaluateSuppressionTargetByAim)
  891. Behaviors=(BehaviorName=EvaluateSuppressionTargetByAim, NodeType=Sequence, Child[0]=SetNextTarget, Child[1]=SSScoreUnsuppressedByHitChanceValue, Child[2]=TargetScoreInvalidateCivilians, Child[3]=UpdateBestTarget)
  892. Behaviors=(BehaviorName=SSScoreUnsuppressedByHitChanceValue, NodeType=Successor, Child[0]=ScoreUnsuppressedByHitChanceValue)
  893. Behaviors=(BehaviorName=ScoreUnsuppressedByHitChanceValue, NodeType=Sequence, Child[0]=TargetIsNotSuppressed, Child[1]=AvoidBoundAndPanickedTargets, Child[2]=TargetScoreByHitChanceValue-1)
  894. Behaviors=(BehaviorName=HasValidTarget-StandardMelee, NodeType=Condition)
  895. Behaviors=(BehaviorName=HasValidTarget-Potential, NodeType=Condition)
  896. Behaviors=(BehaviorName=SetTargetStack-StandardMelee, NodeType=Action)
  897. Behaviors=(BehaviorName=SetPotentialTargetStack, NodeType=Action)
  898. Behaviors=(BehaviorName=SetVisiblePotentialTargetStack, NodeType=Action)
  899. Behaviors=(BehaviorName=SetPotentialAllyTargetStack, NodeType=Action)
  900. Behaviors=(BehaviorName=SetPotentialAnyTeamTargetStack, NodeType=Action) ;Include allies, civilians, enemies - any team.
  901. Behaviors=(BehaviorName=IsTargetInMovementRange-StandardMelee, NodeType=Condition)
  902. Behaviors=(BehaviorName=IsTargetInMovementRange-EnergyShield, NodeType=Condition)
  903. Behaviors=(BehaviorName=TargetNotInMovementRange, NodeType=Inverter, Child[0]=IsTargetInMovementRange-StandardMelee)
  904. Behaviors=(BehaviorName=IsTargetInAttackRange-StandardMelee, NodeType=Condition)
  905. Behaviors=(BehaviorName=TryStandardMelee, NodeType=Sequence, Child[0]=IsAbilityReady-StandardMelee, Child[1]=StandardMeleeStepSelector)
  906. Behaviors=(BehaviorName=TryStandardMeleeUnsafe, NodeType=Sequence, Child[0]=IsAbilityReady-StandardMelee, Child[1]=StandardMeleeStepSelectorUnsafe)
  907. Behaviors=(BehaviorName=StandardMeleeStepSelector, NodeType=Selector, Child[0]=StandardMeleeAttack, Child[1]=MoveMeleeIfFirstAbility)
  908. Behaviors=(BehaviorName=StandardMeleeStepSelectorUnsafe, NodeType=Selector, Child[0]=StandardMeleeAttack, Child[1]=MoveMeleeIfFirstAbilityUnsafe)
  909. Behaviors=(BehaviorName=StandardMeleeAttack, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardMelee, Child[1]=SelectTargetForStandardMelee, Child[2]=SelectAbility-StandardMelee)
  910. Behaviors=(BehaviorName=TryStandardMeleeFANATIC, NodeType=Sequence, Child[0]=IsAbilityReady-StandardMelee, Child[1]=StandardMeleeStepSelectorFANATIC)
  911. Behaviors=(BehaviorName=TryStandardMeleeFANATICUnsafe, NodeType=Sequence, Child[0]=IsAbilityReady-StandardMelee, Child[1]=StandardMeleeStepSelectorFANATICUnsafe)
  912. Behaviors=(BehaviorName=StandardMeleeStepSelectorFANATIC, NodeType=Selector, Child[0]=StandardMeleeAttack, Child[1]=MoveMeleeIfFirstAbilityFANATIC)
  913. Behaviors=(BehaviorName=StandardMeleeStepSelectorFANATICUnsafe, NodeType=Selector, Child[0]=StandardMeleeAttack, Child[1]=MoveMeleeIfFirstAbilityFANATICUnsafe)
  914. Behaviors=(BehaviorName=TryStandardMeleeDash, NodeType=Sequence, Child[0]=IsAbilityReady-StandardMelee, Child[1]=StandardMeleeDashStepSelector)
  915. Behaviors=(BehaviorName=TryStandardMeleeDashUnsafe, NodeType=Sequence, Child[0]=IsAbilityReady-StandardMelee, Child[1]=StandardMeleeDashStepSelectorUnsafe)
  916. Behaviors=(BehaviorName=StandardMeleeDashStepSelector, NodeType=Selector, Child[0]=StandardMeleeAttack, Child[1]=MoveMeleeDash)
  917. Behaviors=(BehaviorName=StandardMeleeDashStepSelectorUnsafe, NodeType=Selector, Child[0]=StandardMeleeAttack, Child[1]=MoveMeleeDashUnsafe)
  918. Behaviors=(BehaviorName=TryStandardMeleeDashFANATIC, NodeType=Sequence, Child[0]=IsAbilityReady-StandardMelee, Child[1]=StandardMeleeDashFANATICStepSelector)
  919. Behaviors=(BehaviorName=TryStandardMeleeDashFANATICUnsafe, NodeType=Sequence, Child[0]=IsAbilityReady-StandardMelee, Child[1]=StandardMeleeDashFANATICStepSelectorUnsafe)
  920. Behaviors=(BehaviorName=StandardMeleeDashFANATICStepSelector, NodeType=Selector, Child[0]=StandardMeleeAttack, Child[1]=MoveMeleeDashFANATIC)
  921. Behaviors=(BehaviorName=StandardMeleeDashFANATICStepSelectorUnsafe, NodeType=Selector, Child[0]=StandardMeleeAttack, Child[1]=MoveMeleeDashFANATICUnsafe)
  922. Behaviors=(BehaviorName=SelectTargetForStandardMelee, NodeType=Sequence, Child[0]=SetTargetStack-StandardMelee, Child[1]=SelectBestTargetForStandardMelee, Child[2]=HasValidTarget-StandardMelee)
  923. Behaviors=(BehaviorName=SelectBestTargetForStandardMelee, NodeType=RepeatUntilFail, Child[0]=EvaluatePotentialMeleeTarget)
  924. Behaviors=(BehaviorName=TryMeleeAttackPriorityTarget, NodeType=Sequence, Child[0]=IsAbilityReady-StandardMelee, Child[1]=MeleeAttackPriorityTargetStepSelector)
  925. Behaviors=(BehaviorName=MeleeAttackPriorityTargetStepSelector, NodeType=Selector, Child[0]=MeleeAttackPriorityTarget, Child[1]=MoveMeleePriorityTargetUnsafe)
  926. Behaviors=(BehaviorName=MeleeAttackPriorityTarget, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardMelee, Child[1]=SetTargetStack-StandardMelee, Child[2]=SelectPriorityTarget, Child[3]=HasValidTarget-StandardMelee, Child[4]=SelectAbility-StandardMelee)
  927. Behaviors=(BehaviorName=SelectPotentialMeleeTarget, NodeType=Sequence, Child[0]=SetPotentialTargetStack, Child[1]=SelectBestPotentialTargetForMelee, Child[2]=HasValidTarget-Potential)
  928. Behaviors=(BehaviorName=SelectBestPotentialTargetForMelee, NodeType=RepeatUntilFail, Child[0]=EvaluatePotentialMeleeTarget)
  929. Behaviors=(BehaviorName=EvaluatePotentialMeleeTarget, NodeType=Sequence, Child[0]=SetNextTarget, Child[1]=TargetScoreClosestIfInRange, Child[2]=AvoidBoundAndPanickedTargets, Child[3]=TargetScoreCivilian, Child[4]=SSCustomMeleeTargetScore, Child[5]=UpdateBestTarget)
  930. Behaviors=(BehaviorName=SSCustomMeleeTargetScore, NodeType=Successor, Child[0]="::CustomMeleeTargetScore")
  931. Behaviors=(BehaviorName="::CustomMeleeTargetScore", NodeType=Sequence, Child[0]=AddToTargetScore_0) ;Overwrite option for melee abilities that are restricted.
  932. Behaviors=(BehaviorName=SelectPotentialMeleePriorityTarget, NodeType=Sequence, Child[0]=SetPotentialTargetStack, Child[1]=SelectPotentialPriorityTargetForMelee, Child[2]=HasValidTarget-Potential)
  933. Behaviors=(BehaviorName=SelectPotentialPriorityTargetForMelee, NodeType=RepeatUntilFail, Child[0]=EvaluatePotentialPriorityTarget)
  934. Behaviors=(BehaviorName=EvaluatePotentialPriorityTarget, NodeType=Sequence, Child[0]=SetNextTarget, Child[1]=TargetScoreReachableForMelee, Child[2]=TargetScorePriority, Child[3]=AvoidBoundAndPanickedTargets, Child[4]=TargetScoreCivilian, Child[5]=UpdateBestTarget)
  935. Behaviors=(BehaviorName=DoesGrenadeCauseDamage, NodeType=Condition) ;Added to prevent Mind Controlled units from throwing smoke grenades.
  936. Behaviors=(BehaviorName=TryMoveThenGrenade, NodeType=Selector, Child[0]=TryMoveForGrenade, Child[1]=TryGrenade)
  937. Behaviors=(BehaviorName=TryMoveForGrenade, NodeType=Sequence, Child[0]=SafeToMove, Child[1]=IsAbilityReady-ThrowGrenade, Child[2]=FindPotentialAoETargets-GrenadeProfile, Child[3]=MoveStandardIfFirstAbility-Grenade, Child[4]=SSSetPreselectedAbility-GrenadeProfile)
  938. Behaviors=(BehaviorName=TryGrenade, NodeType=Sequence, Child[0]=IsAbilityAvailable-ThrowGrenade, Child[1]=FindPotentialAoETargets-GrenadeProfile, Child[2]=SelectAoETarget-GrenadeProfile, Child[3]=SelectAbility-ThrowGrenade)
  939. Behaviors=(BehaviorName=SSSetPreselectedAbility-GrenadeProfile, NodeType=Successor, Child[0]=SetPreselectedAbility-GrenadeProfile)
  940. Behaviors=(BehaviorName=SetPreselectedAbility-GrenadeProfile, NodeType=Action)
  941. Behaviors=(BehaviorName=TryMoveThenGrenadeAny, NodeType=Selector, Child[0]=TryMoveForGrenadeAny, Child[1]=TryGrenadeAny)
  942. Behaviors=(BehaviorName=TryMoveForGrenadeAny, NodeType=Sequence, Child[0]=SafeToMove, Child[1]=IsAbilityReady-ThrowGrenade, Child[2]=FindPotentialAoETargets-GrenadeProfileAny, Child[3]=MoveStandardIfFirstAbility-Grenade)
  943. Behaviors=(BehaviorName=TryGrenadeAny, NodeType=Sequence, Child[0]=IsAbilityAvailable-ThrowGrenade, Child[1]=FindPotentialAoETargets-GrenadeProfileAny, Child[2]=SelectAoETarget-GrenadeProfileAny, Child[3]=SelectAbility-ThrowGrenade)
  944. Behaviors=(BehaviorName=TryPanickedGrenadeToss, NodeType=Sequence, Child[0]=IsAbilityAvailable-ThrowGrenade, Child[1]=SelectPotentialGrenadeTargetRandomly, Child[2]=FindPotentialAoETargets-GrenadePanickedProfile, Child[3]=SelectAoETarget-GrenadePanickedProfile, Child[4]=SelectAbility-ThrowGrenade)
  945. Behaviors=(BehaviorName=SelectPotentialGrenadeTargetRandomly, NodeType=Sequence, Child[0]=SetPotentialAnyTeamTargetStack, Child[1]=SelectRandomGrenadeTargetIterator, Child[2]=HasValidTarget-Potential)
  946. Behaviors=(BehaviorName=SelectRandomGrenadeTargetIterator, NodeType=RepeatUntilFail, Child[0]=EvaluatePotentialRandomGrenadeTarget)
  947. Behaviors=(BehaviorName=EvaluatePotentialRandomGrenadeTarget, NodeType=Sequence, Child[0]=SetNextTarget, Child[1]=SSScoreValidGrenadeTargetRandomly, Child[2]=UpdateBestTarget)
  948. Behaviors=(BehaviorName=SSScoreValidGrenadeTargetRandomly, NodeType=Successor, Child[0]=ScoreValidGrenadeTargetRandomly)
  949. Behaviors=(BehaviorName=ScoreValidGrenadeTargetRandomly, NodeType=Sequence, Child[0]=IsTargetInAttackRange-ThrowGrenade, Child[1]=TargetHasNotBeenAttacked, Child[2]=GenericScoreTargetRandomlySequence)
  950. Behaviors=(BehaviorName=IsAbilityAvailable-MarkTarget, NodeType=Condition)
  951. Behaviors=(BehaviorName=IsAbilityAvailable-TriggerRage, NodeType=Condition)
  952. Behaviors=(BehaviorName=IsAbilityAvailable-PsiReanimation, NodeType=Condition)
  953. Behaviors=(BehaviorName=IsAbilityAvailable-MindSpin, NodeType=Condition)
  954. Behaviors=(BehaviorName=IsAbilityAvailable-GetOverHere, NodeType=Condition)
  955. Behaviors=(BehaviorName=IsAbilityAvailable-PoisonSpit, NodeType=Condition)
  956. Behaviors=(BehaviorName=IsAbilityAvailable-EnergyShield, NodeType=Condition)
  957. Behaviors=(BehaviorName=IsAbilityAvailable-AcidBlob, NodeType=Condition)
  958. Behaviors=(BehaviorName=IsAbilityAvailable-DelayedExecute, NodeType=Condition)
  959. Behaviors=(BehaviorName=IsAbilityAvailable-MicroMissiles, NodeType=Condition)
  960. Behaviors=(BehaviorName=IsAbilityAvailable-PsiWitchConfuse, NodeType=Condition)
  961. Behaviors=(BehaviorName=IsAbilityAvailable-PsiMindControl, NodeType=Condition)
  962. Behaviors=(BehaviorName=IsAbilityAvailable-TriggerDamagedTeleport, NodeType=Condition)
  963. Behaviors=(BehaviorName=IsAbilityAvailable-PsiDimensionalRiftStage1, NodeType=Condition)
  964. Behaviors=(BehaviorName=IsAbilityAvailable-NullLance, NodeType=Condition)
  965. Behaviors=(BehaviorName=IsAbilityAvailable-ChryssalidBurrow, NodeType=Condition)
  966. Behaviors=(BehaviorName=IsAbilityAvailable-ChryssalidUnburrow, NodeType=Condition)
  967. Behaviors=(BehaviorName=IsAbilityAvailable-BurrowedAttack, NodeType=Condition)
  968. Behaviors=(BehaviorName=IsAbilityAvailable-FrenzyTrigger, NodeType=Condition)
  969. Behaviors=(BehaviorName=IsAbilityAvailable-BlazingPinionsStage1, NodeType=Condition)
  970. Behaviors=(BehaviorName=IsAbilityAvailable-AnimaInversion, NodeType=Condition)
  971. Behaviors=(BehaviorName=IsAbilityAvailable-MindProbe, NodeType=Condition)
  972. Behaviors=(BehaviorName=IsAbilityAvailable-AnimaGate, NodeType=Condition)
  973. Behaviors=(BehaviorName=IsAbilityAvailable-AnimaConsume, NodeType=Condition)
  974. Behaviors=(BehaviorName=IsAbilityAvailable-GatekeeperOpen, NodeType=Condition)
  975. Behaviors=(BehaviorName=IsAbilityAvailable-GatekeeperClose, NodeType=Condition)
  976. Behaviors=(BehaviorName=IsAbilityAvailable-Retract, NodeType=Condition)
  977. Behaviors=(BehaviorName=IsAbilityAvailable-PsiBombStage1, NodeType=Condition)
  978. Behaviors=(BehaviorName=IsAbilityAvailable-Teleport, NodeType=Condition)
  979. Behaviors=(BehaviorName=IsAbilityAvailable-TriggerSuperposition, NodeType=Condition)
  980. Behaviors=(BehaviorName=IsAbilityAvailable-WrathCannon, NodeType=Condition)
  981. Behaviors=(BehaviorName=IsAbilityAvailable-WrathCannonStage1, NodeType=Condition)
  982. Behaviors=(BehaviorName=IsAbilityAvailable-SpawnChryssalid, NodeType=Condition)
  983. Behaviors=(BehaviorName=IsAbilityAvailable-ScythingClaws, NodeType=Condition)
  984. Behaviors=(BehaviorName=IsAbilityAvailable-Bayonet, NodeType=Condition)
  985. Behaviors=(BehaviorName=IsAbilityAvailable-Bind, NodeType=Condition)
  986. Behaviors=(BehaviorName=IsAbilityReady-StunLance, NodeType=Condition)
  987. Behaviors=(BehaviorName=IsAbilityReady-Bind, NodeType=Condition)
  988. Behaviors=(BehaviorName=IsAbilityReady-DevastatingPunch, NodeType=Condition)
  989. Behaviors=(BehaviorName=IsAbilityReady-AnimaConsume, NodeType=Condition, Param[0]="AA_ValueCheckFailed", Param[1]="AA_GatekeeperClosed"); Added ValueCheckFailed as a valid 'ready' failure, for not being in Open state.
  990. Behaviors=(BehaviorName=IsAbilityReady-AnimaInversion, NodeType=Condition, Param[0]="AA_ValueCheckFailed", Param[1]="AA_GatekeeperClosed"); Added ValueCheckFailed as a valid 'ready' failure, for not being in Open state.
  991. Behaviors=(BehaviorName=IsAbilityReady-ScythingClaws, NodeType=Condition)
  992. Behaviors=(BehaviorName=IsAbilityReady-Bayonet, NodeType=Condition)
  993. Behaviors=(BehaviorName=IsAbilityReady-PsiBombStage1, NodeType=Condition)
  994. Behaviors=(BehaviorName=IsAbilityReady-ThrowGrenade, NodeType=Condition)
  995. Behaviors=(BehaviorName=IsAbilityReady-PoisonSpit, NodeType=Condition)
  996. Behaviors=(BehaviorName=IsAbilityReady-AcidBlob, NodeType=Condition)
  997. Behaviors=(BehaviorName=IsAbilityReady-MicroMissiles, NodeType=Condition)
  998. Behaviors=(BehaviorName=IsAbilityReady-BlazingPinionsStage1, NodeType=Condition)
  999. Behaviors=(BehaviorName=IsAbilityReady-PsiDimensionalRiftStage1, NodeType=Condition)
  1000. Behaviors=(BehaviorName=IsAbilityReady-NullLance, NodeType=Condition)
  1001. Behaviors=(BehaviorName=IsAbilityReady-EnergyShield, NodeType=Condition)
  1002. Behaviors=(BehaviorName=IsAbilityReady-Suppression, NodeType=Condition)
  1003. Behaviors=(BehaviorName=SelectAbility-MarkTarget, NodeType=Action)
  1004. Behaviors=(BehaviorName=SelectAbility-StunLance, NodeType=Action)
  1005. Behaviors=(BehaviorName=SelectAbility-TriggerRage, NodeType=Action)
  1006. Behaviors=(BehaviorName=SelectAbility-PsiReanimation, NodeType=Action)
  1007. Behaviors=(BehaviorName=SelectAbility-MindSpin, NodeType=Action)
  1008. Behaviors=(BehaviorName=SelectAbility-GetOverHere, NodeType=Action)
  1009. Behaviors=(BehaviorName=SelectAbility-Bind, NodeType=Action)
  1010. Behaviors=(BehaviorName=SelectAbility-PoisonSpit, NodeType=Action)
  1011. Behaviors=(BehaviorName=SelectAbility-AcidBlob, NodeType=Action)
  1012. Behaviors=(BehaviorName=SelectAbility-EnergyShield, NodeType=Action)
  1013. Behaviors=(BehaviorName=SelectAbility-DevastatingPunch, NodeType=Action)
  1014. Behaviors=(BehaviorName=SelectAbility-DelayedExecute, NodeType=Action)
  1015. Behaviors=(BehaviorName=SelectAbility-Bayonet, NodeType=Action)
  1016. Behaviors=(BehaviorName=SelectAbility-MicroMissiles, NodeType=Action)
  1017. Behaviors=(BehaviorName=SelectAbility-PsiMindControl, NodeType=Action)
  1018. Behaviors=(BehaviorName=SelectAbility-TriggerDamagedTeleport, NodeType=Action)
  1019. Behaviors=(BehaviorName=SelectAbility-PsiDimensionalRiftStage1, NodeType=Action)
  1020. Behaviors=(BehaviorName=SelectAbility-ChryssalidBurrow, NodeType=Action)
  1021. Behaviors=(BehaviorName=SelectAbility-ChryssalidUnburrow, NodeType=Action)
  1022. Behaviors=(BehaviorName=SelectAbility-BurrowedAttack, NodeType=Action)
  1023. Behaviors=(BehaviorName=SelectAbility-FrenzyTrigger, NodeType=Action)
  1024. Behaviors=(BehaviorName=SelectAbility-BlazingPinionsStage1, NodeType=Action)
  1025. Behaviors=(BehaviorName=SelectAbility-AnimaInversion, NodeType=Action)
  1026. Behaviors=(BehaviorName=SelectAbility-AnimaConsume, NodeType=Action)
  1027. Behaviors=(BehaviorName=SelectAbility-AnimaGate, NodeType=Action)
  1028. Behaviors=(BehaviorName=SelectAbility-MindProbe, NodeType=Action)
  1029. Behaviors=(BehaviorName=SelectAbility-GatekeeperOpen, NodeType=Action)
  1030. Behaviors=(BehaviorName=SelectAbility-GatekeeperClose, NodeType=Action)
  1031. Behaviors=(BehaviorName=SelectAbility-Retract, NodeType=Action)
  1032. Behaviors=(BehaviorName=SelectAbility-PsiBombStage1, NodeType=Action)
  1033. Behaviors=(BehaviorName=SelectAbility-Teleport, NodeType=Action, param[0]=UseDestination)
  1034. Behaviors=(BehaviorName=SelectAbility-TriggerSuperposition, NodeType=Action)
  1035. Behaviors=(BehaviorName=SelectAbility-ScythingClaws, NodeType=Action)
  1036. Behaviors=(BehaviorName=SelectAbility-WrathCannon, NodeType=Action)
  1037. Behaviors=(BehaviorName=SelectAbility-WrathCannonStage1, NodeType=Action)
  1038. Behaviors=(BehaviorName=SelectAbility-SpawnChryssalid, NodeType=Action)
  1039. Behaviors=(BehaviorName=SelectAbility-NullLance, NodeType=Action)
  1040. Behaviors=(BehaviorName=FindPotentialAoETargets-GrenadeProfile, NodeType=Action)
  1041. Behaviors=(BehaviorName=FindPotentialAoETargets-GrenadeProfileAny, NodeType=Action)
  1042. Behaviors=(BehaviorName=FindPotentialAoETargets-GrenadeAggressiveProfile, NodeType=Action)
  1043. Behaviors=(BehaviorName=FindPotentialAoETargets-GrenadePanickedProfile, NodeType=Action)
  1044. Behaviors=(BehaviorName=FindPotentialAoETargets-GrenadeMindControlledProfile, NodeType=Action)
  1045. Behaviors=(BehaviorName=FindPotentialAoETargets-BlazingPinionsBasicProfile, NodeType=Action)
  1046. Behaviors=(BehaviorName=FindPotentialAoETargets-AcidBlobProfile, NodeType=Action)
  1047. Behaviors=(BehaviorName=FindPotentialAoETargets-PoisonSpitProfile, NodeType=Action)
  1048. Behaviors=(BehaviorName=FindPotentialAoETargets-PoisonSpitSingleProfile, NodeType=Action)
  1049. Behaviors=(BehaviorName=FindPotentialAoETargets-MicroMissilesProfile, NodeType=Action)
  1050. Behaviors=(BehaviorName=FindPotentialAoETargets-MicroMissilesProfileMk2, NodeType=Action)
  1051. Behaviors=(BehaviorName=FindPotentialAoETargets-PsiRiftProfile, NodeType=Action)
  1052. Behaviors=(BehaviorName=FindPotentialAoETargets-AnimaInversionCorpseProfile, NodeType=Action)
  1053. Behaviors=(BehaviorName=FindPotentialAoETargets-AnimaInversionMixedProfile, NodeType=Action)
  1054. Behaviors=(BehaviorName=FindPotentialAoETargets-PsiBombProfile, NodeType=Action)
  1055. Behaviors=(BehaviorName=FindPotentialAoETargets-ScythingClawsProfile, NodeType=Action)
  1056. Behaviors=(BehaviorName=FindPotentialAoETargets-ScythingClawsPrefTargetProfile, NodeType=Action)
  1057. Behaviors=(BehaviorName=FindPotentialAoETargets-WrathCannonProfile, NodeType=Action)
  1058. Behaviors=(BehaviorName=FindPotentialAoETargets-WrathCannonS1Profile, NodeType=Action)
  1059. Behaviors=(BehaviorName=FindPotentialAoETargets-NullLanceProfile, NodeType=Action)
  1060. Behaviors=(BehaviorName=FindPotentialAoETargets-NullLanceValidateProfile, NodeType=Action)
  1061. Behaviors=(BehaviorName=FindPotentialAoETargets-HarborWaveProfile, NodeType=Action)
  1062. Behaviors=(BehaviorName=FindPotentialAoETargets-HarborWavePrefTargetProfile, NodeType=Action)
  1063. Behaviors=(BehaviorName=FindPotentialAoETargets-FlameThrowerProfile, NodeType=Action, Param[0]=Burning)
  1064. Behaviors=(BehaviorName=FindPotentialAoETargets-FlameThrowerAdjacent, NodeType=Action)
  1065. Behaviors=(BehaviorName=FindPotentialAoETargets-FlameThrowerIgnoreFF, NodeType=Action)
  1066. Behaviors=(BehaviorName=FindPotentialAoETargets-FlameThrowerMultiProfile, NodeType=Action, Param[0]=Burning)
  1067. Behaviors=(BehaviorName=FindPotentialAoETargets-FlameThrowerLostTargetProfile, NodeType=Action, Param[0]=Burning)
  1068. Behaviors=(BehaviorName=FindPotentialAoETargets-FlameThrowerMimicBeacon, NodeType=Action)
  1069. Behaviors=(BehaviorName=FindPotentialAoETargets-FlameThrowerMimicBeaconAdjacent, NodeType=Action)
  1070. Behaviors=(BehaviorName=SelectAoETarget-GrenadeProfile, NodeType=Action)
  1071. Behaviors=(BehaviorName=SelectAoETarget-GrenadeAggressiveProfile, NodeType=Action)
  1072. Behaviors=(BehaviorName=SelectAoETarget-GrenadePanickedProfile, NodeType=Action)
  1073. Behaviors=(BehaviorName=SelectAoETarget-GrenadeMindControlledProfile, NodeType=Action)
  1074. Behaviors=(BehaviorName=SelectAoETarget-BlazingPinionsBasicProfile, NodeType=Action)
  1075. Behaviors=(BehaviorName=SelectAoETarget-AcidBlobProfile, NodeType=Action)
  1076. Behaviors=(BehaviorName=SelectAoETarget-PoisonSpitProfile, NodeType=Action)
  1077. Behaviors=(BehaviorName=SelectAoETarget-PoisonSpitSingleProfile, NodeType=Action)
  1078. Behaviors=(BehaviorName=SelectAoETarget-MicroMissilesProfile, NodeType=Action)
  1079. Behaviors=(BehaviorName=SelectAoETarget-MicroMissilesProfileMk2, NodeType=Action)
  1080. Behaviors=(BehaviorName=SelectAoETarget-PsiRiftProfile, NodeType=Action)
  1081. Behaviors=(BehaviorName=SelectAoETarget-AnimaInversionCorpseProfile, NodeType=Action)
  1082. Behaviors=(BehaviorName=SelectAoETarget-AnimaInversionMixedProfile, NodeType=Action)
  1083. Behaviors=(BehaviorName=SelectAoETarget-PsiBombProfile, NodeType=Action)
  1084. Behaviors=(BehaviorName=SelectAoETarget-ScythingClawsProfile, NodeType=Action)
  1085. Behaviors=(BehaviorName=SelectAoETarget-ScythingClawsPrefTargetProfile, NodeType=Action)
  1086. Behaviors=(BehaviorName=SelectAoETarget-WrathCannonProfile, NodeType=Action)
  1087. Behaviors=(BehaviorName=SelectAoETarget-WrathCannonS1Profile, NodeType=Action)
  1088. Behaviors=(BehaviorName=SelectAoETarget-NullLanceProfile, NodeType=Action)
  1089. Behaviors=(BehaviorName=SelectAoETarget-NullLanceValidateProfile, NodeType=Action)
  1090. Behaviors=(BehaviorName=SelectAoETarget-HarborWaveProfile, NodeType=Action)
  1091. Behaviors=(BehaviorName=SelectAoETarget-HarborWavePrefTargetProfile, NodeType=Action)
  1092. Behaviors=(BehaviorName=SelectAoETarget-FlameThrowerProfile, NodeType=Action)
  1093. Behaviors=(BehaviorName=SelectAoETarget-FlameThrowerMultiProfile, NodeType=Action)
  1094. Behaviors=(BehaviorName=SelectAoETarget-FlameThrowerLostTargetProfile, NodeType=Action)
  1095. Behaviors=(BehaviorName=SelectAoETarget-FlameThrowerAdjacent, NodeType=Action)
  1096. Behaviors=(BehaviorName=SelectAoETarget-FlameThrowerIgnoreFF, NodeType=Action)
  1097. Behaviors=(BehaviorName=SelectAoETarget-FlameThrowerMimicBeacon, NodeType=Action)
  1098. Behaviors=(BehaviorName=SelectAoETarget-FlameThrowerMimicBeaconAdjacent, NodeType=Action)
  1099. Behaviors=(BehaviorName=SelectAoETarget-GrenadeProfileAny, NodeType=Action)
  1100. Behaviors=(BehaviorName=MoveStandardIfFirstAbility-Grenade, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardMove, Child[1]=NotLastActionPoint, Child[2]=FindGrenadeDestination, Child[3]=SelectAbility-StandardMove)
  1101. Behaviors=(BehaviorName=MoveStandardIfFirstAbility-PoisonSpit, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardMove, Child[1]=NotLastActionPoint, Child[2]=FindPoisonSpitDestination, Child[3]=SelectAbility-StandardMove)
  1102. Behaviors=(BehaviorName=MoveStandardIfFirstAbility-AcidBlob, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardMove, Child[1]=NotLastActionPoint, Child[2]=FindAcidBlobDestination, Child[3]=SelectAbility-StandardMove)
  1103. Behaviors=(BehaviorName=MoveStandardIfFirstAbility-MicroMissiles, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardMove, Child[1]=NotLastActionPoint, Child[2]=FindMicroMissilesDestination, Child[3]=SelectAbility-StandardMove)
  1104. Behaviors=(BehaviorName=MoveStandardIfFirstAbility-BlazingPinions, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardMove, Child[1]=NotLastActionPoint, Child[2]=FindBlazingPinionsDestination, Child[3]=SelectAbility-StandardMove)
  1105. Behaviors=(BehaviorName=MoveStandardIfFirstAbility-PsiDimensionalRiftStage1, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardMove, Child[1]=NotLastActionPoint, Child[2]=FindDimensionalRiftDestination, Child[3]=SelectAbility-StandardMove)
  1106. Behaviors=(BehaviorName=MoveStandardIfFirstAbility-EnergyShield, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardMove, Child[1]=NotLastActionPoint, Child[2]=FindShieldDestinationDefensive, Child[3]=SelectAbility-StandardMove)
  1107. Behaviors=(BehaviorName=MoveStandardIfFirstAbility-PsiMindControl, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardMove, Child[1]=NotLastActionPoint, Child[2]=FindMindControlDestinationDefensive, Child[3]=SelectAbility-StandardMove)
  1108. Behaviors=(BehaviorName=MoveStandardIfFirstAbility-AnimaInversion, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardMove, Child[1]=NotLastActionPoint, Child[2]=FindAnimaInversionDestination, Child[3]=SelectAbility-StandardMove)
  1109. Behaviors=(BehaviorName=MoveStandardIfFirstAbility-PsiBombStage1, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardMove, Child[1]=NotLastActionPoint, Child[2]=FindPsiBombDestination, Child[3]=SelectAbility-StandardMove)
  1110. Behaviors=(BehaviorName=MoveStandardIfFirstAbility-NullLance, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardMove, Child[1]=NotLastActionPoint, Child[2]=FindNullLanceDestination, Child[3]=SelectAbility-StandardMove)
  1111. Behaviors=(BehaviorName=MoveStandardIfFirstAbility-Suppression, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardMove, Child[1]=NotLastActionPoint, Child[2]=FindSuppressionDestination, Child[3]=SelectAbility-StandardMove)
  1112. Behaviors=(BehaviorName=TeleportForPsiBombTarget, NodeType=Sequence, Child[0]=IsAbilityAvailable-Teleport, Child[1]=FindPsiBombTeleportDestination, Child[2]=SelectAbility-Teleport)
  1113. Behaviors=(BehaviorName=TeleportForPsiMindControl, NodeType=Sequence, Child[0]=IsAbilityAvailable-Teleport, Child[1]=FindPsiMindControlTeleportDestination, Child[2]=SelectAbility-Teleport)
  1114. Behaviors=(BehaviorName=TeleportForPsiDimensionalRiftTarget, NodeType=Sequence, Child[0]=IsAbilityAvailable-Teleport, Child[1]=FindPsiDimensionalRiftTeleportDestination, Child[2]=SelectAbility-Teleport)
  1115. Behaviors=(BehaviorName=TeleportForNullLanceTarget, NodeType=Sequence, Child[0]=IsAbilityAvailable-Teleport, Child[1]=FindNullLanceTeleportDestination, Child[2]=SelectAbility-Teleport)
  1116. Behaviors=(BehaviorName=HasValidTarget-StunLance, NodeType=Condition)
  1117. Behaviors=(BehaviorName=SetTargetStack-StunLance, NodeType=Action)
  1118. Behaviors=(BehaviorName=TryStunLance, NodeType=Sequence, Child[0]=IsAbilityReady-StunLance, Child[1]=StunLanceStepSelector)
  1119. Behaviors=(BehaviorName=StunLanceStepSelector, NodeType=Selector, Child[0]=StunLanceAttack, Child[1]=MoveMeleeIfFirstAbilityFANATIC)
  1120. Behaviors=(BehaviorName=StunLanceAttack, NodeType=Sequence, Child[0]=SelectTargetForStunLance, Child[1]=SelectAbility-StunLance)
  1121. Behaviors=(BehaviorName=SelectTargetForStunLance, NodeType=Sequence, Child[0]=SetTargetStack-StunLance, Child[1]=SelectBestTargetForStunLance, Child[2]=HasValidTarget-StunLance)
  1122. Behaviors=(BehaviorName=SelectBestTargetForStunLance, NodeType=RepeatUntilFail, Child[0]=TargetSelectIterationForStunLance)
  1123. Behaviors=(BehaviorName=TargetSelectIterationForStunLance, NodeType=Sequence, Child[0]=SetNextTarget, Child[1]=EvaluateTargetForStunLance, Child[2]=UpdateBestTarget)
  1124. Behaviors=(BehaviorName=EvaluateTargetForStunLance, NodeType=Sequence, Child[0]=TargetScoreHitChance, Child[1]=TargetScoreHealth_HighFirst, Child[2]=TargetScoreMarked, Child[3]=AvoidBoundAndPanickedTargets, Child[4]=TargetScoreCivilian, Child[5]=SSTeamSpecificModifiers)
  1125. Behaviors=(BehaviorName=TryMarkTargetOption, NodeType=Sequence, Child[0]=IsAbilityAvailable-MarkTarget, Child[1]=AnyAlliesVisible, Child[2]=MultipleEnemiesVisible, Child[3]=NoUnitsMarked, Child[4]=SelectTargetForMarkTarget, Child[5]=SelectAbility-MarkTarget, Intent="Marking a target: GETTIM!")
  1126. Behaviors=(BehaviorName=SelectTargetForMarkTarget, NodeType=Sequence, Child[0]=SetTargetStack-MarkTarget, Child[1]=ScoreAllTargets_MarkTarget, Child[2]=HasValidTarget-MarkTarget)
  1127. Behaviors=(BehaviorName=ScoreAllTargets_MarkTarget, NodeType=RepeatUntilFail, Child[0]=ScoreTarget_MarkTargetLoop)
  1128. Behaviors=(BehaviorName=ScoreTarget_MarkTargetLoop, NodeType=Sequence, Child[0]=SetNextTarget, Child[1]=ScoreTarget_MarkTargetScoring, Child[2]=UpdateBestTarget)
  1129. Behaviors=(BehaviorName=ScoreTarget_MarkTargetScoring, NodeType=Successor, Child[0]=ScoreMarkTargetOption)
  1130. Behaviors=(BehaviorName=ScoreMarkTargetOption, NodeType=Sequence, Child[0]=TargetIsEnemy, Child[1]=TargetIsNotCivilian, Child[2]=ScoreByHP, Child[3]=TargetScoreHealth_HighFirst, Child[4]=TargetScoreHighestSoldierRank, Child[5]=TargetScoreTeamVisibility, Child[6]=SometimesRandomizeTarget, Child[7]=AvoidBoundAndPanickedTargets, Child[8]=SSTeamSpecificModifiers)
  1131. Behaviors=(BehaviorName=SetTargetStack-MarkTarget, NodeType=Action)
  1132. Behaviors=(BehaviorName=HasValidTarget-MarkTarget, NodeType=Condition)
  1133. Behaviors=(BehaviorName=NoUnitsMarked, NodeType=Inverter, Child[0]=HaveAnyMarkedTargets)
  1134. Behaviors=(BehaviorName=HaveAnyMarkedTargets, NodeType=Sequence, Child[0]=SetPotentialTargetStack, Child[1]=FindAnyMarkedTarget, Child[2]=HasValidTarget-Potential)
  1135. Behaviors=(BehaviorName=FindAnyMarkedTarget, NodeType=RepeatUntilFail, Child[0]=EvaluateTargetIsMarked)
  1136. Behaviors=(BehaviorName=EvaluateTargetIsMarked, NodeType=Sequence, Child[0]=SetNextTarget, Child[1]=SSScoreIfMarked, Child[2]=UpdateBestTarget, Child[3]=BreakOnAnyValidTarget-Potential)
  1137. Behaviors=(BehaviorName=SSScoreIfMarked, NodeType=Successor, Child[0]=ScoreTargetIfMarked)
  1138. Behaviors=(BehaviorName=BreakOnAnyValidTarget-Potential, NodeType=Inverter, Child[0]=HasValidTarget-Potential)
  1139. Behaviors=(BehaviorName=TryEnergyShieldOnMultipleTargets, NodeType=Sequence, Child[0]=IsAbilityAvailable-EnergyShield, Child[1]=HasMultipleEnergyShieldTargets, Child[2]=SelectAbility-EnergyShield)
  1140. Behaviors=(BehaviorName=TryEnergyShieldOnAnyTarget, NodeType=Sequence, Child[0]=IsAbilityAvailable-EnergyShield, Child[1]=HasAnyEnergyShieldTargets, Child[2]=SelectAbility-EnergyShield)
  1141. Behaviors=(BehaviorName=SelectPotentialTargetForEnergyShield, NodeType=Sequence, Child[0]=SetPotentialAllyTargetStack, Child[1]=SelectBestAllyTargetForEnergyShield, Child[2]=HasValidTarget-Potential)
  1142. Behaviors=(BehaviorName=SelectBestAllyTargetForEnergyShield, NodeType=RepeatUntilFail, Child[0]=EvaluatePotentialEnergyShieldTarget)
  1143. Behaviors=(BehaviorName=EvaluatePotentialEnergyShieldTarget, NodeType=Sequence, Child[0]=SetNextTarget, Child[1]=ScoreBestTargetForEnergyShield, Child[2]=UpdateBestTarget)
  1144. Behaviors=(BehaviorName=ScoreBestTargetForEnergyShield, NodeType=Successor, Child[0]=TargetScoreReachableForEnergyShield)
  1145. Behaviors=(BehaviorName=TargetScoreReachableForEnergyShield, NodeType=Sequence, Child[0]=IsTargetInMovementRange-EnergyShield, Child[1]=AvoidBoundAndPanickedTargets, Child[2]=ScoreByHP)
  1146. Behaviors=(BehaviorName=ScoreByHP, NodeType=Sequence, Child[0]=TargetScoreByScaledMaxStat-eStat_HP, Child[1]=TargetScoreByScaledCurrStat-eStat_HP)
  1147. Behaviors=(BehaviorName=TargetScoreByScaledMaxStat-eStat_HP, NodeType=Action, Param[0]=10)
  1148. Behaviors=(BehaviorName=TargetScoreByScaledCurrStat-eStat_HP, NodeType=Action, Param[0]=1)
  1149. Behaviors=(BehaviorName=TryMoveThenMicroMissiles, NodeType=Selector, Child[0]=TryMoveForMicroMissiles, Child[1]=TryMicroMissiles)
  1150. Behaviors=(BehaviorName=TryMoveForMicroMissiles, NodeType=Sequence, Child[0]=SafeToMove, Child[1]=IsAbilityReady-MicroMissiles, Child[2]=FindPotentialAoETargets-MicroMissilesProfile, Child[3]=MoveStandardIfFirstAbility-MicroMissiles)
  1151. Behaviors=(BehaviorName=TryMicroMissiles, NodeType=Sequence, Child[0]=IsAbilityAvailable-MicroMissiles, Child[1]=FindPotentialAoETargets-MicroMissilesProfile, Child[2]=SelectAoETarget-MicroMissilesProfile, Child[3]=SelectAbility-MicroMissiles)
  1152. Behaviors=(BehaviorName=TryMoveThenMicroMissilesMk2, NodeType=Selector, Child[0]=TryMoveForMicroMissilesMk2, Child[1]=TryMicroMissilesMk2)
  1153. Behaviors=(BehaviorName=TryMoveForMicroMissilesMk2, NodeType=Sequence, Child[0]=SafeToMove, Child[1]=IsAbilityReady-MicroMissiles, Child[2]=FindPotentialAoETargets-MicroMissilesProfileMk2, Child[3]=MoveStandardIfFirstAbility-MicroMissiles)
  1154. Behaviors=(BehaviorName=TryMicroMissilesMk2, NodeType=Sequence, Child[0]=IsAbilityAvailable-MicroMissiles, Child[1]=FindPotentialAoETargets-MicroMissilesProfileMk2, Child[2]=SelectAoETarget-MicroMissilesProfileMk2, Child[3]=SelectAbility-MicroMissiles)
  1155. Behaviors=(BehaviorName=TryMoveThenAcidBlob, NodeType=Selector, Child[0]=TryMoveForAcidBlob, Child[1]=TryAcidBlob)
  1156. Behaviors=(BehaviorName=TryMoveForAcidBlob, NodeType=Sequence, Child[0]=SafeToMove, Child[1]=IsAbilityReady-AcidBlob, Child[2]=FindPotentialAoETargets-AcidBlobProfile, Child[3]=MoveStandardIfFirstAbility-AcidBlob)
  1157. Behaviors=(BehaviorName=TryAcidBlob, NodeType=Sequence, Child[0]=IsAbilityAvailable-AcidBlob, Child[1]=FindPotentialAoETargets-AcidBlobProfile, Child[2]=SelectAoETarget-AcidBlobProfile, Child[3]=SelectAbility-AcidBlob)
  1158. Behaviors=(BehaviorName=HasValidTarget-Bayonet, NodeType=Condition)
  1159. Behaviors=(BehaviorName=SetTargetStack-Bayonet, NodeType=Action)
  1160. Behaviors=(BehaviorName=TryBayonet, NodeType=Sequence, Child[0]=IsAbilityReady-Bayonet, Child[1]=BayonetStepSelector)
  1161. Behaviors=(BehaviorName=BayonetStepSelector, NodeType=Selector, Child[0]=BayonetAttack, Child[1]=MoveMeleeDefensiveIfFirstAbility)
  1162. Behaviors=(BehaviorName=BayonetAttack, NodeType=Sequence, Child[0]=IsAbilityAvailable-Bayonet, Child[1]=SelectTargetForBayonet, Child[2]=SelectAbility-Bayonet)
  1163. Behaviors=(BehaviorName=SelectTargetForBayonet, NodeType=Sequence, Child[0]=SetTargetStack-Bayonet, Child[1]=SelectBestTargetForStandardMelee, Child[2]=HasValidTarget-Bayonet)
  1164. Behaviors=(BehaviorName=SelectBestTargetForBayonet, NodeType=RepeatUntilFail, Child[0]=EvaluatePotentialMeleeTarget)
  1165. Behaviors=(BehaviorName=HasValidTarget-DevastatingPunch, NodeType=Condition)
  1166. Behaviors=(BehaviorName=SetTargetStack-DevastatingPunch, NodeType=Action)
  1167. Behaviors=(BehaviorName=TryBerserkerMelee, NodeType=Sequence, Child[0]=IsAbilityReady-DevastatingPunch, Child[1]=MoveMeleeOrDevastatingPunchAttack)
  1168. Behaviors=(BehaviorName=MoveMeleeOrDevastatingPunchAttack, NodeType=Selector, Child[0]=TryDevastatingPunchAttack, Child[1]=MoveToDevastatingPunchTargetIfFirstAbility)
  1169. Behaviors=(BehaviorName=TryDevastatingPunchAttack, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardMelee, Child[1]=SelectTargetForDevastatingPunch, Child[2]=SelectAbility-StandardMelee)
  1170. Behaviors=(BehaviorName=MoveToDevastatingPunchTargetIfFirstAbility, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardMove, Child[1]=NotLastActionPoint, Child[2]=ResetDestinationSearch, Child[3]=IncludeCiviliansIfTerrorist, Child[4]=FindBerserkerMeleeDestination, Child[5]=SelectAbility-StandardMove)
  1171. Behaviors=(BehaviorName=FindBerserkerMeleeDestination, NodeType=Sequence, Child[0]=SelectPotentialTargetForDevastatingPunch, Child[1]=RestrictToPotentialTargetRange-StandardMelee, Child[2]=FindRestrictedDestination-MWP_Melee)
  1172. Behaviors=(BehaviorName=SelectTargetForDevastatingPunch, NodeType=Sequence, Child[0]=SetTargetStack-DevastatingPunch, Child[1]=SelectBestTargetForDevastatingPunch, Child[2]=HasValidTarget-DevastatingPunch)
  1173. Behaviors=(BehaviorName=SelectPotentialTargetForDevastatingPunch, NodeType=Sequence, Child[0]=SetPotentialTargetStack, Child[1]=SelectBestTargetForDevastatingPunch, Child[2]=HasValidTarget-Potential)
  1174. Behaviors=(BehaviorName=SelectBestTargetForDevastatingPunch, NodeType=RepeatUntilFail, Child[0]=EvaluatePotentialDevastatingPunchTarget)
  1175. Behaviors=(BehaviorName=EvaluatePotentialDevastatingPunchTarget, NodeType=Sequence, Child[0]=SetNextTarget, Child[1]=TargetScoreClosestVisibleAllyIfEnraged, Child[2]=TargetScoreClosestEnemyIfInRange, Child[3]=TargetScoreFilterCiviliansForJob, Child[4]=UpdateBestTarget)
  1176. Behaviors=(BehaviorName=TargetScoreClosestVisibleAllyIfEnraged, NodeType=Successor, Child[0]=ScoreClosestVisibleAllyIfEnraged)
  1177. Behaviors=(BehaviorName=ScoreClosestVisibleAllyIfEnraged, NodeType=Sequence, Child[0]=AffectedByEffect-RageTriggered, Child[1]=IsVisibleToPlayer, Child[2]=TargetIsAlly, Child[3]=TargetIsAdvent, Child[4]=TargetIsVisibleToPlayer, Child[5]=IsTargetInMovementRange-StandardMelee, Child[6]=TargetScoreByScaledDistance-1, Child[7]=AddToTargetScore_100)
  1178. Behaviors=(BehaviorName=TargetScoreClosestEnemyIfInRange, NodeType=Successor, Child[0]=ScoreClosestEnemyIfInRange)
  1179. Behaviors=(BehaviorName=ScoreClosestEnemyIfInRange, NodeType=Sequence, Child[0]=TargetIsEnemy, Child[1]=TargetIsNotFacelessCivilian, Child[2]=IsTargetInMovementRange-StandardMelee, Child[3]=TargetScoreByScaledDistance-1, Child[4]=AddToTargetScore_100, Child[5]=AvoidBoundAndPanickedTargets)
  1180. Behaviors=(BehaviorName=TargetIsNotFacelessCivilian, NodeType=Inverter, Child[0]=TargetIsFacelessCivilian)
  1181. Behaviors=(BehaviorName=TargetIsFacelessCivilian, NodeType=Sequence, Child[0]=TargetIsCivilian, Child[1]=TargetIsAlien)
  1182. Behaviors=(BehaviorName=TryTriggerRage, NodeType=Sequence, Child[0]=IsAbilityAvailable-TriggerRage, Child[1]=SelectAbility-TriggerRage)
  1183. Behaviors=(BehaviorName=HasValidTarget-MindSpin, NodeType=Condition)
  1184. Behaviors=(BehaviorName=SetTargetStack-MindSpin, NodeType=Action)
  1185. Behaviors=(BehaviorName=SelectTargetForMindSpin, NodeType=Sequence, Child[0]=SetTargetStack-MindSpin, Child[1]=SelectBestTargetForMindSpin, Child[2]=HasValidTarget-MindSpin)
  1186. Behaviors=(BehaviorName=SelectBestTargetForMindSpin, NodeType=RepeatUntilFail, Child[0]=PsiEvaluateTargetsGeneric)
  1187. Behaviors=(BehaviorName=HasValidTarget-PsiReanimation, NodeType=Condition)
  1188. Behaviors=(BehaviorName=TryPsiReanimation, NodeType=Sequence, Child[0]=IsAbilityAvailable-PsiReanimation, Child[1]=SelectTargetForPsiReanimation, Child[2]=SelectAbility-PsiReanimation)
  1189. Behaviors=(BehaviorName=SelectTargetForPsiReanimation, NodeType=Sequence, Child[0]=SetTargetStack-PsiReanimation, Child[1]=GenericSelectTargetSomewhatRandomly, Child[2]=HasValidTarget-PsiReanimation)
  1190. Behaviors=(BehaviorName=SetTargetStack-PsiReanimation, NodeType=Action)
  1191. Behaviors=(BehaviorName=HasValidTarget-GetOverHere, NodeType=Condition)
  1192. Behaviors=(BehaviorName=SetTargetStack-GetOverHere, NodeType=Action)
  1193. Behaviors=(BehaviorName=TryGetOverHere, NodeType=Sequence, Child[0]=IsAbilityAvailable-GetOverHere, Child[1]=HasBindableNeighborTile, Child[2]=SelectTargetForGetOverHere, Child[3]=SelectAbility-GetOverHere)
  1194. Behaviors=(BehaviorName=SelectTargetForGetOverHere, NodeType=Sequence, Child[0]=SetTargetStack-GetOverHere, Child[1]=SelectBestTargetForGetOverHere, Child[2]=HasValidTarget-GetOverHere)
  1195. Behaviors=(BehaviorName=SelectBestTargetForGetOverHere, NodeType=RepeatUntilFail, Child[0]=TargetSelectIterationForGetOverHere)
  1196. Behaviors=(BehaviorName=TargetSelectIterationForGetOverHere, NodeType=Sequence, Child[0]=SetNextTarget, Child[1]=GenericTargetEvaluations, Child[2]=TargetScoreInvalidateCivilians, Child[3]=SSTargetScoreInvalidTonguePullTargets, Child[4]=UpdateBestTarget)
  1197. Behaviors=(BehaviorName=SSTargetScoreInvalidTonguePullTargets, NodeType=Successor, Child[0]=TargetScoreInvalidTonguePullTargets)
  1198. Behaviors=(BehaviorName=TargetScoreInvalidTonguePullTargets, NodeType=Sequence, Child[0]=IsInvalidTonguePullTarget, Child[1]=AddToTargetScore_-1000)
  1199. Behaviors=(BehaviorName=IsInvalidTonguePullTarget, NodeType=Selector, Child[0]=TargetAffectedByEffect-Suppression, Child[1]=TargetIsApplyingEffect-Suppression);
  1200. Behaviors=(BehaviorName=IsValidTonguePullTarget, NodeType=Inverter, Child[0]=IsInvalidTonguePullTarget)
  1201. Behaviors=(BehaviorName=HasBindableNeighborTile, NodeType=Condition)
  1202. Behaviors=(BehaviorName=TryMoveThenPoisonSpit, NodeType=Selector, Child[0]=TryMoveForPoisonSpit, Child[1]=TryPoisonSpit)
  1203. Behaviors=(BehaviorName=TryMoveForPoisonSpit, NodeType=Sequence, Child[0]=SafeToMove, Child[1]=IsAbilityReady-PoisonSpit, Child[2]=FindPotentialAoETargets-PoisonSpitProfile, Child[3]=MoveStandardIfFirstAbility-PoisonSpit)
  1204. Behaviors=(BehaviorName=TryPoisonSpit, NodeType=Sequence, Child[0]=IsAbilityAvailable-PoisonSpit, Child[1]=FindPotentialAoETargets-PoisonSpitProfile, Child[2]=SelectAoETarget-PoisonSpitProfile, Child[3]=SelectAbility-PoisonSpit)
  1205. Behaviors=(BehaviorName=TryMoveThenPoisonSpitSingle, NodeType=Selector, Child[0]=TryMoveForPoisonSpitSingle, Child[1]=TryPoisonSpitSingle)
  1206. Behaviors=(BehaviorName=TryMoveForPoisonSpitSingle, NodeType=Sequence, Child[0]=SafeToMove, Child[1]=IsAbilityReady-PoisonSpit, Child[2]=FindPotentialAoETargets-PoisonSpitSingleProfile, Child[3]=MoveStandardIfFirstAbility-PoisonSpit)
  1207. Behaviors=(BehaviorName=TryPoisonSpitSingle, NodeType=Sequence, Child[0]=IsAbilityAvailable-PoisonSpit, Child[1]=FindPotentialAoETargets-PoisonSpitSingleProfile, Child[2]=SelectAoETarget-PoisonSpitSingleProfile, Child[3]=SelectAbility-PoisonSpit)
  1208. Behaviors=(BehaviorName=HasValidTarget-Bind, NodeType=Condition)
  1209. Behaviors=(BehaviorName=SetTargetStack-Bind, NodeType=Action)
  1210. Behaviors=(BehaviorName=TryBind, NodeType=Sequence, Child[0]=IsAbilityReady-Bind, Child[1]=MoveMeleeOrBindAttack)
  1211. Behaviors=(BehaviorName=MoveMeleeOrBindAttack, NodeType=Selector, Child[0]=BindAttack, Child[1]=MoveForBindIfFirstAbility)
  1212. Behaviors=(BehaviorName=BindAttack, NodeType=Sequence, Child[0]=IsAbilityAvailable-Bind, Child[1]=SelectTargetForBind, Child[2]=SelectAbility-Bind)
  1213. Behaviors=(BehaviorName=MoveForBindIfFirstAbility, NodeType=Sequence, Child[0]=SafeToMove, Child[1]=MoveForBindIfFirstAbilityUnsafe)
  1214. Behaviors=(BehaviorName=MoveForBindIfFirstAbilityUnsafe, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardMove, Child[1]=NotLastActionPoint, Child[2]=ResetDestinationSearch, Child[3]=IncludeCiviliansIfTerrorist, Child[4]=FindViperMeleeDestination, Child[5]=SelectAbility-StandardMove)
  1215. Behaviors=(BehaviorName=FindViperMeleeDestination, NodeType=Sequence, Child[0]=SelectPotentialTargetForBind, Child[1]=RestrictToPotentialTargetRange-StandardMelee, Child[2]=FindRestrictedDestination-MWP_Melee)
  1216. Behaviors=(BehaviorName=SelectTargetForBind, NodeType=Sequence, Child[0]=SetTargetStack-Bind, Child[1]=SelectBestTargetForBind, Child[2]=HasValidTarget-Bind)
  1217. Behaviors=(BehaviorName=SelectPotentialTargetForBind, NodeType=Sequence, Child[0]=SetPotentialTargetStack, Child[1]=SelectBestTargetForBind, Child[2]=HasValidTarget-Potential)
  1218. Behaviors=(BehaviorName=SelectBestTargetForBind, NodeType=RepeatUntilFail, Child[0]=EvaluatePotentialMeleeTarget)
  1219. Behaviors=(BehaviorName=HasValidTarget-PsiMindControl, NodeType=Condition)
  1220. Behaviors=(BehaviorName=SetTargetStack-PsiMindControl, NodeType=Action)
  1221. Behaviors=(BehaviorName=TryPsiMindControl, NodeType=Sequence, Child[0]=IsAbilityAvailable-PsiMindControl, Child[1]=SelectTargetForPsiMindControl, Child[2]=SelectAbility-PsiMindControl)
  1222. Behaviors=(BehaviorName=SelectTargetForPsiMindControl, NodeType=Sequence, Child[0]=SetTargetStack-PsiMindControl, Child[1]=SelectBestTargetForPsiMindControl, Child[2]=HasValidTarget-PsiMindControl)
  1223. Behaviors=(BehaviorName=SelectBestTargetForPsiMindControl, NodeType=RepeatUntilFail, Child[0]=PsiEvaluateTargetsMindControl)
  1224. Behaviors=(BehaviorName=TryMoveForPsiMindControl, NodeType=Sequence, Child[0]=SafeToMove, Child[1]=IsAbilityAvailable-PsiMindControl, Child[2]=SelectTargetForPsiMindControl, Child[3]=MoveStandardIfFirstAbility-PsiMindControl)
  1225. Behaviors=(BehaviorName=TryMoveThenPsiMindControl, NodeType=Selector, Child[0]=TryMoveForPsiMindControl, Child[1]=TryPsiMindControl)
  1226. Behaviors=(BehaviorName=TryDimensionalRift, NodeType=Sequence, Child[0]=IsAbilityAvailable-PsiDimensionalRiftStage1, Child[1]=FindPotentialAoETargets-PsiRiftProfile, Child[2]=SelectAoETarget-PsiRiftProfile, Child[3]=SelectAbility-PsiDimensionalRiftStage1)
  1227. Behaviors=(BehaviorName=TryMoveThenDimensionalRift, NodeType=Selector, Child[0]=TryMoveForDimensionalRift, Child[1]=TryDimensionalRift)
  1228. Behaviors=(BehaviorName=TryMoveForDimensionalRift, NodeType=Sequence, Child[0]=SafeToMove, Child[1]=IsAbilityReady-PsiDimensionalRiftStage1, Child[2]=FindPotentialAoETargets-PsiRiftProfile, Child[3]=MoveStandardIfFirstAbility-PsiDimensionalRiftStage1)
  1229. Behaviors=(BehaviorName=TryNullLance, NodeType=Sequence, Child[0]=IsAbilityAvailable-NullLance, Child[1]=FindPotentialAoETargets-NullLanceValidateProfile, Child[2]=SelectAoETarget-NullLanceValidateProfile, Child[3]=SelectAbility-NullLance)
  1230. Behaviors=(BehaviorName=TryMoveThenNullLance, NodeType=Selector, Child[0]=TryMoveForNullLance, Child[1]=TryNullLance)
  1231. Behaviors=(BehaviorName=TryMoveForNullLance, NodeType=Sequence, Child[0]=SafeToMove, Child[1]=IsAbilityReady-NullLance, Child[2]=NotLastActionPoint, Child[3]=SelectPotentialMeleeTarget, Child[4]=FindPotentialAoETargets-NullLanceProfile, Child[5]=MoveStandardIfFirstAbility-NullLance)
  1232. Behaviors=(BehaviorName=TryTriggerDamagedTeleport, NodeType=Sequence, Child[0]=IsAbilityAvailable-TriggerDamagedTeleport, Child[1]=SelectAbility-TriggerDamagedTeleport)
  1233. Behaviors=(BehaviorName=TryBurrowIfNotOnJob, NodeType=Sequence, Child[0]=DoNotHaveAlwaysOnJob, Child[1]=BurrowIfOutOfView)
  1234. Behaviors=(BehaviorName=TryBurrow, NodeType=Sequence, Child[0]=IsAbilityAvailable-ChryssalidBurrow, Child[1]=SelectAbility-ChryssalidBurrow, Child[2]=SetUnitValue-MeleeChance)
  1235. Behaviors=(BehaviorName=TryUnBurrow, NodeType=Sequence, Child[0]=AffectedByEffect-Burrowed, Child[1]=IsAbilityAvailable-ChryssalidUnburrow, Child[2]=SelectAbility-ChryssalidUnburrow)
  1236. Behaviors=(BehaviorName=TryUnBurrowSuccessor, NodeType=Successor, Child[0]=TryUnBurrow)
  1237. Behaviors=(BehaviorName=ChryssalidBurrowedAttack, NodeType=Selector, Child[0]=TryUnBurrow, Child[1]=TryMeleeAttackPriorityTarget)
  1238. Behaviors=(BehaviorName=TrySpawnChryssalid, NodeType=Sequence, Child[0]=IsAbilityAvailable-SpawnChryssalid, Child[1]=SelectAbility-SpawnChryssalid)
  1239. Behaviors=(BehaviorName=TryFrenzyTrigger, NodeType=Sequence, Child[0]=IsAbilityAvailable-FrenzyTrigger, Child[1]=SelectAbility-FrenzyTrigger)
  1240. Behaviors=(BehaviorName=TryBlazingPinions, NodeType=Sequence, Child[0]=IsAbilityAvailable-BlazingPinionsStage1, Child[1]=FindPotentialAoETargets-BlazingPinionsBasicProfile, Child[2]=SelectAoETarget-BlazingPinionsBasicProfile, Child[3]=SelectAbility-BlazingPinionsStage1)
  1241. Behaviors=(BehaviorName=TryAnimaInversionCorpses, NodeType=Selector, Child[0]=TryAnimaInversionCorpseActivate, Child[1]=TryGatekeeperOpenIfAnimaInversionCorpseReady)
  1242. Behaviors=(BehaviorName=TryAnimaInversionCorpseActivate, NodeType=Sequence, Child[0]=IsAbilityAvailable-AnimaInversion, Child[1]=FindPotentialAoETargets-AnimaInversionCorpseProfile, Child[2]=SelectAoETarget-AnimaInversionCorpseProfile, Child[3]=SelectAbility-AnimaInversion)
  1243. Behaviors=(BehaviorName=TryGatekeeperOpenIfAnimaInversionCorpseReady, NodeType=Sequence, Child[0]=IsAbilityReady-AnimaInversion, Child[1]=FindPotentialAoETargets-AnimaInversionCorpseProfile, Child[2]=SelectAoETarget-AnimaInversionCorpseProfile, Child[3]=TryGatekeeperOpen)
  1244. Behaviors=(BehaviorName=TryMoveThenAnimaInversionCorpse, NodeType=Selector, Child[0]=TryMoveForAnimaInversionCorpse, Child[1]=TryAnimaInversionCorpses)
  1245. Behaviors=(BehaviorName=TryMoveForAnimaInversionCorpse, NodeType=Sequence, Child[0]=SafeToMove, Child[1]=IsAbilityReady-AnimaInversion, Child[2]=FindPotentialAoETargets-AnimaInversionCorpseProfile, Child[3]=MoveStandardIfFirstAbility-AnimaInversion)
  1246. Behaviors=(BehaviorName=TryAnimaInversionMixed, NodeType=Selector, Child[0]=TryAnimaInversionMixedActivate, Child[1]=TryGatekeeperOpenIfAnimaInversionMixedReady)
  1247. Behaviors=(BehaviorName=TryAnimaInversionMixedActivate, NodeType=Sequence, Child[0]=IsAbilityAvailable-AnimaInversion, Child[1]=FindPotentialAoETargets-AnimaInversionMixedProfile, Child[2]=SelectAoETarget-AnimaInversionMixedProfile, Child[3]=SelectAbility-AnimaInversion)
  1248. Behaviors=(BehaviorName=TryGatekeeperOpenIfAnimaInversionMixedReady, NodeType=Sequence, Child[0]=IsAbilityReady-AnimaInversion, Child[1]=FindPotentialAoETargets-AnimaInversionMixedProfile, Child[2]=SelectAoETarget-AnimaInversionMixedProfile, Child[3]=TryGatekeeperOpen)
  1249. Behaviors=(BehaviorName=TryMoveThenAnimaInversionMixed, NodeType=Selector, Child[0]=TryMoveForAnimaInversionMixed, Child[1]=TryAnimaInversionMixed)
  1250. Behaviors=(BehaviorName=TryMoveForAnimaInversionMixed, NodeType=Sequence, Child[0]=SafeToMove, Child[1]=IsAbilityReady-AnimaInversion, Child[2]=FindPotentialAoETargets-AnimaInversionMixedProfile, Child[3]=MoveStandardIfFirstAbility-AnimaInversion)
  1251. Behaviors=(BehaviorName=HasValidTarget-AnimaConsume, NodeType=Condition)
  1252. Behaviors=(BehaviorName=SetTargetStack-AnimaConsume, NodeType=Action)
  1253. Behaviors=(BehaviorName=TryAnimaConsumeOnEnemy, NodeType=Sequence, Child[0]=HasWounds, Child[1]=IsAbilityReady-AnimaConsume, Child[2]=AnimaConsumeStepSelectorEnemy)
  1254. Behaviors=(BehaviorName=AnimaConsumeStepSelectorEnemy, NodeType=Selector, Child[0]=AnimaConsumeAttackEnemy, Child[1]=AnimaConsumeAttackEnemyUnopened, Child[2]=MoveMeleeIfFirstAbilityFANATIC)
  1255. Behaviors=(BehaviorName=TryAnimaConsumeOnAlly, NodeType=Sequence, Child[0]=IsBloodied, Child[1]=IsVisibleToPlayer, Child[2]=IsAbilityReady-AnimaConsume, Child[3]=AnimaConsumeStepSelectorAlly)
  1256. Behaviors=(BehaviorName=AnimaConsumeStepSelectorAlly, NodeType=Selector, Child[0]=AnimaConsumeAttackAlly, Child[1]=AnimaConsumeAttackAllyUnopened, Child[2]=MoveToPotentialMeleeIfFirstAbilityFANATIC)
  1257. Behaviors=(BehaviorName=AnimaConsumeNotAvailable, NodeType=Inverter, Child[0]=IsAbilityAvailable-AnimaConsume)
  1258. Behaviors=(BehaviorName=IncludeAlliesAsMeleeTargets, NodeType=Action)
  1259. Behaviors=(BehaviorName=AnimaConsumeAttackEnemy, NodeType=Sequence, Child[0]=IsAbilityAvailable-AnimaConsume, Child[1]=SelectEnemyTargetForAnimaConsume, Child[2]=SelectAbility-AnimaConsume)
  1260. Behaviors=(BehaviorName=AnimaConsumeAttackEnemyUnopened, NodeType=Sequence, Child[0]=AnimaConsumeNotAvailable, Child[1]=SelectPotentialTargetForEnemyAnimaConsume, Child[2]=IsTargetInAttackRange-StandardMelee, Child[3]=TryGatekeeperOpen)
  1261. Behaviors=(BehaviorName=SelectPotentialTargetForEnemyAnimaConsume, NodeType=Sequence, Child[0]=SetPotentialTargetStack, Child[1]=SelectBestEnemyTargetForAnimaConsume, Child[2]=HasValidTarget-Potential)
  1262. Behaviors=(BehaviorName=SelectEnemyTargetForAnimaConsume, NodeType=Sequence, Child[0]=SetTargetStack-AnimaConsume, Child[1]=SelectBestEnemyTargetForAnimaConsume, Child[2]=HasValidTarget-AnimaConsume)
  1263. Behaviors=(BehaviorName=SelectBestEnemyTargetForAnimaConsume, NodeType=RepeatUntilFail, Child[0]=EvaluatePotentialMeleeTarget)
  1264. Behaviors=(BehaviorName=AnimaConsumeAttackAlly, NodeType=Sequence, Child[0]=IsAbilityAvailable-AnimaConsume, Child[1]=SelectAllyTargetForAnimaConsume, Child[2]=SelectAbility-AnimaConsume)
  1265. Behaviors=(BehaviorName=AnimaConsumeAttackAllyUnopened, NodeType=Sequence, Child[0]=AnimaConsumeNotAvailable, Child[1]=SelectPotentialTargetForAllyAnimaConsume, Child[2]=IsTargetInAttackRange-StandardMelee, Child[3]=TryGatekeeperOpen)
  1266. Behaviors=(BehaviorName=SelectPotentialTargetForAllyAnimaConsume, NodeType=Sequence, Child[0]=SetPotentialAllyTargetStack, Child[1]=SelectBestAllyTargetForAnimaConsume, Child[2]=HasValidTarget-Potential)
  1267. Behaviors=(BehaviorName=SelectAllyTargetForAnimaConsume, NodeType=Sequence, Child[0]=SetTargetStack-AnimaConsume, Child[1]=SelectBestAllyTargetForAnimaConsume, Child[2]=HasValidTarget-AnimaConsume)
  1268. Behaviors=(BehaviorName=SelectBestAllyTargetForAnimaConsume, NodeType=RepeatUntilFail, Child[0]=EvaluateAllyTargetForAnimaConsume)
  1269. Behaviors=(BehaviorName=EvaluateAllyTargetForAnimaConsume, NodeType=Sequence, Child[0]=SetNextTarget, Child[1]=TargetScoreIfAllyWithinRangeAnimaConsume, Child[2]=UpdateBestTarget);
  1270. Behaviors=(BehaviorName=TargetScoreIfAllyWithinRangeAnimaConsume, NodeType=Successor, Child[0]=TargetScoreReachableAllyAnimaConsume)
  1271. Behaviors=(BehaviorName=HasValidTarget-AnimaGate, NodeType=Condition)
  1272. Behaviors=(BehaviorName=SetTargetStack-AnimaGate, NodeType=Action)
  1273. Behaviors=(BehaviorName=GateKeeperShootIfAvailable, NodeType=Sequence, Child[0]=IsAbilityAvailable-AnimaGate, Child[1]=SetTargetStack-AnimaGate, Child[2]=SelectTargetForStandardShot, Child[3]=GatekeeperTryShootOrOpen)
  1274. Behaviors=(BehaviorName=GatekeeperTryShootOrOpen, NodeType=Selector, Child[0]=GatekeeperShootIfTarget, Child[1]=TryGatekeeperOpen)
  1275. Behaviors=(BehaviorName=GatekeeperShootIfTarget, NodeType=Sequence, Child[0]=HasValidTarget-AnimaGate, Child[1]=SelectAbility-AnimaGate)
  1276. Behaviors=(BehaviorName=TryGatekeeperOpen, NodeType=Sequence, Child[0]=AffectedByEffect-GatekeeperClosedEffect, Child[1]=IsAbilityAvailable-GatekeeperOpen, Child[2]=SelectAbility-GatekeeperOpen)
  1277. Behaviors=(BehaviorName=TryGatekeeperClose, NodeType=Sequence, Child[0]=IsAbilityAvailable-GatekeeperClose, Child[1]=SelectAbility-GatekeeperClose)
  1278. Behaviors=(BehaviorName=IsOrCanOpen, NodeType=Selector, Child[0]=IsAbilityAvailable-GatekeeperOpen, Child[1]=AffectedByEffect-GatekeeperClosedEffect)
  1279. Behaviors=(BehaviorName=TryRetract, NodeType=Sequence, Child[0]=IsAbilityAvailable-Retract, Child[1]=SelectAbility-Retract)
  1280. Behaviors=(BehaviorName=TryPsiBomb, NodeType=Sequence, Child[0]=IsAbilityAvailable-PsiBombStage1, Child[1]=FindPotentialAoETargets-PsiBombProfile, Child[2]=SelectAoETarget-PsiBombProfile, Child[3]=SelectAbility-PsiBombStage1)
  1281. Behaviors=(BehaviorName=TryTeleportDefensive, NodeType=Sequence, Child[0]=IsAbilityAvailable-Teleport, Child[1]=ResetDestinationSearch, Child[2]=UseDashMovement, Child[3]=FindDestinationWithLoS-MWP_IsoTeleport, Child[4]=SelectAbility-Teleport)
  1282. Behaviors=(BehaviorName=TryTeleportOffensive, NodeType=Sequence, Child[0]=IsAbilityAvailable-Teleport, Child[1]=ResetDestinationSearch, Child[2]=RestrictToFlanking, Child[3]=UseDashMovement, Child[4]=FindDestinationWithLoS-MWP_Teleport, Child[5]=SelectAbility-Teleport)
  1283. Behaviors=(BehaviorName=TryTriggerSuperposition, NodeType=Sequence, Child[0]=IsAbilityAvailable-TriggerSuperposition, Child[1]=SelectAbility-TriggerSuperposition)
  1284. Behaviors=(BehaviorName=SetTargetStack-ScythingClaws, NodeType=Action)
  1285. Behaviors=(BehaviorName=HasValidTarget-ScythingClaws, NodeType=Condition)
  1286. Behaviors=(BehaviorName=TryScythingClaws, NodeType=Sequence, Child[0]=IsAbilityAvailable-ScythingClaws, Child[1]=SelectTargetForScythingClaws, Child[2]=SelectAbility-ScythingClaws)
  1287. Behaviors=(BehaviorName=SelectTargetForScythingClaws, NodeType=Selector, Child[0]=ScythingClaws_HitIdealTarget, Child[1]=ScythingClaws_AnyTargetWillDo)
  1288. Behaviors=(BehaviorName=ScythingClaws_HitIdealTarget, NodeType=Sequence, Child[0]=SelectPotentialMeleeTarget, Child[1]=FindPotentialAoETargets-ScythingClawsPrefTargetProfile, Child[2]=SelectAoETarget-ScythingClawsPrefTargetProfile)
  1289. Behaviors=(BehaviorName=ScythingClaws_AnyTargetWillDo, NodeType=Sequence, Child[0]=FindPotentialAoETargets-ScythingClawsProfile, Child[1]=SelectAoETarget-ScythingClawsProfile)
  1290. Behaviors=(BehaviorName=TryWrathCannon, NodeType=Failer, Child[0]=IsAbilityAvailable-WrathCannon)
  1291. Behaviors=(BehaviorName=TryWrathCannon_TEMPDISABLED, NodeType=Sequence, Child[0]=IsAbilityAvailable-WrathCannon, Child[1]=FindPotentialAoETargets-WrathCannonProfile, Child[2]=SelectAoETarget-WrathCannonProfile, Child[3]=SelectAbility-WrathCannon)
  1292. Behaviors=(BehaviorName=TryWrathCannonS1, NodeType=Sequence, Child[0]=IsAbilityAvailable-WrathCannonStage1, Child[1]=CannonNotCharging, Child[2]=FindPotentialAoETargets-WrathCannonS1Profile, Child[3]=SelectAoETarget-WrathCannonS1Profile, Child[4]=SelectAbility-WrathCannonStage1)
  1293. Behaviors=(BehaviorName=CannonNotCharging, NodeType=Inverter, Child[0]=AffectedByEffect-WrathCannonStage1Effect)
  1294. Behaviors=(BehaviorName=MimicBeaconBehavior, NodeType=Sequence, Child[0]=IsUnitTypeVisible-MimicBeacon, Child[1]=MoveOrAttackMimicBeacon)
  1295. Behaviors=(BehaviorName=IsUnitTypeVisible-MimicBeacon, NodeType=Condition) ; currently this checks LoS to any Mimic Beacons.
  1296. Behaviors=(BehaviorName=MoveOrAttackMimicBeacon, NodeType=Selector, Child[0]=MoveTowardMimicBeaconIfFirstAction, Child[1]="::AttackMimicBeacon", Child[2]="::MoveTowardMimicBeacon"); If attack fails, just try moving closer.
  1297. Behaviors=(BehaviorName=MoveTowardMimicBeaconIfFirstAction, NodeType=Sequence, Child[0]=NotLastActionPoint, Child[1]="::MoveTowardMimicBeacon")
  1298. Behaviors=(BehaviorName="::MoveTowardMimicBeacon", NodeType=Selector, Child[0]=TryMeleeMoveTowardMimicBeacon, Child[1]=TryStandardMoveTowardMimicBeacon)
  1299. Behaviors=(BehaviorName=TryStandardMoveTowardMimicBeacon, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardMove, Child[1]=FindDestinationTowardMimicBeacon, Child[2]=SelectAbility-StandardMove)
  1300. Behaviors=(BehaviorName=FindDestinationTowardMimicBeacon, NodeType=Selector, Child[0]=FindMimicBeaconDestWithStandardShot, Child[1]=FindPotentialMimicBeaconDest); Not all units have a standard shot ability.
  1301. Behaviors=(BehaviorName=FindMimicBeaconDestWithStandardShot, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardShot, Child[1]=SelectMimicBeaconTargetForStandardShot, Child[2]=SetTargetAsPriority-StandardShot, Child[3]=RestrictToAbilityRange-StandardShot, Child[4]=FindRestrictedDestination-MWP_MimicBeacon)
  1302. Behaviors=(BehaviorName=FindPotentialMimicBeaconDest, NodeType=Sequence, Child[0]=SelectPotentialMimicBeaconTarget, Child[1]=SetTargetAsPriority-Potential, Child[2]=SelectFindMimicBeaconMeleeOrStandardShot)
  1303. Behaviors=(BehaviorName=SelectFindMimicBeaconMeleeOrStandardShot, NodeType=Selector, Child[0]=IfMeleeFindClosestPointToTarget, Child[1]=FindRestrictedDestination-MWP_MimicBeacon)
  1304. Behaviors=(BehaviorName=IfMeleeFindClosestPointToTarget, NodeType=Sequence, Child[0]=IsAbilityReady-StandardMelee, Child[1]=FindClosestPointToTarget-Potential)
  1305. Behaviors=(BehaviorName=TryMeleeMoveTowardMimicBeacon, NodeType=Sequence, Child[0]=IsAbilityReady-StandardMelee, Child[1]=SelectPotentialMimicBeaconTarget, Child[2]=RestrictToPotentialTargetRange-StandardMelee, Child[3]=FindRestrictedDestination-MWP_MeleeFanatic, Child[4]=SelectAbility-StandardMove)
  1306. Behaviors=(BehaviorName="::AttackMimicBeacon", NodeType=Selector, Child[0]=TryStandardMeleeOnMimicBeacon, Child[1]=TryStandardShotOnMimicBeacon )
  1307. Behaviors=(BehaviorName=FindClosestPointToTarget-Potential, NodeType=Action)
  1308. Behaviors=(BehaviorName=SetTargetAsPriority-StandardShot, NodeType=Action)
  1309. Behaviors=(BehaviorName=SetTargetAsPriority-Potential, NodeType=Action)
  1310. Behaviors=(BehaviorName=TryStandardShotOnMimicBeacon, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardShot, Child[1]=SelectMimicBeaconTargetForStandardShot, Child[2]=SelectAbility-StandardShot)
  1311. Behaviors=(BehaviorName=SelectMimicBeaconTargetForStandardShot, NodeType=Sequence, Child[0]=SetTargetStack-StandardShot, Child[1]=SelectMimicBeaconTarget, Child[2]=HasValidTarget-StandardShot)
  1312. Behaviors=(BehaviorName=SelectMimicBeaconTarget, NodeType=RepeatUntilFail, Child[0]=EvaluateMimicBeaconTarget)
  1313. Behaviors=(BehaviorName=EvaluateMimicBeaconTarget, NodeType=Sequence, Child[0]=SetNextTarget, Child[1]=SSTargetScoreMimicBeacon, Child[2]=UpdateBestTarget)
  1314. Behaviors=(BehaviorName=SSTargetScoreMimicBeacon, NodeType=Successor, Child[0]=TargetScoreMimicBeacon)
  1315. Behaviors=(BehaviorName=TargetScoreMimicBeacon, NodeType=Sequence, Child[0]=TargetTemplateNameIs-MimicBeacon, Child[1]=AddToTargetScore_100, Child[2]=MultipleUnitsVisibleOfType-MimicBeacon, Child[3]=IsTargetClosestOfType-MimicBeacon, Child[4]=AddToTargetScore_10)
  1316. Behaviors=(BehaviorName=TargetTemplateNameIs-MimicBeacon, NodeType=Condition)
  1317. Behaviors=(BehaviorName=MultipleUnitsVisibleOfType-MimicBeacon, NodeType=Condition)
  1318. Behaviors=(BehaviorName=IsTargetClosestOfType-MimicBeacon, NodeType=Condition)
  1319. Behaviors=(BehaviorName=SelectPotentialMimicBeaconTarget, NodeType=Sequence, Child[0]=SetVisiblePotentialTargetStack, Child[1]=SelectMimicBeaconTarget, Child[2]=HasValidTarget-Potential)
  1320. Behaviors=(BehaviorName=TryStandardMeleeOnMimicBeacon, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardMelee, Child[1]=SelectMimicBeaconTargetForStandardMelee, Child[2]=SelectAbility-StandardMelee)
  1321. Behaviors=(BehaviorName=SelectMimicBeaconTargetForStandardMelee, NodeType=Sequence, Child[0]=SetTargetStack-StandardMelee, Child[1]=SelectMimicBeaconTarget, Child[2]=HasValidTarget-StandardMelee)
  1322. Behaviors=(BehaviorName=CivRoot, NodeType=Selector, Child[0]=CivCheckTerror, Child[1]=CivCheckChosenRetaliation, Child[2]=CivNormal)
  1323. Behaviors=(BehaviorName=CivCheckTerror, NodeType=Sequence, Child[0]=IsMissionOfType-Terror, Child[1]=CivTerror)
  1324. Behaviors=(BehaviorName=CivCheckChosenRetaliation, NodeType=Sequence, Child[0]=IsMissionOfType-ChosenRetaliation, Child[1]=SkipMove)
  1325. Behaviors=(BehaviorName=CivTerror, NodeType=Selector, Child[0]=CivTerrorAI, Child[1]=SkipMove)
  1326. Behaviors=(BehaviorName=CivTerrorAI, NodeType=Sequence, Child[0]=IsAIInCivilianRadius, Child[1]=FindDestination-MWP_CivilianRed, Child[2]=SelectAbility-StandardMove)
  1327. Behaviors=(BehaviorName=CivNormal, NodeType=Selector, Child[0]=CivHighSupportMove, Child[1]= CivLowSupportMove, Child[2]=SkipMove)
  1328. Behaviors=(BehaviorName=CivHighSupportMove, NodeType=Sequence, Child[0]=HighPopularSupport, Child[1]=FindDestination-MWP_CivilianRed, Child[2]=SelectAbility-StandardMove)
  1329. Behaviors=(BehaviorName=CivLowSupportMove, NodeType=Sequence, Child[0]=LowPopularSupport, Child[1]=FindDestination-MWP_CivilianRed, Child[2]=DoNoiseAlert, Child[3]=SelectAbility-StandardMove)
  1330. Behaviors=(BehaviorName=HostileCivRoot, NodeType=Sequence, Child[0]=DoNoiseAlert, Child[1]=FindDestination-MWP_CivilianRed, Child[2]=SelectAbility-StandardMove)
  1331. Behaviors=(BehaviorName=FacelessCivRoot, NodeType=Selector, Child[0]=FacelessCivCheckTerror)
  1332. Behaviors=(BehaviorName=FacelessCivCheckTerror, NodeType=Sequence, Child[0]=IsMissionOfType-Terror, Child[1]=FacelessCivTerror)
  1333. Behaviors=(BehaviorName=FacelessCivTerror, NodeType=Selector, Child[0]=CivTerrorAI, Child[1]=SkipMove)
  1334. Behaviors=(BehaviorName=VIPRoot, NodeType=Selector, Child[0]=VIPCowardRoot, Child[1]=SkipMove))
  1335. Behaviors=(BehaviorName=VIPCowardRoot, NodeType=Selector, Child[0]=PlayerControlledBranch, Child[1]=TryJob, Child[2]=SkipTurnifGreenAlert, Child[3]=VIPCowardRedAlert, Child[4]=GenericAlertHandler)
  1336. Behaviors=(BehaviorName=PlayerControlledBranch, NodeType=Sequence, Child[0]=NotAIControlled, Child[1]=SoldierAutoRunTree)
  1337. Behaviors=(BehaviorName=NotAIControlled, NodeType=Inverter, Child[0]=IsAIControlled)
  1338. Behaviors=(BehaviorName=IsAIControlled, NodeType=Condition)
  1339. Behaviors=(BehaviorName=VIPCowardRedAlert, NodeType=Sequence, Child[0]=IsRedAlert, Child[1]=VIPPickMovement)
  1340. Behaviors=(BehaviorName=VIPPickMovement, NodeType=Selector, Child[0]=IfWounded, Child[1]=MoveBackWithLOSIfFlanked, Child[2]=GenericRedAbilitySelector)
  1341. Behaviors=(BehaviorName=IfWounded, NodeType=Sequence, Child[0]=HasWounds, Child[1]=FallBack)
  1342. Behaviors=(BehaviorName=GenericCowardRoot, NodeType=Selector, Child[0]=GenericGreenMovement, Child[1]=CowardlyIfEnemySpotted, Child[2]=CowardlyIfEnemyNear)
  1343. Behaviors=(BehaviorName=CowardlyIfEnemySpotted, NodeType=Sequence, Child[0]=IsEnemySpotted, Child[1]=TryCowardlyEnemySpottedAction)
  1344. Behaviors=(BehaviorName=TryCowardlyEnemySpottedAction, NodeType=Selector, Child[0]=FallBackWithLoSIfFirstAbility, Child[1]=DoCower)
  1345. Behaviors=(BehaviorName=CowardlyIfEnemyNear, NodeType=Sequence, Child[0]=IsYellowAlert, Child[1]=TryCowardYellowAction)
  1346. Behaviors=(BehaviorName=TryCowardYellowAction, NodeType=Selector, Child[0]=MoveDefensiveIfFirstAbility, Child[1]=DoCower)
  1347. Behaviors=(BehaviorName="::CharacterRoot", NodeType=Selector, Child[0]=DoRedScreenFailure-BTFailure, Child[1]=TryJob, Child[2]=GenericGreenMovement, Child[3]=GenericRedAlert, Child[4]=GenericAlertHandler)
  1348. Behaviors=(BehaviorName=DoRedScreenFailure-BTFailure, NodeType=Action, Param[0]="RedScreen-Error On Behavior Tree! ::CharacterRoot not overridden! @acheng")
  1349. Behaviors=(BehaviorName=DoRedScreenFailure-NotYetImplemented, NodeType=Action, Param[0]="RedScreen-Error On Behavior Tree! Current Node not yet implemented @acheng")
  1350. Behaviors=(BehaviorName=GenericRedAlert, NodeType=Sequence, Child[0]=IsRedAlert, Child[1]=GenericRedAbilitySelector)
  1351. Behaviors=(BehaviorName=GenericRedAbilitySelector, NodeType=Selector, Child[0]=GenericAbilityRoot, Child[1]=GenericRedFirstAction, Child[2]=GenericRedLastAction)
  1352. Behaviors=(BehaviorName=GenericRedFirstAction, NodeType=Sequence, Child[0]=NotLastActionPoint, Child[1]=GenericRedFirstActionSelector)
  1353. Behaviors=(BehaviorName=GenericRedFirstActionSelector, NodeType=Selector, Child[0]=DoIfFlankedMove, Child[1]=SelectMoveStandard, Child[2]=TryShootOrReloadOrOverwatch, Child[3]=HuntEnemyWithCover)
  1354. Behaviors=(BehaviorName=GenericRedLastAction, NodeType=Sequence, Child[0]=IsLastActionPoint, Child[1]=GenericRedLastActionSelector)
  1355. Behaviors=(BehaviorName=GenericRedLastActionSelector, NodeType=Selector, Child[0]=TryGrenade, Child[1]=TryShootOrReloadOrOverwatch, Child[2]=TryStandardMelee, Child[3]=HuntEnemyWithCover, Child[4]=SelectMoveStandard)
  1356. Behaviors=(BehaviorName=GenericEnemyRootAGGRESSIVE, NodeType=Selector, Child[0]=TryJob, Child[1]=GenericGreenMovement, Child[2]=GenericRedAlertAGGRESSIVE, Child[3]=GenericAlertHandler)
  1357. Behaviors=(BehaviorName=GenericRedAlertAGGRESSIVE, NodeType=Sequence, Child[0]=IsRedAlert, Child[1]=AggressiveRedAbilitySelector)
  1358. Behaviors=(BehaviorName=AggressiveRedAbilitySelector, NodeType=Selector, Child[0]=AggressiveRedFirstAction, Child[1]=AggressiveRedLastAction)
  1359. Behaviors=(BehaviorName=AggressiveRedFirstAction, NodeType=Sequence, Child[0]=NotLastActionPoint, Child[1]=AggressiveRedFirstActionSelector)
  1360. Behaviors=(BehaviorName=AggressiveRedFirstActionSelector, NodeType=Selector, Child[0]=AttackIfIdeal, Child[1]=DoIfFlankedMove, Child[2]=SelectMove_JobOrAggressive, Child[3]=TryShootOrReloadOrOverwatch, Child[4]=HuntEnemy)
  1361. Behaviors=(BehaviorName=AggressiveRedLastAction, NodeType=Sequence, Child[0]=IsLastActionPoint, Child[1]=AggressiveRedLastActionSelector)
  1362. Behaviors=(BehaviorName=AggressiveRedLastActionSelector, NodeType=Selector, Child[0]=AttackIfFavorable, Child[1]=TryShootOrReloadOrOverwatch, Child[2]=HuntEnemy, Child[3]=SelectMove_JobOrAggressive)
  1363. Behaviors=(BehaviorName=GenericEnemyNoCover, NodeType=Selector, Child[0]=TryJob, Child[1]=GenericGreenMovement, Child[2]=GenericNoCoverRedAlert, Child[3]=GenericAlertHandler)
  1364. Behaviors=(BehaviorName=GenericNoCoverRedAlert, NodeType=Sequence, Child[0]=IsRedAlert, Child[1]=GenericNoCoverRedAbilitySelector)
  1365. Behaviors=(BehaviorName=GenericNoCoverRedAbilitySelector, NodeType=Selector, Child[0]=GenericNoCoverRedFirstAction, Child[1]=GenericNoCoverRedLastAction)
  1366. Behaviors=(BehaviorName=GenericNoCoverRedFirstAction, NodeType=Sequence, Child[0]=NotLastActionPoint, Child[1]=GenericNoCoverFirstActionSelector)
  1367. Behaviors=(BehaviorName=GenericNoCoverFirstActionSelector, NodeType=Selector, Child[0]=SelectNCMove_JobOrFanatic, Child[1]=TryShootOrReloadOrOverwatch, Child[2]=HuntEnemy)
  1368. Behaviors=(BehaviorName=GenericNoCoverRedLastAction, NodeType=Sequence, Child[0]=IsLastActionPoint, Child[1]=GenericNoCoverRedLastActionSelector)
  1369. Behaviors=(BehaviorName=GenericNoCoverRedLastActionSelector, NodeType=Selector, Child[0]=TryGrenade, Child[1]=TryShootOrReloadOrOverwatch, Child[2]=HuntEnemy, Child[3]=SelectNCMove_JobOrFanatic)
  1370. Behaviors=(BehaviorName=GenericEnemyMeleeRoot, NodeType=Selector, Child[0]=TryJobUnsafe, Child[1]=GenericGreenMovement, Child[2]=GenericMeleeRedAlert, Child[3]=GenericAlertHandler)
  1371. Behaviors=(BehaviorName=GenericMeleeRedAlert, NodeType=Sequence, Child[0]=IsRedAlert, Child[1]=GenericMeleeRedAbilitySelector)
  1372. Behaviors=(BehaviorName=GenericMeleeRedAbilitySelector, NodeType=Selector, Child[0]=MeleeRedFirstAction, Child[1]=MeleeRedLastAction)
  1373. Behaviors=(BehaviorName=MeleeRedFirstAction, NodeType=Sequence, Child[0]=NotLastActionPoint, Child[1]=MeleeRedFirstActionSelector)
  1374. Behaviors=(BehaviorName=MeleeRedFirstActionSelector, NodeType=Selector, Child[0]=TryStandardMeleeUnsafe, Child[1]=DoIfFlankedMove, Child[2]=SelectUnsafeMove_JobOrMelee, Child[3]=TryMoveThenGrenade, Child[4]=TryShootOrReloadOrOverwatch, Child[5]=HuntEnemyUnsafe)
  1375. Behaviors=(BehaviorName=MeleeRedLastAction, NodeType=Sequence, Child[0]=IsLastActionPoint, Child[1]=MeleeRedLastActionSelector)
  1376. Behaviors=(BehaviorName=MeleeRedLastActionSelector, NodeType=Selector, Child[0]=TryStandardMeleeUnsafe, Child[1]=TryGrenade, Child[2]=TryShootOrReloadOrOverwatch, Child[3]=HuntEnemyUnsafe, Child[4]=SelectUnsafeMove_JobOrMelee)
  1377. Behaviors=(BehaviorName=GenericEnemyMeleeRootFANATIC, NodeType=Selector, Child[0]=TryJobUnsafe, Child[1]=GenericGreenMovement, Child[2]=GenericMeleeRedAlertFANATIC, Child[3]=GenericAlertHandler)
  1378. Behaviors=(BehaviorName=GenericMeleeRedAlertFANATIC, NodeType=Sequence, Child[0]=IsRedAlert, Child[1]=GenericMeleeFANATICRedAbilitySelector)
  1379. Behaviors=(BehaviorName=GenericMeleeFANATICRedAbilitySelector, NodeType=Selector, Child[0]=TryStandardMeleeUnsafe, Child[1]=MoveMeleeFANATICUnsafe, Child[2]=TryShootOrReloadOrOverwatch, Child[3]=HuntEnemyUnsafe)
  1380. Behaviors=(BehaviorName=MindControlledRoot, NodeType=Selector, Child[0]=MimicBeaconBehavior, Child[1]=MindControlledMove, Child[2]=MCTryGrenadeOption, Child[3]=GenericAbilityRoot, Child[4]=TryStandardMeleeUnsafe, Child[5]=ShootIfAvailable, Child[6]=NeedsReload, Child[7]=TryOverwatch, Child[8]=SkipMove)
  1381. Behaviors=(BehaviorName=MindControlledMove, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardMove, Child[1]=NotLastActionPoint, Child[2]=ResetDestinationSearch, Child[3]=IgnoreHazards, Child[4]=SetNoCoverMovement, Child[5]=FindDestination-MWP_Fanatic, Child[6]=SelectAbility-StandardMove)
  1382. Behaviors=(BehaviorName=MCTryGrenadeOption, NodeType=Sequence, Child[0]=IsAbilityAvailable-ThrowGrenade, Child[1]=DoesGrenadeCauseDamage, Child[2]=FindPotentialAoETargets-GrenadeMindControlledProfile, Child[3]=MCSetUpAndSelectGrenade)
  1383. Behaviors=(BehaviorName=MCSetUpAndSelectGrenade, NodeType=Sequence, Child[0]=SelectAoETarget-GrenadeMindControlledProfile, Child[1]=SelectAbility-ThrowGrenade)
  1384. Behaviors=(BehaviorName=PanickedRoot, NodeType=Selector, Child[0]=Panicked_FirstAction, Child[1]=Panicked_LastAction, Child[2]=SkipMove)
  1385. Behaviors=(BehaviorName=Panicked_FirstAction, NodeType=Sequence, Child[0]=NotLastActionPoint, Child[1]=Panicked_FirstAction_Selector);
  1386. Behaviors=(BehaviorName=Panicked_FirstAction_Selector, NodeType=Selector, Child[0]=PanickedMove, Child[1]=PanickedAction, Child[2]=SkipMove)
  1387. Behaviors=(BehaviorName=Panicked_LastAction, NodeType=Sequence, Child[0]=IsLastActionPoint, Child[1]=Panicked_LastAction_Selector)
  1388. Behaviors=(BehaviorName=Panicked_LastAction_Selector, NodeType=Selector, Child[0]=PanickedAction, Child[1]=PanickedMove, Child[2]=SkipMove)
  1389. Behaviors=(BehaviorName=PanickedMove, NodeType=Selector, Child[0]=PanickedFallBackUnsafe, Child[1]=MoveDefensiveWithLoSUnsafe, Child[2]=MoveDefensiveUnsafe)
  1390. Behaviors=(BehaviorName=PanickedAction, NodeType=RandSelector, Child[0]=ShootRandomEnemyForPanic, Param[0]=5, Child[1]=TryPanickedGrenadeToss, Param[1]=1, Child[2]=DoCower, Param[2]=2)
  1391. Behaviors=(BehaviorName=ShootRandomEnemyForPanic, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardShot, Child[1]=SelectRandomEnemyForPanic, Child[2]=SelectAbility-StandardShot)
  1392. Behaviors=(BehaviorName=SelectRandomEnemyForPanic, NodeType=Selector, Child[0]=IfTeamXComSelectAnyRandomEnemy, Child[1]=IfNotTeamXComSelectRandomTeammateTarget)
  1393. Behaviors=(BehaviorName=IfTeamXComSelectAnyRandomEnemy, NodeType=Sequence, Child[0]=IsTeam-eTeam_XCom, Child[1]=SelectRandomEnemyTarget);Child[1]=SelectAnyRandomTarget)
  1394. Behaviors=(BehaviorName=IfNotTeamXComSelectRandomTeammateTarget, NodeType=Sequence, Child[0]=NotTeamXCom, Child[1]=SelectRandomTeammateTarget)
  1395. Behaviors=(BehaviorName=IsTeam-eTeam_XCom, NodeType=Condition)
  1396. Behaviors=(BehaviorName=NotTeamXCom, NodeType=Inverter, Child[0]=IsTeam-eTeam_XCom)
  1397. Behaviors=(BehaviorName=IsTargetTeam-eTeam_Resistance, NodeType=Condition)
  1398. Behaviors=(BehaviorName=TargetNotTeamResistance, NodeType=Inverter, Child[0]=IsTargetTeam-eTeam_Resistance)
  1399. Behaviors=(BehaviorName=SelectRandomEnemyTarget, NodeType=Sequence, Child[0]=SetTargetStack-StandardShot, Child[1]=SelectEnemyTargetRandomly, Child[2]=HasValidTarget-StandardShot)
  1400. Behaviors=(BehaviorName=SelectEnemyTargetRandomly, NodeType=RepeatUntilFail, Child[0]=EvaluateEnemyTargetRandomly)
  1401. Behaviors=(BehaviorName=EvaluateEnemyTargetRandomly, NodeType=Sequence, Child[0]=SetNextTarget, Child[1]=SSScoreEnemyTargetRandomly, Child[2]=UpdateBestTarget)
  1402. Behaviors=(BehaviorName=SSScoreEnemyTargetRandomly, NodeType=Successor, Child[0]=ScoreEnemyTargetRandomly)
  1403. Behaviors=(BehaviorName=ScoreEnemyTargetRandomly, NodeType=Sequence, Child[0]=TargetIsEnemy, Child[1]=GenericScoreTargetRandomlySequence)
  1404. Behaviors=(BehaviorName=SelectRandomTeammateTarget, NodeType=Sequence, Child[0]=SetTargetStack-StandardShot, Child[1]=SelectTeammateTargetRandomly, Child[2]=HasValidTarget-StandardShot)
  1405. Behaviors=(BehaviorName=SelectTeammateTargetRandomly, NodeType=RepeatUntilFail, Child[0]=EvaluateTeammateTargetRandomly)
  1406. Behaviors=(BehaviorName=EvaluateTeammateTargetRandomly, NodeType=Sequence, Child[0]=SetNextTarget, Child[1]=SSScoreTeammateTargetRandomly, Child[2]=UpdateBestTarget)
  1407. Behaviors=(BehaviorName=SSScoreTeammateTargetRandomly, NodeType=Successor, Child[0]=ScoreTeammateTargetRandomly)
  1408. Behaviors=(BehaviorName=ScoreTeammateTargetRandomly, NodeType=Sequence, Child[0]=TargetIsAlly, Child[1]=GenericScoreTargetRandomlySequence)
  1409. Behaviors=(BehaviorName=PanickedFallBackUnsafe, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardMove, Child[1]=FindFriendlyFallbackDestination, Child[2]=SelectAbility-StandardMove)
  1410. Behaviors=(BehaviorName=SelectEnemyTargetRandomly_NonCivilianOrVIP, NodeType=RepeatUntilFail, Child[0]=EvaluateEnemyTargetRandomly_NonCivilianOrVIP)
  1411. Behaviors=(BehaviorName=EvaluateEnemyTargetRandomly_NonCivilianOrVIP, NodeType=Sequence, Child[0]=SetNextTarget, Child[1]=SSScoreEnemyTargetRandomly_NonCivilianOrVIP, Child[2]=UpdateBestTarget)
  1412. Behaviors=(BehaviorName=SSScoreEnemyTargetRandomly_NonCivilianOrVIP, NodeType=Successor, Child[0]=ScoreEnemyTargetRandomly_NonCivilianOrVIP)
  1413. Behaviors=(BehaviorName=ScoreEnemyTargetRandomly_NonCivilianOrVIP, NodeType=Sequence, Child[0]=TargetIsEnemy, Child[1]=TargetIsNotCivilian, Child[2]=TargetNotTeamResistance, Child[3]=TargetIsNotEnemyVIP, Child[4]=GenericScoreTargetRandomly)
  1414. Behaviors=(BehaviorName=GenericScamperRoot, NodeType=Selector, Child[0]=CounterBeaglerushManeuver, Child[1]=MoveStandardWithLoSUnsafe, Child[2]=MoveStandardUnsafe, Child[3]=SkipMove)
  1415. Behaviors=(BehaviorName=ScamperRoot_Soldier, NodeType=Selector, Child[0]=CounterBeaglerushManeuver, Child[1]=MoveDefensiveWithLoSUnsafe, Child[2]=MoveStandardUnsafe, Child[3]=SkipMove)
  1416. Behaviors=(BehaviorName=ScamperRoot_Flanker, NodeType=Selector, Child[0]=CounterBeaglerushManeuver, Child[1]=MoveFlankingUnsafe, Child[2]=MoveStandardWithLoSUnsafe, Child[3]=MoveStandardUnsafe, Child[4]=SkipMove)
  1417. Behaviors=(BehaviorName=ScamperRoot_NoCover, NodeType=Selector, Child[0]=CounterBeaglerushManeuver, Child[1]=MoveNoCoverUnsafe, Child[2]=SkipMove)
  1418. Behaviors=(BehaviorName=ScamperRoot_Overwatch, NodeType=Selector, Child[0]=CounterBeaglerushManeuver, Child[1]=OverwatchIfTargetAvailable, Child[2]=MoveNoCoverUnsafe, Child[3]=SkipMove)
  1419. Behaviors=(BehaviorName=ScamperRoot_MeleeNoCover, NodeType=Selector, Child[0]=CounterBeaglerushManeuver, Child[1]=MoveMeleeFANATICUnsafe, Child[2]=MoveNoCoverUnsafe, Child[3]=SkipMove)
  1420. Behaviors=(BehaviorName=ScamperRoot_NoShotChance, NodeType=Selector, Child[0]=MoveDefensiveWithLoSUnsafe, Child[1]=MoveStandardUnsafe, Child[2]=SkipMove)
  1421. Behaviors=(BehaviorName=CounterBeaglerushManeuver, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardShot, Child[1]=SelectFlankedEnemyTarget, Child[2]=ShootTargetChance50)
  1422. Behaviors=(BehaviorName=SelectFlankedEnemyTarget, NodeType=Sequence, Child[0]=SetTargetStack-StandardShot, Child[1]=EvaluateFlankedEnemyTargets, Child[2]=HasValidTarget-StandardShot)
  1423. Behaviors=(BehaviorName=EvaluateFlankedEnemyTargets, NodeType=RepeatUntilFail, Child[0]=EvaluateFlankedEnemies)
  1424. Behaviors=(BehaviorName=EvaluateFlankedEnemies, NodeType=Sequence, Child[0]=SetNextTarget, Child[1]=SSScoreFlankedEnemy, Child[2]=UpdateBestTarget)
  1425. Behaviors=(BehaviorName=SSScoreFlankedEnemy, NodeType=Successor, Child[0]=ScoreFlankedEnemy)
  1426. Behaviors=(BehaviorName=IsActiveTeam-eTeam_XCom, NodeType=Condition)
  1427. Behaviors=(BehaviorName=NotActiveTeamXCom, NodeType=Inverter, Child[0]=IsActiveTeam-eTeam_XCom)
  1428. Behaviors=(BehaviorName=ScoreFlankedEnemy, NodeType=Sequence, Child[0]=IsTargetScamperInstigator, Child[1]=WasTargetPreviouslyConcealed, Child[2]=NotActiveTeamXCom, Child[3]=IsFlankingTarget, Child[4]=TargetIsEnemy, Child[5]=TargetNotMindControlled, Child[6]=TargetNotBoundOrPanicked, Child[7]=GenericTargetEvaluations)
  1429. Behaviors=(BehaviorName=TargetNotMindControlled, NodeType=Inverter, Child[0]=TargetAffectedByEffect-MindControl)
  1430. Behaviors=(BehaviorName=TargetNotBoundOrPanicked, NodeType=Inverter, Child[0]=IsLastResortTarget)
  1431. Behaviors=(BehaviorName=TargetAffectedByEffect-MindControl, NodeType=Condition)
  1432. Behaviors=(BehaviorName=IsTargetScamperInstigator, NodeType=Condition)
  1433. Behaviors=(BehaviorName=WasTargetPreviouslyConcealed, NodeType=Condition)
  1434. Behaviors=(BehaviorName=ShootTargetChance50, NodeType=RandFilter, Child[0]=SelectAbility-StandardShot, Param[0]=50)
  1435. Behaviors=(BehaviorName="AdventTrooper::CharacterRoot", NodeType=Selector, Child[0]=TryJob, Child[1]=GenericGreenMovement, Child[2]=AdvTrooper_RedAlert, Child[3]=GenericAlertHandler)
  1436. Behaviors=(BehaviorName=AdvTrooper_RedAlert, NodeType=Sequence, Child[0]=IsRedAlert, Child[1]=AdvTrooper_RedAbilitySelector)
  1437. Behaviors=(BehaviorName=AdvTrooper_RedAbilitySelector, NodeType=Selector, Child[0]=MimicBeaconBehavior, Child[1]=DarkEventPriorityMoveThenGrenade, Child[2]=AdventRedFirstAction, Child[3]=AdventRedLastAction)
  1438. Behaviors=(BehaviorName=AdventRedFirstAction, NodeType=Sequence, Child[0]=NotLastActionPoint, Child[1]=AdventRedFirstActionSelector)
  1439. Behaviors=(BehaviorName=AdventRedFirstActionSelector, NodeType=Selector, Child[0]=DoIfFlankedMove, Child[1]=SelectMove_JobOrAggressive, Child[2]=TryMoveThenGrenade, Child[3]=TryShootOrReloadOrOverwatch, Child[4]=HuntEnemyWithCover)
  1440. Behaviors=(BehaviorName=AdventRedLastAction, NodeType=Sequence, Child[0]=IsLastActionPoint, Child[1]=AdventRedLastActionSelector)
  1441. Behaviors=(BehaviorName=AdventRedLastActionSelector, NodeType=Selector, Child[0]=TryGrenade, Child[1]=TryShootOrReloadOrOverwatch, Child[2]=HuntEnemyWithCover, Child[3]=SelectMove_JobOrAggressive)
  1442. Behaviors=(BehaviorName=DarkEventPriorityMoveThenGrenade, NodeType=Sequence, Child[0]=DarkEventActive-DarkEvent_CollateralDamage, Child[1]=IsAbilityReady-ThrowGrenade, Child[2]=CheckCollateralDamageVar, Child[3]=TryMoveThenGrenadeAny)
  1443. Behaviors=(BehaviorName=DarkEventActive-DarkEvent_CollateralDamage, NodeType=Condition)
  1444. Behaviors=(BehaviorName=CheckCollateralDamageVar, NodeType=Sequence, Child[0]=InitSetCollateralDamageVar, Child[1]=ShouldUseCollateralDamage)
  1445. Behaviors=(BehaviorName=ShouldUseCollateralDamage, NodeType=StatCondition, Param[0]=BTVar, Param[1]="!=", Param[2]="0", Param[3]="ShouldUseCollateralDamage")
  1446. Behaviors=(BehaviorName=InitSetCollateralDamageVar, NodeType=Selector, Child[0]=HasBTVar-ShouldUseCollateralDamage, Child[1]=UpdateShouldUseCollateralDamageVar)
  1447. Behaviors=(BehaviorName=HasBTVar-ShouldUseCollateralDamage, NodeType=Condition)
  1448. Behaviors=(BehaviorName=UpdateShouldUseCollateralDamageVar, NodeType=RandSelector, Child[0]=SetShouldUseCollateralDamageTrue, Param[0]=50, Child[1]=SetShouldUseCollateralDamageFalse, Param[1]=50)
  1449. Behaviors=(BehaviorName=SetShouldUseCollateralDamageTrue, NodeType=Action, Param[0]=SetBTVar, Param[1]="ShouldUseCollateralDamage", Param[2]="1")
  1450. Behaviors=(BehaviorName=SetShouldUseCollateralDamageFalse, NodeType=Action, Param[0]=SetBTVar, Param[1]="ShouldUseCollateralDamage", Param[2]="0")
  1451. Behaviors=(BehaviorName="AdventCaptain::CharacterRoot", NodeType=Selector, Child[0]=TryJob, Child[1]=GenericGreenMovement, Child[2]=AdvCaptain_RedAlert, Child[3]=GenericAlertHandler)
  1452. Behaviors=(BehaviorName=AdvCaptain_RedAlert, NodeType=Sequence, Child[0]=IsRedAlert, Child[1]=AdvCaptain_RedAbilitySelector)
  1453. Behaviors=(BehaviorName=AdvCaptain_RedAbilitySelector, NodeType=Selector, Child[0]=MimicBeaconBehavior, Child[1]=AdvCaptain_RedFirstAction, Child[2]=AdvCaptain_RedLastAction)
  1454. Behaviors=(BehaviorName=AdvCaptain_RedFirstAction, NodeType=Sequence, Child[0]=NotLastActionPoint, Child[1]=AdvCaptain_RedFirstActionSelector)
  1455. Behaviors=(BehaviorName=AdvCaptain_RedFirstActionSelector, NodeType=Selector, Child[0]=DoIfFlankedMove, Child[1]=TryMarkTargetOption, Child[2]=SelectMove_JobOrDefensive, Child[3]=AdvCaptainTryMoveThenGrenade, Child[4]=TryShootOrReloadOrOverwatch, Child[5]=HuntEnemyWithCover)
  1456. Behaviors=(BehaviorName=AdvCaptain_RedLastAction, NodeType=Sequence, Child[0]=IsLastActionPoint, Child[1]=AdvCaptain_RedLastActionSelector)
  1457. Behaviors=(BehaviorName=AdvCaptain_RedLastActionSelector, NodeType=Selector, Child[0]=TryMarkTargetOption, Child[1]=AdvCaptainTryGrenade, Child[2]=TryShootOrReloadOrOverwatch, Child[3]=HuntEnemyWithCover, Child[4]=SelectMove_JobOrDefensive)
  1458. Behaviors=(BehaviorName=AdvCaptainTryMoveThenGrenade, NodeType=Sequence, Child[0]=IsAdvCaptainQualifiedForGrenade, Child[1]=TryMoveThenGrenade)
  1459. Behaviors=(BehaviorName=AdvCaptainTryGrenade, NodeType=Sequence, Child[0]=IsAdvCaptainQualifiedForGrenade, Child[1]=TryGrenade)
  1460. Behaviors=(BehaviorName=IsAdvCaptainQualifiedForGrenade, NodeType=Selector, Child[0]=NotAdvCaptainM1, Child[1]=IsDifficultyAboveNormal)
  1461. Behaviors=(BehaviorName=NotAdvCaptainM1, NodeType=Inverter, Child[0]=TemplateNameIs-AdvCaptainM1)
  1462. Behaviors=(BehaviorName=TemplateNameIs-AdvCaptainM1, NodeType=Condition)
  1463. Behaviors=(BehaviorName="SpectralStunLancer::CharacterRoot", NodeType=Selector, Child[0]=RestrictToOneMoveIfJustSpawned, Child[1]=MimicBeaconBehavior, Child[2]=TryStunLanceIfNotJustSpawned, Child[3]=MoveMeleeUnsafe, Child[4]=HuntEnemyWithCover, Child[5]=SelectHeatSeekMove)
  1464. Behaviors=(BehaviorName=TryStunLanceIfNotJustSpawned, NodeType=Sequence, Child[0]=NotJustSpawnedThisTurn, Child[1]=TryStunLance)
  1465. Behaviors=(BehaviorName=RestrictToOneMoveIfJustSpawned, NodeType=Sequence, Child[0]=JustSpawnedThisTurn, Child[1]=IsLastActionPoint, Child[2]=SkipMove)
  1466. Behaviors=(BehaviorName="AdventStunLancer::CharacterRoot", NodeType=Selector, Child[0]=TryJob, Child[1]=GenericGreenMovement, Child[2]=AdventSL_RedAlert, Child[3]=GenericAlertHandler)
  1467. Behaviors=(BehaviorName=AdventSL_RedAlert, NodeType=Sequence, Child[0]=IsRedAlert, Child[1]=AdventSL_RedAbilitySelector)
  1468. Behaviors=(BehaviorName=AdventSL_RedAbilitySelector, NodeType=Selector, Child[0]=MimicBeaconBehavior, Child[1]=AdventSLFirstAction, Child[2]=AdventSLLastAction)
  1469. Behaviors=(BehaviorName=AdventSLFirstAction, NodeType=Sequence, Child[0]=NotLastActionPoint, Child[1]=AdventSLFirstActionSelector)
  1470. Behaviors=(BehaviorName=AdventSLFirstActionSelector, NodeType=Selector, Child[0]=TryStunLance, Child[1]=DoIfFlankedMove, Child[2]=SelectMove_JobOrMelee, Child[3]=TryMoveThenGrenade, Child[4]=TryShootOrReloadOrOverwatch, Child[5]=HuntEnemyWithCover)
  1471. Behaviors=(BehaviorName=AdventSLLastAction, NodeType=Sequence, Child[0]=IsLastActionPoint, Child[1]=AdventSLLastActionSelector)
  1472. Behaviors=(BehaviorName=AdventSLLastActionSelector, NodeType=Selector, Child[0]=TryStunLance, Child[1]=TryBendingReedPostStunLance, Child[2]=TryGrenade, Child[3]=TryShootOrReloadOrOverwatch, Child[4]=HuntEnemyWithCover, Child[5]=SelectMove_JobOrMelee)
  1473. Behaviors=(BehaviorName=TryBendingReedPostStunLance, NodeType=Sequence, Child[0]=WasLastAbility-StunLance, Child[1]=TryBendingReedMovement)
  1474. Behaviors=(BehaviorName=WasLastAbility-StunLance, NodeType=Condition)
  1475. Behaviors=(BehaviorName="AdventShieldBearer::CharacterRoot", NodeType=Selector, Child[0]=TryJob, Child[1]=GenericGreenMovement, Child[2]=AdvShieldBearer_RedAlert, Child[3]=GenericAlertHandler)
  1476. Behaviors=(BehaviorName=AdvShieldBearer_RedAlert, NodeType=Sequence, Child[0]=IsRedAlert, Child[1]=AdvShieldBearer_RedAbilitySelector)
  1477. Behaviors=(BehaviorName=AdvShieldBearer_RedAbilitySelector, NodeType=Selector, Child[0]=MimicBeaconBehavior, Child[1]=ShieldBearerFirstAction, Child[2]=ShieldBearerLastAction)
  1478. Behaviors=(BehaviorName=ShieldBearerFirstAction, NodeType=Sequence, Child[0]=NotLastActionPoint, Child[1]=ShieldBearerFirstActionSelector)
  1479. Behaviors=(BehaviorName=ShieldBearerFirstActionSelector, NodeType=Selector, Child[0]=TryMoveForEnergyShield, Child[1]=TryEnergyShieldOnMultipleTargets, Child[2]=DoIfFlankedMove, Child[3]=SelectMove_JobOrDefensive, Child[4]=HuntEnemyWithCover, Child[5]=TryShootOrReloadOrOverwatch)
  1480. Behaviors=(BehaviorName=TryMoveForEnergyShield, NodeType=Sequence, Child[0]=SafeToMove, Child[1]=IsAbilityReady-EnergyShield, Child[2]=NotLastActionPoint, Child[3]=MoveStandardIfFirstAbility-EnergyShield)
  1481. Behaviors=(BehaviorName=ShieldBearerLastAction, NodeType=Sequence, Child[0]=IsLastActionPoint, Child[1]=ShieldBearerLastActionSelector)
  1482. Behaviors=(BehaviorName=ShieldBearerLastActionSelector, NodeType=Selector, Child[0]=TryEnergyShieldOnAnyTarget, Child[1]=TryShootOrReloadOrOverwatch, Child[2]=HuntEnemyWithCover, Child[3]=SelectMove_JobOrDefensive)
  1483. Behaviors=(BehaviorName="AdventMEC::CharacterRoot", NodeType=Selector, Child[0]=MecMk1Branch, Child[1]=AdvMECMk2_Root)
  1484. Behaviors=(BehaviorName=MecMk1Branch, NodeType=Sequence, Child[0]=TemplateNameIs-AdvMEC_M1, Child[1]=AdvMEC_Root)
  1485. Behaviors=(BehaviorName=TemplateNameIs-AdvMEC_M1, NodeType=Condition)
  1486. Behaviors=(BehaviorName=AdvMEC_Root, NodeType=Selector, Child[0]=TryJob, Child[1]=GenericGreenMovement, Child[2]=MECRedAlert, Child[3]=GenericAlertHandler)
  1487. Behaviors=(BehaviorName=MECRedAlert, NodeType=Sequence, Child[0]=IsRedAlert, Child[1]=MECRedAbilitySelector)
  1488. Behaviors=(BehaviorName=MECRedAbilitySelector, NodeType=Selector, Child[0]=MimicBeaconBehavior, Child[1]=MECRedFirstAction, Child[2]=MECRedLastAction)
  1489. Behaviors=(BehaviorName=MECRedFirstAction, NodeType=Sequence, Child[0]=NotLastActionPoint, Child[1]=MECFirstActionSelector)
  1490. Behaviors=(BehaviorName=MECFirstActionSelector, NodeType=Selector, Child[0]=TryMoveThenMicroMissiles, Child[1]=SelectNCMove_JobOrFanatic, Child[2]=HuntEnemy, Child[3]=TryShootOrReloadOrOverwatch)
  1491. Behaviors=(BehaviorName=MECRedLastAction, NodeType=Sequence, Child[0]=IsLastActionPoint, Child[1]=MECRedLastActionSelector)
  1492. Behaviors=(BehaviorName=MECRedLastActionSelector, NodeType=Selector, Child[0]=TryMicroMissiles, Child[1]=ShootOrSuppressIfNoGoodShot, Child[2]=HuntEnemy, Child[3]=SelectNCMove_JobOrFanatic, Child[4]=TryShootOrReloadOrOverwatch)
  1493. Behaviors=(BehaviorName=AdvMECMk2_Root, NodeType=Selector, Child[0]=TryJob, Child[1]=GenericGreenMovement, Child[2]=MECMk2RedAlert, Child[3]=GenericAlertHandler)
  1494. Behaviors=(BehaviorName=MECMk2RedAlert, NodeType=Sequence, Child[0]=IsRedAlert, Child[1]=MECMk2RedAbilitySelector)
  1495. Behaviors=(BehaviorName=MECMk2RedAbilitySelector, NodeType=Selector, Child[0]=MimicBeaconBehavior, Child[1]=MECMk2RedFirstAction, Child[2]=MECMk2RedLastAction)
  1496. Behaviors=(BehaviorName=MECMk2RedFirstAction, NodeType=Sequence, Child[0]=NotLastActionPoint, Child[1]=MECMk2FirstActionSelector)
  1497. Behaviors=(BehaviorName=MECMk2FirstActionSelector, NodeType=Selector, Child[0]=TryMoveThenMicroMissilesMk2, Child[1]=SelectNCMove_JobOrFanatic, Child[2]=HuntEnemy, Child[3]=TryShootOrReloadOrOverwatch)
  1498. Behaviors=(BehaviorName=MECMk2RedLastAction, NodeType=Sequence, Child[0]=IsLastActionPoint, Child[1]=MECMk2RedLastActionSelector)
  1499. Behaviors=(BehaviorName=MECMk2RedLastActionSelector, NodeType=Selector, Child[0]=TryMicroMissilesMk2, Child[1]=ShootOrSuppressIfNoGoodShot, Child[2]=HuntEnemy, Child[3]=SelectNCMove_JobOrFanatic, Child[4]=TryShootOrReloadOrOverwatch)
  1500. Behaviors=(BehaviorName="AdventPsiWitch::CharacterRoot", NodeType=Selector, Child[0]=TryJob, Child[1]=GenericGreenMovement, Child[2]=PsiWitchRedAlert, Child[3]=GenericAlertHandler)
  1501. Behaviors=(BehaviorName=PsiWitchRedAlert, NodeType=Sequence, Child[0]=IsRedAlert, Child[1]=PsiWitchRedAbilitySelector)
  1502. Behaviors=(BehaviorName=PsiWitchRedAbilitySelector, NodeType=Selector, Child[0]=MimicBeaconBehavior, Child[1]=PsiWitchRedFirstAction, Child[2]=PsiWitchRedLastAction)
  1503. Behaviors=(BehaviorName=PsiWitchRedFirstAction, NodeType=Sequence, Child[0]=NotLastActionPoint, Child[1]=PsiWitchRedFirstActionSelector)
  1504. Behaviors=(BehaviorName=PsiWitchRedFirstActionSelector, NodeType=Selector, Child[0]=TryMoveThenPsiMindControl, Child[1]=TryMoveThenDimensionalRift, Child[2]=TryMoveThenNullLance, Child[3]=DoIfFlankedMove, Child[4]=SelectMoveStandard, Child[5]=PsiWitchAttackSequencer, Child[6]=HuntEnemyWithCover, Child[7]=TryShootOrReloadOrOverwatch)
  1505. Behaviors=(BehaviorName=PsiWitchRedLastAction, NodeType=Sequence, Child[0]=IsLastActionPoint, Child[1]=PsiWitchRedLastActionSelector)
  1506. Behaviors=(BehaviorName=PsiWitchRedLastActionSelector, NodeType=Selector, Child[0]=PsiWitchAttackSequencer, Child[1]=SelectMoveStandard, Child[2]=HuntEnemyWithCover)
  1507. Behaviors=(BehaviorName=PsiWitchAttackSequencer, NodeType=Selector, Child[0]=TryPsiMindControl, Child[1]=TryDimensionalRift, Child[2]=TryNullLance, Child[3]=TryShootOrReloadOrOverwatch)
  1508. Behaviors=(BehaviorName="AdventTurret::CharacterRoot", NodeType=Selector, Child[0]=Turret_RedAlert, Child[1]=SkipMove) ; , Child[1]=TryOverwatch)
  1509. Behaviors=(BehaviorName=Turret_RedAlert, NodeType=Sequence, Child[0]=IsRedAlert, Child[1]=TurretRedAbilitySelector)
  1510. Behaviors=(BehaviorName=TurretRedAbilitySelector, NodeType=Selector, Child[0]=MimicBeaconBehavior, Child[1]=TurretRedFirstActionSelector, Child[2]=ConsiderTakingOverwatch)
  1511. Behaviors=(BehaviorName=TurretRedFirstActionSelector, NodeType=Sequence, Child[0]=NotLastActionPoint, Child[1]=Turret_TryShootOrReload)
  1512. Behaviors=(BehaviorName=Turret_TryShootOrReload, NodeType=Selector, Child[0]=Turret_ShootIfAvailable, Child[1]=NeedsReload)
  1513. Behaviors=(BehaviorName=Turret_ShootIfAvailable, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardShot, Child[1]=Turret_SelectTargetForStandardShot, Child[2]=SelectAbility-StandardShot)
  1514. Behaviors=(BehaviorName=Turret_SelectTargetForStandardShot, NodeType=Sequence, Child[0]=SetTargetStack-StandardShot, Child[1]=TurretSelectBestTarget, Child[2]=HasValidTarget-StandardShot)
  1515. Behaviors=(BehaviorName=TurretSelectBestTarget, NodeType=RepeatUntilFail, Child[0]=TurretEvaluateTarget)
  1516. Behaviors=(BehaviorName=TurretEvaluateTarget, NodeType=Sequence, Child[0]=SetNextTarget, Child[1]=TargetScoreHitChance, Child[2]=GenericScoreTargetRandomly, Child[3]=TargetScoreInvalidateCivilians, Child[4]=TargetScoreInvalidatePriorityObject, Child[5]=UpdateBestTarget)
  1517. Behaviors=(BehaviorName=TargetScoreInvalidatePriorityObject, NodeType=Successor, Child[0]=ScoreTargetOutIfPriorityObject)
  1518. Behaviors=(BehaviorName=ScoreTargetOutIfPriorityObject, NodeType=Sequence, Child[0]=TargetIsPriorityObject, Child[1]=AddToTargetScore_-1000)
  1519. Behaviors=(BehaviorName="Andromedon::CharacterRoot", NodeType=Selector, Child[0]=AndromedonRobotBranch, Child[1]=AndromedonRoot)
  1520. Behaviors=(BehaviorName=AndromedonRobotBranch, NodeType=Sequence, Child[0]=TemplateNameIs-AndromedonRobot, Child[1]=AndromedonRobotRoot)
  1521. Behaviors=(BehaviorName=TemplateNameIs-AndromedonRobot, NodeType=Condition)
  1522. Behaviors=(BehaviorName=AndromedonRoot, NodeType=Selector, Child[0]=TryJob, Child[1]=GenericGreenMovement, Child[2]=AndromedonRedAlert, Child[3]=GenericAlertHandler)
  1523. Behaviors=(BehaviorName=AndromedonRedAlert, NodeType=Sequence, Child[0]=IsRedAlert, Child[1]=AndromedonRedAbilitySelector)
  1524. Behaviors=(BehaviorName=AndromedonRedAbilitySelector, NodeType=Selector, Child[0]=MimicBeaconBehavior, Child[1]=AndromedonRedFirstAction, Child[2]=AndromedonRedLastAction)
  1525. Behaviors=(BehaviorName=AndromedonRedFirstAction, NodeType=Sequence, Child[0]=NotLastActionPoint, Child[1]=AndromedonRedFirstActionSelector)
  1526. Behaviors=(BehaviorName=AndromedonRedFirstActionSelector, NodeType=Selector, Child[0]=TryStandardMelee, Child[1]=TryMoveThenAcidBlob, Child[2]=DoIfFlankedMove, Child[3]=SelectMoveStandard, Child[4]=TryShootOrReloadOrOverwatch, Child[5]=HuntEnemyWithCover)
  1527. Behaviors=(BehaviorName=AndromedonRedLastAction, NodeType=Sequence, Child[0]=IsLastActionPoint, Child[1]=AndromedonRedLastActionSelector)
  1528. Behaviors=(BehaviorName=AndromedonRedLastActionSelector, NodeType=Selector, Child[0]=TryStandardMelee, Child[1]=TryAcidBlob, Child[2]=TryShootOrReloadOrOverwatch, Child[3]=HuntEnemyWithCover, Child[4]=SelectMoveStandard)
  1529. Behaviors=(BehaviorName="AndromedonRobot::CharacterRoot", NodeType=Selector, Child[0]=MimicBeaconBehavior, Child[1]=GenericEnemyMeleeRootFANATIC)
  1530. Behaviors=(BehaviorName=AndromedonRobotRoot, NodeType=Selector, Child[0]=MimicBeaconBehavior, Child[1]=GenericEnemyMeleeRootFANATIC)
  1531. Behaviors=(BehaviorName="Archon::CharacterRoot", NodeType=Selector, Child[0]=TryJob, Child[1]=GenericGreenMovement, Child[2]=ArchonRedAlert, Child[3]=GenericAlertHandler)
  1532. Behaviors=(BehaviorName=ArchonRedAlert, NodeType=Sequence, Child[0]=IsRedAlert, Child[1]=ArchonRedAbilitySelector)
  1533. Behaviors=(BehaviorName=ArchonRedAbilitySelector, NodeType=Selector, Child[0]=MimicBeaconBehavior, Child[1]=ArchonRedFirstAction, Child[2]=ArchonRedLastAction)
  1534. Behaviors=(BehaviorName=ArchonRedFirstAction, NodeType=Sequence, Child[0]=NotLastActionPoint, Child[1]=ArchonFirstActionSelector)
  1535. Behaviors=(BehaviorName=ArchonFirstActionSelector, NodeType=Selector, Child[0]=TryFrenziedMoveAndAttack, Child[1]=TryMoveThenBlazingPinions, Child[2]=TryStandardMelee, Child[3]=DoIfFlankedMove, Child[4]=SelectMoveStandard, Child[5]=TryShootOrReloadOrOverwatch, Child[6]=HuntEnemyWithCover)
  1536. Behaviors=(BehaviorName=TryMoveThenBlazingPinions, NodeType=Selector, Child[0]=TryMoveForBlazingPinions, Child[1]=TryBlazingPinions)
  1537. Behaviors=(BehaviorName=TryMoveForBlazingPinions, NodeType=Sequence, Child[0]=SafeToMove, Child[1]=IsAbilityReady-BlazingPinionsStage1, Child[2]=FindPotentialAoETargets-BlazingPinionsBasicProfile, Child[3]=MoveStandardIfFirstAbility-BlazingPinions)
  1538. Behaviors=(BehaviorName=ArchonRedLastAction, NodeType=Sequence, Child[0]=IsLastActionPoint, Child[1]=ArchonRedLastActionSelector)
  1539. Behaviors=(BehaviorName=ArchonRedLastActionSelector, NodeType=Selector, Child[0]=TryFrenziedAttack, Child[1]=TryBlazingPinions, Child[2]=TryStandardMelee, Child[3]=TryShootOrReloadOrOverwatch, Child[4]=HuntEnemy, Child[5]=SelectMoveStandard)
  1540. Behaviors=(BehaviorName=TryFrenziedAttack, NodeType=Sequence, Child[0]=AffectedByEffect-FrenzyEffect, Child[1]=TryStandardMelee)
  1541. Behaviors=(BehaviorName=TryFrenziedMoveAndAttack, NodeType=Sequence, Child[0]=AffectedByEffect-FrenzyEffect, Child[1]=TryAttackOrDashAndAttack)
  1542. Behaviors=(BehaviorName=TryAttackOrDashAndAttack, NodeType=Selector, Child[0]=TryStandardMelee, Child[1]=TryStandardMeleeDashFANATICUnsafe)
  1543. Behaviors=(BehaviorName="Berserker::CharacterRoot", NodeType=Selector, Child[0]=TryJobUnsafe, Child[1]=GenericGreenMovement, Child[2]=BerserkerMeleeRedAlert, Child[3]=GenericAlertHandler)
  1544. Behaviors=(BehaviorName=BerserkerMeleeRedAlert, NodeType=Sequence, Child[0]=IsRedAlert, Child[1]=Berserker_RedAbilitySelector)
  1545. Behaviors=(BehaviorName=Berserker_RedAbilitySelector, NodeType=Selector, Child[0]=MimicBeaconBehavior, Child[1]=BerserkerRedFirstAction, Child[2]=BerserkerRedLastAction);
  1546. Behaviors=(BehaviorName=BerserkerRedFirstAction, NodeType=Sequence, Child[0]=NotLastActionPoint, Child[1]=BerserkerRedFirstActionSelector)
  1547. Behaviors=(BehaviorName=BerserkerRedFirstActionSelector, NodeType=Selector, Child[0]=TryBerserkerMelee, Child[1]=MoveMeleeDashFANATICUnsafe, Child[2]=HuntEnemyUnsafe)
  1548. Behaviors=(BehaviorName=BerserkerRedLastAction, NodeType=Sequence, Child[0]=IsLastActionPoint, Child[1]=BerserkerRedLastActionSelector)
  1549. Behaviors=(BehaviorName=BerserkerRedLastActionSelector, NodeType=Selector, Child[0]=TryBerserkerMelee, Child[1]=MoveMeleeDashFANATICUnsafe, Child[2]=HuntEnemyUnsafe)
  1550. Behaviors=(BehaviorName="Chryssalid::CharacterRoot", NodeType=Selector, Child[0]=ChryssalidCocoonBranch, Child[1]=ChryssalidRoot)
  1551. Behaviors=(BehaviorName=ChryssalidCocoonBranch, NodeType=Sequence, Child[0]=IsChryssalidCocoon, Child[1]=CocoonRoot)
  1552. Behaviors=(BehaviorName=IsChryssalidCocoon, NodeType=Selector, Child[0]=TemplateNameIs-ChryssalidCocoon, Child[1]=TemplateNameIs-ChryssalidCocoonHuman)
  1553. Behaviors=(BehaviorName=TemplateNameIs-ChryssalidCocoon, NodeType=Condition)
  1554. Behaviors=(BehaviorName=TemplateNameIs-ChryssalidCocoonHuman, NodeType=Condition)
  1555. Behaviors=(BehaviorName=ChryssalidRoot, NodeType=Selector, Child[0]=ChryssalidHeatSeekProtocol, Child[1]=SkipIfBurrowed, Child[2]=TryJobTerrorist, Child[3]=TryJobChargerUnsafe, Child[4]=ChryssalidGreenAlert, Child[5]=ChryssalidRedAlert, Child[6]=ChryssalidYellowAlert)
  1556. Behaviors=(BehaviorName=ChryssalidRedAlert, NodeType=Sequence, Child[0]=IsRedAlert, Child[1]=ChryssalidRedAbilitySelector)
  1557. Behaviors=(BehaviorName=ChryssalidRedAbilitySelector, NodeType=Selector, Child[0]=TryJobUnsafe, Child[1]=MimicBeaconBehavior, Child[2]=ChryssalidRedActionSelector)
  1558. Behaviors=(BehaviorName=ChryssalidRedActionSelector, NodeType=Selector, Child[0]=TryMelee66, Child[1]=TryRunAndBurrow33)
  1559. Behaviors=(BehaviorName=TryMelee66, NodeType=Sequence, Child[0]=SSSetMeleeValueIfUnset, Child[1]=CheckMeleeUnder67, Child[2]=ChryssalidMeleeSelector)
  1560. Behaviors=(BehaviorName=SSSetMeleeValueIfUnset, NodeType=Successor, Child[0]=SetMeleeValueIfUnset)
  1561. Behaviors=(BehaviorName=SetMeleeValueIfUnset, NodeType=Sequence, Child[0]=MeleeValueUnset, Child[1]=SetMeleeValue)
  1562. Behaviors=(BehaviorName=MeleeValueUnset, NodeType=Inverter, Child[0]=HasUnitValue-MeleeChance)
  1563. Behaviors=(BehaviorName=HasUnitValue-MeleeChance, NodeType=Condition)
  1564. Behaviors=(BehaviorName=SetMeleeValue, NodeType=Selector, Child[0]=DisableBurrowChanceIfIneligible, Child[1]=SetRandUnitValue-MeleeChance)
  1565. Behaviors=(BehaviorName=DisableBurrowChanceIfIneligible, NodeType=Sequence, Child[0]=BurrowOptionNotAvailable, Child[1]=SetUnitValue-MeleeChance)
  1566. Behaviors=(BehaviorName=BurrowOptionNotAvailable, NodeType=Selector, Child[0]=IsAtEndOfAxisOfPlay, Child[1]=HasXComUnitsCloserToObjective)
  1567. Behaviors=(BehaviorName=HasXComUnitsCloserToObjective, NodeType=Condition, Param[0]=10); True when any XCom unit is more than Param[0] meters closer to objective.
  1568. Behaviors=(BehaviorName=IsAtEndOfAxisOfPlay, NodeType=StatCondition, Param[0]=ObjectiveDistance, Param[1]="<=", Param[2]=27) ;Check if within sight range of objective. If so, do not bother with burrowing.
  1569. Behaviors=(BehaviorName=SetRandUnitValue-MeleeChance, NodeType=Action, Param[0]=100) ; Random chance to run away and burrow or fight. Param[1] DNE = Set once per mission.
  1570. Behaviors=(BehaviorName=SetUnitValue-MeleeChance, NodeType=Action, Param[0]=1) ;Disable chance to burrow again.
  1571. Behaviors=(BehaviorName=TryRunAndBurrow33, NodeType=Sequence, Child[0]=CheckMeleeOver67, Child[1]=ChryssalidRunAndBurrowSelector)
  1572. Behaviors=(BehaviorName=CheckMeleeUnder67, NodeType=StatCondition, Param[0]=UnitValue-MeleeChance, Param[1]="<", Param[2]=67)
  1573. Behaviors=(BehaviorName=CheckMeleeOver67, NodeType=StatCondition, Param[0]=UnitValue-MeleeChance, Param[1]=">=", Param[2]=67)
  1574. Behaviors=(BehaviorName=ChryssalidRunAndBurrowSelector, NodeType=Selector, Child[0]=BurrowIfOutOfView, Child[1]=TryDashMoveForBurrow)
  1575. Behaviors=(BehaviorName=BurrowIfOutOfView, NodeType=Sequence, Child[0]=NoVisibleEnemies, Child[1]=TryBurrow)
  1576. Behaviors=(BehaviorName=ChryssalidMeleeSelector, NodeType=Selector, Child[0]=TryMeleeOnCivilian, Child[1]=TryStandardMeleeDashFANATICUnsafe, Child[2]=HuntEnemyUnsafe)
  1577. Behaviors=(BehaviorName=TryMeleeOnCivilian, NodeType=Sequence, Child[0]=NumKilledCiviliansIsLessThanTurnCount, Child[1]=HasVisibleCivilianInMoveRange, Child[2]=Rand50AttackCivilian)
  1578. Behaviors=(BehaviorName=HasVisibleCivilianInMoveRange, NodeType=Condition) ; Visible to both players, in move range to unit.
  1579. Behaviors=(BehaviorName=Rand50AttackCivilian, NodeType=RandFilter, Child[0]=MeleeAttackNearestCivilian, Param[0]=50)
  1580. Behaviors=(BehaviorName=MeleeAttackNearestCivilian, NodeType=Sequence, Child[0]=SelectClosestCivilianInRange, Child[1]=SelectAbility-StandardMelee)
  1581. Behaviors=(BehaviorName=SelectClosestCivilianInRange, NodeType=Sequence, Child[0]=SetTargetStack-StandardMelee, Child[1]=SelectClosestCivilianForStandardMelee, Child[2]=HasValidTarget-StandardMelee)
  1582. Behaviors=(BehaviorName=SelectClosestCivilianForStandardMelee, NodeType=RepeatUntilFail, Child[0]=EvaluateMeleeTargetForClosestCivilian)
  1583. Behaviors=(BehaviorName=EvaluateMeleeTargetForClosestCivilian, NodeType=Sequence, Child[0]=SetNextTarget, Child[1]=TargetScoreClosestCivilianIfInRange, Child[2]=UpdateBestTarget)
  1584. Behaviors=(BehaviorName=TargetScoreClosestCivilianIfInRange, NodeType=Successor, Child[0]=ScoreClosestCivilianIfInRange)
  1585. Behaviors=(BehaviorName=ScoreClosestCivilianIfInRange, NodeType=Sequence, Child[0]=TargetIsCivilian, Child[1]=TargetIsNotAlien, Child[2]=IsTargetInMovementRange-StandardMelee, Child[3]=TargetScoreByScaledDistance-1, Child[4]=AddToTargetScore_100)
  1586. Behaviors=(BehaviorName=ChryssalidYellowAlert, NodeType=Sequence, Child[0]=IsYellowAlert, Child[1]=ChryssalidYellowAbilitySelector)
  1587. Behaviors=(BehaviorName=ChryssalidYellowAbilitySelector, NodeType=Selector, Child[0]=ChryssalidHeatSeekProtocol, Child[1]=ChryssalidUnburrowedProtocol, Child[2]=TryJobUnsafe, Child[3]=GenericAlertHandler, Child[4]=SkipMove)
  1588. Behaviors=(BehaviorName=ChryssalidHeatSeekProtocol, NodeType=Sequence, Child[0]=ChryssalidShouldTriggerHeatSeek, Child[1]=AlertAndUnburrowOrHeatSeek)
  1589. Behaviors=(BehaviorName=ChryssalidShouldTriggerHeatSeek, NodeType=Selector, Child[0]=BurrowedAndEncounterBandPassed, Child[1]=BurrowedandLastGroupRemaining, Child[2]=IsUnitTypeVisible-MimicBeacon)
  1590. Behaviors=(BehaviorName=HasEncounterBandBeenPassed, NodeType=Condition)
  1591. Behaviors=(BehaviorName=BurrowedAndEncounterBandPassed, NodeType=Sequence, Child[0]=AffectedByEffect-Burrowed, Child[1]=HasEncounterBandBeenPassed)
  1592. Behaviors=(BehaviorName=BurrowedandLastGroupRemaining, NodeType=Sequence, Child[0]=AffectedByEffect-Burrowed, Child[1]=AreAllRemainingAlliesUnderEffect-Burrowed)
  1593. Behaviors=(BehaviorName=AreAllRemainingAlliesUnderEffect-Burrowed, NodeType=Condition)
  1594. Behaviors=(BehaviorName=AlertAndUnburrowOrHeatSeek, NodeType=Selector, Child[0]=TryAlert, Child[1]=TryUnburrow, Child[2]=MimicBeaconBehavior, Child[3]=SelectHeatSeekMove, Child[4]=GenericAlertHandler)
  1595. Behaviors=(BehaviorName=TryAlert, NodeType=Sequence, Child[0]=IsGreenAlert, Child[1]=DisableGroupMove, Child[2]=SelectAnyYellowAlertTarget, Child[3]=SelectAbility-YellowAlert)
  1596. Behaviors=(BehaviorName=SelectAnyYellowAlertTarget, NodeType=Sequence, Child[0]=SetTargetStack-YellowAlert, Child[1]=GenericSelectTargetRandomly, Child[2]=HasValidTarget-YellowAlert)
  1597. Behaviors=(BehaviorName=SelectAbility-YellowAlert, NodeType=Action)
  1598. Behaviors=(BehaviorName=SetTargetStack-YellowAlert, NodeType=Action)
  1599. Behaviors=(Behaviorname=HasValidTarget-YellowAlert, NodeType=Condition)
  1600. Behaviors=(BehaviorName=ChryssalidGreenAlert, NodeType=Sequence, Child[0]=ShouldPatrol, Child[1]=ChryssalidGreenAbilitySelector)
  1601. Behaviors=(BehaviorName=ChryssalidGreenAbilitySelector, NodeType=Selector, Child[0]=ChryssalidUnburrowedProtocol, Child[1]=TryJobUnsafe, Child[2]=GenericGreenMovement)
  1602. Behaviors=(BehaviorName=ChryssalidUnburrowedProtocol, NodeType=Sequence, Child[0]=IsUnburrowed, Child[1]=GroupSize1, Child[2]=ChryssalidMoveOrBurrow)
  1603. Behaviors=(BehaviorName=ChryssalidMoveOrBurrow, NodeType=Selector, Child[0]=MoveForBurrowIfFirstAction, Child[1]=TryBurrowIfNotOnJob, Child[2]=TryDashMoveForBurrow)
  1604. Behaviors=(BehaviorName=MoveForBurrowIfFirstAction, NodeType=Sequence, Child[0]=NotLastActionPoint, Child[1]=TryBurrowMovement)
  1605. Behaviors=(BehaviorName=TryBurrowMovement, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardMove, Child[1]=FindBurrowDestination, Child[2]=DisableGroupMove, Child[3]=SelectAbility-StandardMove)
  1606. Behaviors=(BehaviorName=DisableGroupMove, NodeType=Action)
  1607. Behaviors=(BehaviorName=TryDashMoveForBurrow, NodeType=Sequence, Child[0]=ResetDestinationSearch, Child[1]=UseDashMovement, Child[2]=TryBurrowMovement)
  1608. Behaviors=(BehaviorName=FindBurrowDestination, NodeType=Selector, Child[0]=FindLocalBurrowDestination, Child[1]=FindClosestPointToAxisGround)
  1609. Behaviors=(BehaviorName=FindLocalBurrowDestination, NodeType=Sequence, Child[0]=SSRestrictToAxisLoSIfInRange, Child[1]=RestrictFromAlliesWithEffect-Burrowed, Child[2]=SSRestrictFromKnownEnemyLoS, Child[3]=SetNoCoverMovement, Child[4]=RestrictToGroundTiles, Child[5]=FindRestrictedDestination-MWP_Burrow)
  1610. Behaviors=(BehaviorName=SSRestrictToAxisLoSIfInRange, NodeType=Successor, Child[0]=RestrictToAxisLoSIfInRange)
  1611. Behaviors=(BehaviorName=SSRestrictFromKnownEnemyLoS, NodeType=Successor, Child[0]=RestrictFromKnownEnemyLoS)
  1612. Behaviors=(BehaviorName=RestrictToAxisLoSIfInRange, NodeType=Sequence, Child[0]=IsInMovementRangeOfAxisOfPlay, Child[1]=RestrictToAxisLoS)
  1613. Behaviors=(BehaviorName=RestrictToAxisLoS, NodeType=Action)
  1614. Behaviors=(BehaviorName=RestrictFromKnownEnemyLoS, NodeType=Action)
  1615. Behaviors=(BehaviorName=RestrictToGroundTiles, NodeType=Action)
  1616. Behaviors=(BehaviorName=FindClosestPointToAxisGround, NodeType=Action)
  1617. Behaviors=(BehaviorName=IsInMovementRangeOfAxisOfPlay, NodeType=Condition)
  1618. Behaviors=(BehaviorName=RestrictFromAlliesWithEffect-Burrowed, NodeType=Action, Param[0]="10.0f")
  1619. Behaviors=(BehaviorName=GroupSize1, NodeType=StatCondition, Param[0]=GroupSize, Param[1]="<=", Param[2]=1)
  1620. Behaviors=(BehaviorName=ChryssalidScamperRoot, NodeType=Selector, Child[0]=SkipIfBurrowed, Child[1]=MoveMeleeFANATICUnsafe, Child[2]=SelectHeatSeekMove)
  1621. Behaviors=(BehaviorName=SkipIfBurrowed, NodeType=Sequence, Child[0]=AffectedByEffect-Burrowed, Child[1]=SkipMove)
  1622. Behaviors=(BehaviorName=IsUnburrowed, NodeType=Inverter, Child[0]=AffectedByEffect-Burrowed)
  1623. Behaviors=(BehaviorName=CocoonRoot, NodeType=Selector, Child[0]=TrySpawnChryssalid, Child[1]=SkipMove)
  1624. Behaviors=(BehaviorName=TryMoveThenPsiBomb, NodeType=Selector, Child[0]=TryTeleportForPsiBomb, Child[1]=TryMoveForPsiBomb, Child[2]=TryPsiBomb)
  1625. Behaviors=(BehaviorName=TryTeleportForPsiBomb, NodeType=Sequence, Child[0]=IsAbilityReady-PsiBombStage1, Child[1]=NotLastActionPoint, Child[2]=FindPotentialAoETargets-PsiBombProfile, Child[3]=TeleportForPsiBombTarget)
  1626. Behaviors=(BehaviorName=TryMoveForPsiBomb, NodeType=Sequence, Child[0]=SafeToMove, Child[1]=IsAbilityReady-PsiBombStage1, Child[2]=NotLastActionPoint, Child[3]=FindPotentialAoETargets-PsiBombProfile, Child[4]=MoveStandardIfFirstAbility-PsiBombStage1)
  1627. Behaviors=(BehaviorName="Cyberus::CharacterRoot", NodeType=Selector, Child[0]=TryJob, Child[1]=GenericGreenMovement, Child[2]=CodexRedAlert, Child[3]=GenericAlertHandler)
  1628. Behaviors=(BehaviorName=CodexRedAlert, NodeType=Sequence, Child[0]=IsRedAlert, Child[1]=CodexRedAbilitySelector)
  1629. Behaviors=(BehaviorName=CodexRedAbilitySelector, NodeType=Selector, Child[0]=MimicBeaconBehavior, Child[1]=CodexRedFirstAction, Child[2]=CodexRedLastAction)
  1630. Behaviors=(BehaviorName=CodexRedFirstAction, NodeType=Sequence, Child[0]=NotLastActionPoint, Child[1]=CodexRedFirstActionSelector)
  1631. Behaviors=(BehaviorName=CodexRedFirstActionSelector, NodeType=Selector, Child[0]=TryMoveThenPsiBomb, Child[1]=DoIfFlankedMove_Teleport, Child[2]=TryTeleportDefensive, Child[3]=SelectMove_JobOrFlanking, Child[4]=TryShootOrReloadOrOverwatch, Child[5]=HuntEnemyWithCover)
  1632. Behaviors=(BehaviorName=CodexRedLastAction, NodeType=Sequence, Child[0]=IsLastActionPoint, Child[1]=CodexRedLastActionSelector)
  1633. Behaviors=(BehaviorName=CodexRedLastActionSelector, NodeType=Selector, Child[0]=TryPsiBomb, Child[1]=TryShootOrReloadOrOverwatch, Child[2]=HuntEnemyWithCover, Child[3]=SelectMove_JobOrFlanking)
  1634. Behaviors=(BehaviorName=CodexSometimesPsiBomb, NodeType=RandFilter, Child[0]=TryPsiBomb, Param[0]=33)
  1635. Behaviors=(BehaviorName=DoIfFlankedMove_Teleport, NodeType=Sequence, Child[0]=CheckIfNeedToMove, Child[1]=FlankedMoveSelector_Teleport)
  1636. Behaviors=(BehaviorName=FlankedMoveSelector_Teleport, NodeType=Selector, Child[0]=TryTeleportDefensive, Child[1]=MoveAdvanceToCoverUnsafe, Child[2]=FallBack)
  1637. Behaviors=(BehaviorName="Cyberus::MoveTowardMimicBeacon", NodeType=Selector, Child[0]=TryTeleportTowardMimicBeacon, Child[1]=TryStandardMoveTowardMimicBeacon)
  1638. Behaviors=(BehaviorName=TryTeleportTowardMimicBeacon, NodeType=Sequence, Child[0]=IsAbilityAvailable-Teleport, Child[1]=UseDashMovement, Child[2]=FindDestinationTowardMimicBeacon, Child[3]=SelectAbility-Teleport)
  1639. Behaviors=(BehaviorName="Gatekeeper::CharacterRoot", NodeType=Selector, Child[0]=TryJob, Child[1]=GenericGreenMovement, Child[2]=GateKeeperRedAlert, Child[3]=GateKeeperNoEnemySightedMove)
  1640. Behaviors=(BehaviorName=GateKeeperRedAlert, NodeType=Sequence, Child[0]=IsRedAlert, Child[1]=GateKeeperRedAbilitySelector)
  1641. Behaviors=(BehaviorName=GateKeeperRedAbilitySelector, NodeType=Selector, Child[0]=MimicBeaconBehavior, Child[1]=GateKeeperRedFirstAction, Child[2]=GateKeeperRedLastAction)
  1642. Behaviors=(BehaviorName=GateKeeperRedFirstAction, NodeType=Sequence, Child[0]=NotLastActionPoint, Child[1]=GateKeeperRedFirstActionSelector)
  1643. Behaviors=(BehaviorName=GateKeeperRedFirstActionSelector, NodeType=Selector, Child[0]=TryMoveThenAnimaInversionCorpse, Child[1]=TryMoveThenAnimaInversionMixed, Child[2]=TryAnimaConsumeOnEnemy, Child[3]=TryAnimaConsumeOnAlly, Child[4]=MoveNoCover, Child[5]=ShootIfAvailable, Child[6]=HuntEnemy)
  1644. Behaviors=(BehaviorName=GateKeeperRedLastAction, NodeType=Sequence, Child[0]=IsLastActionPoint, Child[1]=GateKeeperRedLastActionSelector)
  1645. Behaviors=(BehaviorName=GateKeeperRedLastActionSelector, NodeType=Selector, Child[0]=TryAnimaInversionCorpses, Child[1]=TryAnimaInversionMixed, Child[2]=TryAnimaConsumeOnEnemy, Child[3]=TryAnimaConsumeOnAlly, Child[4]=GateKeeperOpenOrClose, Child[5]=TryShootOrReloadOrOverwatch, Child[6]=MoveNoCover, Child[7]=HuntEnemy)
  1646. Behaviors=(BehaviorName=GateKeeperNoEnemySightedMove, NodeType=Selector, Child[0]=TryAnimaInversionCorpses, Child[1]=TryAnimaInversionMixed, Child[2]=TryGatekeeperClose, Child[3]=GenericAlertHandler, Child[4]=GenericGreenMovement)
  1647. Behaviors=(BehaviorName=GateKeeperOpenOrClose, NodeType=Selector, Child[0]=CloseIfInObviousDanger, Child[1]=DoIfFlankedMove, Child[2]=GateKeeperCheckOpen)
  1648. Behaviors=(BehaviorName=CloseIfInObviousDanger, NodeType=Sequence, Child[0]=IsAbilityAvailable-GatekeeperClose, Child[1]=CheckIfInDanger, Child[2]=TryGatekeeperClose)
  1649. Behaviors=(BehaviorName=GateKeeperCheckOpen, NodeType=Sequence, Child[0]=IsAbilityAvailable-GatekeeperOpen, Child[1]=NoTargetsAvailable, Child[2]=TryGatekeeperOpen) ; open if at high life
  1650. Behaviors=(BehaviorName="Muton::CharacterRoot", NodeType=Selector, Child[0]=TryJob, Child[1]=GenericGreenMovement, Child[2]=MutonRedAlert, Child[3]=GenericAlertHandler)
  1651. Behaviors=(BehaviorName=MutonRedAlert, NodeType=Sequence, Child[0]=IsRedAlert, Child[1]=MutonRedAbilitySelector)
  1652. Behaviors=(BehaviorName=MutonRedAbilitySelector, NodeType=Selector, Child[0]=MimicBeaconBehavior, Child[1]=MutonRedFirstAction, Child[2]=MutonRedLastAction)
  1653. Behaviors=(BehaviorName=MutonRedFirstAction, NodeType=Sequence, Child[0]=NotLastActionPoint, Child[1]=MutonRedFirstActionSelector)
  1654. Behaviors=(BehaviorName=MutonRedFirstActionSelector, NodeType=Selector, Child[0]=TryBayonet, Child[1]=TryMoveThenGrenade, Child[2]=TryMoveToSuppressClosest, Child[3]=TryTwoTurnAttackSupportIfSafe, Child[4]=SelectMoveProfileByJob, Child[5]=TryShootOrReloadOrOverwatch, Child[6]=HuntEnemyWithCover)
  1655. Behaviors=(BehaviorName=MutonRedLastAction, NodeType=Sequence, Child[0]=IsLastActionPoint, Child[1]=MutonRedLastActionSelector)
  1656. Behaviors=(BehaviorName=MutonRedLastActionSelector, NodeType=Selector, Child[0]=TryBayonet, Child[1]=TryGrenade, Child[2]=TrySuppressClosest, Child[3]=TryShootOrReloadOrOverwatch, Child[4]=HuntEnemyWithCover, Child[5]=SelectMove_JobOrAggressive)
  1657. Behaviors=(BehaviorName=TrySuppressClosest, NodeType=Sequence, Child[0]=IsAbilityAvailable-Suppression, Child[1]=CheckShouldSuppressVar, Child[2]=SelectTargetForSuppression, Child[3]=SelectAbility-Suppression)
  1658. Behaviors=(BehaviorName=SelectTargetForSuppression, NodeType=Sequence, Child[0]=SetTargetStack-Suppression, Child[1]=SelectBestSuppressionTarget, Child[2]=HasValidTarget-Suppression)
  1659. Behaviors=(BehaviorName=TryMoveToSuppressClosest, NodeType=Sequence, Child[0]=SafeToMove, Child[1]=IsAbilityReady-Suppression, Child[2]=CheckShouldSuppressVar, Child[3]=SelectClosestPotentialSuppressionTarget, Child[4]=MoveStandardIfFirstAbility-Suppression)
  1660. Behaviors=(BehaviorName=CheckShouldSuppressVar, NodeType=Sequence, Child[0]=InitSetSuppressVar, Child[1]=ShouldSuppress)
  1661. Behaviors=(BehaviorName=ShouldSuppress, NodeType=StatCondition, Param[0]=BTVar, Param[1]="!=", Param[2]="0", Param[3]="ShouldSuppress")
  1662. Behaviors=(BehaviorName=InitSetSuppressVar, NodeType=Selector, Child[0]=HasBTVar-ShouldSuppress, Child[1]=UpdateShouldSuppressVar)
  1663. Behaviors=(BehaviorName=HasBTVar-ShouldSuppress, NodeType=Condition)
  1664. Behaviors=(BehaviorName=UpdateShouldSuppressVar, NodeType=Selector, Child[0]=TrySetShouldSuppressTrue, Child[1]=SetShouldSuppressFalse)
  1665. Behaviors=(BehaviorName=TrySetShouldSuppressTrue, NodeType=Sequence, Child[0]=AnyAlliesVisible, Child[1]=RollForSuppressionPerVisibleAlly, Child[2]=SetShouldSuppressTrue)
  1666. Behaviors=(BehaviorName=SetShouldSuppressTrue, NodeType=Action, Param[0]=SetBTVar, Param[1]="ShouldSuppress", Param[2]="1")
  1667. Behaviors=(BehaviorName=SetShouldSuppressFalse, NodeType=Action, Param[0]=SetBTVar, Param[1]="ShouldSuppress", Param[2]="0")
  1668. Behaviors=(BehaviorName=RollForSuppressionPerVisibleAlly, NodeType=Condition, Param[0]=10); Param[0]=Percent chance per visible ally to succeed.
  1669. Behaviors=(BehaviorName="PsiZombie::CharacterRoot", NodeType=Selector, Child[0]=MimicBeaconBehavior, Child[1]=SpectralZombieBranch, Child[2]=GenericEnemyMeleeRootFANATIC)
  1670. Behaviors=(BehaviorName=SelectHeatSeekMoveNoDash, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardMove, Child[1]=HeatSeekNearestUnconcealed, Child[2]=SelectAbility-StandardMove)
  1671. Behaviors=(BehaviorName=TemplateNameIs-SpectralZombieM1, NodeType=Condition)
  1672. Behaviors=(BehaviorName=SelectFromSpectralZombieAbilities, NodeType=Selector, Child[0]=TryAlert, Child[1]=HeatSeekIfNoneVisible, Child[2]=MimicBeaconBehavior, Child[3]=TryPsiSelfDestruct, Child[4]=SpectralZombieAttack, Child[5]=IfFirstActionMoveMeleeDashUnsafe, Child[6]=SkipMove)
  1673. Behaviors=(BehaviorName=SpectralZombieAttack, NodeType=Sequence, Child[0]=NotJustSpawnedThisTurn, Child[1]=GenericEnemyMeleeRootFANATIC)
  1674. Behaviors=(BehaviorName=NotJustSpawnedThisTurn, NodeType=Inverter, Child[0]=JustSpawnedThisTurn)
  1675. Behaviors=(BehaviorName=JustSpawnedThisTurn, NodeType=Condition)
  1676. Behaviors=(BehaviorName=SpectralZombieBranch, NodeType=Sequence, Child[0]=TemplateNameIs-SpectralZombieM1, Child[1]=SelectFromSpectralZombieAbilities)
  1677. Behaviors=(BehaviorName="SpectralZombie::CharacterRoot", NodeType=Selector, Child[0]=SelectFromSpectralZombieAbilities)
  1678. Behaviors=(BehaviorName=HeatSeekIfNoneVisible, NodeType=Sequence, Child[0]=NoVisibleEnemies, Child[1]=DisableGreenAlertMovement, Child[2]=SelectHeatSeekMoveNoDash)
  1679. Behaviors=(BehaviorName="Sectoid::CharacterRoot", NodeType=Selector, Child[0]=TryJob, Child[1]=GenericGreenMovement, Child[2]=SectoidRedAlert, Child[3]=SectoidNoEnemySightedMove)
  1680. Behaviors=(BehaviorName=SectoidRedAlert, NodeType=Sequence, Child[0]=IsRedAlert, Child[1]=SectoidRedAbilitySelector)
  1681. Behaviors=(BehaviorName=SectoidRedAbilitySelector, NodeType=Selector, Child[0]=MimicBeaconBehavior, Child[1]=SectoidRedFirstAction, Child[2]=SectoidRedLastAction)
  1682. Behaviors=(BehaviorName=SectoidRedFirstAction, NodeType=Sequence, Child[0]=NotLastActionPoint, Child[1]=SectoidRedFirstActionSelector)
  1683. Behaviors=(BehaviorName=SectoidRedFirstActionSelector, NodeType=Selector, Child[0]=DoIfFlankedMove, Child[1]=SelectMove_JobOrDefensive, Child[2]=TryShootFlanked50, Child[3]=TryPsiReanimationOrMindSpinOption, Child[4]=TryShootOrReloadOrOverwatch, Child[5]=HuntEnemyWithCover)
  1684. Behaviors=(BehaviorName=SectoidRedLastAction, NodeType=Sequence, Child[0]=IsLastActionPoint, Child[1]=SectoidRedLastActionSelector)
  1685. Behaviors=(BehaviorName=SectoidRedLastActionSelector, NodeType=Selector, Child[0]=DoIfFlankedMove, Child[1]=TryShootFlanked50, Child[2]=TryPsiReanimationOrMindSpinOption, Child[3]=TryShootOrReloadOrOverwatch, Child[4]=HuntEnemyWithCover, Child[5]=SelectMove_JobOrDefensive)
  1686. Behaviors=(BehaviorName=TryPsiReanimationOrMindSpinOption, NodeType=RandSelector, Child[0]=TryPsiReanimation, Param[0]=66, Child[1]=TryMindSpinOption, Param[1]=34)
  1687. Behaviors=(BehaviorName=TryMindSpinOption, NodeType=Sequence, Child[0]=IsAbilityAvailable-MindSpin, Child[1]=SelectTargetForMindSpin, Child[2]=SelectAbility-MindSpin)
  1688. Behaviors=(BehaviorName=SectoidNoEnemySightedMove, NodeType=Selector, Child[0]=GenericOrangeMovement, Child[1]=SectoidYellowAlert, Child[2]=GenericGreenMovement)
  1689. Behaviors=(BehaviorName=SectoidYellowAlert, NodeType=Sequence, Child[0]=IsYellowAlert, Child[1]=SectoidYellowAbilitySelector)
  1690. Behaviors=(BehaviorName=SectoidYellowAbilitySelector, NodeType=Selector, Child[0]=TryPsiReanimation, Child[1]=GenericAlertHandler)
  1691. Behaviors=(BehaviorName=TryShootFlanked50, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardShot, Child[1]=SelectAnyFlankedTarget, Child[2]=ShootTargetChance50)
  1692. Behaviors=(BehaviorName=SelectAnyFlankedTarget, NodeType=Sequence, Child[0]=SetTargetStack-StandardShot, Child[1]=EvaluateFlankedTargets, Child[2]=HasValidTarget-StandardShot)
  1693. Behaviors=(BehaviorName=EvaluateFlankedTargets, NodeType=RepeatUntilFail, Child[0]=EvaluateAnyFlankedEnemies)
  1694. Behaviors=(BehaviorName=EvaluateAnyFlankedEnemies, NodeType=Sequence, Child[0]=SetNextTarget, Child[1]=SSScoreFlanked, Child[2]=UpdateBestTarget)
  1695. Behaviors=(BehaviorName=SSScoreFlanked, NodeType=Successor, Child[0]=ScoreFlanked)
  1696. Behaviors=(BehaviorName=ScoreFlanked, NodeType=Sequence, Child[0]=IsFlankingTarget, Child[1]=TargetIsEnemy, Child[2]=TargetIsNotCivilian, Child[3]=TargetNotBoundOrPanicked, Child[4]=GenericTargetEvaluations)
  1697. Behaviors=(BehaviorName="Viper::CharacterRoot", NodeType=Selector, Child[0]=TryJob, Child[1]=GenericGreenMovement, Child[2]=ViperRedAlert, Child[3]=GenericAlertHandler)
  1698. Behaviors=(BehaviorName=ViperRedAlert, NodeType=Sequence, Child[0]=IsRedAlert, Child[1]=ViperRedAbilitySelector)
  1699. Behaviors=(BehaviorName=ViperRedAbilitySelector, NodeType=Selector, Child[0]=MimicBeaconBehavior, Child[1]=ViperRedFirstAction, Child[2]=ViperRedLastAction)
  1700. Behaviors=(BehaviorName=ViperRedFirstAction, NodeType=Sequence, Child[0]=NotLastActionPoint, Child[1]=ViperRedFirstActionSelector)
  1701. Behaviors=(BehaviorName=ViperRedFirstActionSelector, NodeType=Selector, Child[0]=ConsiderTonguePullPriorityOrMelee, Child[1]=TryGetOverHere, Child[2]=TryMoveThenPoisonSpit, Child[3]=TryMoveThenPoisonSpitSingle, Child[4]=SelectMoveStandard, Child[5]=TryShootOrReloadOrOverwatch, Child[6]=HuntEnemyWithCover)
  1702. Behaviors=(BehaviorName=ViperRedLastAction, NodeType=Sequence, Child[0]=IsLastActionPoint, Child[1]=ViperRedLastActionSelector)
  1703. Behaviors=(BehaviorName=ViperRedLastActionSelector, NodeType=Selector, Child[0]=TryStandardMelee, Child[1]=TryPoisonSpit, Child[2]=TryGetOverHere, Child[3]=TryPoisonSpitSingle, Child[4]=TryShootOrReloadOrOverwatch, Child[5]=DoIfFlankedMove, Child[6]=HuntEnemyWithCover, Child[7]=SelectMoveStandard)
  1704. Behaviors=(BehaviorName="Viper::MoveTowardMimicBeacon", NodeType=Selector, Child[0]=RandTryGetOverHereOnMimicBeacon, Child[1]=TryMeleeMoveTowardMimicBeacon, Child[2]=TryStandardMoveTowardMimicBeacon)
  1705. Behaviors=(BehaviorName=RandTryGetOverHereOnMimicBeacon, NodeType=RandFilter, Child[0]=TryGetOverHereOnMimicBeacon, Param[0]=50)
  1706. Behaviors=(BehaviorName=TryGetOverHereOnMimicBeacon, NodeType=Sequence, Child[0]=IsAbilityAvailable-GetOverHere, Child[1]=SelectMimicBeaconForGetOverHere, Child[2]=SelectAbility-GetOverHere)
  1707. Behaviors=(BehaviorName=SelectMimicBeaconForGetOverHere, NodeType=Sequence, Child[0]=SetTargetStack-GetOverHere, Child[1]=SelectMimicBeaconTarget, Child[2]=HasValidTarget-GetOverHere)
  1708. Behaviors=(BehaviorName=ConsiderTonguePullPriorityOrMelee, NodeType=Sequence, Child[0]=TryStandardMelee, Child[1]=SS_ConsiderTonguePullOverMove)
  1709. Behaviors=(BehaviorName=SS_ConsiderTonguePullOverMove, NodeType=Successor, Child[0]=ConsiderTonguePullOverMove)
  1710. Behaviors=(BehaviorName=ConsiderTonguePullOverMove, NodeType=Sequence, Child[0]=IsSelectedAbility-StandardMove, Child[1]=IsAbilityAvailable-GetOverHere, Child[2]=HasBindableNeighborTile, Child[3]=SetBestTargetAsCurrentTarget-Potential, Child[4]=ShouldUseTonguePullOnTarget, Child[5]=SelectAbility-GetOverHere)
  1711. Behaviors=(BehaviorName=SetBestTargetAsCurrentTarget-Potential, NodeType=Action)
  1712. Behaviors=(BehaviorName=ShouldUseTonguePullOnTarget, NodeType=Sequence, Child[0]=IsValidTonguePullTarget, Child[1]=TargetDistanceGreaterThan4Tiles, Child[2]=TonguePullHitChance50, Child[3]=SetTargetPotential-GetOverHere)
  1713. Behaviors=(BehaviorName=TargetDistanceGreaterThan4Tiles, NodeType=StatCondition, Param[0]=PotentialTargetDistance, Param[1]=">", Param[2]=6); 6m = 4 tiles
  1714. Behaviors=(BehaviorName=TonguePullHitChance50, NodeType=StatCondition, Param[0]=PotentialHitChance-GetOverHere, Param[1]=">=", Param[2]=50)
  1715. Behaviors=(BehaviorName=IsSelectedAbility-StandardMove, NodeType=Condition)
  1716. Behaviors=(BehaviorName=SetTargetPotential-GetOverHere, NodeType=Action); Set target of 'Potential' to the target of ability 'GetOverHere'.
  1717. Behaviors=(BehaviorName="Viper::CustomMeleeTargetScore", NodeType=Sequence, Child[0]=TargetNotValidForBind, Child[1]=AddToTargetScore_-1000) ;Overwrite option for melee abilities that are restricted.
  1718. Behaviors=(BehaviorName=TargetNotValidForBind, NodeType=Selector, Child[0]=TargetIsAlien, Child[1]=TargetIsRobotic)
  1719. Behaviors=(BehaviorName="Faceless::CharacterRoot", NodeType=Selector, Child[0]=TryJobUnsafe, Child[1]=GenericGreenMovement, Child[2]=FacelessHeatSeekProtocol, Child[3]=FacelessRedAlert, Child[4]=GenericAlertHandler)
  1720. Behaviors=(BehaviorName=FacelessRedAlert, NodeType=Sequence, Child[0]=IsRedAlert, Child[1]=FacelessRedAbilitySelector)
  1721. Behaviors=(BehaviorName=FacelessRedAbilitySelector, NodeType=Selector, Child[0]=MimicBeaconBehavior, Child[1]=FacelessRedFirstAction, Child[2]=FacelessRedLastAction)
  1722. Behaviors=(BehaviorName=FacelessRedFirstAction, NodeType=Sequence, Child[0]=NotLastActionPoint, Child[1]=FacelessFirstActionSelector);
  1723. Behaviors=(BehaviorName=FacelessFirstActionSelector, NodeType=Selector, Child[0]=TryScythingClaws, Child[1]=MoveMeleeFANATICUnsafe, Child[2]=HuntEnemyUnsafe)
  1724. Behaviors=(BehaviorName=FacelessRedLastAction, NodeType=Selector, Child[0]=TryScythingClaws, Child[1]=MoveMeleeFANATICUnsafe, Child[2]=HuntEnemyUnsafe)
  1725. Behaviors=(BehaviorName="Faceless::AttackMimicBeacon", NodeType=Sequence, Child[0]=TryScythingClaws)
  1726. Behaviors=(BehaviorName=FacelessHeatSeekProtocol, NodeType=Sequence, Child[0]=FacelessShouldTriggerHeatSeek, Child[1]=SelectHeatSeekMove)
  1727. Behaviors=(BehaviorName=FacelessShouldTriggerHeatSeek, NodeType=Selector, Child[0]=NoVisibleEnemies)
  1728. Behaviors=(BehaviorName="Sectopod::CharacterRoot", NodeType=Selector, Child[0]=TryJob, Child[1]=GenericGreenMovement, Child[2]=SectopodRedAlert, Child[3]=GenericAlertHandler)
  1729. Behaviors=(BehaviorName=SectopodRedAlert, NodeType=Sequence, Child[0]=IsRedAlert, Child[1]=SectopodRedAbilitySelector)
  1730. Behaviors=(BehaviorName=SectopodRedAbilitySelector, NodeType=Selector, Child[0]=MimicBeaconBehavior, Child[1]=SectopodRedFirstAction, Child[2]=SectopodRedSecondAction, Child[3]=SectopodRedLastAction)
  1731. Behaviors=(BehaviorName=SectopodRedFirstAction, NodeType=Sequence, Child[0]=HasThreeActionPoints, Child[1]=SectopodFirstActionSelector)
  1732. Behaviors=(BehaviorName=SectopodFirstActionSelector, NodeType=Selector, Child[0]=SectopodCannonCharging, Child[1]=TryStandUp, Child[2]=TryLightningField, Child[3]=TryFirstMoveTowardVisibleEnemies50, Child[4]=ShootIfAvailable, Child[5]=TryWrathCannonS166, Child[6]=TryMoveForLightningField, Child[7]=MoveNoCover, Child[8]=TryShootOrReloadOrOverwatch, Child[9]=HuntEnemy)
  1733. Behaviors=(BehaviorName=SectopodRedSecondAction, NodeType=Sequence, Child[0]=NotLastActionPoint, Child[1]=SectopodSecondActionSelector)
  1734. Behaviors=(BehaviorName=SectopodSecondActionSelector, NodeType=Selector, Child[0]=SectopodCannonCharging, Child[1]=TryStandUp, Child[2]=TryLightningField, Child[3]=TryMoveTowardVisibleEnemies50, Child[4]=TryWrathCannonS166, Child[5]=TryMoveForLightningField, Child[6]=MoveNoCoverIfNotMoved, Child[7]=TryShootOrReloadOrOverwatch, Child[8]=HuntEnemy)
  1735. Behaviors=(BehaviorName=SectopodRedLastAction, NodeType=Sequence, Child[0]=IsLastActionPoint, Child[1]=SectopodRedLastActionSelector)
  1736. Behaviors=(BehaviorName=SectopodRedLastActionSelector, NodeType=Selector, Child[0]=SectopodCannonCharging, Child[1]=TryWrathCannonS1, Child[2]=TryLightningField, Child[3]=TryShootOrReloadOrOverwatch, Child[4]=HuntEnemy)
  1737. Behaviors=(BehaviorName=MoveNoCoverIfNotMoved, NodeType=Sequence, Child[0]=DidntJustMove, Child[1]=MoveNoCover)
  1738. Behaviors=(BehaviorName=TryStandUp, NodeType=Sequence, Child[0]=IsAbilityAvailable-SectopodHigh, Child[1]=SelectAbility-SectopodHigh)
  1739. Behaviors=(BehaviorName=IsAbilityAvailable-SectopodHigh, NodeType=Condition)
  1740. Behaviors=(BehaviorName=SelectAbility-SectopodHigh, NodeType=Action)
  1741. Behaviors=(BehaviorName=TryWrathCannonS166, NodeType=RandFilter, Child[0]=TryWrathCannon, Param[0]=66)
  1742. Behaviors=(BehaviorName=SectopodCannonCharging, NodeType=Sequence, Child[0]=AffectedByEffect-WrathCannonStage1Effect, Child[1]=SectopodChargingSelector)
  1743. Behaviors=(BehaviorName=SectopodChargingSelector, NodeType=Selector, Child[0]=TryShootOrReloadIfNotLastActionPoint, Child[1]=Overwatch50IfLastAction, Child[2]=TryShootOrReloadOrOverwatch, Child[3]=SkipMove)
  1744. Behaviors=(BehaviorName=Overwatch50IfLastAction, NodeType=Sequence, Child[0]=IsLastActionPoint, Child[1]=RandOverwatch50)
  1745. Behaviors=(BehaviorName=TryShootOrReloadIfNotLastActionPoint, NodeType=Sequence, Child[0]=NotLastActionPoint, Child[1]=TryShootOrReload)
  1746. Behaviors=(BehaviorName=IsAbilityAvailable-SectopodLightningField, NodeType=Condition)
  1747. Behaviors=(BehaviorName=IsAbilityReady-SectopodLightningField, NodeType=Condition)
  1748. Behaviors=(BehaviorName=SelectAbility-SectopodLightningField, NodeType=Action)
  1749. Behaviors=(BehaviorName=TryLightningField, NodeType=Sequence, Child[0]=IsAbilityAvailable-SectopodLightningField, Child[1]=HasAnyLightningFieldTargets, Child[2]=SelectAbility-SectopodLightningField)
  1750. Behaviors=(BehaviorName=HasAnyLightningFieldTargets, NodeType=StatCondition, Param[0]=AbilityTargetUnitCount-SectopodLightningField, Param[1]=">", Param[2]=1); >1 because it always sets itself as the primary target.
  1751. Behaviors=(BehaviorName=TryFirstMoveTowardVisibleEnemies50, NodeType=Sequence, Child[0]=AnyLivingEnemyVisible, Child[1]=TryMoveForLightningField50)
  1752. Behaviors=(BehaviorName=TryMoveTowardVisibleEnemies50, NodeType=Sequence, Child[0]=AnyLivingEnemyVisible, Child[1]=DidntJustMove, Child[2]=TryMoveForLightningField50)
  1753. Behaviors=(BehaviorName=TryMoveForLightningField50, NodeType=RandFilter, Child[0]=TryMoveForLightningField, Param[0]=50)
  1754. Behaviors=(BehaviorName=TryMoveForLightningField, NodeType=Sequence, Child[0]=DidntJustMove, Child[1]=SafeToMove, Child[2]=IsAbilityReady-SectopodLightningField, Child[3]=MoveStandardIfFirstAbility-LightningField, Child[4]=MoveMeleeFANATICUnsafe)
  1755. Behaviors=(BehaviorName=MoveStandardIfFirstAbility-LightningField, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardMove, Child[1]=NotLastActionPoint, Child[2]=FindLightningFieldDestination, Child[3]=SelectAbility-StandardMove)
  1756. Behaviors=(BehaviorName=FindLightningFieldDestination, NodeType=Sequence, Child[0]=SelectTargetForLightningField, Child[1]=ResetDestinationSearch, Child[2]=RestrictToAbilityRange-SectopodLightningField, Child[3]=RestrictToEnemyLoS, Child[4]=FindRestrictedDestination-MWP_Standard)
  1757. Behaviors=(BehaviorName=SelectTargetForLightningField, NodeType=Sequence, Child[0]=SetPotentialTargetStack, Child[1]=SelectBestPotentialTargetForMelee, Child[2]=HasValidTarget-Potential)
  1758. Behaviors=(BehaviorName=RestrictToAbilityRange-SectopodLightningField, NodeType=Action)
  1759. Behaviors=(BehaviorName=WasLastAbility-StandardMove, NodeType=Condition)
  1760. Behaviors=(BehaviorName=DidntJustMove, NodeType=Inverter, Child[0]=WasLastAbility-StandardMove)
  1761. Behaviors=(BehaviorName=HasJob, NodeType=Condition)
  1762. Behaviors=(BehaviorName=HasUnengagedJob, NodeType=Condition)
  1763. Behaviors=(BehaviorName=IsMyJob-Soldier, NodeType=Condition)
  1764. Behaviors=(BehaviorName=IsMyJob-Aggressor, NodeType=Condition)
  1765. Behaviors=(BehaviorName=IsMyJob-Flanker, NodeType=Condition)
  1766. Behaviors=(BehaviorName=IsMyJob-Leader, NodeType=Condition)
  1767. Behaviors=(BehaviorName=IsMyJob-Support, NodeType=Condition)
  1768. Behaviors=(BehaviorName=IsMyJob-Terrorist, NodeType=Condition)
  1769. Behaviors=(BehaviorName=IsMyJob-Hunter, NodeType=Condition)
  1770. Behaviors=(BehaviorName=IsMyJob-Charger, NodeType=Condition)
  1771. Behaviors=(BehaviorName=IsMyJob-Defender, NodeType=Condition)
  1772. Behaviors=(BehaviorName=IsMyJob-Observer, NodeType=Condition)
  1773. Behaviors=(BehaviorName=IsMyJob-Prisoner, NodeType=Condition)
  1774. Behaviors=(BehaviorName=IsMyJob-Rendezvous, NodeType=Condition)
  1775. Behaviors=(BehaviorName=IsMyJob-EvacAtRendezvous, NodeType=Condition)
  1776. Behaviors=(BehaviorName=IsMyJob-AttackStrikePointOne, NodeType=Condition)
  1777. Behaviors=(BehaviorName=IsMyJob-AttackStrikePointTwo, NodeType=Condition)
  1778. Behaviors=(BehaviorName=IsMyJob-AttackStrikePointThree, NodeType=Condition)
  1779. Behaviors=(BehaviorName=IsMyJob-Executioner, NodeType=Condition)
  1780. Behaviors=(BehaviorName=IsMyJob-SentryVsLost, NodeType=Condition)
  1781. Behaviors=(BehaviorName=IsMyJob-AlwaysDoNothing, NodeType=Condition)
  1782. Behaviors=(BehaviorName=IsMyJob-GreenStandby, NodeType=Condition)
  1783. Behaviors=(BehaviorName=DoNotHaveAlwaysOnJob, NodeType=Inverter, Child[0]=DoIHaveAlwaysOnJob)
  1784. Behaviors=(BehaviorName=DoIHaveAlwaysOnJob, NodeType=Selector, Child[0]=IsMyJob-Terrorist, Child[1]=IsMyJob-Executioner, Child[2]=IsMyJob-AttackStrikePointOne, Child[3]=IsMyJob-AttackStrikePointTwo, Child[4]=IsMyJob-Hunter, Child[5]=IsMyJob-Prisoner, Child[6]=IsMyJob-SentryVsLost, Child[7]=IsMyJob-AlwaysDoNothing)
  1785. Behaviors=(BehaviorName=TryUnengagedJob, NodeType=Sequence, Child[0]=HasUnengagedJob, Child[1]=TryJobTypes)
  1786. Behaviors=(BehaviorName=TryJob, NodeType=Selector, Child[0]=TryUnengagedJob, Child[1]=TryJobObserver)
  1787. Behaviors=(BehaviorName=TryJobUnsafe, NodeType=Sequence, Child[0]=HasJob, Child[1]=TryJobTypesUnsafe)
  1788. Behaviors=(BehaviorName=TryJobTypes, NodeType=Selector, Child[0]=TryJobTerrorist, Child[1]=TryJobHunter, Child[2]=TryJobChargerUnsafe, Child[3]=TryJobDefender, Child[4]=TryJobPrisoner, Child[5]=TryJobGreenStandby, Child[6]=TryJobRendezvous, Child[7]=TryJobEvacAtRendezvous, Child[8]=TryJobAttackStrikePointOne, Child[9]=TryJobAttackStrikePointTwo, Child[10]=TryJobExecutioner, Child[11]=TryJobSentryVsLost, Child[12]=TryJobAlwaysDoNothing, )
  1789. Behaviors=(BehaviorName=TryJobTypesUnsafe, NodeType=Selector, Child[0]=TryJobTerrorist, Child[1]=TryJobHunter, Child[2]=TryJobChargerUnsafe, Child[3]=TryJobDefender, Child[4]=TryJobObserver, Child[5]=TryJobPrisoner, Child[6]=TryJobGreenStandby, Child[7]=TryJobRendezvous, Child[8]=TryJobEvacAtRendezvous, Child[9]=TryJobAttackStrikePointOne, Child[10]=TryJobAttackStrikePointTwo, Child[11]=TryJobExecutioner, Child[12]=TryJobSentryVsLost, Child[13]=TryJobAlwaysDoNothing, )
  1790. Behaviors=(BehaviorName=TryJobTerrorist, NodeType=Sequence, Child[0]=IsMyJob-Terrorist, Child[1]=JobRoot_Terrorist)
  1791. Behaviors=(BehaviorName=TryJobHunter, NodeType=Sequence, Child[0]=IsMyJob-Hunter, Child[1]=JobRoot_Hunter)
  1792. Behaviors=(BehaviorName=TryJobChargerUnsafe, NodeType=Sequence, Child[0]=IsMyJob-Charger, Child[1]=JobRoot_ChargerUnsafe)
  1793. Behaviors=(BehaviorName=TryJobDefender, NodeType=Sequence, Child[0]=IsMyJob-Defender, Child[1]=JobRoot_Defender)
  1794. Behaviors=(BehaviorName=TryJobRendezvous, NodeType=Sequence, Child[0]=IsMyJob-Rendezvous, Child[1]=JobRoot_Rendezvous)
  1795. Behaviors=(BehaviorName=TryJobEvacAtRendezvous, NodeType=Sequence, Child[0]=IsMyJob-EvacAtRendezvous, Child[1]=JobRoot_EvacAtRendezvous)
  1796. Behaviors=(BehaviorName=TryJobAttackStrikePointOne, NodeType=Sequence, Child[0]=IsMyJob-AttackStrikePointOne, Child[1]=JobRoot_AttackStrikePoint)
  1797. Behaviors=(BehaviorName=TryJobAttackStrikePointTwo, NodeType=Sequence, Child[0]=IsMyJob-AttackStrikePointTwo, Child[1]=JobRoot_AttackStrikePoint)
  1798. Behaviors=(BehaviorName=TryJobExecutioner, NodeType=Sequence, Child[0]=IsMyJob-Executioner, Child[1]=JobRoot_Executioner)
  1799. Behaviors=(BehaviorName=TryJobSentryVsLost, NodeType=Sequence, Child[0]=IsMyJob-SentryVsLost, Child[1]=JobRoot_SentryVsLost)
  1800. Behaviors=(BehaviorName=TryJobAlwaysDoNothing, NodeType=Sequence, Child[0]=IsMyJob-AlwaysDoNothing, Child[1]=JobRoot_AlwaysDoNothing)
  1801. Behaviors=(BehaviorName=TryJobObserver, NodeType=Sequence, Child[0]=IsMyJob-Observer, Child[1]=IsRedAlert, Child[2]=DoIfFlankedMove, Child[3]=SkipMove)
  1802. Behaviors=(BehaviorName=TryJobPrisoner, NodeType=Sequence, Child[0]=IsMyJob-Prisoner, Child[1]=SkipMove)
  1803. Behaviors=(BehaviorName=TryJobGreenStandby, NodeType=Sequence, Child[0]=IsMyJob-GreenStandby, Child[1]=NotYetRevealed, Child[2]=SkipMove)
  1804. Behaviors=(BehaviorName=SelectMoveProfileByJob, NodeType=Selector, Child[0]=SelectMoveIfAggressor, Child[1]=SelectMoveIfFlanker, Child[2]=SelectMoveIfLeader, Child[3]=SelectMoveIfSupport, Child[4]=SelectMoveIfObserver)
  1805. Behaviors=(BehaviorName=SelectMoveIfAggressor, NodeType=Sequence, Child[0]=IsMyJob-Aggressor, Child[1]=MoveAggressive)
  1806. Behaviors=(BehaviorName=SelectMoveIfFlanker, NodeType=Sequence, Child[0]=IsMyJob-Flanker, Child[1]=MoveFlanking)
  1807. Behaviors=(BehaviorName=SelectMoveIfLeader, NodeType=Sequence, Child[0]=IsMyJob-Leader, Child[1]=MoveAdvanceToCover)
  1808. Behaviors=(BehaviorName=SelectMoveIfSupport, NodeType=Sequence, Child[0]=IsMyJob-Support, Child[1]=MoveDefensive)
  1809. Behaviors=(BehaviorName=SelectMoveIfObserver, NodeType=Sequence, Child[0]=IsMyJob-Observer, Child[1]=ObserverMovement)
  1810. Behaviors=(BehaviorName=SelectMoveProfileByJobUnsafe, NodeType=Selector, Child[0]=SelectMoveUnsafeIfAggressor, Child[1]=SelectMoveUnsafeIfFlanker, Child[2]=SelectMoveUnsafeIfLeader, Child[3]=SelectMoveUnsafeIfSupport, Child[4]=SelectMoveUnsafeIfObserver)
  1811. Behaviors=(BehaviorName=SelectMoveUnsafeIfAggressor, NodeType=Sequence, Child[0]=IsMyJob-Aggressor, Child[1]=MoveAggressiveUnsafe)
  1812. Behaviors=(BehaviorName=SelectMoveUnsafeIfFlanker, NodeType=Sequence, Child[0]=IsMyJob-Flanker, Child[1]=MoveFlankingUnsafe)
  1813. Behaviors=(BehaviorName=SelectMoveUnsafeIfLeader, NodeType=Sequence, Child[0]=IsMyJob-Leader, Child[1]=MoveAdvanceToCoverUnsafe)
  1814. Behaviors=(BehaviorName=SelectMoveUnsafeIfSupport, NodeType=Sequence, Child[0]=IsMyJob-Support, Child[1]=MoveDefensiveUnsafe)
  1815. Behaviors=(BehaviorName=SelectMoveUnsafeIfObserver, NodeType=Sequence, Child[0]=IsMyJob-Observer, Child[1]=ObserverMovementUnsafe)
  1816. Behaviors=(BehaviorName=SelectNCMoveProfileByJob, NodeType=Selector, Child[0]=SelectNCMoveIfAggressor, Child[1]=SelectNCMoveIfFlanker, Child[2]=SelectNCMoveIfLeader, Child[3]=SelectNCMoveIfSupport, Child[4]=SelectNCMoveIfObserver)
  1817. Behaviors=(BehaviorName=SelectNCMoveIfAggressor, NodeType=Sequence, Child[0]=IsMyJob-Aggressor, Child[1]=NCMoveAggressive)
  1818. Behaviors=(BehaviorName=SelectNCMoveIfFlanker, NodeType=Sequence, Child[0]=IsMyJob-Flanker, Child[1]=NCMoveFlanking)
  1819. Behaviors=(BehaviorName=SelectNCMoveIfLeader, NodeType=Sequence, Child[0]=IsMyJob-Leader, Child[1]=NCMoveAdvanceToCover)
  1820. Behaviors=(BehaviorName=SelectNCMoveIfSupport, NodeType=Sequence, Child[0]=IsMyJob-Support, Child[1]=NCMoveDefensive)
  1821. Behaviors=(BehaviorName=SelectNCMoveIfObserver, NodeType=Sequence, Child[0]=IsMyJob-Observer, Child[1]=NCObserverMovement)
  1822. Behaviors=(BehaviorName="AdventCounterOp::CharacterRoot", NodeType=Selector, Child[0]=TryJob, Child[1]=GenericGreenMovement, Child[2]=AdvCounterOp_RedAlert, Child[3]=GenericAlertHandler)
  1823. Behaviors=(BehaviorName=AdvCounterOp_RedAlert, NodeType=Sequence, Child[0]=IsRedAlert, Child[1]=AdvCounterOp_RedAbilitySelector)
  1824. Behaviors=(BehaviorName=AdvCounterOp_RedAbilitySelector, NodeType=Selector, Child[0]=MimicBeaconBehavior, Child[1]=AdventCounterOpRedFirstAction, Child[2]=AdventCounterOpRedLastAction)
  1825. Behaviors=(BehaviorName=AdventCounterOpRedFirstAction, NodeType=Sequence, Child[0]=NotLastActionPoint, Child[1]=AdventCounterOpRedFirstActionSelector)
  1826. Behaviors=(BehaviorName=AdventCounterOpRedFirstActionSelector, NodeType=Selector, Child[0]=TryShootOrReloadOrOverwatch, Child[1]=DoIfFlankedMove, Child[2]=SelectMove_JobOrAggressive, Child[3]=HuntEnemyWithCover)
  1827. Behaviors=(BehaviorName=AdventCounterOpRedLastAction, NodeType=Sequence, Child[0]=IsLastActionPoint, Child[1]=AdventCounterOpRedLastActionSelector)
  1828. Behaviors=(BehaviorName=AdventCounterOpRedLastActionSelector, NodeType=Selector, Child[0]=HuntEnemyWithCover, Child[1]=SelectMove_JobOrAggressive)
  1829. Behaviors=(BehaviorName="CivilianMilitia::CharacterRoot", NodeType=Selector, Child[0]=CivilianMilitiaFirstAction, Child[1]=CivilianMilitiaLastAction, Child[2]=GenericAlertHandler)
  1830. Behaviors=(BehaviorName=CivilianMilitiaFirstAction, NodeType=Sequence, Child[0]=NotLastActionPoint, Child[1]=CivilianMilitiaFirstActionSelector)
  1831. Behaviors=(BehaviorName=CivilianMilitiaFirstActionSelector, NodeType=Selector, Child[0]=CivilianMilitiaMoveIfNeedCover, Child[1]=TryShootOrReload, Child[2]=MilitiaMoveTowardValidTargets, Child[3]=SkipMove)
  1832. Behaviors=(BehaviorName=MilitiaMoveTowardValidTargets, NodeType=Sequence, Child[0]=SelectPotentialTargetForMilitia, Child[1]=RestrictToPotentialTargetRange-StandardShot, Child[2]=FindDestinationWithLoS-MWP_Standard, Child[3]=SelectAbility-StandardMove)
  1833. Behaviors=(BehaviorName=SelectPotentialTargetForMilitia, NodeType=Sequence, Child[0]=SetPotentialTargetStack, Child[1]=SelectBestTargetForMilitia, Child[2]=HasValidTarget-Potential)
  1834. Behaviors=(BehaviorName=SelectBestTargetForMilitia, NodeType=RepeatUntilFail, Child[0]=EvaluatePotentialMilitiaTarget)
  1835. Behaviors=(BehaviorName=EvaluatePotentialMilitiaTarget, NodeType=Sequence, Child[0]=SetNextTarget, Child[1]=TargetScoreIfWithinRange12, Child[2]=SSScoreTargetOutIfCivilian, Child[3]=TargetScoreByScaledDistance-1, Child[4]=ApplyDifficultyModifiers, Child[5]=UpdateBestTarget)
  1836. Behaviors=(BehaviorName=TargetIsInMilitiaRange, NodeType=StatCondition, Param[0]=PotentialTargetDistance, Param[1]="<", Param[2]=12)
  1837. Behaviors=(BehaviorName=TargetScoreIfWithinRange12, NodeType=Selector, Child[0]=TargetScoreWithinRange12, Child[1]=AddToTargetScore_-1000)
  1838. Behaviors=(BehaviorName=TargetScoreWithinRange12, NodeType=Sequence, Child[0]=TargetIsInMilitiaRange, Child[1]=AddToTargetScore_100)
  1839. Behaviors=(BehaviorName=CivilianMilitiaLastAction, NodeType=Sequence, Child[0]=IsLastActionPoint, Child[1]=CivilianMilitiaLastActionSelector)
  1840. Behaviors=(BehaviorName=CivilianMilitiaLastActionSelector, NodeType=Selector, Child[0]=TryShootOrReload, Child[1]=SkipMove)
  1841. Behaviors=(BehaviorName=CivilianMilitiaMoveIfNeedCover, NodeType=Sequence, Child[0]=CheckIfNeedToMove, Child[1]=MoveDefensiveUnsafe)
  1842. Behaviors=(BehaviorName=JobRoot_Terrorist, NodeType=Sequence, Child[0]=NotYetRevealed, Child[1]=TryTerrorJobUnrevealed)
  1843. Behaviors=(BehaviorName=TryTerrorJobUnrevealed, NodeType=Selector, Child[0]=SequenceUnrevealedTerroristActionIfLeader, Child[1]=DoUnrevealedSkip_Follower)
  1844. Behaviors=(BehaviorName=SequenceUnrevealedTerroristActionIfLeader, NodeType=Sequence, Child[0]=IsGroupLeader, Child[1]=SelectUnrevealedTerroristLeaderAction)
  1845. Behaviors=(BehaviorName=SelectUnrevealedTerroristLeaderAction, NodeType=Selector, Child[0]=RandomizedTryTerrorMovement, Child[1]=TryTerrorAttack, Child[2]=TerrorMovement)
  1846. Behaviors=(BehaviorName=DoUnrevealedSkip_Follower, NodeType=Sequence, Child[0]=IsFollower, Child[1]=SkipMove)
  1847. Behaviors=(BehaviorName=RandomizedTryTerrorMovement, NodeType=RandFilter, Child[0]=TryTerrorMovement, Param[0]=75)
  1848. Behaviors=(BehaviorName=TryTerrorMovement, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardMove, Child[1]=NotLastActionPoint, Child[2]=ResetDestinationSearch, Child[3]=SetCiviliansAsEnemiesInMoveCalculation, Child[4]=SetNoCoverMovement, Child[5]=FindDestination-MWP_Fanatic, Child[6]=SelectAbility-StandardMove)
  1849. Behaviors=(BehaviorName=TerrorMovement, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardMove, Child[1]=ResetDestinationSearch, Child[2]=SetCiviliansAsEnemiesInMoveCalculation, Child[3]=SetNoCoverMovement, Child[4]=FindDestination-MWP_Fanatic, Child[5]=SelectAbility-StandardMove)
  1850. Behaviors=(BehaviorName=TryTerrorAttack, NodeType=Sequence, Child[0]=NumKilledCiviliansIsLessThanTurnCount, Child[1]=TryTerrorAttackSelector)
  1851. Behaviors=(BehaviorName=TryTerrorAttackSelector, NodeType=Selector, Child[0]=ShootIfAvailableTerrorist, Child[1]=TryMeleeTerrorist, Child[2]=NeedsReload, Intent="TERRORIZING")
  1852. Behaviors=(BehaviorName=NumKilledCiviliansIsLessThanTurnCount, NodeType=Condition); Multivariate comparisons currently not supported. Must be a custom condition.
  1853. Behaviors=(BehaviorName=TryMeleeTerrorist, NodeType=Sequence, Child[0]=IsAbilityReady-StandardMelee, Child[1]=MeleeTerroristStepSelector)
  1854. Behaviors=(BehaviorName=MeleeTerroristStepSelector, NodeType=Selector, Child[0]=MeleeAttackTerrorist, Child[1]=TryTerroristMoveMeleeFANATIC)
  1855. Behaviors=(BehaviorName=MeleeAttackTerrorist, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardMelee, Child[1]=SetTargetStack-StandardMelee, Child[2]=SelectBestTargetByJob_Terrorist, Child[3]=HasValidTarget-StandardMelee, Child[4]=SelectAbility-StandardMelee)
  1856. Behaviors=(BehaviorName=ShootIfAvailableTerrorist, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardShot, Child[1]=SetTargetStack-StandardShot, Child[2]=SelectBestTargetByJob_Terrorist, Child[3]=HasValidTarget-StandardShot, Child[4]=SelectAbility-StandardShot)
  1857. Behaviors=(BehaviorName=SelectBestTargetByJob_Terrorist, NodeType=RepeatUntilFail, Child[0]=EvaluateTargetByJob_Terrorist)
  1858. Behaviors=(BehaviorName=EvaluateTargetByJob_Terrorist, NodeType=Sequence, Child[0]=SetNextTarget, Child[1]=SSScoreTerroristTarget, Child[2]=UpdateBestTarget)
  1859. Behaviors=(BehaviorName=SSScoreTerroristTarget, NodeType=Successor, Child[0]=ScoreTerroristTarget)
  1860. Behaviors=(BehaviorName=ScoreTerroristTarget, NodeType=Sequence, Child[0]=TargetIsNotAlly, Child[1]=TargetScoreCivilian, Child[2]=TargetScoreHitChance, Child[3]=TargetScoreHealth, Child[4]=TargetScoreFlanking)
  1861. Behaviors=(BehaviorName=IncludeCiviliansIfTerrorist, NodeType=Successor, Child[0]=IfTerroristTypeDoForMove)
  1862. Behaviors=(BehaviorName=IfTerroristTypeDoForMove, NodeType=Selector, Child[0]=IfTerroristDoForMove, Child[1]=IfExecutionerDoForMove)
  1863. Behaviors=(BehaviorName=IfTerroristDoForMove, NodeType=Sequence, Child[0]=IsMyJob-Terrorist, Child[1]=SetCiviliansAsEnemiesInMoveCalculation)
  1864. Behaviors=(BehaviorName=IfExecutionerDoForMove, NodeType=Sequence, Child[0]=IsMyJob-Executioner, Child[1]=SetCiviliansAsEnemiesInMoveCalculation)
  1865. Behaviors=(BehaviorName=JobRoot_Hunter, NodeType=Sequence, Child[0]=ShouldPatrol, Child[1]=TryHunterJobUnrevealed)
  1866. Behaviors=(BehaviorName=TryHunterJobUnrevealed, NodeType=Selector, Child[0]=TryUnrevealedHunterAction_Leader, Child[1]=DoUnrevealedSkip_Follower)
  1867. Behaviors=(BehaviorName=TryUnrevealedHunterAction_Leader, NodeType=Sequence, Child[0]=IsGroupLeader, Child[1]=TryHunterAttack)
  1868. Behaviors=(BehaviorName=TryHunterAttack, NodeType=Selector, Child[0]=TryAttackPriorityTarget, Child[1]=HuntIfNotLastAction)
  1869. Behaviors=(BehaviorName=HuntIfNotLastAction, NodeType=Sequence, Child[0]=NotLastActionPoint, Child[1]=FindAdvanceLocation, Intent="HUNTING")
  1870. Behaviors=(BehaviorName=JobRoot_Charger, NodeType=Selector, Child[0]=TryChargerJobIfUnrevealed, Child[1]=TryChargerJobIfRevealed)
  1871. Behaviors=(BehaviorName=TryChargerJobIfUnrevealed, NodeType=Sequence, Child[0]=NotYetRevealed, Child[1]=DoChargerJobIfLeaderOrSkipMove)
  1872. Behaviors=(BehaviorName=DoChargerJobIfLeaderOrSkipMove, NodeType=Selector, Child[0]=DoChargerJobIfLeader, Child[1]=SkipMove)
  1873. Behaviors=(BehaviorName=DoChargerJobIfLeader, NodeType=Sequence, Child[0]=IsGroupLeader, Child[1]=DoChargerJobAction)
  1874. Behaviors=(BehaviorName=TryChargerJobIfRevealed, NodeType=Sequence, Child[0]=HasRevealed, Child[1]=DoChargerJobAction)
  1875. Behaviors=(BehaviorName=DoChargerJobAction, NodeType=Selector, Child[0]=TryAttackPriorityTarget, Child[1]=MoveTowardPriorityTarget, Child[2]=FindAdvanceLocationUnsafe)
  1876. Behaviors=(BehaviorName=JobRoot_ChargerUnsafe, NodeType=Selector, Child[0]=TryChargerJobUnsafeIfUnrevealed, Child[1]=TryChargerJobUnsafeIfRevealed)
  1877. Behaviors=(BehaviorName=TryChargerJobUnsafeIfUnrevealed, NodeType=Sequence, Child[0]=NotYetRevealed, Child[1]=DoChargerJobUnsafeIfLeaderOrSkipMove)
  1878. Behaviors=(BehaviorName=DoChargerJobUnsafeIfLeaderOrSkipMove, NodeType=Selector, Child[0]=DoChargerJobUnsafeIfLeader, Child[1]=SkipMove)
  1879. Behaviors=(BehaviorName=DoChargerJobUnsafeIfLeader, NodeType=Sequence, Child[0]=IsGroupLeader, Child[1]=DoChargerJobPerActionUnsafe)
  1880. Behaviors=(BehaviorName=TryChargerJobUnsafeIfRevealed, NodeType=Sequence, Child[0]=HasRevealed, Child[1]=DoChargerJobPerActionUnsafe)
  1881. Behaviors=(BehaviorName=DoChargerJobPerActionUnsafe, NodeType=Selector, Child[0]=TryAttackPriorityTarget, Child[1]=MoveTowardPriorityTarget, Child[2]=FindAdvanceLocationUnsafe)
  1882. Behaviors=(BehaviorName=FindAdvanceLocation, NodeType=Sequence, Child[0]=SetAlertDataStack, Child[1]=FindDesignatedAlertAdvanceer, Child[2]=HasValidAlertDataLocation, Child[3]=TakeAlertMoveWithoutCover, Intent="ADVANCING")
  1883. Behaviors=(BehaviorName=FindAdvanceLocationUnsafe, NodeType=Sequence, Child[0]=SetAlertDataStack, Child[1]=FindDesignatedAlertAdvanceer, Child[2]=HasValidAlertDataLocation, Child[3]=TakeAlertMoveWithoutCoverUnsafe, Intent="ADVANCING")
  1884. Behaviors=(BehaviorName=FindDesignatedAlertAdvanceer, NodeType=RepeatUntilFail, Child[0]=EvaluateAlertDataAdvanceer)
  1885. Behaviors=(BehaviorName=EvaluateAlertDataAdvanceer, NodeType=Sequence, Child[0]=SetNextAlertData, Child[1]=ScoreAlertFor_Advance, Child[2]=ScoreAlertDataDistance, Child[3]=UpdateBestAlertData)
  1886. Behaviors=(BehaviorName=JobRoot_Defender, NodeType=Sequence, Child[0]=ShouldPatrol, Child[1]=TryDefenderJobUnrevealed)
  1887. Behaviors=(BehaviorName=TryDefenderJobUnrevealed, NodeType=Selector, Child[0]=TryUnrevealedDefenderAction_Leader, Child[1]=DoUnrevealedSkip_Follower)
  1888. Behaviors=(BehaviorName=TryUnrevealedDefenderAction_Leader, NodeType=Sequence, Child[0]=IsGroupLeader, Child[1]=TryDefenderMove)
  1889. Behaviors=(BehaviorName=TryDefenderMove, NodeType=Sequence, Child[0]=FindDefendLocation, Child[1]=DecideDefendAction, Intent="DEFENDING")
  1890. Behaviors=(BehaviorName=FindDefendLocation, NodeType=Sequence, Child[0]=SetAlertDataStack, Child[1]=FindDesignatedAlertDefender, Child[2]=HasValidAlertDataLocation)
  1891. Behaviors=(BehaviorName=FindDesignatedAlertDefender, NodeType=RepeatUntilFail, Child[0]=EvaluateAlertDataDefender)
  1892. Behaviors=(BehaviorName=EvaluateAlertDataDefender, NodeType=Sequence, Child[0]=SetNextAlertData, Child[1]=ScoreAlertFor_Defend, Child[2]=ScoreAlertDataDistance, Child[3]=UpdateBestAlertData)
  1893. Behaviors=(BehaviorName=DecideDefendAction, NodeType=Selector, Child[0]=MoveToAlertIfNotVisible, Child[1]=SkipMove)
  1894. Behaviors=(BehaviorName=ObserverMovement, NodeType=Selector, Child[0]=MoveFlanking, Child[1]=FallBackWithLoS)
  1895. Behaviors=(BehaviorName=ObserverMovementUnsafe, NodeType=Selector, Child[0]=MoveFlankingUnsafe, Child[1]=FallBackWithLoSUnsafe)
  1896. Behaviors=(BehaviorName=NCObserverMovement, NodeType=Selector, Child[0]=NCMoveFlanking, Child[1]=NCFallBackWithLoS)
  1897. Behaviors=(BehaviorName=JobRoot_Rendezvous, NodeType=Selector, Child[0]=TryRendezvousJobIfUnrevealed, Child[1]=TryRendezvousJobIfRevealed)
  1898. Behaviors=(BehaviorName=TryRendezvousJobIfUnrevealed, NodeType=Sequence, Child[0]=NotYetRevealed, Child[1]=DoRendezvousJobPerActionUnrevealed)
  1899. Behaviors=(BehaviorName=DoRendezvousJobPerActionUnrevealed, NodeType=Selector, Child[0]=RendezvousFirstAction, Child[1]=SkipMove)
  1900. Behaviors=(BehaviorName=TryRendezvousJobIfRevealed, NodeType=Sequence, Child[0]=HasRevealed, Child[1]=RendezvousActionSelector)
  1901. Behaviors=(BehaviorName=RendezvousActionSelector, NodeType=Selector, Child[0]=RendezvousFirstAction, Child[1]=RendezvousSecondAction)
  1902. Behaviors=(BehaviorName=RendezvousFirstAction, NodeType=Sequence, Child[0]=NotLastActionPoint, Child[1]=FindRendezvousLocation, Child[2]=DecideRendezvousMove)
  1903. Behaviors=(BehaviorName=DecideRendezvousMove, NodeType=Selector, Child[0]=TryRendezvousMoveNeedDash, Child[1]=TryRendezvousMoveUnsafe, Child[2]=TryRendezvousMove)
  1904. Behaviors=(BehaviorName=TryRendezvousMoveNeedDash, NodeType=Sequence, Child[0]=IfAlertDataFar, Child[1]=IsRedAlert, Child[2]=MoveToAlertRendezvousWithDash, Intent="MOVE TO EVAC")
  1905. Behaviors=(BehaviorName=TryRendezvousMoveUnsafe, NodeType=Sequence, Child[0]=IfNotInCombatRangeOfAlertData, Child[1]=IsRedAlert, Child[2]=MoveToAlertRendezvous, Intent="MOVE TO EVAC")
  1906. Behaviors=(BehaviorName=TryRendezvousMove, NodeType=Sequence, Child[0]=IfNotNearAlertData, Child[1]=IsNotInRedAlert, Child[2]=DisableGreenAlertMovement, Child[3]=MoveToAlertRendezvous, Intent="MOVE TO EVAC")
  1907. Behaviors=(BehaviorName=RendezvousSecondAction, NodeType=Sequence, Child[0]=IsLastActionPoint, Child[1]=HasNoValidTargets, Child[2]=RendezvousSecondActionNoEnemiesSelector)
  1908. Behaviors=(BehaviorName=HasNoValidTargets, NodeType=Selector, Child[0]=NoVisibleEnemies, Child[1]=HasNoShotTarget)
  1909. Behaviors=(BehaviorName=HasNoShotTarget, NodeType=Inverter, Child[0]=HasAnyShotTargetOrNeedsReload)
  1910. Behaviors=(BehaviorName=HasAnyShotTargetOrNeedsReload, NodeType=Selector, Child[0]=HasAnyShotTarget, Child[1]=NeedsReload)
  1911. Behaviors=(BehaviorName=HasAnyShotTarget, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardShot, Child[1]=SelectTargetForStandardShot)
  1912. Behaviors=(BehaviorName=RendezvousSecondActionNoEnemiesSelector, NodeType=Selector, Child[0]=DoCower, Child[1]=TryOverwatch, Child[2]=SkipMove)
  1913. Behaviors=(BehaviorName=MoveToAlertRendezvousWithDash, NodeType=Selector, Child[0]=TakeAlertMoveWithCoverAndDash, Child[1]=SkipMove)
  1914. Behaviors=(BehaviorName=MoveToAlertRendezvous, NodeType=Selector, Child[0]=MoveToAlert, Child[1]=SkipMove)
  1915. Behaviors=(BehaviorName=TakeAlertMoveWithCoverAndDash, NodeType=Sequence, Child[0]=UseDashMovement, Child[1]=AlertDataMovementUseCover, Child[2]=MoveStandardWithDestination, Child[3]=ResetDestinationSearch)
  1916. Behaviors=(BehaviorName=FindRendezvousLocation, NodeType=Sequence, Child[0]=SetAlertDataStack, Child[1]=FindDesignatedAlertRendezvous, Child[2]=HasValidAlertDataLocation)
  1917. Behaviors=(BehaviorName=FindDesignatedAlertRendezvous, NodeType=RepeatUntilFail, Child[0]=EvaluateAlertDataRendezvous)
  1918. Behaviors=(BehaviorName=EvaluateAlertDataRendezvous, NodeType=Sequence, Child[0]=SetNextAlertData, Child[1]=ScoreAlertFor_Rendezvous, Child[2]=UpdateBestAlertData)
  1919. Behaviors=(BehaviorName=ScoreAlertFor_Rendezvous, NodeType=Selector, Child[0]=ScoreAlertIfRendezvous, Child[1]=AddToAlertDataScore_0)
  1920. Behaviors=(BehaviorName=ScoreAlertIfRendezvous, NodeType=Sequence, Child[0]=AlertDataHasTag-Rendezvous, Child[1]=AddToAlertDataScore_50)
  1921. Behaviors=(BehaviorName=IfNotNearAlertData, NodeType=Sequence, Child[0]=IsNotNearAlertData, Child[1]=AddToAlertDataScore_15)
  1922. Behaviors=(BehaviorName=IsNotNearAlertData, NodeType=StatCondition, Param[0]=AlertDataDistance, Param[1]=">", Param[2]="8")
  1923. Behaviors=(BehaviorName=IfNotInCombatRangeOfAlertData, NodeType=Sequence, Child[0]=IsNotInCombatRangeOfAlertData, Child[1]=AddToAlertDataScore_15)
  1924. Behaviors=(BehaviorName=IsNotInCombatRangeOfAlertData, NodeType=StatCondition, Param[0]=AlertDataDistance, Param[1]=">", Param[2]="21")
  1925. Behaviors=(BehaviorName=IsNotInRedAlert, NodeType=Inverter, Child[0]=IsRedAlert)
  1926. Behaviors=(BehaviorName=JobRoot_EvacAtRendezvous, NodeType=Selector, Child[0]=TryEvacAtRendezvousJobIfUnrevealed, Child[1]=TryEvacAtRendezvousJobIfRevealed)
  1927. Behaviors=(BehaviorName=TryEvacAtRendezvousJobIfUnrevealed, NodeType=Sequence, Child[0]=NotYetRevealed, Child[1]=DoEvacAtRendezvousJobPerActionUnrevealed)
  1928. Behaviors=(BehaviorName=DoEvacAtRendezvousJobPerActionUnrevealed, NodeType=Selector, Child[0]=EvacAtRendezvousFirstAction, Child[1]=EvacAtRendezvousSecondAction)
  1929. Behaviors=(BehaviorName=TryEvacAtRendezvousJobIfRevealed, NodeType=Sequence, Child[0]=HasRevealed, Child[1]=DoEvacAtRendezvousJobPerActionRevealed)
  1930. Behaviors=(BehaviorName=DoEvacAtRendezvousJobPerActionRevealed, NodeType=Selector, Child[0]=EvacAtRendezvousFirstAction, Child[1]=EvacAtRendezvousSecondAction)
  1931. Behaviors=(BehaviorName=EvacAtRendezvousFirstAction, NodeType=Sequence, Child[0]=NotLastActionPoint, Child[1]=FindRendezvousLocation, Child[2]=DecideEvacAtRendezvousMove)
  1932. Behaviors=(BehaviorName=EvacAtRendezvousSecondAction, NodeType=Sequence, Child[0]=FindRendezvousLocation, Child[1]=DecideEvacAtRendezvousMove)
  1933. Behaviors=(BehaviorName=DecideEvacAtRendezvousMove, NodeType=Selector, Child[0]=TryEvacAtRendezvousMoveUnsafe, Child[1]=TryEvacAtRendezvousMoveSafe, Child[2]=AttemptToEvac)
  1934. Behaviors=(BehaviorName=TryEvacAtRendezvousMoveUnsafe, NodeType=Sequence, Child[0]=IfNotOnAlertData, Child[1]=IsRedAlert, Child[2]=MoveToAlertEvacAtRendezvous, Intent="EXTRACTING")
  1935. Behaviors=(BehaviorName=TryEvacAtRendezvousMoveSafe, NodeType=Sequence, Child[0]=IfNotOnAlertData, Child[1]=IsNotInRedAlert, Child[2]=DisableGreenAlertMovement, Child[3]=MoveToAlertEvacAtRendezvous, Intent="EXTRACTING")
  1936. Behaviors=(BehaviorName=IfNotOnAlertData, NodeType=Sequence, Child[0]=IsNotOnAlertData, Child[1]=AddToAlertDataScore_15)
  1937. Behaviors=(BehaviorName=IsNotOnAlertData, NodeType=StatCondition, Param[0]=AlertDataDistance, Param[1]=">", Param[2]="2")
  1938. Behaviors=(BehaviorName=MoveToAlertEvacAtRendezvous, NodeType=Selector, Child[0]=MoveToAlertWithDash, Child[1]=SkipMove)
  1939. Behaviors=(BehaviorName=MoveToAlertWithDash, NodeType=Selector, Child[0]=TakeAlertMoveWithoutCoverAndDash, Child[1]=SkipMove)
  1940. Behaviors=(BehaviorName=TakeAlertMoveWithoutCoverAndDash, NodeType=Sequence, Child[0]=UseDashMovement, Child[1]=AlertDataMovementIgnoreCover, Child[2]=MoveStandardWithDestination)
  1941. Behaviors=(BehaviorName=AttemptToEvac, NodeType=Selector, Child[0]=TryEvac, Child[1]=TryOverwatch)
  1942. Behaviors=(BehaviorName=TryEvac, NodeType=Sequence, Child[0]=IsAbilityAvailable-Evac, Child[1]=CheckEvacRestrictions, Child[2]=SelectAbility-Evac)
  1943. Behaviors=(BehaviorName=CheckEvacRestrictions, NodeType=Selector, Child[0]=NotTeamXCom, Child[1]=CheckTurnCountMinimumForEvac)
  1944. Behaviors=(BehaviorName=CheckTurnCountMinimumForEvac, NodeType=StatCondition, Param[0]=PlayerTurnCount, Param[1]=">", Param[2]=3)
  1945. Behaviors=(BehaviorName=JobRoot_AttackStrikePoint, NodeType=Selector, Child[0]=TryAttackStrikePointJobIfUnrevealed, Child[1]=TryAttackStrikePointJobIfRevealed)
  1946. Behaviors=(BehaviorName=TryAttackStrikePointJobIfUnrevealed, NodeType=Sequence, Child[0]=NotYetRevealed, Child[1]=DoAttackStrikePointJobPerActionUnrevealed)
  1947. Behaviors=(BehaviorName=DoAttackStrikePointJobPerActionUnrevealed, NodeType=Selector, Child[0]=IfNotCloseToStrikePointMoveCloser, Child[1]=IfFirstMoveAttackStrikePoint, Child[2]=AttackStrikePointSecondActionUnrevealed)
  1948. Behaviors=(BehaviorName=IfThreatenedMove, NodeType=Sequence, Child[0]=IsFlanked, Child[1]=AttemptMoveToStrikePoint)
  1949. Behaviors=(BehaviorName=IfFirstMoveAttackStrikePoint, NodeType=Sequence, Child[0]=NotLastActionPoint, Child[1]=AttackStrikePointFirstActionUnrevealed)
  1950. Behaviors=(BehaviorName=IfNotCloseToStrikePointMoveCloser, NodeType=Sequence, Child[0]=FindStrikePointLocation, Child[1]=IsAlertDataTwoMoves, Child[2]=AttemptMoveToStrikePoint)
  1951. Behaviors=(BehaviorName=AttackStrikePointFirstActionUnrevealed, NodeType=Selector, Child[0]=AttemptMoveToStrikePoint, Child[1]=TryStrikePointAttack, Child[2]=SkipMove)
  1952. Behaviors=(BehaviorName=AttackStrikePointSecondActionUnrevealed, NodeType=Selector, Child[0]=TryStrikePointAttack, Child[1]=SkipMove)
  1953. Behaviors=(BehaviorName=TryAttackStrikePointJobIfRevealed, NodeType=Sequence, Child[0]=HasRevealed, Child[1]=IsGroupLeader, Child[2]=AttackStrikePointAnyActionRevealed)
  1954. Behaviors=(BehaviorName=AttackStrikePointAnyActionRevealed, NodeType=Selector, Child[0]=IfThreatenedMove, Child[1]=TryStrikePointAttack, Child[2]=AttemptMoveToStrikePoint, Child[3]=SkipMove)
  1955. Behaviors=(BehaviorName=AttemptMoveToStrikePoint, NodeType=Sequence, Child[0]=FindStrikePointLocation, Child[1]=DecideAttackStrikePointMove)
  1956. Behaviors=(BehaviorName=DecideAttackStrikePointMove, NodeType=Selector, Child[0]=TryAttackStrikePointMoveUnsafe, Child[1]=TryAttackStrikePointMoveSafe)
  1957. Behaviors=(BehaviorName=TryAttackStrikePointMoveUnsafe, NodeType=Sequence, Child[0]=IfNotNearAlertData, Child[1]=IsRedAlert, Child[2]=SetCiviliansAsEnemiesInMoveCalculation, Child[3]=MoveToAlertAttackStrikePoint, Intent="ATTACK POINT")
  1958. Behaviors=(BehaviorName=TryAttackStrikePointMoveSafe, NodeType=Sequence, Child[0]=IfNotNearAlertData, Child[1]=IsNotInRedAlert, Child[2]=SetCiviliansAsEnemiesInMoveCalculation, Child[3]=DisableGreenAlertMovement, Child[4]=MoveToAlertAttackStrikePoint, Intent="ATTACK POINT")
  1959. Behaviors=(BehaviorName=MoveToAlertAttackStrikePoint, NodeType=Selector, Child[0]=MoveToAlert, Child[1]=SkipMove)
  1960. Behaviors=(BehaviorName=FindStrikePointLocation, NodeType=Sequence, Child[0]=SetAlertDataStack, Child[1]=FindDesignatedAlertStrikePoint, Child[2]=HasValidAlertDataLocation)
  1961. Behaviors=(BehaviorName=FindDesignatedAlertStrikePoint, NodeType=RepeatUntilFail, Child[0]=EvaluateAlertDataStrikePoint)
  1962. Behaviors=(BehaviorName=EvaluateAlertDataStrikePoint, NodeType=Sequence, Child[0]=SetNextAlertData, Child[1]=ScoreAlertFor_StrikePoint, Child[2]=UpdateBestAlertData)
  1963. Behaviors=(BehaviorName=ScoreAlertFor_StrikePoint, NodeType=Selector, Child[0]=ScoreAlertIfStrikePointOne, Child[1]=ScoreAlertIfStrikePointTwo, Child[2]=ScoreAlertIfStrikePointThree, Child[3]=AddToAlertDataScore_0)
  1964. Behaviors=(BehaviorName=ScoreAlertIfStrikePointOne, NodeType=Sequence, Child[0]=AlertDataHasTag-StrikePointOne, Child[1]=IsMyJob-AttackStrikePointOne, Child[2]=AddToAlertDataScore_50)
  1965. Behaviors=(BehaviorName=ScoreAlertIfStrikePointTwo, NodeType=Sequence, Child[0]=AlertDataHasTag-StrikePointTwo, Child[1]=IsMyJob-AttackStrikePointTwo, Child[2]=AddToAlertDataScore_50)
  1966. Behaviors=(BehaviorName=ScoreAlertIfStrikePointThree, NodeType=Sequence, Child[0]=AlertDataHasTag-StrikePointThree, Child[1]=IsMyJob-AttackStrikePointThree, Child[2]=AddToAlertDataScore_50)
  1967. Behaviors=(BehaviorName=TryStrikePointAttack, NodeType=Sequence, Child[0]=TryStrikePointAttackSelector)
  1968. Behaviors=(BehaviorName=TryStrikePointAttackSelector, NodeType=Selector, Child[0]=ShootIfAvailableAttackStrikePoint, Child[1]=TryMeleeAttackStrikePoint, Child[2]=NeedsReload, Intent="TERRORIZING")
  1969. Behaviors=(BehaviorName=TryMeleeAttackStrikePoint, NodeType=Sequence, Child[0]=IsAbilityReady-StandardMelee, Child[1]=MeleeAttackStrikePointStepSelector)
  1970. Behaviors=(BehaviorName=MeleeAttackStrikePointStepSelector, NodeType=Selector, Child[0]=MeleeAttackAttackStrikePoint, Child[1]=TryTerroristMoveMeleeFANATIC)
  1971. Behaviors=(BehaviorName=MeleeAttackAttackStrikePoint, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardMelee, Child[1]=SetTargetStack-StandardMelee, Child[2]=SelectBestTargetByJob_AttackStrikePoint, Child[3]=HasValidTarget-StandardMelee, Child[4]=SelectAbility-StandardMelee)
  1972. Behaviors=(BehaviorName=ShootIfAvailableAttackStrikePoint, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardShot, Child[1]=SetTargetStack-StandardShot, Child[2]=SelectBestTargetByJob_AttackStrikePoint, Child[3]=HasValidTarget-StandardShot, Child[4]=SelectAbility-StandardShot)
  1973. Behaviors=(BehaviorName=SelectBestTargetByJob_AttackStrikePoint, NodeType=RepeatUntilFail, Child[0]=EvaluateTargetByJob_AttackStrikePoint)
  1974. Behaviors=(BehaviorName=EvaluateTargetByJob_AttackStrikePoint, NodeType=Sequence, Child[0]=SetNextTarget, Child[1]=SSScoreAttackStrikePointTarget, Child[2]=UpdateBestTarget)
  1975. Behaviors=(BehaviorName=SSScoreAttackStrikePointTarget, NodeType=Successor, Child[0]=ScoreAttackStrikePointTarget)
  1976. Behaviors=(BehaviorName=ScoreAttackStrikePointTarget, NodeType=Sequence, Child[0]=TargetIsNotAlly, Child[1]=TargetScoreChosenRetaliationCivilian, Child[2]=TargetScoreChosenRetaliationMilitia, Child[3]=TargetScoreHitChance, Child[4]=TargetScoreHealth, Child[5]=TargetScoreFlanking)
  1977. Behaviors=(BehaviorName=TargetScoreChosenRetaliationCivilian, NodeType=Successor, Child[0]=ScoreTargetIfChosenRetaliationCivilian)
  1978. Behaviors=(BehaviorName=TargetScoreChosenRetaliationMilitia, NodeType=Successor, Child[0]=ScoreTargetIfChosenRetaliationMilitia)
  1979. Behaviors=(BehaviorName=ScoreTargetIfChosenRetaliationCivilian, NodeType=Sequence, Child[0]=TargetIsCivilian, Child[1]=TargetNotTeamResistance, Child[2]=ScoreChosenRetaliationCivilian)
  1980. Behaviors=(BehaviorName=ScoreChosenRetaliationCivilian, NodeType=Selector, Child[0]=ScoreCivilianIfActuallyFaceless, Child[1]=LimitCivilianKillsForBetaStrike, Child[2]=AddToTargetScore_80)
  1981. Behaviors=(BehaviorName=ScoreTargetIfChosenRetaliationMilitia, NodeType=Sequence, Child[0]=IsTargetTeam-eTeam_Resistance, Child[1]=AddToTargetScore_80)
  1982. Behaviors=(BehaviorName=JobRoot_Executioner, NodeType=Sequence, Child[0]=TryExecutionerJob)
  1983. Behaviors=(BehaviorName=TryExecutionerJob, NodeType=Selector, Child[0]=SequenceExecutionerActionIfLeader, Child[1]=DoUnrevealedSkip_Follower)
  1984. Behaviors=(BehaviorName=SequenceExecutionerActionIfLeader, NodeType=Sequence, Child[0]=IsGroupLeader, Child[1]=SelectExecutionerLeaderAction)
  1985. Behaviors=(BehaviorName=SelectExecutionerLeaderAction, NodeType=Selector, Child[0]=TryBerserkerMelee, Child[1]=RandomizedTryTerrorMovement, Child[2]=TryExecutionerAttack, Child[3]=TerrorMovement)
  1986. Behaviors=(BehaviorName=TryExecutionerAttack, NodeType=Selector, Child[0]=ShootIfAvailableExecutioner, Child[1]=TryMeleeExecutioner, Child[2]=NeedsReload, Intent="TERRORIZING")
  1987. Behaviors=(BehaviorName=TryMeleeExecutioner, NodeType=Sequence, Child[0]=IsAbilityReady-StandardMelee, Child[1]=MeleeExecutionerStepSelector)
  1988. Behaviors=(BehaviorName=MeleeExecutionerStepSelector, NodeType=Selector, Child[0]=MeleeAttackExecutioner, Child[1]=TryTerroristMoveMeleeFANATICUnsafe)
  1989. Behaviors=(BehaviorName=MeleeAttackExecutioner, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardMelee, Child[1]=SetTargetStack-StandardMelee, Child[2]=SelectBestTargetByJob_Executioner, Child[3]=HasValidTarget-StandardMelee, Child[4]=SelectAbility-StandardMelee)
  1990. Behaviors=(BehaviorName=ShootIfAvailableExecutioner, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardShot, Child[1]=SetTargetStack-StandardShot, Child[2]=SelectBestTargetByJob_Executioner, Child[3]=HasValidTarget-StandardShot, Child[4]=SelectAbility-StandardShot)
  1991. Behaviors=(BehaviorName=SelectBestTargetByJob_Executioner, NodeType=RepeatUntilFail, Child[0]=EvaluateTargetByJob_Executioner)
  1992. Behaviors=(BehaviorName=EvaluateTargetByJob_Executioner, NodeType=Sequence, Child[0]=SetNextTarget, Child[1]=SSScoreExecutionerTarget, Child[2]=UpdateBestTarget)
  1993. Behaviors=(BehaviorName=SSScoreExecutionerTarget, NodeType=Successor, Child[0]=ScoreExecutionerTarget)
  1994. Behaviors=(BehaviorName=ScoreExecutionerTarget, NodeType=Sequence, Child[0]=TargetIsNotAlly, Child[1]=TargetScoreCivilian, Child[2]=TargetScoreChosenRetaliationMilitia, Child[3]=TargetScoreHitChance, Child[4]=TargetScoreHealth, Child[5]=TargetScoreFlanking)
  1995. Behaviors=(BehaviorName=ScoreCivilianIfExecutioner, NodeType=Sequence, Child[0]=IsMyJob-Executioner, Child[1]=TargetIsNotAlien, Child[2]=AddToTargetScore_1000)
  1996. Behaviors=(BehaviorName=JobRoot_SentryVsLost, NodeType=Sequence, Child[0]=TrySentryVsLostJob)
  1997. Behaviors=(BehaviorName=TrySentryVsLostJob, NodeType=Selector, Child[0]=TryShootOrReload, Child[1]=SkipMove)
  1998. Behaviors=(BehaviorName=JobRoot_AlwaysDoNothing, NodeType=Sequence, Child[0]=SkipMove)
  1999. Behaviors=(BehaviorName="TheLost::CharacterRoot", NodeType=Selector, Child[0]=LostHowlerBranch, Child[1]=LostBurningSequence, Child[2]=LostGreenAlertBehavior, Child[3]=LostActiveBehavior, Child[4]=SkipMove)
  2000. Behaviors=(BehaviorName=LostBurningSequence, NodeType=Sequence, Child[0]=AffectedByEffect-Burning, Child[1]=LostBurningRoot)
  2001. Behaviors=(BehaviorName=AffectedByEffect-Burning, NodeType=Condition)
  2002. Behaviors=(BehaviorName=NotBurning, NodeType=Inverter, Child[0]=AffectedByEffect-Burning)
  2003. Behaviors=(BehaviorName=LostGreenAlertBehavior, NodeType=Sequence, Child[0]=IsGreenAlert, Child[1]=SkipMove)
  2004. Behaviors=(BehaviorName=LostActiveBehavior, NodeType=Sequence, Child[0]=IsNotGreenAlert, Child[1]=GroupWideExcludeEffect-Burning, Child[2]=LostActiveSelector)
  2005. Behaviors=(BehaviorName=GroupWideExcludeEffect-Burning, NodeType=Action)
  2006. Behaviors=(BehaviorName=LostActiveSelector, NodeType=Selector, Child[0]=LostHuntingGroupMove, Child[1]=LostHuntingTargetAttack )
  2007. Behaviors=(BehaviorName=IsNotGreenAlert, NodeType=Inverter, Child[0]=IsGreenAlert)
  2008. Behaviors=(BehaviorName=LostHowlerBranch, NodeType=Sequence, Child[0]=IsAbilityReady-LostHowlerAbility, Child[1]=LostHowlerSelector)
  2009. Behaviors=(BehaviorName=IsAbilityReady-LostHowlerAbility, NodeType=Condition, Param[0]="AA_CoolingDown"); Global cooldown is ok, just an IsHowler check.
  2010. Behaviors=(BehaviorName=LostHowlerSelector, NodeType=Selector, Child[0]=LostHowlerGreenAlertBehavior, Child[1]=TryHowl, Child[2]=LostActiveBehavior, Child[3]=SkipMove)
  2011. Behaviors=(BehaviorName=LostHowlerGreenAlertBehavior, NodeType=Sequence, Child[0]=ShouldPatrol, Child[1]=SkipMove) ; Do nothing until revealed.
  2012. Behaviors=(BehaviorName=TryHowl, NodeType=Sequence, Child[0]=IsAbilityAvailable-LostHowlerAbility, Child[1]=ChanceToHowl)
  2013. Behaviors=(BehaviorName=ChanceToHowl, NodeType=RandFilter, Child[0]=SelectAbility-LostHowlerAbility, Param[0]=100)
  2014. Behaviors=(BehaviorName=IsAbilityAvailable-LostHowlerAbility, NodeType=Condition)
  2015. Behaviors=(BehaviorName=SelectAbility-LostHowlerAbility, NodeType=Action)
  2016. Behaviors=(BehaviorName=LostHuntingGroupMove, NodeType=Action)
  2017. Behaviors=(BehaviorName=LostScamperMove, NodeType=Action)
  2018. Behaviors=(BehaviorName=LostHuntingTargetAttack, NodeType=Action)
  2019. Behaviors=(BehaviorName=TheLostScamperRoot, NodeType=Selector, Child[0]=SkipIfLostScampered, Child[1]=LostScamperMove)
  2020. Behaviors=(BehaviorName=SkipIfLostScampered, NodeType=Sequence, Child[0]=HasLostGroupScampered, Child[1]=SkipMove)
  2021. Behaviors=(BehaviorName=HasLostGroupScampered, NodeType=Condition)
  2022. Behaviors=(BehaviorName=SelectAbility-LostAttack, NodeType=Action)
  2023. Behaviors=(BehaviorName=LostBurningRoot, NodeType=Selector, Child[0]=ChanceRunToOtherLost, Child[1]=RandomMovement, Child[2]=SkipMove)
  2024. Behaviors=(BehaviorName=SetDestinationNextToUnburnedTeammate, NodeType=Action)
  2025. Behaviors=(BehaviorName=ChanceRunToOtherLost, NodeType=RandFilter, Child[0]=RunToOtherLost, Param[0]=50)
  2026. Behaviors=(BehaviorName=RunToOtherLost, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardMove, Child[1]=SetDestinationNextToUnburnedTeammate, Child[2]=SelectAbility-StandardMove)
  2027. Behaviors=(BehaviorName=RandomMovement, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardMove, Child[1]=SelectRandomDestination, Child[2]=SelectAbility-StandardMove)
  2028. Behaviors=(BehaviorName=SelectRandomDestination, NodeType=Sequence, Child[0]=SSSetRandomDirValueIfUnset, Child[1]=SelectDestinationFromRandomDir)
  2029. Behaviors=(BehaviorName=SelectDestinationFromRandomDir, NodeType=Action)
  2030. Behaviors=(BehaviorName=SSSetRandomDirValueIfUnset, NodeType=Successor, Child[0]=SetRandomDirValueIfUnset)
  2031. Behaviors=(BehaviorName=SetRandomDirValueIfUnset, NodeType=Sequence, Child[0]=RandomDirValueUnset, Child[1]=SetRandUnitValue-RandomDir)
  2032. Behaviors=(BehaviorName=RandomDirValueUnset, NodeType=Inverter, Child[0]=HasUnitValue-RandomDir)
  2033. Behaviors=(BehaviorName=HasUnitValue-RandomDir, NodeType=Condition)
  2034. Behaviors=(BehaviorName=SetRandUnitValue-RandomDir, NodeType=Action, Param[0]=65535, Param[1]=1) ;Set a random yaw direction
  2035. Behaviors=(BehaviorName=HasBTVar-ChosenOverwatchEffect, NodeType=Condition)
  2036. Behaviors=(BehaviorName=SetChosenOverwatchEffectNormal, NodeType=Sequence, Child[0]=SetChosenOverwatchEffectNormalBTVar, Child[1]=SetSafeToMoveTrue)
  2037. Behaviors=(BehaviorName=SetChosenOverwatchEffectAbilityOnly, NodeType=Sequence, Child[0]=SetChosenOverwatchEffectAbilityOnlyBTVar, Child[1]=SetSafeToMoveFalse)
  2038. Behaviors=(BehaviorName=SetChosenOverwatchEffectShootOverwatcher, NodeType=Sequence, Child[0]=SetChosenOverwatchEffectShootOverwatcherBTVar, Child[1]=SetSafeToMoveFalse)
  2039. Behaviors=(BehaviorName=SetChosenOverwatchEffectNormalBTVar, NodeType=Action, Param[0]=SetBTVar, Param[1]="ChosenOverwatchEffect", Param[2]="0")
  2040. Behaviors=(BehaviorName=SetChosenOverwatchEffectAbilityOnlyBTVar, NodeType=Action, Param[0]=SetBTVar, Param[1]="ChosenOverwatchEffect", Param[2]="1")
  2041. Behaviors=(BehaviorName=SetChosenOverwatchEffectShootOverwatcherBTVar, NodeType=Action, Param[0]=SetBTVar, Param[1]="ChosenOverwatchEffect", Param[2]="2")
  2042. Behaviors=(BehaviorName=ChosenSafeToMove, NodeType=Sequence, Child[0]=InitChosenOverwatchEffect, Child[1]=ChosenIsSafeToMove)
  2043. Behaviors=(BehaviorName=ChosenIsSafeToMove, NodeType=StatCondition, Param[0]=BTVar, Param[1]="==", Param[2]="0", Param[3]="ChosenOverwatchEffect")
  2044. Behaviors=(BehaviorName=ChosenNotSafeToMove, NodeType=Sequence, Child[0]=InitChosenOverwatchEffect, Child[1]=ChosenIsNotSafeToMove)
  2045. Behaviors=(BehaviorName=ChosenIsNotSafeToMove, NodeType=Inverter, Child[0]=ChosenIsSafeToMove)
  2046. Behaviors=(BehaviorName=ChosenShouldUseNormalAbility, NodeType=StatCondition, Param[0]=BTVar, Param[1]="==", Param[2]="1", Param[3]="ChosenOverwatchEffect")
  2047. Behaviors=(BehaviorName=ChosenShouldShootOverwatcher, NodeType=StatCondition, Param[0]=BTVar, Param[1]="==", Param[2]="2", Param[3]="ChosenOverwatchEffect")
  2048. Behaviors=(BehaviorName=InitChosenOverwatchEffect, NodeType=Selector, Child[0]=HasBTVar-ChosenOverwatchEffect, Child[1]=UpdateChosenOverwatchEffectVar)
  2049. Behaviors=(BehaviorName=UpdateChosenOverwatchEffectVar, NodeType=Selector, Child[0]=ChosenOverwatch_HasShadowstep, Child[1]=ChosenOverwatch_HasOverwatchersLowHealth, Child[2]=ChosenOverwatch_MultipleOverwatchers, Child[3]=ChosenOverwatch_SingleOverwatcher, Child[4]=SetChosenOverwatchEffectNormal )
  2050. Behaviors=(BehaviorName=AffectedByEffect-Shadowstep, NodeType=Condition)
  2051. Behaviors=(BehaviorName=ChosenOverwatch_HasShadowstep, NodeType=Sequence, Child[0]=AffectedByEffect-Shadowstep, Child[1]=SetChosenOverwatchEffectNormal)
  2052. Behaviors=(BehaviorName=NoOverwatchersInArea, NodeType=StatCondition, Param[0]=OverwatcherCount, Param[1]="==", Param[2]="0", Param[3]="0", Param[4]="1")
  2053. Behaviors=(BehaviorName=HasMultipleOverwatchersInArea, NodeType=StatCondition, Param[0]=OverwatcherCount, Param[1]=">", Param[2]="1", Param[3]="0", Param[4]="1")
  2054. Behaviors=(BehaviorName=HasOverwatchersInArea, NodeType=Inverter, Child[0]=NoOverwatchersInArea)
  2055. Behaviors=(BehaviorName=ChosenOverwatch_HasOverwatchersLowHealth, NodeType=Sequence, Child[0]=HasOverwatchersInArea, Child[1]=HealthBelow50, Child[2]=ChosenOverwatchResponseTierA)
  2056. Behaviors=(BehaviorName=ChosenOverwatch_MultipleOverwatchers, NodeType=Sequence, Child[0]=HasMultipleOverwatchersInArea, Child[1]=ChosenOverwatchResponseTierB)
  2057. Behaviors=(BehaviorName=ChosenOverwatch_SingleOverwatcher, NodeType=Sequence, Child[0]=HasOverwatchersInArea, Child[1]=ChosenOverwatchResponseTierC)
  2058. Behaviors=(BehaviorName=ChosenOverwatchResponseTierA, NodeType=RandSelector, Child[0]=SetChosenOverwatchEffectShootOverwatcher, Param[0]=40, Child[1]=SetChosenOverwatchEffectAbilityOnly, Param[1]=40, Child[2]=SetChosenOverwatchEffectNormal, Param[2]=20)
  2059. Behaviors=(BehaviorName=ChosenOverwatchResponseTierB, NodeType=RandSelector, Child[0]=SetChosenOverwatchEffectShootOverwatcher, Param[0]=30, Child[1]=SetChosenOverwatchEffectAbilityOnly, Param[1]=30, Child[2]=SetChosenOverwatchEffectNormal, Param[2]=40)
  2060. Behaviors=(BehaviorName=ChosenOverwatchResponseTierC, NodeType=RandSelector, Child[0]=SetChosenOverwatchEffectShootOverwatcher, Param[0]=20, Child[1]=SetChosenOverwatchEffectAbilityOnly, Param[1]=10, Child[2]=SetChosenOverwatchEffectNormal, Param[2]=70)
  2061. Behaviors=(BehaviorName=OverwatchHandlerShootOverwatcherOption, NodeType=Sequence, Child[0]=ChosenShouldShootOverwatcher, Child[1]=TryShootAtOverwatcherOrReload)
  2062. Behaviors=(BehaviorName=OverwatchHandlerBackupOption, NodeType=Sequence, Child[0]=ChosenShouldUseNormalAbility, Child[1]=TryShootAtOverwatcherOrReload)
  2063. Behaviors=(BehaviorName=TryShootAtOverwatcherOrReload, NodeType=Selector, Child[0]=ShootOverwatcherIfAvailable, Child[1]=NeedsReload)
  2064. Behaviors=(BehaviorName=ShootOverwatcherIfAvailable, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardShot, Child[1]=SelectOverwatchingTargetForStandardShot, Child[2]=SelectAbility-StandardShot)
  2065. Behaviors=(BehaviorName=SelectOverwatchingTargetForStandardShot, NodeType=Sequence, Child[0]=SetTargetStack-StandardShot, Child[1]=SelectOverwatchingTargetIterator, Child[2]=HasValidTarget-StandardShot)
  2066. Behaviors=(BehaviorName=SelectOverwatchingTargetIterator, NodeType=RepeatUntilFail, Child[0]=SelectOverwatchingTargetStep)
  2067. Behaviors=(BehaviorName=SelectOverwatchingTargetStep, NodeType=Sequence, Child[0]=SetNextTarget, Child[1]=SSScoreForOverwatchTargets, Child[2]=UpdateBestTarget)
  2068. Behaviors=(BehaviorName=SSScoreForOverwatchTargets, NodeType=Successor, Child[0]=ScoreForOverwatchTargets)
  2069. Behaviors=(BehaviorName=ScoreForOverwatchTargets, NodeType=Sequence, Child[0]=TargetIsOverwatching, Child[1]=AddToTargetScore_100, Child[2]=GenericTargetEvaluations)
  2070. Behaviors=(BehaviorName=TargetIsOverwatching, NodeType=Condition)
  2071. Behaviors=(BehaviorName=ChosenGeneric, NodeType=Selector, Child[0]=GenericAbilityRoot, Child[1]=DoIfFlankedMove, Child[2]=TryMoveThenGrenade, Child[3]=TryShootOrReloadOrOverwatch, Child[4]=HuntEnemyWithCover)
  2072. Behaviors=(BehaviorName=ChosenUnactivated, NodeType=Sequence, Child[0]=ChosenIsUnactivated, Child[1]=GenericGreenMovement)
  2073. Behaviors=(BehaviorName=ChosenIsUnactivated, NodeType=Selector, Child[0]=NoUnitValueSetForActivationState, Child[1]=ChosenUnitValueIsUnactivated)
  2074. Behaviors=(BehaviorName=NoUnitValueSetForActivationState, NodeType=Inverter, Child[0]=HasUnitValue-ChosenActivatedStateUnitValue)
  2075. Behaviors=(BehaviorName=HasUnitValue-ChosenActivatedStateUnitValue, NodeType=Condition)
  2076. Behaviors=(BehaviorName=ChosenUnitValueIsUnactivated, NodeType=StatCondition, Param[0]=UnitValue-ChosenActivatedStateUnitValue, Param[1]="==", Param[2]=0)
  2077. Behaviors=(BehaviorName=ChosenIsActivated, NodeType=StatCondition, Param[0]=UnitValue-ChosenActivatedStateUnitValue, Param[1]="==", Param[2]=1)
  2078. Behaviors=(BehaviorName=ChosenIsEngaged, NodeType=StatCondition, Param[0]=UnitValue-ChosenActivatedStateUnitValue, Param[1]="==", Param[2]=2)
  2079. Behaviors=(BehaviorName=ChosenActivated, NodeType=Sequence, Child[0]=ChosenIsActivated, Child[1]="::ChosenActivated")
  2080. Behaviors=(BehaviorName=MoveInIfLastUnit, NodeType=Sequence, Child[0]=IsLastAIUnit, Child[1]=MoveTowardsNearestEnemy)
  2081. Behaviors=(BehaviorName=IsLastAIUnit, NodeType=Condition)
  2082. Behaviors=(BehaviorName=DoRedScreenFailure-ChosenBT, NodeType=Action, Param[0]="RedScreen-Error On Behavior Tree! Chosen behavior not overridden! @acheng")
  2083. Behaviors=(BehaviorName="::ChosenActivated", NodeType=Sequence, Child[0]=DoRedScreenFailure-ChosenBT, Child[1]=SkipMove);Should be overwritten.
  2084. Behaviors=(BehaviorName=ChosenEngaged, NodeType=Sequence, Child[0]=ChosenIsEngaged, Child[1]=SelectChosenEngagedAction)
  2085. Behaviors=(BehaviorName=SelectChosenEngagedAction, NodeType=Selector, Child[0]=TryChosenExtract, Child[1]=SelectPreselectedAbility, Child[2]=OutOfRangeChosenBehavior, Child[3]="::ChosenEngaged")
  2086. Behaviors=(BehaviorName=OutOfRangeChosenBehavior, NodeType=Sequence, Child[0]=NotVisibleToTeamXCom, Child[1]=IsChosenOutOfRange, Child[2]="::ChosenActivated")
  2087. Behaviors=(BehaviorName=NotVisibleToTeamXCom, NodeType=Condition)
  2088. Behaviors=(BehaviorName=IsChosenOutOfRange, NodeType=Condition, Param[0]=27); Meter range to check. Default soldier sight range == 27 meters.
  2089. Behaviors=(BehaviorName="::ChosenEngaged", NodeType=Sequence, Child[0]=DoRedScreenFailure-ChosenBT, Child[1]=SkipMove)
  2090. Behaviors=(BehaviorName=TryChosenExtract, NodeType=Selector, Child[0]=TryChosenExtractAbility, Child[1]=ChosenMoveTowardDazed)
  2091. Behaviors=(BehaviorName=TryChosenExtractAbility, NodeType=Sequence, Child[0]=CanKidnapOrExtract, Child[1]=ExtractNotDisabled, Child[2]=SelectKidnapOrExtract)
  2092. Behaviors=(BehaviorName=ExtractNotDisabled, NodeType=Inverter, Child[0]=HasBTVar-NoExtract)
  2093. Behaviors=(BehaviorName=CanKidnapOrExtract, NodeType=Selector, Child[0]=CanMoveToKidnapOrExtract, Child[1]=IsAbilityAvailable-ChosenKidnap, Child[2]=IsAbilityAvailable-ChosenExtractKnowledge)
  2094. Behaviors=(BehaviorName=IsAbilityAvailable-ChosenKidnap, NodeType=Condition)
  2095. Behaviors=(BehaviorName=IsAbilityAvailable-ChosenExtractKnowledge, NodeType=Condition)
  2096. Behaviors=(BehaviorName=CanMoveToKidnapOrExtract, NodeType=Sequence, Child[0]=ChosenSafeToMove, Child[1]=KidnapExtractMoveAvailable)
  2097. Behaviors=(BehaviorName=KidnapExtractMoveAvailable, NodeType=Selector, Child[0]=IsAbilityAvailable-ChosenKidnapMove, Child[1]=IsAbilityAvailable-ChosenExtractKnowledgeMove)
  2098. Behaviors=(BehaviorName=SelectKidnapOrExtract, NodeType=Selector, Child[0]=TryVanishReveal, Child[1]=ChanceToKidnap, Child[2]=TryExtractKnowledge)
  2099. Behaviors=(BehaviorName=ChanceToKidnap, NodeType=Sequence, Child[0]=ShouldChosenUseKidnap, Child[1]=TryKidnap)
  2100. Behaviors=(BehaviorName=ShouldChosenUseKidnap, NodeType=Condition)
  2101. Behaviors=(BehaviorName=ChosenMoveTowardDazed, NodeType=Sequence, Child[0]=ChosenSafeToMove, Child[1]=ExtractNotDisabled, Child[2]=SelectDazedPriorityTarget, Child[3]=IsAbilityReady-ChosenExtractKnowledgeMove, Child[4]="::MoveTowardDazed")
  2102. Behaviors=(BehaviorName=IsAbilityReady-ChosenExtractKnowledgeMove, NodeType=Condition)
  2103. Behaviors=(BehaviorName="::MoveTowardDazed", NodeType=Sequence, Child[0]=MoveTowardDazed)
  2104. Behaviors=(BehaviorName=MoveTowardDazed, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardMove, Child[1]=FindDestinationTowardTarget, Child[2]=SelectAbility-StandardMove)
  2105. Behaviors=(BehaviorName=FindDestinationTowardTarget, NodeType=Sequence, Child[0]=ResetDestinationSearch, Child[1]=OverridePreferredDestinationToPotentialTarget, Child[2]=OverrideIdealRange-3, Child[3]=RestrictToUnflanked, Child[4]=UseDashMovement, Child[5]=FindRestrictedDestination-MWP_AdvanceToTarget)
  2106. Behaviors=(BehaviorName=FindRestrictedDestination-MWP_AdvanceToTarget, NodeType=Action)
  2107. Behaviors=(BehaviorName=OverridePreferredDestinationToPotentialTarget, NodeType=Action)
  2108. Behaviors=(BehaviorName=TryChosenSummon, NodeType=Sequence, Child[0]=IsAbilityAvailable-ChosenSummonFollowers, Child[1]=SelectAbility-ChosenSummonFollowers)
  2109. Behaviors=(BehaviorName=IsAbilityAvailable-ChosenSummonFollowers, NodeType=Condition)
  2110. Behaviors=(BehaviorName=SelectAbility-ChosenSummonFollowers, NodeType=Action)
  2111. Behaviors=(BehaviorName=TryKidnap, NodeType=Sequence, Child[0]=IsAbilityAvailable-ChosenKidnapMove, Child[1]=SelectKidnapTarget, Child[2]=SelectAbility-ChosenKidnapMove)
  2112. Behaviors=(BehaviorName=IsAbilityAvailable-ChosenKidnapMove, NodeType=Condition)
  2113. Behaviors=(BehaviorName=SelectAbility-ChosenKidnapMove, NodeType=Action)
  2114. Behaviors=(BehaviorName=SetTargetStack-ChosenKidnapMove, NodeType=Action)
  2115. Behaviors=(BehaviorName=HasValidTarget-ChosenKidnapMove, NodeType=Condition)
  2116. Behaviors=(BehaviorName=SelectKidnapTarget, NodeType=Sequence, Child[0]=SetTargetStack-ChosenKidnapMove, Child[1]=SelectClosestEnemyTarget_NonCivilianOrVIP, Child[2]=HasValidTarget-ChosenKidnapMove)
  2117. Behaviors=(BehaviorName=TryExtractKnowledge, NodeType=Sequence, Child[0]=IsAbilityAvailable-ChosenExtractKnowledgeMove, Child[1]=SelectExtractKnowledgeTarget, Child[2]=SelectAbility-ChosenExtractKnowledgeMove)
  2118. Behaviors=(BehaviorName=IsAbilityAvailable-ChosenExtractKnowledgeMove, NodeType=Condition)
  2119. Behaviors=(BehaviorName=SelectAbility-ChosenExtractKnowledgeMove, NodeType=Action)
  2120. Behaviors=(BehaviorName=SetTargetStack-ChosenExtractKnowledgeMove, NodeType=Action)
  2121. Behaviors=(BehaviorName=HasValidTarget-ChosenExtractKnowledgeMove, NodeType=Condition)
  2122. Behaviors=(BehaviorName=SelectExtractKnowledgeTarget, NodeType=Sequence, Child[0]=SetTargetStack-ChosenExtractKnowledgeMove, Child[1]=SelectClosestEnemyTarget_NonCivilianOrVIP, Child[2]=HasValidTarget-ChosenExtractKnowledgeMove)
  2123. Behaviors=(BehaviorName=TryAgileMove, NodeType=Selector, Child[0]=TryAgileMoveNonFlanking, Child[1]=TryAgileMoveAny, Child[2]=MoveDefensiveWithLoSUnsafe)
  2124. Behaviors=(BehaviorName=TryAgileMoveNonFlanking, NodeType=Sequence, Child[0]=ResetDestinationSearch, Child[1]=RestrictToNonFlanking, Child[2]=RestrictToUnflanked, Child[3]=FindDestinationWithLoS-MWP_AgileRandom, Child[4]=SelectAbility-StandardMove)
  2125. Behaviors=(BehaviorName=FindDestinationWithLoS-MWP_AgileRandom, NodeType=Action)
  2126. Behaviors=(BehaviorName=TryAgileMoveAny, NodeType=Sequence, Child[0]=ResetDestinationSearch, Child[1]=RestrictToUnflanked, Child[2]=FindDestinationWithLoS-MWP_AgileRandom, Child[3]=SelectAbility-StandardMove)
  2127. Behaviors=(BehaviorName=DisableExtractThisTurn, NodeType=Action, Param[0]=SetBTVar, Param[1]="NoExtract", Param[2]="1")
  2128. Behaviors=(BehaviorName=HasBTVar-NoExtract, NodeType=Condition)
  2129. Behaviors=(BehaviorName="ChosenAssassin::CharacterRoot", NodeType=Selector, Child[0]=ChosenUnactivated, Child[1]=ChosenActivated, Child[2]=ChosenEngaged, Child[3]=SkipMove)
  2130. Behaviors=(BehaviorName="ChosenAssassin::ChosenActivated", NodeType=Selector, Child[0]=SelectPreselectedAbility, Child[1]=PostBendingReedSkip, Child[2]=StealthAssassinBranch, Child[3]=DoVanishingWindMapwide, Child[4]=VanishingWindMove, Child[5]=MoveAdvanceToCoverUnsafe, Child[6]=SkipMove)
  2131. Behaviors=(BehaviorName="ChosenAssassin::ChosenEngaged", NodeType=Selector, Child[0]=PostBendingReedSkip, Child[1]=StealthAssassinBranch, Child[2]=VisibleAssassinBranch, Child[3]=TryShootOrReload, Child[4]=TryOverwatch, Child[5]=SkipMove)
  2132. Behaviors=(BehaviorName=PostBendingReedSkip, NodeType=Sequence, Child[0]=WasLastAbility-StandardMove, Child[1]=HasBTVar-NoExtract, Child[2]=SkipMove)
  2133. Behaviors=(BehaviorName=StealthAssassinBranch, NodeType=Sequence, Child[0]=AffectedByEffect-VanishingWind, Child[1]=SelectFromStealthAssassinOptions)
  2134. Behaviors=(BehaviorName=VanishingWindMove, NodeType=Sequence, Child[0]=AffectedByEffect-VanishingWind, Child[1]=IsAbilityAvailable-StandardMove, Child[2]=FindStealthDestination, Child[3]=SelectAbility-StandardMove, Child[4]=SSSetAssassinCycle1IfUnset)
  2135. Behaviors=(BehaviorName=VisibleAssassinBranch, NodeType=Sequence, Child[0]=NotAffectedByVanishingWind, Child[1]=CycleVisibleAssassinOptions)
  2136. Behaviors=(BehaviorName=AffectedByEffect-VanishingWind, NodeType=Condition)
  2137. Behaviors=(BehaviorName=NotAffectedByVanishingWind, NodeType=Inverter, Child[0]=AffectedByEffect-VanishingWind)
  2138. Behaviors=(BehaviorName=SelectFromStealthAssassinOptions, NodeType=Selector, Child[0]=TryPartingSilkConditionally, Child[1]=PostVanishingWindMovement, Child[2]=AdvanceCoverIfNoEnemiesVisible, Child[3]=NoHarborWaveTargetOption, Child[4]=StealthOverwatchHandlerOption, Child[5]=AdvanceCoverDashMove, Child[6]=HuntEnemyWithCover, Child[7]=HuntEnemyUnsafe )
  2139. Behaviors=(BehaviorName=StealthOverwatchHandlerOption, NodeType=Sequence, Child[0]=ChosenNotSafeToMove, Child[1]=IsLastActionPoint, Child[2]=TryVanishReveal)
  2140. Behaviors=(BehaviorName=CycleVisibleAssassinOptions, NodeType=Selector, Child[0]=OverwatchHandlerShootOverwatcherOption, Child[1]=TryChosenSummon, Child[2]=AssassinCycle1Branch, Child[3]=AssassinCycle2Branch, Child[4]=AssassinCycle3Branch, Child[5]=SelectFromVisibleAssassinOptions)
  2141. Behaviors=(BehaviorName=AssassinCycle1Branch, NodeType=Sequence, Child[0]=IsAssassinCycle1, Child[1]=AssassinCycle1Selector)
  2142. Behaviors=(BehaviorName=AssassinCycle2Branch, NodeType=Sequence, Child[0]=IsAssassinCycle2, Child[1]=AssassinCycle2Selector)
  2143. Behaviors=(BehaviorName=AssassinCycle3Branch, NodeType=Sequence, Child[0]=IsAssassinCycle3, Child[1]=AssassinCycle3Selector)
  2144. Behaviors=(BehaviorName=AssassinCycle1Selector, NodeType=Selector, Child[0]=AssassinBendingReedMovement, Child[1]=TryPartingSilk)
  2145. Behaviors=(BehaviorName=AssassinCycle2Selector, NodeType=Selector, Child[0]=HarborWaveAndMountainMistOptions, Child[1]=HarborWaveOnlyOption, Child[2]=MountainMistOnlyOption)
  2146. Behaviors=(BehaviorName=AssassinCycle3Selector, NodeType=Selector, Child[0]=TryVanishingWind)
  2147. Behaviors=(BehaviorName=SelectFromVisibleAssassinOptions, NodeType=Selector, Child[0]=OverwatchHandlerShootOverwatcherOption, Child[1]=AssassinBendingReedMovement, Child[2]=TryVanishingWind, Child[3]=HarborWaveAndMountainMistOptions, Child[4]=PartingSilkPriorityOption, Child[5]=HarborWaveOnlyOption, Child[6]=MountainMistOnlyOption, Child[7]=NoHarborWaveTargetOption, Child[8]=OverwatchHandlerBackupOption, Child[9]=SelectFromStealthAssassinOptions)
  2148. Behaviors=(BehaviorName=SetAssassinCycle1, NodeType=Action, Param[0]=SetUnitValue, Param[1]="AssassinCycle", Param[2]="1")
  2149. Behaviors=(BehaviorName=SetAssassinCycle2, NodeType=Action, Param[0]=SetUnitValue, Param[1]="AssassinCycle", Param[2]="2")
  2150. Behaviors=(BehaviorName=SetAssassinCycle3, NodeType=Action, Param[0]=SetUnitValue, Param[1]="AssassinCycle", Param[2]="3")
  2151. Behaviors=(BehaviorName=SSSetAssassinCycle1IfUnset, NodeType=Successor, Child[0]=SetAssassinCycle1IfUnset)
  2152. Behaviors=(BehaviorName=SSSetAssassinCycle1IfNotSet, NodeType=Successor, Child[0]=SetAssassinCycle1IfNotSet)
  2153. Behaviors=(BehaviorName=SSSetAssassinCycle2IfNotSet, NodeType=Successor, Child[0]=SetAssassinCycle2IfNotSet)
  2154. Behaviors=(BehaviorName=SSSetAssassinCycle3IfNotSet, NodeType=Successor, Child[0]=SetAssassinCycle3IfNotSet)
  2155. Behaviors=(BehaviorName=SetAssassinCycle1IfUnset, NodeType=Sequence, Child[0]=NotAssassinCycle1, Child[1]=NotAssassinCycle2, Child[2]=NotAssassinCycle3, Child[3]=SetAssassinCycle1)
  2156. Behaviors=(BehaviorName=SetAssassinCycle1IfNotSet, NodeType=Sequence, Child[0]=NotAssassinCycle1, Child[1]=SetAssassinCycle1)
  2157. Behaviors=(BehaviorName=SetAssassinCycle2IfNotSet, NodeType=Sequence, Child[0]=NotAssassinCycle2, Child[1]=SetAssassinCycle2)
  2158. Behaviors=(BehaviorName=SetAssassinCycle3IfNotSet, NodeType=Sequence, Child[0]=NotAssassinCycle3, Child[1]=SetAssassinCycle3)
  2159. Behaviors=(BehaviorName=IsAssassinCycle1, NodeType=StatCondition, Param[0]=UnitValue-AssassinCycle, Param[1]="==", Param[2]="1")
  2160. Behaviors=(BehaviorName=IsAssassinCycle2, NodeType=StatCondition, Param[0]=UnitValue-AssassinCycle, Param[1]="==", Param[2]="2")
  2161. Behaviors=(BehaviorName=IsAssassinCycle3, NodeType=StatCondition, Param[0]=UnitValue-AssassinCycle, Param[1]="==", Param[2]="3")
  2162. Behaviors=(BehaviorName=NotAssassinCycle1, NodeType=Inverter, Child[0]=IsAssassinCycle1)
  2163. Behaviors=(BehaviorName=NotAssassinCycle2, NodeType=Inverter, Child[0]=IsAssassinCycle2)
  2164. Behaviors=(BehaviorName=NotAssassinCycle3, NodeType=Inverter, Child[0]=IsAssassinCycle3)
  2165. Behaviors=(BehaviorName=HarborWaveAndMountainMistOptions, NodeType=Sequence, Child[0]=IsAbilityAvailable-ThrowGrenade, Child[1]=IsAbilityAvailable-HarborWave, Child[2]=ChooseBetweenMountainMistAndHarborWave, Child[3]=SSSetAssassinCycle3IfNotSet)
  2166. Behaviors=(BehaviorName=HarborWaveOnlyOption, NodeType=Sequence, Child[0]=IsAbilityAvailable-HarborWave, Child[1]=ThrowGrenadeNotAvailable, Child[2]=TryHarborWaveOptions, Child[3]=SSSetAssassinCycle3IfNotSet)
  2167. Behaviors=(BehaviorName=MountainMistOnlyOption, NodeType=Sequence, Child[0]=IsAbilityAvailable-ThrowGrenade, Child[1]=NoHarborWaveOption, Child[2]=TryMountainMistOnlyOptions, Child[3]=SSSetAssassinCycle3IfNotSet)
  2168. Behaviors=(BehaviorName=TryMountainMistOnlyOptions, NodeType=Selector, Child[0]=TryMountainMistPreferred, Child[1]=TryMountainMistAny25)
  2169. Behaviors=(BehaviorName=TryMountainMistAny25, NodeType=RandFilter, Child[0]=TryMountainMistAny, Param[0]=25)
  2170. Behaviors=(BehaviorName=ThrowGrenadeNotAvailable, NodeType=Inverter, Child[0]=IsAbilityAvailable-ThrowGrenade)
  2171. Behaviors=(BehaviorName=NoHarborWaveOption, NodeType=Selector, Child[0]=HarborWaveNotAvailable, Child[1]=NoHarborWaveTargets)
  2172. Behaviors=(BehaviorName=HarborWaveNotAvailable, NodeType=Inverter, Child[0]=IsAbilityAvailable-HarborWave)
  2173. Behaviors=(BehaviorName=ChooseBetweenMountainMistAndHarborWave, NodeType=Selector, Child[0]=MountainMistPriorityOption, Child[1]=RandSelectHarborWave80MountainMist20)
  2174. Behaviors=(BehaviorName=PartingSilkPriorityOption, NodeType=Sequence, Child[0]=LastTurnUsedHarborWaveOrMountainMist, Child[1]=TryPartingSilk)
  2175. Behaviors=(BehaviorName=LastTurnUsedHarborWaveOrMountainMist, NodeType=Selector, Child[0]=WasLastAbility-HarborWave, Child[1]=WasLastAbility-ThrowGrenade)
  2176. Behaviors=(BehaviorName=WasLastAbility-HarborWave, NodeType=Condition)
  2177. Behaviors=(BehaviorName=WasLastAbility-ThrowGrenade, NodeType=Condition)
  2178. Behaviors=(BehaviorName=MountainMistPriorityOption, NodeType=Sequence, Child[0]=CanHitMultipleMountainMistTargets, Child[1]=RandSelectMountainMist75HarborWave25)
  2179. Behaviors=(BehaviorName=CanHitMultipleMountainMistTargets, NodeType=Sequence, Child[0]=IsAbilityReady-ThrowGrenade, Child[1]=FindPotentialAoETargets-MountainMistPreferred, Child[2]=MoveStandardIfFirstAbility-Grenade)
  2180. Behaviors=(BehaviorName=FindPotentialAoETargets-MountainMistPreferred, NodeType=Action)
  2181. Behaviors=(BehaviorName=FindPotentialAoETargets-MountainMistAny, NodeType=Action)
  2182. Behaviors=(BehaviorName=SSSetPreselectedAbility-MountainMistPreferred, NodeType=Successor, Child[0]=SetPreselectedAbility-MountainMistPreferred)
  2183. Behaviors=(BehaviorName=SetPreselectedAbility-MountainMistPreferred, NodeType=Action)
  2184. Behaviors=(BehaviorName=SSSetPreselectedAbility-MountainMistAny, NodeType=Successor, Child[0]=SetPreselectedAbility-MountainMistAny)
  2185. Behaviors=(BehaviorName=SetPreselectedAbility-MountainMistAny, NodeType=Action)
  2186. Behaviors=(BehaviorName=RandSelectMountainMist75HarborWave25, NodeType=RandSelector, Child[0]=TryMountainMistPreferred, Param[0]=75, Child[1]=TryHarborWaveOptions, Param[1]=25)
  2187. Behaviors=(BehaviorName=RandSelectHarborWave80MountainMist20, NodeType=RandSelector, Child[0]=TryMountainMistAny, Param[0]=20, Child[1]=TryHarborWaveOptions, Param[1]=25)
  2188. Behaviors=(BehaviorName=TryMountainMistPreferred, NodeType=Sequence, Child[0]=TryMoveThenMountainMistPreferred, Child[1]=SSSetPreselectedAbility-MountainMistPreferred)
  2189. Behaviors=(BehaviorName=TryMoveThenMountainMistPreferred, NodeType=Selector, Child[0]=TryMoveForMountainMist, Child[1]=TryUseMountainMistAbilityPreferred)
  2190. Behaviors=(BehaviorName=TryMoveForMountainMist, NodeType=Sequence, Child[0]=ChosenSafeToMove, Child[1]=IsAbilityReady-ThrowGrenade, Child[2]=FindPotentialAoETargets-MountainMistPreferred, Child[3]=MoveStandardIfFirstAbility-Grenade)
  2191. Behaviors=(BehaviorName=TryUseMountainMistAbilityPreferred, NodeType=Sequence, Child[0]=IsAbilityAvailable-ThrowGrenade, Child[1]=FindPotentialAoETargets-MountainMistPreferred, Child[2]=SelectAoETarget-MountainMistPreferred, Child[3]=SelectAbility-ThrowGrenade, Child[4]=SSSetAssassinCycle3IfNotSet)
  2192. Behaviors=(BehaviorName=SelectAoETarget-MountainMistPreferred, NodeType=Action)
  2193. Behaviors=(BehaviorName=TryMountainMistAny, NodeType=Sequence, Child[0]=TryMoveThenMountainMistAny, Child[1]=SSSetPreselectedAbility-MountainMistAny)
  2194. Behaviors=(BehaviorName=TryMoveThenMountainMistAny, NodeType=Selector, Child[0]=TryMoveForMountainMist, Child[1]=TryMountainMist)
  2195. Behaviors=(BehaviorName=TryMoveForMountainMistAny, NodeType=Sequence, Child[0]=ChosenSafeToMove, Child[1]=IsAbilityReady-ThrowGrenade, Child[2]=FindPotentialAoETargets-MountainMistAny, Child[3]=MoveStandardIfFirstAbility-Grenade)
  2196. Behaviors=(BehaviorName=TryMountainMist, NodeType=Sequence, Child[0]=IsAbilityAvailable-ThrowGrenade, Child[1]=FindPotentialAoETargets-MountainMistAny, Child[2]=SelectAoETarget-MountainMistAny, Child[3]=SelectAbility-ThrowGrenade, Child[4]=SSSetAssassinCycle3IfNotSet)
  2197. Behaviors=(behaviorName=SelectAoETarget-MountainMistAny, NodeType=Action)
  2198. Behaviors=(BehaviorName=AdvanceCoverIfNoEnemiesVisible, NodeType=Sequence, Child[0]=NoVisibleEnemies, Child[1]=IsAbilityAvailable-StandardMove, Child[2]=FindDestination-MWP_AdvanceCover, Child[3]=DisableGreenAlertMovement, Child[4]=SelectAbility-StandardMove)
  2199. Behaviors=(BehaviorName=AdvanceCoverMove, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardMove, Child[1]=FindDestination-MWP_AdvanceCover, Child[2]=SelectAbility-StandardMove)
  2200. Behaviors=(BehaviorName=AdvanceCoverDashMove, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardMove, Child[1]=UseDashMovement, Child[2]=FindDestination-MWP_AdvanceCover, Child[3]=SelectAbility-StandardMove)
  2201. Behaviors=(BehaviorName=PostVanishingWindMovement, NodeType=Sequence, Child[0]=AssassinShouldMoveDefensively, Child[1]=IsAbilityAvailable-StandardMove, Child[2]=FindStealthDestination, Child[3]=DisableGreenAlertMovement, Child[4]=SelectAbility-StandardMove, Child[5]=SSSetAssassinCycle1IfUnset)
  2202. Behaviors=(BehaviorName=AssassinBendingReedMovement, NodeType=Sequence, Child[0]=AssassinShouldMoveDefensively, Child[1]=TryBendingReedMovement, Child[2]=SSSetAssassinCycle2IfNotSet)
  2203. Behaviors=(BehaviorName=TryBendingReedMovement, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardMove, Child[1]=ChosenSafeToMove, Child[2]=FindBendingReedDestination, Child[3]=DisableGreenAlertMovement, Child[4]=SelectAbility-StandardMove)
  2204. Behaviors=(BehaviorName=OverrideIdealRange-13, NodeType=Action, Param[0]=13) ; Prefer destinations that take advantage of the greater mobility of bending reed.
  2205. Behaviors=(BehaviorName=AssassinShouldMoveDefensively, NodeType=Selector, Child[0]=WasLastAbility-VanishingWind, Child[1]=WasLastAbility-PartingSilk, Child[2]=HasBTVar-NoExtract)
  2206. Behaviors=(BehaviorName=WasLastAbility-VanishingWind, NodeType=Condition)
  2207. Behaviors=(BehaviorName=WasLastAbility-PartingSilk, NodeType=Condition)
  2208. Behaviors=(BehaviorName=FindStealthDestination, NodeType=Selector, Child[0]=StealthFindAdvanceDestinationIfNoEnemiesVisible, Child[1]=FindFlankingStealthDestination, Child[2]=FindAnyStealthDestination)
  2209. Behaviors=(BehaviorName=FindBendingReedDestination, NodeType=Sequence, Child[0]=ResetDestinationSearch, Child[1]=OverrideIdealRange-13, Child[2]=UseDashMovement, Child[3]=RestrictToUnflanked, Child[4]=FindBendingReedDestRestrictedOrNot)
  2210. Behaviors=(BehaviorName=FindRestrictedDestination-MWP_BendingReed, NodeType=Action)
  2211. Behaviors=(BehaviorName=FindBendingReedDestRestrictedOrNot, NodeType=Selector, Child[0]=FindRestrictedDestination-MWP_BendingReed, Child[1]=FindDestination-MWP_BendingReed)
  2212. Behaviors=(BehaviorName=FindDestination-MWP_BendingReed, NodeType=Action)
  2213. Behaviors=(BehaviorName=FindFlankingStealthDestination, NodeType=Sequence, Child[0]=ResetDestinationSearch, Child[1]=RestrictToFlanking, Child[2]=RestrictToUnflanked, Child[3]=FindDestinationWithLoS-MWP_IsoStealth)
  2214. Behaviors=(BehaviorName=FindDestinationWithLoS-MWP_IsoStealth, NodeType=Action)
  2215. Behaviors=(BehaviorName=FindAnyStealthDestination, NodeType=Sequence, Child[0]=ResetDestinationSearch, Child[1]=RestrictToUnflanked, Child[2]=FindDestinationWithLoS-MWP_IsoStealth)
  2216. Behaviors=(BehaviorName=StealthFindAdvanceDestinationIfNoEnemiesVisible, NodeType=Sequence, Child[0]=NoVisibleEnemies, Child[1]=FindDestination-MWP_AdvanceCover)
  2217. Behaviors=(BehaviorName=IsAbilityAvailable-VanishingWind, NodeType=Condition)
  2218. Behaviors=(BehaviorName=SelectAbility-VanishingWind, NodeType=Action)
  2219. Behaviors=(BehaviorName=IsAbilityAvailable-VanishingWind_Scamper, NodeType=Condition)
  2220. Behaviors=(BehaviorName=SelectAbility-VanishingWind_Scamper, NodeType=Action)
  2221. Behaviors=(BehaviorName=TryPartingSilkConditionally, NodeType=Sequence, Child[0]=DidntJustUseVanishingWind, Child[1]=TryPartingSilk)
  2222. Behaviors=(BehaviorName=DidntJustUseVanishingWind, NodeType=Inverter, Child[0]=WasLastAbility-VanishingWind)
  2223. Behaviors=(BehaviorName=TryPartingSilk, NodeType=Sequence, Child[0]=IsAbilityAvailable-PartingSilk, Child[1]=ChosenSafeToMove, Child[2]=FindPartingSilkTarget, Child[3]=SelectAbility-PartingSilk, Child[4]=DisableExtractThisTurn)
  2224. Behaviors=(BehaviorName=IsAbilityAvailable-PartingSilk, NodeType=Condition)
  2225. Behaviors=(BehaviorName=SelectAbility-PartingSilk, NodeType=Action)
  2226. Behaviors=(BehaviorName=FindPartingSilkTarget, NodeType=Sequence, Child[0]=SetTargetStack-PartingSilk, Child[1]=SelectBestTargetForPartingSilk, Child[2]=HasValidTarget-PartingSilk)
  2227. Behaviors=(BehaviorName=SetTargetStack-PartingSilk, NodeType=Action)
  2228. Behaviors=(BehaviorName=HasValidTarget-PartingSilk, NodeType=Condition)
  2229. Behaviors=(BehaviorName=SelectBestTargetForPartingSilk, NodeType=RepeatUntilFail, Child[0]=EvaluatePotentialMeleeTarget)
  2230. Behaviors=(BehaviorName=TryPartingSilkIfTooClose, NodeType=Sequence, Child[0]=IsAbilityAvailable-PartingSilk, Child[1]=FindPriorityPartingSilkTarget, Child[2]=SelectAbility-PartingSilk, Child[3]=DisableExtractThisTurn)
  2231. Behaviors=(BehaviorName=FindPriorityPartingSilkTarget, NodeType=Sequence, Child[0]=SetTargetStack-PartingSilk, Child[1]=IterateTargetsForPartingSilk, Child[2]=HasValidTarget-PartingSilk)
  2232. Behaviors=(BehaviorName=IterateTargetsForPartingSilk, NodeType=RepeatUntilFail, Child[0]=IterateNextTargetForPriorityPartingSilk)
  2233. Behaviors=(BehaviorName=IterateNextTargetForPriorityPartingSilk, NodeType=Sequence, Child[0]=SetNextTarget, Child[1]=SSEvaluateForPriorityPartingSilk, Child[2]=UpdateBestTarget)
  2234. Behaviors=(BehaviorName=SSEvaluateForPriorityPartingSilk, NodeType=Successor, Child[0]=EvaluateForPriorityPartingSilk)
  2235. Behaviors=(BehaviorName=EvaluateForPriorityPartingSilk, NodeType=Sequence, Child[0]=TargetIsNotCivilian, Child[1]=TargetNotTeamResistance, Child[2]=TargetIsNotEnemyVIP, Child[3]=TargetNotBoundOrPanicked, Child[4]=TargetScoreByScaledDistance-1, Child[5]=AddToTargetScore_5, Child[6]=AddSmallRandomTargetScore)
  2236. Behaviors=(BehaviorName=TryHarborWaveOptions, NodeType=Selector, Child[0]=FirstTurnMoveForPriorityHarborWave, Child[1]=TryHarborWave)
  2237. Behaviors=(BehaviorName=FirstTurnMoveForPriorityHarborWave, NodeType=Sequence, Child[0]=NotLastActionPoint, Child[1]=ChosenSafeToMove, Child[2]=IsAbilityAvailable-StandardMove, Child[3]=FindMultiTargetDestination-HarborWavePrefTargetProfile, Child[4]=SelectAbility-StandardMove, Child[5]=SSSetPreselectedAbility-HarborWave)
  2238. Behaviors=(BehaviorName=SSSetPreselectedAbility-HarborWave, NodeType=Successor, Child[0]=SetPreselectedAbility-HarborWaveProfile)
  2239. Behaviors=(BehaviorName=SetPreselectedAbility-HarborWaveProfile, NodeType=Action)
  2240. Behaviors=(BehaviorName=TryHarborWave, NodeType=Sequence, Child[0]=SelectTargetForHarborWave, Child[1]=SelectAbility-HarborWave, Child[2]=SSSetAssassinCycle3IfNotSet)
  2241. Behaviors=(BehaviorName=FindMultiTargetDestination-HarborWavePrefTargetProfile, NodeType=Action)
  2242. Behaviors=(BehaviorName=IsAbilityAvailable-HarborWave, NodeType=Condition)
  2243. Behaviors=(BehaviorName=SelectAbility-HarborWave, NodeType=Action)
  2244. Behaviors=(BehaviorName=SelectTargetForHarborWave, NodeType=Selector, Child[0]=HarborWave_HitIdealTarget, Child[1]=HarborWave_AnyTargetWillDo)
  2245. Behaviors=(BehaviorName=HarborWave_HitIdealTarget, NodeType=Sequence, Child[0]=SelectPotentialMeleeTarget, Child[1]=FindPotentialAoETargets-HarborWavePrefTargetProfile, Child[2]=SelectAoETarget-HarborWavePrefTargetProfile)
  2246. Behaviors=(BehaviorName=HarborWave_AnyTargetWillDo, NodeType=Sequence, Child[0]=FindPotentialAoETargets-HarborWaveProfile, Child[1]=SelectAoETarget-HarborWaveProfile)
  2247. Behaviors=(BehaviorName=ScamperRoot_ChosenAssassin, NodeType=Selector, Child[0]=FFSetAssassinCycle1IfNotSet, Child[1]=PostVanishingWindMovement, Child[2]=DoVanishingWindScamper, Child[3]=GenericScamperRoot)
  2248. Behaviors=(BehaviorName=FFSetAssassinCycle1IfNotSet, NodeType=Failer, Child[0]=SetAssassinCycle1IfNotSet)
  2249. Behaviors=(BehaviorName=DoVanishingWindScamper, NodeType=Sequence, Child[0]=IsAbilityAvailable-VanishingWind_Scamper, Child[1]=SelectAbility-VanishingWind_Scamper, Child[2]=SSSetAssassinCycle1IfUnset)
  2250. Behaviors=(BehaviorName=DoVanishingWindMapwide, NodeType=Sequence, Child[0]=IsAbilityAvailable-VanishingWind, Child[1]=SelectAbility-VanishingWind, Child[2]=SSSetAssassinCycle1IfUnset)
  2251. Behaviors=(BehaviorName=TryVanishingWind, NodeType=Sequence, Child[0]=IsAbilityAvailable-VanishingWind, Child[1]=TargetsExistForAoE-HarborWaveProfile, Child[2]=SelectAbility-VanishingWind, Child[3]=SSSetAssassinCycle1IfNotSet)
  2252. Behaviors=(BehaviorName="ChosenAssassin::CustomMeleeTargetScore", NodeType=Sequence, Child[0]=SSScoreTargetOutIfEnemyVIP, Child[1]=TargetScoreInvalidateCivilians)
  2253. Behaviors=(BehaviorName=NoHarborWaveTargets, NodeType=Inverter, Child[0]=TargetsExistForAoE-HarborWaveProfile)
  2254. Behaviors=(BehaviorName=TargetsExistForAoE-HarborWaveProfile, NodeType=Condition)
  2255. Behaviors=(BehaviorName=NoHarborWaveTargetOption, NodeType=Sequence, Child[0]=NoHarborWaveTargets, Child[1]=AssassinRevealOrShoot)
  2256. Behaviors=(BehaviorName=AssassinRevealOrShoot, NodeType=Selector, Child[0]=DoIfFlankedMove, Child[1]=RevealIfVanishedThenShoot, Child[2]=TryShootOrReload)
  2257. Behaviors=(BehaviorName=RevealIfVanishedThenShoot, NodeType=Sequence, Child[0]=TryVanishReveal, Child[1]=SSSetPreselectedAbility-StandardShot)
  2258. Behaviors=(BehaviorName=TryVanishReveal, NodeType=Sequence, Child[0]=IsAbilityAvailable-VanishingWindReveal, Child[1]=SelectAbility-VanishingWindReveal)
  2259. Behaviors=(BehaviorName=IsAbilityAvailable-VanishingWindReveal, NodeType=Condition)
  2260. Behaviors=(BehaviorName=SelectAbility-VanishingWindReveal, NodeType=Action)
  2261. Behaviors=(BehaviorName=SSSetPreselectedAbility-StandardShot, NodeType=Successor, Child[0]=SetPreselectedAbility-StandardShot)
  2262. Behaviors=(BehaviorName=SetPreselectedAbility-StandardShot, NodeType=Action)
  2263. Behaviors=(BehaviorName="ChosenWarlock::CharacterRoot", NodeType=Selector, Child[0]=ChosenUnactivated, Child[1]=ChosenActivated, Child[2]=ChosenEngaged, Child[3]=SkipMove)
  2264. Behaviors=(BehaviorName="ChosenWarlock::ChosenActivated", NodeType=Selector, Child[0]=MoveInIfLastUnit, Child[1]=WarlockMoveSafelyNearSpawnFirstAction, Child[2]=TryWarlockMapAbilities, Child[3]=HuntEnemyWithCover, Child[4]=HuntEnemy, Child[5]=SkipMove)
  2265. Behaviors=(BehaviorName="ChosenWarlock::ChosenEngaged", NodeType=Selector, Child[0]=TryEndSpectralArmy, Child[1]=TryChosenSummon, Child[2]=OverwatchHandlerShootOverwatcherOption, Child[3]=WarlockMoveIfNecessary, Child[4]=TryWarlockCombatAbilities, Child[5]=OverwatchHandlerBackupOption, Child[6]=TryShootOrReloadOrOverwatch, Child[7]=HuntEnemyWithCover)
  2266. Behaviors=(BehaviorName=WarlockMoveIfNecessary, NodeType=Sequence, Child[0]=ChosenSafeToMove, Child[1]=CheckIfNeedToMove, Child[2]=WarlockMoveDefensive)
  2267. Behaviors=(BehaviorName=OverrideIdealRange-18, NodeType=Action)
  2268. Behaviors=(BehaviorName=WarlockMoveDefensive, NodeType=Selector, Child[0]=WarlockMoveDefensiveHighCover, Child[1]=WarlockMoveDefensiveAnyCover)
  2269. Behaviors=(BehaviorName=WarlockMoveDefensiveHighCover, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardMove, Child[1]=ResetDestinationSearch, Child[2]=RestrictToUnflanked, Child[3]=RestrictToHighCover, Child[4]=OverrideIdealRange-18, Child[5]=FindDestinationWithLoS-MWP_Defensive, Child[6]=SelectAbility-StandardMove)
  2270. Behaviors=(BehaviorName=WarlockMoveDefensiveAnyCover, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardMove, Child[1]=ResetDestinationSearch, Child[2]=RestrictToUnflanked, Child[3]=OverrideIdealRange-18, Child[4]=FindDestinationWithLoS-MWP_Defensive, Child[5]=SelectAbility-StandardMove)
  2271. Behaviors=(BehaviorName=TryEndSpectralArmy, NodeType=Sequence, Child[0]=IsAbilityAvailable-EndSpectralArmy, Child[1]=EndSpectralArmyOrSkipTurn)
  2272. Behaviors=(BehaviorName=IsAbilityAvailable-EndSpectralArmy, NodeType=Condition)
  2273. Behaviors=(BehaviorName=SelectAbility-EndSpectralArmy, NodeType=Action)
  2274. Behaviors=(BehaviorName=EndSpectralArmyOrSkipTurn, NodeType=Selector, Child[0]=EndSpectralArmyIfExtractAvailable, Child[1]=SkipMove)
  2275. Behaviors=(BehaviorName=EndSpectralArmyIfExtractAvailable, NodeType=Sequence, Child[0]=ExtractTargetAvailable, Child[1]=SelectAbility-EndSpectralArmy)
  2276. Behaviors=(BehaviorName=SetPotentialTargetStackAll, NodeType=Action)
  2277. Behaviors=(BehaviorName=ExtractTargetAvailable, NodeType=Sequence, Child[0]=SetPotentialTargetStackAll, Child[1]=SelectExtractTargetIterator, Child[2]=HasValidTarget-Potential)
  2278. Behaviors=(BehaviorName=SelectExtractTargetIterator, NodeType=RepeatUntilFail, Child[0]=SelectExtractTargetStep)
  2279. Behaviors=(BehaviorName=SelectExtractTargetStep, NodeType=Sequence, Child[0]=SetNextTarget, Child[1]=SSTargetScoreIfExtract, Child[2]=UpdateBestTarget)
  2280. Behaviors=(BehaviorName=SSTargetScoreIfExtract, NodeType=Successor, Child[0]=TargetScoreIfExtract)
  2281. Behaviors=(BehaviorName=TargetScoreIfExtract, NodeType=Sequence, Child[0]=ScoreIfDazed, Child[1]=TargetIsInExtractRange, Child[2]=AddToTargetScore_100)
  2282. Behaviors=(BehaviorName=ScoreIfDazed, NodeType=Sequence, Child[0]=TargetAffectedByEffect-Dazed, Child[1]=AddToTargetScore_100)
  2283. Behaviors=(BehaviorName=TargetAffectedByEffect-Dazed, NodeType=Condition)
  2284. Behaviors=(BehaviorName=TargetIsInExtractRange, NodeType=StatCondition, Param[0]=PotentialTargetDistance, Param[1]="<", Param[2]=24); Must be within (dash) movement range.
  2285. Behaviors=(BehaviorName=TargetIsNotBeingCarried, NodeType=Inverter, Child[0]=TargetAffectedByEffect-BeingCarried)
  2286. Behaviors=(BehaviorName=TargetAffectedByEffect-BeingCarried, NodeType=Condition)
  2287. Behaviors=(BehaviorName=MoveSafelyIfFirstAction, NodeType=Sequence, Child[0]=NotLastActionPoint, Child[1]=AdvanceCoverIfNoEnemiesVisible)
  2288. Behaviors=(BehaviorName=WarlockMoveSafelyNearSpawnFirstAction, NodeType=Sequence, Child[0]=NotLastActionPoint, Child[1]=IsAbilityAvailable-StandardMove, Child[2]=WarlockMoveNearSpawn)
  2289. Behaviors=(BehaviorName=WarlockMoveNearSpawn, NodeType=Selector, Child[0]=MoveNearSpawnWithLoS, Child[1]=MoveNearSpawn, Child[2]=AdvanceCoverIfNoEnemiesVisible, Child[3]=MoveRandomUnsafe)
  2290. Behaviors=(BehaviorName=MoveNearSpawnWithLoS, NodeType=Sequence, Child[0]=ResetDestinationSearch, Child[1]=OverridePreferredDestinationToSpawnLocation, Child[2]=FindDestinationWithLoS-MWP_StandardHeight, Child[3]=SelectAbility-StandardMove)
  2291. Behaviors=(BehaviorName=MoveNearSpawn, NodeType=Sequence, Child[0]=ResetDestinationSearch, Child[1]=OverridePreferredDestinationToSpawnLocation, Child[2]=FindDestination-MWP_StandardHeight, Child[3]=SelectAbility-StandardMove)
  2292. Behaviors=(BehaviorName=TryWarlockMapAbilities, NodeType=Selector, Child[0]=TryCorress, Child[1]=SkipMove )
  2293. Behaviors=(BehaviorName=TryCorress, NodeType=Sequence, Child[0]=IsAbilityAvailable-Corress, Child[1]=SelectAbility-Corress)
  2294. Behaviors=(BehaviorName=IsAbilityAvailable-Corress, NodeType=Condition)
  2295. Behaviors=(BehaviorName=SelectAbility-Corress, NodeType=Action)
  2296. Behaviors=(BehaviorName=TargetIsNotPriest, NodeType=Inverter, Child[0]=TargetIsAdventPriest)
  2297. Behaviors=(BehaviorName=TargetScoreByVisibleXComDist-1, NodeType=Action, Param[0]="-1")
  2298. Behaviors=(BehaviorName=TargetIsAdventPriest, NodeType=Selector, Child[0]=TargetTemplateNameIs-AdvPriestM1, Child[1]=TargetTemplateNameIs-AdvPriestM2, Child[2]=TargetTemplateNameIs-AdvPriestM3)
  2299. Behaviors=(BehaviorName=TargetTemplateNameIs-AdvPriestM1, NodeType=Condition)
  2300. Behaviors=(BehaviorName=TargetTemplateNameIs-AdvPriestM2, NodeType=Condition)
  2301. Behaviors=(BehaviorName=TargetTemplateNameIs-AdvPriestM3, NodeType=Condition)
  2302. Behaviors=(BehaviorName=AddSmallRandomTargetScore, NodeType=RandSelector, Child[0]=AddToTargetScore_2, Child[1]=AddToTargetScore_4, Child[2]=AddToTargetScore_6, Child[3]=AddToTargetScore_8, Child[4]=AddToTargetScore_10)
  2303. Behaviors=(BehaviorName=TryWarlockCombatAbilities, NodeType=Selector, Child[0]=TryTeleportAllyIfNoMove, Child[1]=LowHealthSpectralArmyPriority, Child[2]=TryMindScorch, Child[3]=TryPsiMindControl)
  2304. Behaviors=(BehaviorName=TryMindScorch, NodeType=Sequence, Child[0]=IsAbilityAvailable-MindScorch, Child[1]=SelectTargetForMindScorch, Child[2]=SelectAbility-MindScorch)
  2305. Behaviors=(BehaviorName=IsAbilityAvailable-MindScorch, NodeType=Condition)
  2306. Behaviors=(BehaviorName=SelectTargetForMindScorch, NodeType=Sequence, Child[0]=SetTargetStack-MindScorch, Child[1]=IterateTargetsForMindScorch, Child[2]=HasValidTarget-MindScorch)
  2307. Behaviors=(BehaviorName=SetTargetStack-MindScorch, NodeType=Action)
  2308. Behaviors=(BehaviorName=IterateTargetsForMindScorch, NodeType=RepeatUntilFail, Child[0]=IterateNextTargetForMindScorch)
  2309. Behaviors=(BehaviorName=IterateNextTargetForMindScorch, NodeType=Sequence, Child[0]=SetNextTarget, Child[1]=SSEvaluateForMindScorch, Child[2]=UpdateBestTarget)
  2310. Behaviors=(BehaviorName=SSEvaluateForMindScorch, NodeType=Successor, Child[0]=EvaluateForMindScorch)
  2311. Behaviors=(BehaviorName=EvaluateForMindScorch, NodeType=Sequence, Child[0]=TargetIsNotCivilian, Child[1]=TargetIsNotEnemyVIP, Child[2]=TargetNotTeamResistance, Child[3]=TargetIsNotLost, Child[4]=TargetNotBoundOrPanicked, Child[5]=TargetScoreByVisibleXComDist-1, Child[6]=AddToTargetScore_100, Child[7]=AddSmallRandomTargetScore)
  2312. Behaviors=(BehaviorName=HasValidTarget-MindScorch, NodeType=Condition)
  2313. Behaviors=(BehaviorName=SelectAbility-MindScorch, NodeType=Action)
  2314. Behaviors=(BehaviorName=HealthBelow50, NodeType=StatCondition, Param[0]=eStat_HP, Param[1]="<", Param[2]="50%")
  2315. Behaviors=(BehaviorName=LowHealthSpectralArmyPriority, NodeType=Sequence, Child[0]=HealthBelow50, Child[1]=TrySpectralArmy)
  2316. Behaviors=(BehaviorName=TrySpectralArmy, NodeType=Sequence, Child[0]=IsAbilityAvailable-SpectralArmy, Child[1]=SelectAbility-SpectralArmy)
  2317. Behaviors=(BehaviorName=IsAbilityAvailable-SpectralArmy, NodeType=Condition)
  2318. Behaviors=(BehaviorName=SelectAbility-SpectralArmy, NodeType=Action)
  2319. Behaviors=(BehaviorName=TryTeleportAllyIfNoMove, NodeType=Sequence, Child[0]=DidNotMoveLastTurn, Child[1]=NotLastActionPoint, Child[2]=TryTeleportAlly)
  2320. Behaviors=(BehaviorName=TryTeleportAlly, NodeType=Sequence, Child[0]=IsAbilityAvailable-TeleportAlly, Child[1]=SelectTargetForTeleportAlly, Child[2]=SetBestTargetAsCurrentTarget-TeleportAlly, Child[3]=SelectTargetDestinationForTeleportAlly, Child[4]=SelectAbility-TeleportAlly)
  2321. Behaviors=(BehaviorName=IsAbilityAvailable-TeleportAlly, NodeType=Condition)
  2322. Behaviors=(BehaviorName=SelectTargetForTeleportAlly, NodeType=Sequence, Child[0]=SetTargetStack-TeleportAlly, Child[1]=SelectAllyToTeleport, Child[2]=HasValidTarget-TeleportAlly)
  2323. Behaviors=(BehaviorName=SetTargetStack-TeleportAlly, NodeType=Action)
  2324. Behaviors=(BehaviorName=SelectAllyToTeleport, NodeType=RepeatUntilFail, Child[0]=EvaluateAlliesToTeleport)
  2325. Behaviors=(BehaviorName=EvaluateAlliesToTeleport, NodeType=Sequence, Child[0]=SetNextTarget, Child[1]=SSEvaluateForTeleportAlly, Child[2]=UpdateBestTarget)
  2326. Behaviors=(BehaviorName=SSEvaluateForTeleportAlly, NodeType=Successor, Child[0]=EvaluateForTeleportAlly)
  2327. Behaviors=(BehaviorName=EvaluateForTeleportAlly, NodeType=Sequence, Child[0]=TargetHasRevealed, Child[1]=TargetNotFlanking, Child[2]=TargetNotSpectral, Child[3]=GenericScoreTargetRandomlySequence)
  2328. Behaviors=(BehaviorName=TargetNotFlanking, NodeType=Inverter, Child[0]=TargetIsFlankingEnemy)
  2329. Behaviors=(BehaviorName=TargetIsFlankingEnemy, Nodetype=Condition)
  2330. Behaviors=(BehaviorName=TargetNotSpectral, NodeType=Inverter, Child[0]=TargetIsSpectral)
  2331. Behaviors=(BehaviorName=TargetIsSpectral, NodeType=Selector, Child[0]=TargetCharacterGroup-SpectralZombie, Child[1]=TargetCharacterGroup-SpectralStunLancer)
  2332. Behaviors=(BehaviorName=TargetCharacterGroup-SpectralZombie, NodeType=Condition)
  2333. Behaviors=(BehaviorName=TargetCharacterGroup-SpectralStunLancer, NodeType=Condition)
  2334. Behaviors=(BehaviorName=HasValidTarget-TeleportAlly, NodeType=Condition)
  2335. Behaviors=(BehaviorName=SetBestTargetAsCurrentTarget-TeleportAlly, NodeType=Action) ; Required to be able to reference current target for destination search.
  2336. Behaviors=(BehaviorName=SelectAbility-TeleportAlly, NodeType=Action, param[0]=UseDestination)
  2337. Behaviors=(BehaviorName=SelectTargetDestinationForTeleportAlly, NodeType=Sequence, Child[0]=ResetDestinationSearch, Child[1]=SetDestinationSearchForTarget, Child[2]=RestrictToEnemyLoS, Child[3]=UseDashMovement, Child[4]=IgnoreHazards, Child[5]=FindTeleportAllyDestination)
  2338. Behaviors=(BehaviorName=FindTeleportAllyDestination, NodeType=Sequence, Child[0]=RestrictToFlanking, Child[1]=RestrictToUnflanked, Child[2]=FindRestrictedDestination-MWP_TeleportAlly)
  2339. Behaviors=(BehaviorName=TargetTakesCover, NodeType=Condition)
  2340. Behaviors=(BehaviorName=TargetDoesNotTakeCover, NodeType=Inverter, Child[0]=TargetTakesCover)
  2341. Behaviors=(BehaviorName=FindMeleeTeleportAllyDestination, NodeType=Sequence, Child[0]=IsTargetMeleeUnitOnly, Child[1]=FindRestrictedDestination-MWP_TeleportAllyMelee)
  2342. Behaviors=(BehaviorName=IsTargetMeleeUnitOnly, NodeType=Condition)
  2343. Behaviors=(BehaviorName=FindRestrictedDestination-MWP_TeleportAlly, NodeType=Action)
  2344. Behaviors=(BehaviorName=FindRestrictedDestination-MWP_TeleportAllyNoCover, NodeType=Action)
  2345. Behaviors=(BehaviorName=FindRestrictedDestination-MWP_TeleportAllyMelee, NodeType=Action)
  2346. Behaviors=(BehaviorName=SetDestinationSearchForTarget, NodeType=Action)
  2347. Behaviors=(BehaviorName=RestrictToAbilityRange-TeleportAlly, NodeType=Action)
  2348. Behaviors=(BehaviorName=TryStasis, NodeType=Sequence, Child[0]=IsAbilityAvailable-Stasis, Child[1]=NotLastEnemy, Child[2]=SelectTargetForStasis, Child[3]=SelectAbility-Stasis)
  2349. Behaviors=(BehaviorName=NotLastEnemy, NodeType=Condition)
  2350. Behaviors=(BehaviorName=IsAbilityAvailable-Stasis, NodeType=Condition)
  2351. Behaviors=(BehaviorName=SelectTargetForStasis, NodeType=Sequence, Child[0]=SetTargetStack-Stasis, Child[1]=IterateTargetsForStasis, Child[2]=HasValidTarget-Stasis)
  2352. Behaviors=(BehaviorName=SetTargetStack-Stasis, NodeType=Action)
  2353. Behaviors=(BehaviorName=IterateTargetsForStasis, NodeType=RepeatUntilFail, Child[0]=IterateNextTargetForStasis)
  2354. Behaviors=(BehaviorName=IterateNextTargetForStasis, NodeType=Sequence, Child[0]=SetNextTarget, Child[1]=SSEvaluateForStasis, Child[2]=UpdateBestTarget)
  2355. Behaviors=(BehaviorName=SSEvaluateForStasis, NodeType=Successor, Child[0]=EvaluateForStasis)
  2356. Behaviors=(BehaviorName=EvaluateForStasis, NodeType=Sequence, Child[0]=TargetIsNotCivilian, Child[1]=TargetNotTeamResistance, Child[2]=TargetIsEnemy, Child[3]=TargetIsNotEnemyVIP, Child[4]=TargetNotBoundOrPanicked, Child[5]=TargetIsAttackable, Child[6]=TargetScoreByScaledDistance-1, Child[7]=AddToTargetScore_100, Child[8]=AddSmallRandomTargetScore)
  2357. Behaviors=(BehaviorName=TargetIsAttackable, NodeType=Inverter, Child[0]=TargetIsNotAttackable)
  2358. Behaviors=(BehaviorName=HasValidTarget-Stasis, NodeType=Condition)
  2359. Behaviors=(BehaviorName=SelectAbility-Stasis, NodeType=Action)
  2360. Behaviors=(BehaviorName=TryPsiSelfDestruct, NodeType=Sequence, Child[0]=ShouldMoveForPsiOverload, Child[1]=PsiOverloadBranch)
  2361. Behaviors=(BehaviorName=ShouldMoveForPsiOverload, NodeType=Selector, Child[0]=IsAbilityAvailable-TriggerPsiSelfDestruct, Child[1]=ShouldUsePsiOverload)
  2362. Behaviors=(BehaviorName=ShouldUsePsiOverload, NodeType=Sequence, Child[0]=InitPsiOverloadVar, Child[1]=IsSetToPsiOverload)
  2363. Behaviors=(BehaviorName=InitPsiOverloadVar, NodeType=Selector, Child[0]=PsiOverloadInitUnnecessary, Child[1]=UpdatePsiOverloadVar)
  2364. Behaviors=(BehaviorName=PsiOverloadInitUnnecessary, NodeType=Sequence, Child[0]=HasBTVar-ShouldPsiOverload, Child[1]=HasPsiOverloaderTeammate)
  2365. Behaviors=(BehaviorName=HasBTVar-ShouldPsiOverload, NodeType=Condition)
  2366. Behaviors=(BehaviorName=UpdatePsiOverloadVar, NodeType=Condition)
  2367. Behaviors=(BehaviorName=IsSetToPsiOverload, NodeType=StatCondition, Param[0]=BTVar, Param[1]="!=", Param[2]="0", Param[3]="ShouldPsiOverload")
  2368. Behaviors=(BehaviorName=HasPsiOverloaderTeammate, NodeType=Condition)
  2369. Behaviors=(BehaviorName=PsiOverloadBranch, NodeType=Selector, Child[0]=PsiSelfDestructJustPrimed, Child[1]=PsiExplodeIfPrimed, Child[2]=PsiOverloadMoveIfFirstAction, Child[3]=TryPrimePsiSelfDestruct, Child[4]=SkipMoveIfPrimed)
  2370. Behaviors=(BehaviorName=PsiOverloadMoveIfFirstAction, NodeType=Sequence, Child[0]=NotLastActionPoint, Child[1]=PsiOverloadMove)
  2371. Behaviors=(BehaviorName=SkipMoveIfPrimed, NodeType=Sequence, Child[0]=HasBTVar-NoExplode, Child[1]=SkipMove)
  2372. Behaviors=(BehaviorName=PsiOverloadMove, NodeType=Sequence, Child[0]=SelectPsiOverloadDestination, Child[1]=SelectAbility-StandardMove)
  2373. Behaviors=(BehaviorName=PsiExplodeIfPrimed, NodeType=Sequence, Child[0]=IsAbilityAvailable-TriggerPsiSelfDestruct, Child[1]=ExplodeNotDisabled, Child[2]=SSFindPsiSelfDestructDestination, Child[3]=SelectAbility-TriggerPsiSelfDestruct)
  2374. Behaviors=(BehaviorName=IsAbilityAvailable-TriggerPsiSelfDestruct, NodeType=Condition)
  2375. Behaviors=(BehaviorName=SelectAbility-TriggerPsiSelfDestruct, NodeType=Action)
  2376. Behaviors=(BehaviorName=TryPrimePsiSelfDestruct, NodeType=Sequence, Child[0]=IsAbilityAvailable-EngagePsiSelfDestruct, Child[1]=SSSelectPsiOverloadAoEDestination, Child[2]=SelectAbility-EngagePsiSelfDestruct, Child[3]=DisableExplodeThisTurn)
  2377. Behaviors=(BehaviorName=IsAbilityAvailable-EngagePsiSelfDestruct, NodeType=Condition)
  2378. Behaviors=(BehaviorName=SelectPsiOverloadDestination, NodeType=Selector, Child[0]=SelectPsiOverloadAoEDestination, Child[1]=HeatSeekNearestUnconcealed)
  2379. Behaviors=(BehaviorName=SSSelectPsiOverloadAoEDestination, NodeType=Successor, Child[0]=SelectPsiOverloadAoEDestination)
  2380. Behaviors=(BehaviorName=SelectPsiOverloadAoEDestination, NodeType=Sequence, Child[0]=ResetDestinationSearch, Child[1]=FindPotentialPsiSelfDestructTargets, Child[2]=FindDestinationTowardAoETarget)
  2381. Behaviors=(BehaviorName=SelectAbility-EngagePsiSelfDestruct, NodeType=Action)
  2382. Behaviors=(BehaviorName=FindDestinationTowardAoETarget, NodeType=Action)
  2383. Behaviors=(BehaviorName=DisableExplodeThisTurn, NodeType=Action, Param[0]=SetBTVar, Param[1]="NoExplode", Param[2]="1")
  2384. Behaviors=(BehaviorName=HasBTVar-NoExplode, NodeType=Condition)
  2385. Behaviors=(BehaviorName=ExplodeNotDisabled, NodeType=Inverter, Child[0]=HasBTVar-NoExplode)
  2386. Behaviors=(BehaviorName=HasPsiSelfDestructTargets, NodeType=Sequence, Child[0]=IsAbilityAvailable-TriggerPsiSelfDestruct, Child[1]=FindPotentialPsiSelfDestructTargets)
  2387. Behaviors=(BehaviorName=FindPotentialAoETargets-PsiSelfDestructProfilePreferred, NodeType=Action)
  2388. Behaviors=(BehaviorName=FindPotentialAoETargets-PsiSelfDestructProfileAny, NodeType=Action)
  2389. Behaviors=(BehaviorName=SSFindPsiSelfDestructDestination, NodeType=Successor, Child[0]=FindPsiSelfDestructDestination)
  2390. Behaviors=(BehaviorName=FindPsiSelfDestructDestination, NodeType=Sequence, Child[0]=HasPsiSelfDestructTargets, Child[1]=SelectPsiSelfDestructTarget)
  2391. Behaviors=(BehaviorName=FindPotentialPsiSelfDestructTargets, NodeType=Selector, Child[0]=FindPotentialAoETargets-PsiSelfDestructProfilePreferred, Child[1]=FindPotentialAoETargets-PsiSelfDestructProfileAny)
  2392. Behaviors=(BehaviorName=SelectPsiSelfDestructTarget, NodeType=Selector, Child[0]=SelectAoETarget-PsiSelfDestructProfilePreferred, Child[1]=SelectAoETarget-PsiSelfDestructProfileAny)
  2393. Behaviors=(BehaviorName=SelectAoETarget-PsiSelfDestructProfilePreferred, NodeType=Action)
  2394. Behaviors=(BehaviorName=SelectAoETarget-PsiSelfDestructProfileAny, NodeType=Action)
  2395. Behaviors=(BehaviorName=AffectedByEffect-PsiSelfDestructEffect, NodeType=Condition)
  2396. Behaviors=(BehaviorName=PsiSelfDestructJustPrimed, NodeType=Sequence, Child[0]=AffectedByEffect-PsiSelfDestructEffect, Child[1]=IsLastActionPoint, Child[2]=WasLastAbility-EngagePsiSelfDestruct, Child[3]=SkipMove); End turn once we select EngagePsiSelfDestruct.
  2397. Behaviors=(BehaviorName=WasLastAbility-EngagePsiSelfDestruct, NodeType=Condition)
  2398. Behaviors=(BehaviorName=ScamperRoot_ChosenSniper, NodeType=Selector, Child[0]=MoveStandardHeightWithLoSUnsafe, Child[1]=MoveStandardHeightUnsafe, Child[2]=SkipMove)
  2399. Behaviors=(BehaviorName="ChosenSniper::CharacterRoot", NodeType=Selector, Child[0]=ChosenUnactivated, Child[1]=ChosenActivated, Child[2]=ChosenEngaged, Child[3]=SkipMove)
  2400. Behaviors=(BehaviorName=EngagedSniperBranch, NodeType=Sequence, Child[0]=ChosenIsEngaged, Child[1]=ChosenSafeToMove, Child[2]=SelectHunterMovement)
  2401. Behaviors=(BehaviorName=SelectHunterMovement, NodeType=Selector, Child[0]=TryGrappleTowardDazed, Child[1]=MoveTowardsNearestEnemy, Child[2]=HuntEnemyWithCover, Child[3]=HuntEnemyUnsafe)
  2402. Behaviors=(BehaviorName="ChosenSniper::ChosenActivated", NodeType=Selector, Child[0]=MoveInIfLastUnit, Child[1]=EngagedSniperBranch, Child[2]=TryTrackingShotIfFirstAction, Child[3]=TryGrappleIfJustShot, Child[4]=TryMoveForTrackingShot, Child[5]=TryTrackingShotMark, Child[6]=TryTrackingShotMove, Child[7]=SkipMove)
  2403. Behaviors=(BehaviorName=TryTrackingShotIfFirstAction, NodeType=Sequence, Child[0]=NotLastActionPoint, Child[1]=TryTrackingShot)
  2404. Behaviors=(BehaviorName=TryTrackingShot, NodeType=Sequence, Child[0]=IsAbilityAvailable-TrackingShot, Child[1]=SetTargetStack-TrackingShot, Child[2]=SelectEnemyTargetRandomly_NonCivilianOrVIP, Child[3]=HasValidTarget-TrackingShot, Child[4]=SelectAbility-TrackingShot)
  2405. Behaviors=(BehaviorName=IsAbilityAvailable-TrackingShot, NodeType=Condition)
  2406. Behaviors=(BehaviorName=HasValidTarget-TrackingShot, NodeType=Condition)
  2407. Behaviors=(BehaviorName=SetTargetStack-TrackingShot, NodeType=Action)
  2408. Behaviors=(BehaviorName=SelectAbility-TrackingShot, NodeType=Action)
  2409. Behaviors=(BehaviorName=TryTrackingShotMark, NodeType=Sequence, Child[0]=IsAbilityAvailable-TrackingShotMark, Child[1]=SetTargetStack-TrackingShotMark, Child[2]=SelectTrackingShotMarkTarget, Child[3]=HasValidTarget-TrackingShotMark, Child[4]=SelectAbility-TrackingShotMark, Child[5]=MarkAsLastTrackingShotTarget)
  2410. Behaviors=(BehaviorName=SelectClosestEnemyTarget_NonCivilianOrVIP, NodeType=RepeatUntilFail, Child[0]=EvaluateClosestEnemyTarget_NonCivilianOrVIP)
  2411. Behaviors=(BehaviorName=EvaluateClosestEnemyTarget_NonCivilianOrVIP, NodeType=Sequence, Child[0]=SetNextTarget, Child[1]=SSScoreClosestEnemyTarget_NonCivilianOrVIP, Child[2]=UpdateBestTarget)
  2412. Behaviors=(BehaviorName=SSScoreClosestEnemyTarget_NonCivilianOrVIP, NodeType=Successor, Child[0]=ScoreClosestEnemyTarget_NonCivilianOrVIP)
  2413. Behaviors=(BehaviorName=ScoreClosestEnemyTarget_NonCivilianOrVIP, NodeType=Sequence, Child[0]=TargetIsEnemy, Child[1]=TargetIsNotCivilian, Child[2]=TargetIsNotEnemyVIP, Child[3]=TargetNotTeamResistance, Child[4]=TargetScoreByScaledDistance-1, Child[5]=AddToTargetScore_200)
  2414. Behaviors=(BehaviorName=SelectTrackingShotMarkTarget, NodeType=RepeatUntilFail, Child[0]=EvaluateTrackingShotMarkTarget)
  2415. Behaviors=(BehaviorName=EvaluateTrackingShotMarkTarget, NodeType=Sequence, Child[0]=SetNextTarget, Child[1]=SSScoreTrackingShotMarkTarget, Child[2]=UpdateBestTarget)
  2416. Behaviors=(BehaviorName=SSScoreTrackingShotMarkTarget, NodeType=Successor, Child[0]=ScoreTrackingShotMarkTarget)
  2417. Behaviors=(BehaviorName=ScoreTrackingShotMarkTarget, NodeType=Sequence, Child[0]=TargetIsEnemy, Child[1]=TargetIsNotCivilian, Child[2]=TargetNotTeamResistance, Child[3]=TargetIsNotLost, Child[4]=TargetIsNotEnemyVIP, Child[5]=AvoidBoundAndPanickedTargets, Child[6]=TargetScoreByScaledDistance-1, Child[7]=AddToTargetScore_200, Child[8]=TargetPrioritizeSnipers)
  2418. Behaviors=(BehaviorName=TargetIsNotLost, NodeType=Inverter, Child[0]=IsTargetTeam-eTeam_TheLost)
  2419. Behaviors=(BehaviorName=TargetPrioritizeSnipers, NodeType=Selector, Child[0]=IfSniperAddToScore, Child[1]=AddToTargetScore_1)
  2420. Behaviors=(BehaviorName=IfSniperAddToScore, NodeType=Sequence, Child[0]=TargetIsSoldierClass-Sharpshooter, Child[1]=NotLastTargetOfTrackingShot, Child[2]=AddToTargetScore_20)
  2421. Behaviors=(BehaviorName=TargetIsSoldierClass-Sharpshooter, NodeType=Condition)
  2422. Behaviors=(BehaviorName=NotLastTargetOfTrackingShot, NodeType=Inverter, Child[0]=TargetWasLastTrackingShotMarked)
  2423. Behaviors=(BehaviorName=TargetWasLastTrackingShotMarked, NodeType=Condition)
  2424. Behaviors=(BehaviorName=MarkAsLastTrackingShotTarget, NodeType=Action)
  2425. Behaviors=(BehaviorName=IsAbilityAvailable-TrackingShotMark, NodeType=Condition)
  2426. Behaviors=(BehaviorName=HasValidTarget-TrackingShotMark, NodeType=Condition)
  2427. Behaviors=(BehaviorName=SetTargetStack-TrackingShotMark, NodeType=Action)
  2428. Behaviors=(BehaviorName=SelectAbility-TrackingShotMark, NodeType=Action)
  2429. Behaviors=(BehaviorName=TryMoveForTrackingShot, NodeType=Sequence, Child[0]=NotAffectedByTrackingShotMark, Child[1]=NotLastActionPoint, Child[2]=DidNotJustGrapple, Child[3]=TryTrackingShotMove)
  2430. Behaviors=(BehaviorName=NotAffectedByTrackingShotMark, NodeType=Inverter, Child[0]=AffectedByEffect-TrackingShotMarkSourceEffect)
  2431. Behaviors=(BehaviorName=AffectedByEffect-TrackingShotMarkSourceEffect, NodeType=Condition)
  2432. Behaviors=(BehaviorName=OverridePreferredDestinationToSpawnLocation, NodeType=Action)
  2433. Behaviors=(BehaviorName=DidNotJustGrapple, NodeType=Inverter, Child[0]=WasLastAbility-HunterGrapple)
  2434. Behaviors=(BehaviorName=WasLastAbility-HunterGrapple, NodeType=Condition)
  2435. Behaviors=(BehaviorName=TryTrackingShotMove, NodeType=Selector, Child[0]=TryGrapple, Child[1]=ChosenSniperActivatedMoveLoS, Child[2]=MoveRandomUnsafe)
  2436. Behaviors=(BehaviorName=FindDestinationWithLoS-MWP_ChosenHunter, NodeType=Action)
  2437. Behaviors=(BehaviorName=ChosenSniperActivatedMoveLoS, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardMove, Child[1]=ResetDestinationSearch, Child[2]=OverridePreferredDestinationToSpawnLocation, Child[3]=FindDestinationWithLoS-MWP_ChosenHunter, Child[4]=SelectAbility-StandardMove)
  2438. Behaviors=(BehaviorName=TryGrapple, NodeType=Sequence, Child[0]=IsAbilityAvailable-HunterGrapple, Child[1]=FindGrappleDestination, Child[2]=SelectAbility-HunterGrapple)
  2439. Behaviors=(BehaviorName=FindGrappleDestination, NodeType=Sequence, Child[0]=ResetDestinationSearch, Child[1]=RestrictToAbilityRange-HunterGrapple, Child[2]=OverridePreferredDestinationToSpawnLocation, Child[3]=RestrictToEnemyLoS, Child[4]=UseDashMovement, Child[5]=FindRestrictedDestination-MWP_Grapple)
  2440. Behaviors=(BehaviorName=RestrictToAbilityRange-HunterGrapple, NodeType=Action)
  2441. Behaviors=(BehaviorName=FindRestrictedDestination-MWP_Grapple, NodeType=Action)
  2442. Behaviors=(BehaviorName=IsAbilityAvailable-HunterGrapple, NodeType=Condition)
  2443. Behaviors=(BehaviorName=SelectAbility-HunterGrapple, NodeType=Action, param[0]=UseDestination)
  2444. Behaviors=(BehaviorName=TryGrappleIfJustShot, NodeType=Sequence, Child[0]=WasLastAbility-TrackingShot, Child[1]=TryGrapple)
  2445. Behaviors=(BehaviorName=WasLastAbility-TrackingShot, NodeType=Condition)
  2446. Behaviors=(BehaviorName=TryGrappleMoveForDefense, NodeType=Sequence, Child[0]=IsAbilityAvailable-HunterGrapple, Child[1]=FindDefensiveGrappleDestination, Child[2]=SelectAbility-HunterGrapple)
  2447. Behaviors=(BehaviorName=FindDefensiveGrappleDestination, NodeType=Sequence, Child[0]=ResetDestinationSearch, Child[1]=RestrictToAbilityRange-HunterGrapple, Child[2]=RestrictToEnemyLoS, Child[3]=UseDashMovement, Child[4]=FindRestrictedDestination-MWP_GrappleDefense)
  2448. Behaviors=(BehaviorName=FindRestrictedDestination-MWP_GrappleDefense, NodeType=Action)
  2449. Behaviors=(BehaviorName=TryMoveThenGrenadeAny30, NodeType=RandFilter, Child[0]=TryMoveThenGrenadeAny, Param[0]=30)
  2450. Behaviors=(BehaviorName="ChosenSniper::ChosenEngaged", NodeType=Selector, Child[0]=OverwatchHandlerShootOverwatcherOption, Child[1]=TryGrappleTowardDazed, Child[2]=TryTrackingShotIfFirstAction, Child[3]=TryChosenSummon, Child[4]=TryGrappleForOffense, Child[5]=TryMoveThenGrenade, Child[6]=TryMoveThenGrenadeAny30, Child[7]=DoIfFlankedOrFirstActionMoveHeight, Child[8]=TryLethalDose, Child[9]=TryMoveThenGrenadeAny, Child[10]=TryHunterRifle, Child[11]=TryQuickDraw, Child[12]=TryOverwatch, Child[13]=OverwatchHandlerBackupOption, Child[14]=HuntEnemyWithCover, Child[15]=SkipMove)
  2451. Behaviors=(BehaviorName="ChosenSniper::MoveTowardDazed", NodeType=Selector, Child[0]=TryGrappleTowardDazed, Child[1]=MoveTowardDazed)
  2452. Behaviors=(BehaviorName=TryGrappleTowardDazed, NodeType=Sequence, Child[0]=ChosenSafeToMove, Child[1]=IsAbilityAvailable-HunterGrapple, Child[2]=FindGrappleDestinationTowardTarget, Child[3]=SelectAbility-HunterGrapple)
  2453. Behaviors=(BehaviorName=SelectDazedTargetIterator, NodeType=RepeatUntilFail, Child[0]=SelectDazedTargetStep)
  2454. Behaviors=(BehaviorName=SelectDazedTargetStep, NodeType=Sequence, Child[0]=SetNextTarget, Child[1]=SSTargetScoreIfDazed, Child[2]=TargetScoreByScaledDistance-1, Child[3]=UpdateBestTarget)
  2455. Behaviors=(BehaviorName=SSTargetScoreIfDazed, NodeType=Successor, Child[0]=ScoreIfDazed)
  2456. Behaviors=(BehaviorName=FindGrappleDestinationTowardTarget, NodeType=Sequence, Child[0]=ResetDestinationSearch, Child[1]=RestrictToAbilityRange-HunterGrapple, Child[2]=RestrictToPotentialTargetRange-ChosenExtractKnowledgeMove, Child[3]=UseDashMovement, Child[4]=OverrideIdealRange-3, Child[5]=FindRestrictedDestination-MWP_GrappleExtract)
  2457. Behaviors=(BehaviorName=OverrideIdealRange-3, NodeType=Action, Param[0]=3)
  2458. Behaviors=(BehaviorName=FindRestrictedDestination-MWP_GrappleExtract, NodeType=Action)
  2459. Behaviors=(BehaviorName=RestrictToPotentialTargetRange-ChosenExtractKnowledgeMove, NodeType=Action)
  2460. Behaviors=(BehaviorName=SelectDazedPriorityTarget, NodeType=Sequence, Child[0]=SetPotentialTargetStack, Child[1]=SelectDazedTargetIterator, Child[2]=HasValidTarget-Potential)
  2461. Behaviors=(BehaviorName=TryGrappleForOffense, NodeType=Sequence, Child[0]=ChosenSafeToMove, Child[1]=IsAbilityAvailable-HunterGrapple, Child[2]=FindOffensiveGrappleDestination, Child[3]=SelectAbility-HunterGrapple)
  2462. Behaviors=(BehaviorName=RequireEnemyLoSToTile, NodeType=Action); Slightly different from RestrictToEnemyLoS, This requires the enemy to be able to see the unit at this tile.
  2463. Behaviors=(BehaviorName=FindOffensiveGrappleDestination, NodeType=Sequence, Child[0]=ResetDestinationSearch, Child[1]=RestrictToAbilityRange-HunterGrapple, Child[2]=UseDashMovement, Child[3]=OverrideIdealRange-13, Child[4]=RestrictToUnflanked, Child[5]=RestrictOffensiveGrapple, Child[6]=RequireEnemyLoSToTile, Child[7]=FindDestinationWithLoS-MWP_GrappleOffense)
  2464. Behaviors=(BehaviorName=RestrictOffensiveGrapple, NodeType=Action)
  2465. Behaviors=(BehaviorName=FindDestinationWithLoS-MWP_GrappleOffense, NodeType=Action)
  2466. Behaviors=(BehaviorName=FindRestrictedDestination-MWP_GrappleOffense, NodeType=Action)
  2467. Behaviors=(BehaviorName=TryLethalDoseOrPistolShot, NodeType=Selector, Child[0]=TryLethalDose, Child[1]=TryQuickDraw)
  2468. Behaviors=(BehaviorName=DoIfFlankedGrappleOrMove, NodeType=Sequence, Child[0]=CheckIfNeedToMove, Child[1]=FlankedMoveOrGrappleSelector)
  2469. Behaviors=(BehaviorName=FlankedMoveOrGrappleSelector, NodeType=Selector, Child[0]=TryGrappleMoveForDefense, Child[1]=MoveFlankingUnsafe, Child[2]=MoveDefensiveUnsafe, Child[3]=FallBack)
  2470. Behaviors=(BehaviorName=TryGrenadeOptions, NodeType=Sequence, Child[0]=IsAbilityAvailable-ThrowGrenade, Child[1]=TryMoveThenGrenade)
  2471. Behaviors=(BehaviorName=TryLethalDose, NodeType=Sequence, Child[0]=IsAbilityAvailable-LethalDose, Child[1]=SelectTargetForLethalDose, Child[2]=SelectAbility-LethalDose)
  2472. Behaviors=(BehaviorName=IsAbilityAvailable-LethalDose, NodeType=Condition)
  2473. Behaviors=(BehaviorName=SetTargetStack-LethalDose, NodeType=Action)
  2474. Behaviors=(BehaviorName=HasValidTarget-LethalDose, NodeType=Condition)
  2475. Behaviors=(BehaviorName=SelectAbility-LethalDose, NodeType=Action)
  2476. Behaviors=(BehaviorName=SelectTargetForLethalDose, NodeType=Sequence, Child[0]=SetTargetStack-LethalDose, Child[1]=SelectTarget_FavorableNonLostCivilianOrVIP, Child[2]=HasValidTarget-LethalDose)
  2477. Behaviors=(BehaviorName=TryQuickDraw, NodeType=Sequence, Child[0]=IsAbilityAvailable-PistolStandardShot, Child[1]=SelectTargetForPistolStandardShot, Child[2]=SelectAbility-PistolStandardShot)
  2478. Behaviors=(BehaviorName=IsAbilityAvailable-PistolStandardShot, NodeType=Condition)
  2479. Behaviors=(BehaviorName=SetTargetStack-PistolStandardShot, NodeType=Action)
  2480. Behaviors=(BehaviorName=HasValidTarget-PistolStandardShot, NodeType=Condition)
  2481. Behaviors=(BehaviorName=SelectAbility-PistolStandardShot, NodeType=Action)
  2482. Behaviors=(BehaviorName=SelectTargetForPistolStandardShot, NodeType=Sequence, Child[0]=SetTargetStack-PistolStandardShot, Child[1]=SelectTarget_FavorableNonCivilianOrVIP, Child[2]=HasValidTarget-PistolStandardShot)
  2483. Behaviors=(BehaviorName=TryHunterRifle, NodeType=Sequence, Child[0]=IsAbilityAvailable-HunterRifleShot, Child[1]=SelectTargetForHunterRifleShot, Child[2]=SelectAbility-HunterRifleShot)
  2484. Behaviors=(BehaviorName=IsAbilityAvailable-HunterRifleShot, NodeType=Condition)
  2485. Behaviors=(BehaviorName=SetTargetStack-HunterRifleShot, NodeType=Action)
  2486. Behaviors=(BehaviorName=HasValidTarget-HunterRifleShot, NodeType=Condition)
  2487. Behaviors=(BehaviorName=SelectAbility-HunterRifleShot, NodeType=Action)
  2488. Behaviors=(BehaviorName=SelectTargetForHunterRifleShot, NodeType=Sequence, Child[0]=SetTargetStack-HunterRifleShot, Child[1]=SelectTarget_FavorableNonCivilianOrVIP, Child[2]=HasValidTarget-HunterRifleShot)
  2489. Behaviors=(BehaviorName=TryPistolOverwatch, NodeType=Sequence, Child[0]=IsAbilityAvailable-PistolOverwatch, Child[1]=SelectAbility-PistolOverwatch)
  2490. Behaviors=(BehaviorName=IsAbilityAvailable-PistolOverwatch, NodeType=Condition)
  2491. Behaviors=(BehaviorName=SelectAbility-PistolOverwatch, NodeType=Action)
  2492. Behaviors=(BehaviorName=DoIfFlankedOrFirstActionMoveHeight, NodeType=Sequence, Child[0]=ChosenSafeToMove, Child[1]=NeedsMoveOrFirstAction, Child[2]=FlankedMoveSelectorHeight)
  2493. Behaviors=(BehaviorName=NeedsMoveOrFirstAction, NodeType=Selector, Child[0]=CheckIfNeedToMove, Child[1]=NotLastActionPointAndDidNotJustGrapple)
  2494. Behaviors=(BehaviorName=NotLastActionPointAndDidNotJustGrapple, NodeType=Sequence, Child[0]=NotLastActionPoint, Child[1]=DidNotJustGrapple)
  2495. Behaviors=(BehaviorName=FlankedMoveSelectorHeight, NodeType=Selector, Child[0]=MoveAdvanceToCoverHeightLoSUnsafe, Child[1]=MoveAdvanceToCoverHeightUnsafe, Child[2]=MoveStandardHeight, Child[3]=FallBackHeight, Child[4]=MoveRandom)
  2496. Behaviors=(BehaviorName="AdventPriest::CharacterRoot", NodeType=Selector, Child[0]=TryJob, Child[1]=GenericGreenMovement, Child[2]=PriestRedOrangeAlert, Child[3]=GenericAlertHandler, Child[4]=SkipMove)
  2497. Behaviors=(BehaviorName=PriestRedOrangeAlert, NodeType=Sequence, Child[0]=IsRedOrOrangeAlert, Child[1]=SelectPriestAbility)
  2498. Behaviors=(BehaviorName=IsRedOrOrangeAlert, NodeType=Selector, Child[0]=IsRedAlert, Child[1]=IsOrangeAlert)
  2499. Behaviors=(BehaviorName=SelectPriestAbility, NodeType=Selector, Child[0]=MimicBeaconBehavior, Child[1]=HolyWarriorActiveBranch, Child[2]=HolyWarriorInactiveBranch, Child[3]=TryShootOrReload, Child[4]=SkipMove)
  2500. Behaviors=(BehaviorName=HolyWarriorInactiveBranch, NodeType=Selector, Child[0]=MoveDefensiveWithLoSIfFirstAbility, Child[1]=RandSelectFromPriestAbilities)
  2501. Behaviors=(BehaviorName=TryMoveAndHolyWarrior, NodeType=Sequence, Child[0]=IsAbilityAvailable-HolyWarrior, Child[1]=NotApplyingHolyWarrior, Child[2]=SelectTargetForHolyWarrior, Child[3]=SelectHolyWarriorOrMoveFirst)
  2502. Behaviors=(BehaviorName=SelectHolyWarriorOrMoveFirst, NodeType=Selector, Child[0]=MoveForHolyWarriorFirst, Child[1]=TryHolyWarrior)
  2503. Behaviors=(BehaviorName=MoveForHolyWarriorFirst, NodeType=Sequence, Child[0]=NotLastActionPoint, Child[1]=MoveForHolyWarrior, Child[2]=SSSetPreselectedAbility-HolyWarrior)
  2504. Behaviors=(BehaviorName=SSSetPreselectedAbility-HolyWarrior, NodeType=Successor, Child[0]=SetPreselectedAbility-HolyWarrior)
  2505. Behaviors=(BehaviorName=SetPreselectedAbility-HolyWarrior, NodeType=Action)
  2506. Behaviors=(BehaviorName=MoveForHolyWarrior, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardMove, Child[1]=FindHolyWarriorDestination, Child[2]=SelectAbility-StandardMove)
  2507. Behaviors=(BehaviorName=FindHolyWarriorDestination, NodeType=Selector, Child[0]=FindHCHolyWarriorDest, Child[1]=FindAnyHolyWarriorDest)
  2508. Behaviors=(BehaviorName=FindHCHolyWarriorDest, NodeType=Sequence, Child[0]=ResetDestinationSearch, Child[1]=RestrictToHighCover, Child[2]=OverrideIdealRange-13, Child[3]=FindDestination-MWP_HolyWarrior)
  2509. Behaviors=(BehaviorName=FindDestination-MWP_HolyWarrior, NodeType=Action)
  2510. Behaviors=(BehaviorName=FindAnyHolyWarriorDest, NodeType=Sequence, Child[0]=ResetDestinationSearch, Child[1]=RestrictToUnflanked, Child[2]=OverrideIdealRange-13, Child[3]=FindRestrictedDestination-MWP_HolyWarrior)
  2511. Behaviors=(BehaviorName=FindRestrictedDestination-MWP_HolyWarrior, NodeType=Action)
  2512. Behaviors=(BehaviorName=HolyWarriorActiveBranch, NodeType=Sequence, Child[0]=ApplyingEffect-HolyWarriorEffect, Child[1]=HolyWarriorActiveSelector)
  2513. Behaviors=(BehaviorName=ApplyingEffect-HolyWarriorEffect, NodeType=Condition)
  2514. Behaviors=(BehaviorName=NotApplyingHolyWarrior, NodeType=Inverter, Child[0]=ApplyingEffect-HolyWarriorEffect)
  2515. Behaviors=(BehaviorName=HolyWarriorActiveSelector, NodeType=Selector, Child[0]=HighCoverFallbackFirstMove, Child[1]=HighCoverFallbackPostHolyWarrior, Child[2]=RandSelectFromPriestAbilities, Child[3]=HighCoverFallback)
  2516. Behaviors=(BehaviorName=OverwatchIfNoEnemiesVisible, NodeType=Sequence, Child[0]=NoVisibleEnemies, Child[1]=TryShootOrReloadOrOverwatch)
  2517. Behaviors=(BehaviorName=HighCoverfallbackFirstMove, NodeType=Sequence, Child[0]=NotLastActionPoint, Child[1]=HighCoverFallback)
  2518. Behaviors=(BehaviorName=HighCoverFallbackPostHolyWarrior, NodeType=Sequence, Child[0]=WasLastAbility-HolyWarrior, Child[1]=HighCoverFallback)
  2519. Behaviors=(BehaviorName=WasLastAbility-HolyWarrior, NodeType=Condition)
  2520. Behaviors=(BehaviorName=HighCoverFallback, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardMove, Child[1]=TryHighCoverFallbackOptions, Child[2]=SelectAbility-StandardMove)
  2521. Behaviors=(BehaviorName=TryHighCoverFallbackOptions, NodeType=Selector, Child[0]=FindHighCoverFallbackDest, Child[1]=FindHighCoverDashFallbackDest, Child[2]=FindAnyFallbackDest)
  2522. Behaviors=(BehaviorName=FindHighCoverFallbackDest, NodeType=Sequence, Child[0]=ResetDestinationSearch, Child[1]=RestrictToHighCover, Child[2]=OverrideIdealRange-26, Child[3]=FindRestrictedDestination-MWP_HolyWarrior)
  2523. Behaviors=(BehaviorName=FindHighCoverDashFallbackDest, NodeType=Sequence, Child[0]=ResetDestinationSearch, Child[1]=RestrictToHighCover, Child[2]=UseDashMovement, Child[3]=OverrideIdealRange-26, Child[4]=FindRestrictedDestination-MWP_HolyWarrior)
  2524. Behaviors=(BehaviorName=FindAnyFallbackDest, NodeType=Sequence, Child[0]=ResetDestinationSearch, Child[1]=RestrictToUnflanked, Child[2]=UseDashMovement, Child[3]=OverrideIdealRange-26, Child[4]=FindRestrictedDestination-MWP_HolyWarrior)
  2525. Behaviors=(BehaviorName=RestrictToHighCover, NodeType=Action)
  2526. Behaviors=(BehaviorName=RandSelectFromPriestAbilities, NodeType=RandSelector, Child[0]=TryPsiMindControl, Param[0]=33, Child[1]=TryStasis, Param[1]=33, Child[2]=TryHolyWarrior, Param[2]=33)
  2527. Behaviors=(BehaviorName=TryHolyWarrior, NodeType=Sequence, Child[0]=IsAbilityAvailable-HolyWarrior, Child[1]=NotApplyingHolyWarrior, Child[2]=SelectTargetForHolyWarrior, Child[3]=SelectAbility-HolyWarrior)
  2528. Behaviors=(BehaviorName=IsAbilityAvailable-HolyWarrior, NodeType=Condition)
  2529. Behaviors=(BehaviorName=SelectTargetForHolyWarrior, NodeType=Sequence, Child[0]=SetTargetStack-HolyWarrior, Child[1]=IterateTargetsForHolyWarrior, Child[2]=HasValidTarget-HolyWarrior)
  2530. Behaviors=(BehaviorName=SetTargetStack-HolyWarrior, NodeType=Action)
  2531. Behaviors=(BehaviorName=IterateTargetsForHolyWarrior, NodeType=RepeatUntilFail, Child[0]=IterateNextTargetForHolyWarrior)
  2532. Behaviors=(BehaviorName=IterateNextTargetForHolyWarrior, NodeType=Sequence, Child[0]=SetNextTarget, Child[1]=SSEvaluateForHolyWarrior, Child[2]=UpdateBestTarget)
  2533. Behaviors=(BehaviorName=SSEvaluateForHolyWarrior, NodeType=Successor, Child[0]=EvaluateForHolyWarrior)
  2534. Behaviors=(BehaviorName=EvaluateForHolyWarrior, NodeType=Sequence, Child[0]=TargetIsNotPriest, Child[1]=TargetScoreByVisibleXComDist-1, Child[2]=ScoreIfTarget_MaxHP, Child[3]=ScoreByHP)
  2535. Behaviors=(BehaviorName=HasValidTarget-HolyWarrior, NodeType=Condition)
  2536. Behaviors=(BehaviorName=SelectAbility-HolyWarrior, NodeType=Action)
  2537. Behaviors=(BehaviorName=OverrideIdealRange-26, NodeType=Action, Param[0]=26)
  2538. Behaviors=(BehaviorName="Spectre::CharacterRoot", NodeType=Selector, Child[0]=TryJob, Child[1]=GenericGreenMovement, Child[2]=SpectreRedAlert, Child[3]=GenericAlertHandler, Child[4]=SkipMove)
  2539. Behaviors=(BehaviorName=SpectreRedAlert, NodeType=Sequence, Child[0]=IsRedAlert, Child[1]=SelectSpectreAbility)
  2540. Behaviors=(BehaviorName=SelectSpectreAbility, NodeType=Selector, Child[0]=SelectPreselectedAbility, Child[1]=MimicBeaconBehavior, Child[2]=SpectreVanishedBranch, Child[3]=VisibleSpectreBranch, Child[4]=SkipMove )
  2541. Behaviors=(BehaviorName=SpectreVanishedBranch, NodeType=Sequence, Child[0]=AffectedByEffect-Vanish, Child[1]=SpectreStealthSelector)
  2542. Behaviors=(BehaviorName=AffectedByEffect-Vanish, NodeType=Condition)
  2543. Behaviors=(BehaviorName=ShadowbindNotActive, NodeType=Inverter, Child[0]=HasAlliesOfType-Shadowbind)
  2544. Behaviors=(BehaviorName=TryShadowbindIfNotActive, NodeType=Sequence, Child[0]=ShadowbindNotActive, Child[1]=TryShadowbindIfNotLastAction)
  2545. Behaviors=(BehaviorName=SpectreStealthSelector, NodeType=Selector, Child[0]=AdvanceCoverIfNoEnemiesVisible, Child[1]=PostVanishMovement, Child[2]=TryShadowbindIfNotActive, Child[3]=TryMoveThenHorror, Child[4]=AdvanceCoverMove, Child[5]=TryShootOrReloadOrOverwatch, Child[6]=HuntEnemyWithCover)
  2546. Behaviors=(BehaviorName=PostVanishMovement, NodeType=Sequence, Child[0]=WasLastAbility-Vanish, Child[1]=IsAbilityAvailable-StandardMove, Child[2]=FindStealthDestination_AvoidEnemy, Child[3]=SelectAbility-StandardMove)
  2547. Behaviors=(BehaviorName=WasLastAbility-Vanish, NodeType=Condition)
  2548. Behaviors=(BehaviorName=FindStealthDestination_AvoidEnemy, NodeType=Selector, Child[0]=StealthFindAdvanceDestinationIfNoEnemiesVisible, Child[1]=FindLimitedEnemyStealthDestination, Child[2]=FindAnyStealthDestination, Child[3]=FindAnyFallbackDest)
  2549. Behaviors=(BehaviorName=FindLimitedEnemyStealthDestination, NodeType=Sequence, Child[0]=ResetDestinationSearch, Child[1]=RestrictToUnflanked, Child[2]=FindDestinationWithLoS-MWP_IsoStealth)
  2550. Behaviors=(BehaviorName=TryHorrorPriority, NodeType=Sequence, Child[0]=HasAlliesOfType-Shadowbind, Child[1]=TryHorror)
  2551. Behaviors=(BehaviorName=HasAlliesOfType-Shadowbind, NodeType=Condition) ;Checks character group name.
  2552. Behaviors=(BehaviorName=VisibleSpectreBranch, NodeType=Sequence, Child[0]=NotAffectedByVanish, Child[1]=SpectreVisibleSelector)
  2553. Behaviors=(BehaviorName=NotAffectedByVanish, NodeType=Inverter, Child[0]=AffectedByEffect-Vanish)
  2554. Behaviors=(BehaviorName=SpectreVisibleSelector, NodeType=Selector, Child[0]=PostShadowbindMove, Child[1]=TryShadowbindIfNotActive, Child[2]=TryVanish, Child[3]=TryMoveThenHorror, Child[4]=DoIfFlankedMove, Child[5]=TryShootOrReloadOrOverwatch, Child[6]=HuntEnemyWithCover)
  2555. Behaviors=(BehaviorName=TryVanish, NodeType=Sequence, Child[0]=IsAbilityAvailable-Vanish, Child[1]=NotLastActionPoint, Child[2]=VanishByDesignOrChance)
  2556. Behaviors=(BehaviorName=VanishByDesignOrChance, NodeType=Selector, Child[0]=VanishPostShadowbind, Child[1]=ChanceToVanish)
  2557. Behaviors=(BehaviorName=VanishPostShadowbind, NodeType=Sequence, Child[0]=WasLastAbility-Shadowbind, Child[1]=SelectAbility-Vanish)
  2558. Behaviors=(BehaviorName=PostShadowbindMove, NodeType=Sequence, Child[0]=WasLastAbility-Shadowbind, Child[1]=FindStealthDestination_AvoidEnemy, Child[2]=SelectAbility-StandardMove)
  2559. Behaviors=(BehaviorName=WasLastAbility-Shadowbind, NodeType=Condition)
  2560. Behaviors=(BehaviorName=ChanceToVanish, NodeType=RandFilter, Child[0]=SelectAbility-Vanish, Param[0]=75)
  2561. Behaviors=(BehaviorName=FindVanishDestination, NodeType=Selector, Child[0]=FindFlankingStealthDestination, Child[1]=FindAnyStealthDestination)
  2562. Behaviors=(BehaviorName=IsAbilityAvailable-Vanish, NodeType=Condition)
  2563. Behaviors=(BehaviorName=SelectAbility-Vanish, NodeType=Action)
  2564. Behaviors=(BehaviorName=TryHorrorPriorityWithMove, NodeType=Sequence, Child[0]=HasAlliesOfType-Shadowbind, Child[1]=TryMoveThenHorror)
  2565. Behaviors=(BehaviorName=TryMoveThenHorror, NodeType=Selector, Child[0]=HorrorMoveIfFirstAction, Child[1]=TryHorrorPriority)
  2566. Behaviors=(BehaviorName=HorrorMoveIfFirstAction, NodeType=Sequence, Child[0]=NotLastActionPoint, Child[1]=HorrorMove)
  2567. Behaviors=(BehaviorName=HorrorMove, NodeType=Sequence, Child[0]=SafeToMove, Child[1]=IsAbilityAvailable-Horror, Child[2]=RestrictToUnflanked, Child[3]=FindDestinationWithLoS-MWP_Defensive, Child[4]=SelectAbility-StandardMove)
  2568. Behaviors=(BehaviorName=SelectNLREnemyTargetRandomly, NodeType=RepeatUntilFail, Child[0]=EvaluateNLREnemyTargetRandomly)
  2569. Behaviors=(BehaviorName=EvaluateNLREnemyTargetRandomly, NodeType=Sequence, Child[0]=SetNextTarget, Child[1]=SSScoreNLREnemyTargetRandomly, Child[2]=UpdateBestTarget)
  2570. Behaviors=(BehaviorName=SSScoreNLREnemyTargetRandomly, NodeType=Successor, Child[0]=ScoreNLREnemyTargetRandomly)
  2571. Behaviors=(BehaviorName=ScoreNLREnemyTargetRandomly, NodeType=Sequence, Child[0]=TargetIsEnemy, Child[1]=AvoidBoundAndPanickedTargets, Child[2]=SSScoreTargetOutIfCivilian, Child[3]=SSScoreTargetOutIfEnemyVIP, Child[4]=GenericScoreTargetRandomlySequence)
  2572. Behaviors=(BehaviorName=TryShadowbindIfNotLastAction, NodeType=Sequence, Child[0]=NotLastActionPoint, Child[1]=TryShadowbind)
  2573. Behaviors=(BehaviorName=TryShadowbind, NodeType=Sequence, Child[0]=IsAbilityAvailable-Shadowbind, Child[1]=SetTargetStack-Shadowbind, Child[2]=SelectNLREnemyTargetRandomly, Child[3]=HasValidTarget-Shadowbind, Child[4]=SelectRevealedShadowbindOption)
  2574. Behaviors=(BehaviorName=IsAbilityAvailable-Shadowbind, NodeType=Condition)
  2575. Behaviors=(BehaviorName=SetTargetStack-Shadowbind, NodeType=Action)
  2576. Behaviors=(BehaviorName=HasValidTarget-Shadowbind, NodeType=Condition)
  2577. Behaviors=(BehaviorName=SelectAbility-Shadowbind, NodeType=Action)
  2578. Behaviors=(BehaviorName=TryHorror, NodeType=Sequence, Child[0]=IsAbilityAvailable-Horror, Child[1]=SetTargetStack-Horror, Child[2]=SelectNLREnemyTargetRandomly, Child[3]=HasValidTarget-Horror, Child[4]=SelectRevealedHorrorOption)
  2579. Behaviors=(BehaviorName=SelectRevealedHorrorOption, NodeType=Selector, Child[0]=RevealIfHiddenThenHorror, Child[1]=SelectAbility-Horror)
  2580. Behaviors=(BehaviorName=IsAbilityAvailable-VanishReveal, NodeType=Condition)
  2581. Behaviors=(BehaviorName=SelectAbility-VanishReveal, NodeType=Action)
  2582. Behaviors=(BehaviorName=SetPreselectedAbility-Horror, NodeType=Action)
  2583. Behaviors=(BehaviorName=RevealIfHiddenThenHorror, NodeType=Sequence, Child[0]=IsAbilityAvailable-VanishReveal, Child[1]=SelectAbility-VanishReveal, Child[2]=SetPreselectedAbility-Horror)
  2584. Behaviors=(BehaviorName=SelectRevealedShadowbindOption, NodeType=Selector, Child[0]=RevealIfHiddenThenShadowbind, Child[1]=SelectAbility-Shadowbind)
  2585. Behaviors=(BehaviorName=SSSetPreselectedAbility-Shadowbind, NodeType=Successor, Child[0]=SetPreselectedAbility-Shadowbind)
  2586. Behaviors=(BehaviorName=SetPreselectedAbility-Shadowbind, NodeType=Action)
  2587. Behaviors=(BehaviorName=RevealIfHiddenThenShadowbind, NodeType=Sequence, Child[0]=IsAbilityAvailable-VanishReveal, Child[1]=SelectAbility-VanishReveal, Child[2]=SSSetPreselectedAbility-Shadowbind)
  2588. Behaviors=(BehaviorName=IsAbilityAvailable-Horror, NodeType=Condition)
  2589. Behaviors=(BehaviorName=SetTargetStack-Horror, NodeType=Action)
  2590. Behaviors=(BehaviorName=HasValidTarget-Horror, NodeType=Condition)
  2591. Behaviors=(BehaviorName=SelectAbility-Horror, NodeType=Action)
  2592. Behaviors=(BehaviorName="Shadowbind::CharacterRoot", NodeType=Selector, Child[0]=MimicBeaconBehavior, Child[1]=GenericAbilityRoot, Child[2]=TryMoveThenGrenade, Child[3]=DoIfFlankedMove, Child[4]=SnipeIfAvailable, Child[5]=ShootIfIdeal, Child[6]=NeedsReload, Child[7]=MoveTowardsNearestEnemy, Child[8]=TryShootOrReloadOrOverwatch, Child[9]=TryOverwatch, Child[10]=HuntEnemyWithCover, Child[11]=HuntEnemy )
  2593. Behaviors=(BehaviorName=GenericAbilityRoot, NodeType=Selector, Child[0]=SelectPreselectedAbility, Child[1]=SelectGenericAbilitySequence)
  2594. Behaviors=(BehaviorName=SelectPreselectedAbility, NodeType=Action)
  2595. Behaviors=(BehaviorName=SelectGenericAbilitySequence, NodeType=Sequence, Child[0]=InitGenericAbilities, Child[1]=GenericAbilityIterator, Child[2]=HasSelectedGenericAbility)
  2596. Behaviors=(BehaviorName=InitGenericAbilities, NodeType=Action) ; Set up list of viable abilities
  2597. Behaviors=(BehaviorName=GenericAbilityIterator, NodeType=RepeatUntilFail, Child[0]=TryNextGenericAbility) ; Loop through abilities list
  2598. Behaviors=(BehaviorName=TryNextGenericAbility, NodeType=Sequence, Child[0]=ChooseGenericAbilityOption, Child[1]=SSSelectGenericAbilityOptionOrMove, Child[2]=HasNotSelectedGenericAbility)
  2599. Behaviors=(BehaviorName=HasSelectedGenericAbility, NodeType=Condition)
  2600. Behaviors=(BehaviorName=HasNotSelectedGenericAbility, NodeType=Inverter, Child[0]=HasSelectedGenericAbility) ; Exit loop condition
  2601. Behaviors=(BehaviorName=ChooseGenericAbilityOption, NodeType=Action)
  2602. Behaviors=(BehaviorName=SSSelectGenericAbilityOptionOrMove, NodeType=Successor, Child[0]=SelectGenericAbilityOptionOrMove)
  2603. Behaviors=(BehaviorName=SelectGenericAbilityOptionOrMove, NodeType=Selector, Child[0]=TryMoveForGenericAbilityOption, Child[1]=TrySelectGenericAbilityOption)
  2604. Behaviors=(BehaviorName=TryMoveForGenericAbilityOption, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardMove, Child[1]=ShouldMoveTowardGenericAbilityOption, Child[2]=SetCurrOptionAsPreselectedAbility, Child[3]=SelectDestinationForGenericAbilityOption, Child[4]=SelectAbility-StandardMove)
  2605. Behaviors=(BehaviorName=ShouldMoveTowardGenericAbilityOption, NodeType=Condition)
  2606. Behaviors=(BehaviorName=SetCurrOptionAsPreselectedAbility, NodeType=Action)
  2607. Behaviors=(BehaviorName=SelectDestinationForGenericAbilityOption, NodeType=Selector, Child[0]=GASMoveTowardAoETarget, Child[1]=GASTryFindFlankingDestination, Child[2]=GASTryFindCloserCoverDestination, Child[3]=MoveCloserForGenericAbility)
  2608. Behaviors=(BehaviorName=TrySelectGenericAbilityOption, NodeType=Action)
  2609. Behaviors=(BehaviorName=GASMoveTowardAoETarget, NodeType=Sequence, Child[0]=GASIsAoEAbility, Child[1]=GASRestrictMoveToAoETarget, Child[2]=FindRestrictedDestination-MWP_Standard)
  2610. Behaviors=(BehaviorName=GASIsAoEAbility, NodeType=Condition)
  2611. Behaviors=(BehaviorName=GASRestrictMoveToAoETarget, NodeType=Action)
  2612. Behaviors=(BehaviorName=GASTryFindFlankingDestination, NodeType=Sequence, Child[0]=ShouldFlankGASTarget, Child[1]=ResetDestinationSearch, Child[2]=RestrictToGASRange, Child[3]=RestrictToEnemyLoS, Child[4]=FindRestrictedDestination-MWP_Flanking)
  2613. Behaviors=(BehaviorName=ShouldFlankGASTarget, NodeType=Condition)
  2614. Behaviors=(BehaviorName=RestrictToGASRange, NodeType=Action)
  2615. Behaviors=(BehaviorName=GASTryFindCloserCoverDestination, NodeType=Sequence, Child[0]=ResetDestinationSearch, Child[1]=RestrictToGASRange, Child[2]=RestrictToEnemyLoS, Child[3]=FindRestrictedDestination-MWP_Standard)
  2616. Behaviors=(BehaviorName=MoveCloserForGenericAbility, NodeType=Action)
  2617. Behaviors=(BehaviorName="AdventPurifier::CharacterRoot", NodeType=Selector, Child[0]=TryJob, Child[1]=GenericGreenMovement, Child[2]=PurifierRedAlert, Child[3]=GenericAlertHandler, Child[4]=SkipMove)
  2618. Behaviors=(BehaviorName="AdventPurifier::AttackMimicBeacon", NodeType=Sequence, Child[0]=SelectPotentialMimicBeaconTarget, Child[1]=TryFlameThrowerOnMimicBeacon)
  2619. Behaviors=(BehaviorName=PurifierRedAlert, NodeType=Sequence, Child[0]=IsRedOrOrangeAlert, Child[1]=SelectPurifierAbility)
  2620. Behaviors=(BehaviorName=SelectPurifierAbility, NodeType=Selector, Child[0]=SelectPreselectedAbility, Child[1]=MimicBeaconBehavior, Child[2]=FlameThrowerPriorityOption, Child[3]=TryMoveThenGrenade, Child[4]=TryMoveThenFlameThrower, Child[5]=TryFlankedMoveThenFlameThrower, Child[6]=DoIfFlankedMove, Child[7]=TryShootOrReloadOrOverwatch, Child[8]=HuntEnemyWithCover)
  2621. Behaviors=(BehaviorName=SSSetPreselectedAbility-FlameThrowerLostTargetProfile, NodeType=Successor, Child[0]=SetPreselectedAbility-FlameThrowerLostTargetProfile)
  2622. Behaviors=(BehaviorName=SetPreselectedAbility-FlameThrowerLostTargetProfile, NodeType=Action)
  2623. Behaviors=(BehaviorName=SSSetPreselectedAbility-FlameThrowerProfile, NodeType=Successor, Child[0]=SetPreselectedAbility-FlameThrowerProfile)
  2624. Behaviors=(BehaviorName=SetPreselectedAbility-FlameThrowerProfile, NodeType=Action)
  2625. Behaviors=(BehaviorName=FlameThrowerPriorityOption, NodeType=Sequence, Child[0]=IsAbilityAvailable-AdvPurifierFlamethrower, Child[1]=TryFlameThrowerPriority)
  2626. Behaviors=(BehaviorName=TryFlameThrowerPriority, NodeType=Selector, Child[0]=FirstTurnMoveForPriorityFlameThrower, Child[1]=FlameThrowerIfPriorityTargets)
  2627. Behaviors=(BehaviorName=FirstTurnMoveForPriorityFlameThrower, NodeType=Sequence, Child[0]=NotLastActionPoint, Child[1]=IsAbilityAvailable-StandardMove, Child[2]=PurifierMoveForLost, Child[3]=SelectAbility-StandardMove)
  2628. Behaviors=(BehaviorName=PurifierMoveForLost, NodeType=Selector, Child[0]=FlameThrowerLostMoveAndAttack, Child[1]=FindDestinationTowardTheLost)
  2629. Behaviors=(BehaviorName=FindDestinationTowardTheLost, NodeType=Sequence, Child[0]=FindVisibleLostTarget, Child[1]=FindLostFlamethrowerDestination)
  2630. Behaviors=(BehaviorName=RestrictToPotentialTargetRange-AdvPurifierFlamethrower, NodeType=Action)
  2631. Behaviors=(BehaviorName=FindLostFlamethrowerDestination, NodeType=Sequence, Child[0]=ResetDestinationSearch, Child[1]=RestrictToPotentialTargetRange-AdvPurifierFlamethrower, Child[2]=FindRestrictedDestination-MWP_Standard)
  2632. Behaviors=(BehaviorName=FindVisibleLostTarget, NodeType=Sequence, Child[0]=SetVisiblePotentialTargetStack, Child[1]=SelectNearestTheLostTarget, Child[2]=HasValidTarget-Potential)
  2633. Behaviors=(BehaviorName=SelectNearestTheLostTarget, NodeType=RepeatUntilFail, Child[0]=EvaluateNearestLostTarget)
  2634. Behaviors=(BehaviorName=EvaluateNearestLostTarget, NodeType=Sequence, Child[0]=SetNextTarget, Child[1]=SSScoreNearestLostTarget, Child[2]=UpdateBestTarget)
  2635. Behaviors=(BehaviorName=SSScoreNearestLostTarget, NodeType=Successor, Child[0]=ScoreNearestLostTarget)
  2636. Behaviors=(BehaviorName=ScoreNearestLostTarget, NodeType=Sequence, Child[0]=IsTargetTeam-eTeam_TheLost, Child[1]=TargetScoreByScaledDistance-1, Child[2]=AddToTargetScore_100)
  2637. Behaviors=(BehaviorName=FlameThrowerIfPriorityTargets, NodeType=Sequence, Child[0]=SelectPriorityTargetForFlameThrower, Child[1]=SelectAbility-AdvPurifierFlamethrower)
  2638. Behaviors=(BehaviorName=FindMultiTargetDestination-FlameThrowerLostTargetProfile, NodeType=Action, Param[0]=1)
  2639. Behaviors=(BehaviorName=FlameThrowerLostMoveAndAttack, NodeType=Sequence, Child[0]=FindMultiTargetDestination-FlameThrowerLostTargetProfile, Child[1]=SSSetPreselectedAbility-FlameThrowerLostTargetProfile, Child[2]=SelectAbility-StandardMove)
  2640. Behaviors=(BehaviorName=WaitedTurnsForFlameThrower, NodeType=StatCondition, Param[0]=TurnsEngaged, Param[1]=">=", Param[2]=2)
  2641. Behaviors=(BehaviorName=TryMoveThenFlameThrower, NodeType=Selector, Child[0]=FirstTurnMoveForFlameThrower, Child[1]=TryFlameThrower, Child[2]=LastMoveTryFlameAnything)
  2642. Behaviors=(BehaviorName=FirstTurnMoveForFlameThrower, NodeType=Sequence, Child[0]=NotLastActionPoint, Child[1]=IsAbilityAvailable-StandardMove, Child[2]=FlameThrowerMoveAndAttack)
  2643. Behaviors=(BehaviorName=FindMultiTargetDestination-FlameThrowerProfile, NodeType=Action, Param[0]=1) ;Param[0]=1 added when LoS is required.
  2644. Behaviors=(BehaviorName=FlameThrowerMoveAndAttack, NodeType=Selector, Child[0]=MultiTargetMoveForFlameThrowerTargets, Child[1]=MoveTowardFlameThrowerTargets)
  2645. Behaviors=(BehaviorName=MultiTargetMoveForFlameThrowerTargets, NodeType=Sequence, Child[0]=FindMultiTargetDestination-FlameThrowerProfile, Child[1]=SSSetPreselectedAbility-FlameThrowerProfile, Child[2]=SelectAbility-StandardMove)
  2646. Behaviors=(BehaviorName=MoveTowardFlameThrowerTargets, NodeType=Sequence, Child[0]=SelectPotentialTargetForFlameThrower, Child[1]=ResetDestinationSearch, Child[2]=RestrictToPotentialTargetRange-AdvPurifierFlameThrower, Child[3]=FindDestinationWithLoS-MWP_Standard, Child[4]=SelectAbility-StandardMove)
  2647. Behaviors=(BehaviorName=SelectPotentialTargetForFlameThrower, NodeType=Sequence, Child[0]=SetPotentialTargetStack, Child[1]=SelectBestTargetForFlameThrower, Child[2]=HasValidTarget-Potential)
  2648. Behaviors=(BehaviorName=SelectBestTargetForFlameThrower, NodeType=RepeatUntilFail, Child[0]=EvaluatePotentialFlameThrowerTarget)
  2649. Behaviors=(BehaviorName=EvaluatePotentialFlameThrowerTarget, NodeType=Sequence, Child[0]=SetNextTarget, Child[1]=SSScoreClosestEnemyTarget_NonCivilianOrVIP, Child[2]=UpdateBestTarget)
  2650. Behaviors=(BehaviorName=LastMoveTryFlameAnything, NodeType=Sequence, Child[0]=IsLastActionPoint, Child[1]=IsAbilityAvailable-AdvPurifierFlamethrower, Child[2]=FlameThrower_Anything, Child[3]=SelectAbility-AdvPurifierFlamethrower)
  2651. Behaviors=(BehaviorName=TryFlankedMoveThenFlameThrower, NodeType=Selector, Child[0]=FirstTurnFlankedMoveForFlameThrower, Child[1]=TryFlameThrower, Child[2]=LastMoveTryFlameAnything)
  2652. Behaviors=(BehaviorName=FirstTurnFlankedMoveForFlameThrower, NodeType=Sequence, Child[0]=NotLastActionPoint, Child[1]=IsAbilityAvailable-StandardMove, Child[2]=FlameThrowerFlankedMoveAndAttack)
  2653. Behaviors=(BehaviorName=FlameThrowerFlankedMoveAndAttack, NodeType=Selector, Child[0]=MultiTargetFlankedMoveForFlameThrowerTargets, Child[1]=FlankedMoveTowardFlameThrowerTargets)
  2654. Behaviors=(BehaviorName=FindAnyMultiTargetDestination-FlameThrowerProfile, NodeType=Action, Param[0]=1) ;Param[0]=1 added when LoS is required.
  2655. Behaviors=(BehaviorName=MultiTargetFlankedMoveForFlameThrowerTargets, NodeType=Sequence, Child[0]=FindAnyMultiTargetDestination-FlameThrowerProfile, Child[1]=SSSetPreselectedAbility-FlameThrowerProfile, Child[2]=SelectAbility-StandardMove)
  2656. Behaviors=(BehaviorName=FlankedMoveTowardFlameThrowerTargets, NodeType=Sequence, Child[0]=SelectPotentialTargetForFlameThrower, Child[1]=ResetDestinationSearch, Child[2]=RestrictToPotentialTargetRange-AdvPurifierFlameThrower, Child[3]=FindDestinationWithLoS-MWP_Fanatic, Child[4]=SelectAbility-StandardMove)
  2657. Behaviors=(BehaviorName=TryFlameThrower, NodeType=Sequence, Child[0]=IsAbilityAvailable-AdvPurifierFlamethrower, Child[1]=FlameThrower_AnyTargetWillDo, Child[2]=SelectAbility-AdvPurifierFlamethrower)
  2658. Behaviors=(BehaviorName=IsAbilityAvailable-AdvPurifierFlamethrower, NodeType=Condition)
  2659. Behaviors=(BehaviorName=SelectAbility-AdvPurifierFlamethrower, NodeType=Action)
  2660. Behaviors=(BehaviorName=SelectPriorityTargetForFlameThrower, NodeType=Selector, Child[0]=FlameThrower_HitIdealTarget, Child[1]=FlameThrower_MultipleTargets)
  2661. Behaviors=(BehaviorName=FlameThrower_HitIdealTarget, NodeType=Sequence, Child[0]=FindPotentialAoETargets-FlameThrowerLostTargetProfile, Child[1]=SelectAoETarget-FlameThrowerLostTargetProfile)
  2662. Behaviors=(BehaviorName=FlameThrower_MultipleTargets, NodeType=Sequence, Child[0]=FindPotentialAoETargets-FlameThrowerMultiProfile, Child[1]=SelectAoETarget-FlameThrowerMultiProfile)
  2663. Behaviors=(BehaviorName=FlameThrower_AnyTargetWillDo, NodeType=Sequence, Child[0]=FindPotentialAoETargets-FlameThrowerProfile, Child[1]=SelectAoETarget-FlameThrowerProfile)
  2664. Behaviors=(BehaviorName=FlameThrower_Anything, NodeType=Selector, Child[0]=FlameThrower_EnemyCover, Child[1]=FlameThrower_IgnoreFF)
  2665. Behaviors=(BehaviorName=FlameThrower_EnemyCover, NodeType=Sequence, Child[0]=FindPotentialAoETargets-FlameThrowerAdjacent, Child[1]=SelectAoETarget-FlameThrowerAdjacent)
  2666. Behaviors=(BehaviorName=FlameThrower_IgnoreFF, NodeType=Sequence, Child[0]=FindPotentialAoETargets-FlameThrowerIgnoreFF, Child[1]=SelectAoETarget-FlameThrowerIgnoreFF)
  2667. Behaviors=(BehaviorName=TryFlameThrowerOnMimicBeacon, NodeType=Sequence, Child[0]=IsAbilityAvailable-AdvPurifierFlamethrower, Child[1]=FindFlameThrowerMimicBeaconTarget, Child[2]=SelectAbility-AdvPurifierFlamethrower)
  2668. Behaviors=(BehaviorName=FindFlameThrowerMimicBeaconTarget, NodeType=Selector, Child[0]=FlameThrower_MimicBeacon, Child[1]=FlameThrower_MimicBeaconAdjacent)
  2669. Behaviors=(BehaviorName=FlameThrower_MimicBeacon, NodeType=Sequence, Child[0]=FindPotentialAoETargets-FlameThrowerMimicBeacon, Child[1]=SelectAoETarget-FlameThrowerMimicBeacon)
  2670. Behaviors=(BehaviorName=FlameThrower_MimicBeaconAdjacent, NodeType=Sequence, Child[0]=FindPotentialAoETargets-FlameThrowerMimicBeaconAdjacent, Child[1]=SelectAoETarget-FlameThrowerMimicBeaconAdjacent)
  2671. Behaviors=(BehaviorName=PanicBerserkRoot, NodeType=Selector, Child[0]=ShootRandomEnemyForPanic, Child[1]=NeedsReload, Child[2]=TryStandardMeleeUnsafe, Child[3]=SkipMove)
  2672. Behaviors=(BehaviorName=ReduceCurrTileScore, NodeType=Action, Param[0]="0.25") ;This drops the value of the unit's current tile down, promoting movement whenever possible.
  2673. Behaviors=(BehaviorName=IsTargetInAttackRange-ThrowGrenade, NodeType=Condition)
  2674. Behaviors=(BehaviorName=PanicObsessedRoot, NodeType=Selector, Child[0]=ObsessedStandardShotAttack, Child[1]=NeedsReload, Child[2]=PanickedObsessed_MoveActions, Child[3]=DoCower, Child[4]=SkipMove)
  2675. Behaviors=(BehaviorName=PanickedObsessed_MoveActions, NodeType=Sequence, Child[0]=NotLastActionPoint, Child[1]=SSSetObsessedTargetIfUnset, Child[2]=TryPanicObsessedMovement)
  2676. Behaviors=(BehaviorName=TryPanicObsessedMovement, NodeType=Sequence, Child[0]=IsAbilityAvailable-StandardMove, Child[1]=FindDestinationTowardObsessedTarget, Child[2]=SelectAbility-StandardMove)
  2677. Behaviors=(BehaviorName=SelectObsessedPriorityTarget, NodeType=Sequence, Child[0]=SetPotentialTargetStack, Child[1]=SelectObsessedTargetIterator, Child[2]=HasValidTarget-Potential)
  2678. Behaviors=(BehaviorName=SSSetObsessedTargetIfUnset, NodeType=Successor, Child[0]=SetObsessedTargetIfUnset)
  2679. Behaviors=(BehaviorName=SetObsessedTargetIfUnset, NodeType=Sequence, Child[0]=ObsessedTargetUnset, Child[1]=SetObsessedTarget)
  2680. Behaviors=(BehaviorName=ObsessedTargetUnset, NodeType=Inverter, Child[0]=HasUnitValue-ObsessedTarget)
  2681. Behaviors=(BehaviorName=HasUnitValue-ObsessedTarget, NodeType=Condition)
  2682. Behaviors=(BehaviorName=SetObsessedTarget, NodeType=Action)
  2683. Behaviors=(BehaviorName=FindDestinationTowardObsessedTarget, NodeType=Selector, Child[0]=FirstActionGetDestinationCloserToTarget, Child[1]=FindFlankingDestinationToObsessedTarget, Child[2]=FindClosestDestinationTowardsObsessedTarget)
  2684. Behaviors=(BehaviorName=FirstActionGetDestinationCloserToTarget, NodeType=Sequence, Child[0]=HasThreeActionPoints, Child[1]=FindClosestDestinationTowardsObsessedTarget)
  2685. Behaviors=(BehaviorName=FindClosestDestinationTowardsObsessedTarget, NodeType=Action)
  2686. Behaviors=(BehaviorName=FindFlankingDestinationToObsessedTarget, NodeType=Sequence, Child[0]=ResetDestinationSearch, Child[1]=SelectObsessedPriorityTarget, Child[2]=RestrictToUnflanked, Child[3]=RestrictToPotentialTargetRange-StandardShot, Child[4]=FindRestrictedDestination-MWP_PanicObsessed)
  2687. Behaviors=(BehaviorName=RestrictToPotentialTargetRange-StandardShot, NodeType=Action)
  2688. Behaviors=(BehaviorName=FindRestrictedDestination-MWP_PanicObsessed, NodeType=Action)
  2689. Behaviors=(BehaviorName=SelectObsessedTargetIterator, NodeType=RepeatUntilFail, Child[0]=SelectObsessedTargetStep)
  2690. Behaviors=(BehaviorName=SelectObsessedTargetStep, NodeType=Sequence, Child[0]=SetNextTarget, Child[1]=SSTargetScoreIfObsessed, Child[2]=UpdateBestTarget)
  2691. Behaviors=(BehaviorName=SSTargetScoreIfObsessed, NodeType=Successor, Child[0]=TargetScoreIfObsessed)
  2692. Behaviors=(BehaviorName=TargetScoreIfObsessed, NodeType=Sequence, Child[0]=TargetIsPanicObsessedTarget, Child[1]=AddToTargetScore_100)
  2693. Behaviors=(BehaviorName=TargetIsPanicObsessedTarget, NodeType=Condition)
  2694. Behaviors=(BehaviorName=ObsessedStandardShotAttack, NodeType=Sequence, Child[0]=SSSetObsessedTargetIfUnset, Child[1]=IsAbilityAvailable-StandardShot, Child[2]=SelectObsessedTargetForStandardShot, Child[3]=SelectAbility-StandardShot)
  2695. Behaviors=(BehaviorName=SelectObsessedTargetForStandardShot, NodeType=Sequence, Child[0]=SetTargetStack-StandardShot, Child[1]=SelectObsessedTargetIterator, Child[2]=HasValidTarget-StandardShot)
  2696. Behaviors=(BehaviorName=PanicShatteredRoot, NodeType=Selector, Child[0]=DoCower, Child[1]=MoveIfCowerNotAvailable, Child[2]=SkipMove)
  2697. Behaviors=(BehaviorName=MoveIfCowerNotAvailable, NodeType=Sequence, Child[0]=IsCowerUnavailable, Child[1]=NotHunkeredDown, Child[2]=MoveRandomCover)
  2698. Behaviors=(BehaviorName=IsCowerUnavailable, NodeType=Inverter, Child[0]=IsAbilityAvailable-HunkerDown)
  2699. Behaviors=(BehaviorName=AffectedByEffect-HunkerDown, NodeType=Condition)
  2700. Behaviors=(BehaviorName=NotHunkeredDown, NodeType=Inverter, Child[0]=AffectedByEffect-HunkerDown)
  2701. Behaviors=(BehaviorName=SoldierAutoRunTree, NodeType=Selector, Child[0]=TryMoveThenGrenade, Child[1]=TryShootOrReload, Child[2]=GenericAbilityRoot, Child[3]=DoIfFlankedMove, Child[4]=SnipeIfAvailable, Child[5]=ShootIfIdeal, Child[6]=TryMoveTowardObjective, Child[7]=NeedsReload, Child[8]=MoveTowardsNearestEnemy, Child[9]=TryShootOrReloadOrOverwatch, Child[10]=TryOverwatch, Child[11]=SkipMove)
  2702. Behaviors=(BehaviorName=TryOverwatchOrMoveRandom, NodeType=RandSelector, Child[0]=TryOverwatch, Child[1]=MoveRandomUnsafe)
  2703. Behaviors=(BehaviorName=TryMoveTowardObjective, NodeType=Selector, Child[0]=TryHackObjective, Child[1]=TryNeutralizeObjective, Child[2]=TryDestroyObjective, Child[3]=TryPathToObjective, Child[4]=TryEvacuateObjective )
  2704. Behaviors=(BehaviorName=TryHackObjective, NodeType=Sequence, Child[0]=IsObjectiveHackable, Child[1]=BBHasKey-ObjectiveDoorID, Child[2]=HackObjectiveBranch)
  2705. Behaviors=(BehaviorName=IsObjectiveHackable, NodeType=Selector, Child[0]=IsMissionOfType-Rescue_AdventCell, Child[1]=IsMissionOfType-Rescue_Vehicle, Child[2]=IsMissionOfType-Hack, Child[3]=IsMissionOfType-Hack_ADV, Child[4]=IsMissionOfType-Hack_Train, Child[5]=IsMissionOfType-Neutralize_Vehicle, Child[6]=IsMissionOfType-Recover, Child[7]=IsMissionOfType-Recover_ADV, Child[8]=IsMissionOfType-Recover_Train, Child[9]=IsMissionOfType-Recover_Vehicle)
  2706. Behaviors=(BehaviorName=IsMissionOfType-Rescue_AdventCell, NodeType=Condition)
  2707. Behaviors=(BehaviorName=IsMissionOfType-Rescue_Vehicle, NodeType=Condition)
  2708. Behaviors=(BehaviorName=IsMissionOfType-Hack, NodeType=Condition)
  2709. Behaviors=(BehaviorName=IsMissionOfType-Hack_ADV, NodeType=Condition)
  2710. Behaviors=(BehaviorName=IsMissionOfType-Hack_Train, NodeType=Condition)
  2711. Behaviors=(BehaviorName=IsMissionOfType-Neutralize_Vehicle, NodeType=Condition)
  2712. Behaviors=(BehaviorName=IsMissionOfType-Recover, NodeType=Condition)
  2713. Behaviors=(BehaviorName=IsMissionOfType-Recover_ADV, NodeType=Condition)
  2714. Behaviors=(BehaviorName=IsMissionOfType-Recover_Train, NodeType=Condition)
  2715. Behaviors=(BehaviorName=IsMissionOfType-Recover_Vehicle, NodeType=Condition)
  2716. Behaviors=(BehaviorName=HackObjectiveBranch, NodeType=Selector, Child[0]=TryHackObjectiveDoor, Child[1]=TryPathToObjective)
  2717. Behaviors=(BehaviorName=TryPathToObjective, NodeType=Sequence, Child[0]=FindDestinationTowardObjective, Child[1]=SelectAbility-StandardMove, Intent="Moving toward objective!")
  2718. Behaviors=(BehaviorName=FindDestinationTowardObjective, NodeType=Action)
  2719. Behaviors=(BehaviorName=TryHackObjectiveDoor, NodeType=Sequence, Child[0]=BBHasKey-ObjectiveDoorID, Child[1]=IsAbilityAvailable-Hack, Child[2]=SelectObjectiveDoorHackTarget, Child[3]=SelectAbility-Hack)
  2720. Behaviors=(BehaviorName=BBHasKey-ObjectiveDoorID, NodeType=Condition)
  2721. Behaviors=(BehaviorName=IsAbilityAvailable-Hack, NodeType=Condition)
  2722. Behaviors=(BehaviorName=SelectObjectiveDoorHackTarget, NodeType=Sequence, Child[0]=SetTargetStack-Hack, Child[1]=SelectObjectiveDoorTarget, Child[2]=HasValidTarget-Hack)
  2723. Behaviors=(BehaviorName=SetTargetStack-Hack, NodeType=Action)
  2724. Behaviors=(BehaviorName=HasValidTarget-Hack, NodeType=Condition)
  2725. Behaviors=(BehaviorName=SelectObjectiveDoorTarget, NodeType=RepeatUntilFail, Child[0]=EvaluateHackTargetObjectiveDoor)
  2726. Behaviors=(BehaviorName=EvaluateHackTargetObjectiveDoor, NodeType=Sequence, Child[0]=SetNextTarget, Child[1]=SSScoreIfHackTargetObjectiveDoor, Child[2]=UpdateBestTarget)
  2727. Behaviors=(BehaviorName=SSScoreIfHackTargetObjectiveDoor, NodeType=Successor, Child[0]=ScoreIfHackTargetObjectiveDoor)
  2728. Behaviors=(BehaviorName=ScoreIfHackTargetObjectiveDoor, NodeType=Sequence, Child[0]=BBDataMatchesTargetID-ObjectiveDoorID, Child[1]=AddToTargetScore_100)
  2729. Behaviors=(BehaviorName=BBDataMatchesTargetID-ObjectiveDoorID, NodeType=Condition)
  2730. Behaviors=(BehaviorName=TryNeutralizeObjective, NodeType=Sequence, Child[0]=IsObjectiveActive-NeutralizeTarget, Child[1]=NeutralizeObjectiveBranch)
  2731. Behaviors=(BehaviorName=IsObjectiveActive-NeutralizeTarget, NodeType=Condition)
  2732. Behaviors=(BehaviorName=NeutralizeObjectiveBranch, NodeType=Failer, Child[0]=IsAbilityAvailable-StandardMove) ; TEMP todo writeme
  2733. Behaviors=(BehaviorName=TryDestroyObjective, NodeType=Sequence, Child[0]=IsObjectiveActive-DestroyObject, Child[1]=DestroyObjectiveBranch)
  2734. Behaviors=(BehaviorName=IsObjectiveActive-DestroyObject, NodeType=Condition)
  2735. Behaviors=(BehaviorName=DestroyObjectiveBranch, NodeType=Failer, Child[0]=IsAbilityAvailable-StandardMove); TEMP todo writeme
  2736. Behaviors=(BehaviorName=TryEvacuateObjective, NodeType=Selector, Child[0]=TryEvac)
  2737. Behaviors=(BehaviorName=TryEscapeObjective, NodeType=Sequence, Child[0]=IsObjectiveActive-Escape, Child[1]=EscapeObjectiveBranch)
  2738. Behaviors=(BehaviorName=IsObjectiveActive-Escape, NodeType=Condition)
  2739. Behaviors=(BehaviorName=EscapeObjectiveBranch, NodeType=Failer, Child[0]=IsAbilityAvailable-StandardMove) ; TEMP todo writeme
  2740. Behaviors=(BehaviorName=MoveTowardsNearestEnemy, NodeType=Selector, Child[0]=HeatSeekWhenNoEnemiesVisible, Child[1]=MoveFlankingIfFirstAbilityUnsafe, Child[2]=MoveAdvanceToCoverUnsafe, Child[3]=HeatSeekToCover)
  2741. Behaviors=(BehaviorName=HeatSeekWhenNoEnemiesVisible, NodeType=Sequence, Child[0]=NoVisibleEnemiesToTeam, Child[1]=HeatSeekNearestUnconcealed, Child[2]=SelectAbility-StandardMove)
  2742. Behaviors=(BehaviorName=HeatSeekToCover, NodeType=Sequence, Child[0]=HeatSeekNearestUnconcealed, Child[1]=SelectAbility-StandardMove)
  2743. Behaviors=(BehaviorName=NoVisibleEnemiesToTeam, NodeType=Condition)
  2744. Behaviors=(BehaviorName=SnipeIfAvailable, NodeType=Sequence, Child[0]=IsAbilityAvailable-SniperStandardFire, Child[1]=SelectTargetForSniperStandardFire_Ideal, Child[2]=SelectAbility-SniperStandardFire)
  2745. Behaviors=(BehaviorName=IsAbilityAvailable-SniperStandardFire, NodeType=Condition)
  2746. Behaviors=(BehaviorName=SelectTargetForSniperStandardFire_Ideal, NodeType=Sequence, Child[0]=SetTargetStack-SniperStandardFire, Child[1]=SelectTarget_Opportunist, Child[2]=HasValidTarget-SniperStandardFire)
  2747. Behaviors=(BehaviorName=SelectAbility-SniperStandardFire, NodeType=Action)
  2748. Behaviors=(BehaviorName=SetTargetStack-SniperStandardFire, NodeType=Action)
  2749. Behaviors=(BehaviorName=HasValidTarget-SniperStandardFire, NodeType=Condition)
  2750. Behaviors=(BehaviorName=TargetTemplateNameIs-Sectoid, NodeType=Condition)
  2751. Behaviors=(BehaviorName=TargetTemplateNameIs-Muton, NodeType=Condition)
  2752. Behaviors=(BehaviorName=IsTargetStunLancer, NodeType=Selector, Child[0]=TargetTemplateNameIs-AdvStunLancerM1, Child[1]=TargetTemplateNameIs-AdvStunLancerM2, Child[2]=TargetTemplateNameIs-AdvStunLancerM3)
  2753. Behaviors=(BehaviorName=TargetTemplateNameIs-AdvStunLancerM1, NodeType=Condition)
  2754. Behaviors=(BehaviorName=TargetTemplateNameIs-AdvStunLancerM2, NodeType=Condition)
  2755. Behaviors=(BehaviorName=TargetTemplateNameIs-AdvStunLancerM3, NodeType=Condition)
  2756. Behaviors=(BehaviorName=TargetScoreMindControlledAlly, NodeType=Selector, Child[0]=ScoreTargetIfMindControlled, Child[1]=AddToTargetScore_0)
  2757. Behaviors=(BehaviorName=ScoreTargetIfMindControlled, NodeType=Sequence, Child[0]=TargetAffectedByEffect-MindControl, Child[1]=AddToTargetScore_-1000)
  2758. Behaviors=(BehaviorName=SelectAbility-Hack, NodeType=Action)
  2759. Behaviors=(BehaviorName=IsTeam-eTeam_Alien, NodeType=Condition)
  2760. Behaviors=(BehaviorName=NotTeamAlien, NodeType=Inverter, Child[0]=IsTeam-eTeam_Alien)
  2761. Behaviors=(BehaviorName=ShouldPrioritizeTheLostTarget, NodeType=Condition)
  2762. Behaviors=(BehaviorName=IsTargetTeam-eTeam_TheLost, NodeType=Condition)
  2763. Behaviors=(BehaviorName=IsTargetTeam-eTeam_Alien, NodeType=Condition)
  2764. Behaviors=(BehaviorName=AdjustScoreForLostPriority, NodeType=Selector, Child[0]=LostPriorityScore, Child[1]=AddToTargetScore_-500) ;Either +500 or -500 depending on whether or not this unit is attacking us.
  2765. Behaviors=(BehaviorName=LostPriorityScore, NodeType=Sequence, Child[0]=ShouldPrioritizeTheLostTarget, Child[1]=AddToTargetScore_500)
  2766.  
  2767. [XComGame.XGAIBehavior_Civilian]
  2768. CIVILIAN_NEAR_TERROR_REACT_RADIUS=2.0 ; Radius, in tiles, around civilians to react, on TERROR missions. Affects proximity ring size. MUST MATCH KISMET-SIDE CHECK - SEE TruggerDistanceTiles setting in kismet sequence of Obj_Terror.umap in editor.
  2769. CIVILIAN_NEAR_STANDARD_REACT_RADIUS=4.0; Radius, in tiles, around civilians to react, on non-terror missions.
  2770.  
  2771. [XComGame.XComGameState_AIBlackboard]
  2772.  
  2773. [IniVersion]
  2774. 0=1508494201.000000
Advertisement
Add Comment
Please, Sign In to add comment