aboutsummaryrefslogtreecommitdiff
path: root/Northstar.CustomServers/scripts/aibehavior
diff options
context:
space:
mode:
authorBobTheBob <32057864+BobTheBob9@users.noreply.github.com>2021-06-22 14:30:49 +0100
committerBobTheBob <32057864+BobTheBob9@users.noreply.github.com>2021-06-22 14:30:49 +0100
commit207facbc402f5639cbcd31f079214351ef605cf2 (patch)
tree4710b2a88dd64f3dfea1609d31a5de9141640951 /Northstar.CustomServers/scripts/aibehavior
parentc2d438568df6d98cf731807e30eaa7da31e5ea52 (diff)
downloadNorthstarMods-207facbc402f5639cbcd31f079214351ef605cf2.tar.gz
NorthstarMods-207facbc402f5639cbcd31f079214351ef605cf2.zip
initial commit after moving to new repo
Diffstat (limited to 'Northstar.CustomServers/scripts/aibehavior')
-rw-r--r--Northstar.CustomServers/scripts/aibehavior/behavior_drone.txt33
-rw-r--r--Northstar.CustomServers/scripts/aibehavior/behavior_dropship.txt21
-rw-r--r--Northstar.CustomServers/scripts/aibehavior/behavior_flyer.txt33
-rw-r--r--Northstar.CustomServers/scripts/aibehavior/behavior_frag_drone.txt27
-rw-r--r--Northstar.CustomServers/scripts/aibehavior/behavior_goliath.txt31
-rw-r--r--Northstar.CustomServers/scripts/aibehavior/behavior_gunship.txt30
-rw-r--r--Northstar.CustomServers/scripts/aibehavior/behavior_marvin.txt22
-rw-r--r--Northstar.CustomServers/scripts/aibehavior/behavior_mp_auto_titan.txt58
-rw-r--r--Northstar.CustomServers/scripts/aibehavior/behavior_mp_auto_titan_enhanced.txt59
-rw-r--r--Northstar.CustomServers/scripts/aibehavior/behavior_mp_auto_titan_enhanced_guard.txt38
-rw-r--r--Northstar.CustomServers/scripts/aibehavior/behavior_mp_auto_titan_guard.txt43
-rw-r--r--Northstar.CustomServers/scripts/aibehavior/behavior_pilot_elite.txt63
-rw-r--r--Northstar.CustomServers/scripts/aibehavior/behavior_pilot_elite_assassin.txt57
-rw-r--r--Northstar.CustomServers/scripts/aibehavior/behavior_pilot_elite_assassin_cqb.txt64
-rw-r--r--Northstar.CustomServers/scripts/aibehavior/behavior_pilot_elite_assassin_sniper.txt64
-rw-r--r--Northstar.CustomServers/scripts/aibehavior/behavior_prowler.txt42
-rw-r--r--Northstar.CustomServers/scripts/aibehavior/behavior_prowler_cqb.txt38
-rw-r--r--Northstar.CustomServers/scripts/aibehavior/behavior_soldier.txt53
-rw-r--r--Northstar.CustomServers/scripts/aibehavior/behavior_sp_auto_titan.txt79
-rw-r--r--Northstar.CustomServers/scripts/aibehavior/behavior_sp_npc_titan_proto_stasisgun.txt60
-rw-r--r--Northstar.CustomServers/scripts/aibehavior/behavior_sp_soldier.txt57
-rw-r--r--Northstar.CustomServers/scripts/aibehavior/behavior_spectre.txt47
-rw-r--r--Northstar.CustomServers/scripts/aibehavior/behavior_stalker.txt39
-rw-r--r--Northstar.CustomServers/scripts/aibehavior/behavior_stalker_crawling.txt32
-rw-r--r--Northstar.CustomServers/scripts/aibehavior/behavior_super_spectre.txt58
-rw-r--r--Northstar.CustomServers/scripts/aibehavior/behavior_titan.txt81
-rw-r--r--Northstar.CustomServers/scripts/aibehavior/behavior_titan_buddy.txt81
-rw-r--r--Northstar.CustomServers/scripts/aibehavior/behavior_titan_long_range.txt79
-rw-r--r--Northstar.CustomServers/scripts/aibehavior/behavior_titan_melee.txt80
-rw-r--r--Northstar.CustomServers/scripts/aibehavior/behavior_titan_melee_core.txt38
-rw-r--r--Northstar.CustomServers/scripts/aibehavior/behavior_titan_ogre_meteor.txt81
-rw-r--r--Northstar.CustomServers/scripts/aibehavior/behavior_titan_ogre_minigun.txt77
-rw-r--r--Northstar.CustomServers/scripts/aibehavior/behavior_titan_ogre_minigun_nuke.txt77
-rw-r--r--Northstar.CustomServers/scripts/aibehavior/behavior_titan_rocketeer.txt83
-rw-r--r--Northstar.CustomServers/scripts/aibehavior/behavior_titan_shotgun.txt82
-rw-r--r--Northstar.CustomServers/scripts/aibehavior/behavior_titan_sniper.txt82
-rw-r--r--Northstar.CustomServers/scripts/aibehavior/behaviors.txt36
-rw-r--r--Northstar.CustomServers/scripts/aibehavior/common_schedules.txt2681
38 files changed, 4706 insertions, 0 deletions
diff --git a/Northstar.CustomServers/scripts/aibehavior/behavior_drone.txt b/Northstar.CustomServers/scripts/aibehavior/behavior_drone.txt
new file mode 100644
index 00000000..64f151c7
--- /dev/null
+++ b/Northstar.CustomServers/scripts/aibehavior/behavior_drone.txt
@@ -0,0 +1,33 @@
+Selector Common
+
+ SelectSchedule_Flinch
+ SelectSchedule_LayeredBehavior
+
+Selector_End
+
+
+Selector Idle
+
+ SelectSchedule_PatrolRun
+ SelectSchedule_IdleStand
+
+Selector_End
+
+
+Selector Alert
+
+ SelectSchedule_PatrolRun
+ SelectSchedule_IdleStand
+
+Selector_End
+
+
+Selector Combat
+
+ SelectSchedule_EnemyTooClose
+ SelectSchedule_StationaryLowAmmo
+ SelectSchedule_ChaseEnemy
+ SelectSchedule_RangeAttack
+ SelectSchedule_IdleStand
+
+Selector_End \ No newline at end of file
diff --git a/Northstar.CustomServers/scripts/aibehavior/behavior_dropship.txt b/Northstar.CustomServers/scripts/aibehavior/behavior_dropship.txt
new file mode 100644
index 00000000..a3a712e9
--- /dev/null
+++ b/Northstar.CustomServers/scripts/aibehavior/behavior_dropship.txt
@@ -0,0 +1,21 @@
+Selector Common
+ SelectSchedule_LayeredBehavior
+Selector_End
+
+
+Selector Idle
+
+ SelectSchedule_IdleStand
+Selector_End
+
+
+Selector Alert
+
+ SelectSchedule_IdleStand
+Selector_End
+
+
+Selector Combat
+
+ SelectSchedule_IdleStand
+Selector_End \ No newline at end of file
diff --git a/Northstar.CustomServers/scripts/aibehavior/behavior_flyer.txt b/Northstar.CustomServers/scripts/aibehavior/behavior_flyer.txt
new file mode 100644
index 00000000..a7a995f5
--- /dev/null
+++ b/Northstar.CustomServers/scripts/aibehavior/behavior_flyer.txt
@@ -0,0 +1,33 @@
+Selector Common
+
+ SelectSchedule_Flinch
+ SelectSchedule_LayeredBehavior
+
+Selector_End
+
+
+Selector Idle
+
+ SelectSchedule_PatrolRun
+ SelectSchedule_IdleStand
+
+Selector_End
+
+
+Selector Alert
+
+ SelectSchedule_PatrolRun
+ SelectSchedule_IdleStand
+
+Selector_End
+
+
+Selector Combat
+
+ SelectSchedule_FearEnemy
+ SelectSchedule_SyncedMeleeAttack
+ SelectSchedule_MeleeAttack
+ SelectSchedule_ChaseEnemy
+ SelectSchedule_IdleStand
+
+Selector_End \ No newline at end of file
diff --git a/Northstar.CustomServers/scripts/aibehavior/behavior_frag_drone.txt b/Northstar.CustomServers/scripts/aibehavior/behavior_frag_drone.txt
new file mode 100644
index 00000000..c7459d71
--- /dev/null
+++ b/Northstar.CustomServers/scripts/aibehavior/behavior_frag_drone.txt
@@ -0,0 +1,27 @@
+Selector Common
+
+ SelectSchedule_LayeredBehavior
+
+Selector_End
+
+
+Selector Idle
+
+ SelectSchedule_Idle
+
+Selector_End
+
+
+Selector Alert
+
+ SelectSchedule_Alert
+
+Selector_End
+
+
+Selector Combat
+
+ SelectSchedule_ChaseEnemy
+ SelectSchedule_CombatFace
+
+Selector_End \ No newline at end of file
diff --git a/Northstar.CustomServers/scripts/aibehavior/behavior_goliath.txt b/Northstar.CustomServers/scripts/aibehavior/behavior_goliath.txt
new file mode 100644
index 00000000..c4dad6ab
--- /dev/null
+++ b/Northstar.CustomServers/scripts/aibehavior/behavior_goliath.txt
@@ -0,0 +1,31 @@
+Selector Common
+
+ SelectSchedule_FallToGround
+ SelectSchedule_Flinch
+ SelectSchedule_LayeredBehavior
+
+Selector_End
+
+
+Selector Idle
+
+ SelectSchedule_Idle
+
+Selector_End
+
+
+Selector Alert
+
+ SelectSchedule_Alert
+
+Selector_End
+
+
+Selector Combat
+
+ SelectSchedule_FearEnemy
+ SelectSchedule_NewEnemySignal
+ SelectSchedule_MeleeAttack
+ SelectSchedule_ChaseEnemy
+
+Selector_End \ No newline at end of file
diff --git a/Northstar.CustomServers/scripts/aibehavior/behavior_gunship.txt b/Northstar.CustomServers/scripts/aibehavior/behavior_gunship.txt
new file mode 100644
index 00000000..b62c0793
--- /dev/null
+++ b/Northstar.CustomServers/scripts/aibehavior/behavior_gunship.txt
@@ -0,0 +1,30 @@
+Selector Common
+
+ SelectSchedule_MissileDodge
+ SelectSchedule_LayeredBehavior
+Selector_End
+
+
+Selector Idle
+
+ SelectSchedule_PatrolRun
+Selector_End
+
+
+Selector Alert
+
+ SelectSchedule_PatrolRun
+Selector_End
+
+
+Selector Combat
+ SelectSchedule_EnemyTooClose
+ SelectSchedule_StrafeDodge
+ SelectSchedule_AttackRun
+ SelectSchedule_CircleStrafe
+ SelectSchedule_StationaryLowAmmo
+ SelectSchedule_RangeAttack
+ SelectSchedule_CantSeeEnemy
+ SelectSchedule_MoveToWeaponRange
+ SelectSchedule_ChaseEnemy
+Selector_End \ No newline at end of file
diff --git a/Northstar.CustomServers/scripts/aibehavior/behavior_marvin.txt b/Northstar.CustomServers/scripts/aibehavior/behavior_marvin.txt
new file mode 100644
index 00000000..351b9ff7
--- /dev/null
+++ b/Northstar.CustomServers/scripts/aibehavior/behavior_marvin.txt
@@ -0,0 +1,22 @@
+Selector Common
+
+ SelectSchedule_FallToGround
+ SelectSchedule_Flinch
+ SelectSchedule_LayeredBehavior
+ SelectSchedule_Idle
+Selector_End
+
+
+Selector Idle
+
+Selector_End
+
+
+Selector Alert
+
+Selector_End
+
+
+Selector Combat
+
+Selector_End \ No newline at end of file
diff --git a/Northstar.CustomServers/scripts/aibehavior/behavior_mp_auto_titan.txt b/Northstar.CustomServers/scripts/aibehavior/behavior_mp_auto_titan.txt
new file mode 100644
index 00000000..74742e99
--- /dev/null
+++ b/Northstar.CustomServers/scripts/aibehavior/behavior_mp_auto_titan.txt
@@ -0,0 +1,58 @@
+Selector Common
+
+ SelectSchedule_FallToGround
+ SelectSchedule_MissileDodge
+ CNPC_Titan::SelectSchedule_PhysEntKnock
+ SelectSchedule_Flinch
+ SelectSchedule_DisplaceFromDangerousArea
+ SelectSchedule_ChangeToDesiredStance
+ CNPC_Titan::SelectSchedule_GotoDefensivePlacement
+ SelectSchedule_LayeredBehavior
+Selector_End
+
+
+Selector Idle
+
+ SelectSchedule_Idle
+Selector_End
+
+
+Selector Alert
+
+SelectSchedule_Alert
+Selector_End
+
+
+Selector Combat
+
+// SelectSchedule_StrafeDodge
+// SelectSchedule_ForwardDodge
+ SelectSchedule_MeleeAttack
+// SelectSchedule_EvasiveLowAmmo
+// SelectSchedule_ChaseEnemy
+// SelectSchedule_EngagementDistMax
+ SelectSchedule_StationaryLowAmmo
+// SelectSchedule_RangeAttackEvasive
+ SelectSchedule_RangeAttack
+// SelectSchedule_EngagementDistMin
+ SelectSchedule_WeaponBlocked
+ SelectSchedule_CantSeeEnemy
+// SelectSchedule_MoveToWeaponRange
+ SelectSchedule_CombatFace
+Selector_End
+
+
+Selector CombatEvasive
+
+ SelectSchedule_StrafeDodge
+ SelectSchedule_MeleeAttack
+// SelectSchedule_BackwardDodge
+ SelectSchedule_TakeCoverFromEnemy health > 0.1
+ SelectSchedule_EvasiveLowAmmo
+ SelectSchedule_RangeAttackEvasive
+ SelectSchedule_RangeAttack
+ SelectSchedule_EngagementDistMin
+ SelectSchedule_WeaponBlocked
+ SelectSchedule_CantSeeEnemy
+ SelectSchedule_CombatFace
+Selector_End
diff --git a/Northstar.CustomServers/scripts/aibehavior/behavior_mp_auto_titan_enhanced.txt b/Northstar.CustomServers/scripts/aibehavior/behavior_mp_auto_titan_enhanced.txt
new file mode 100644
index 00000000..8e1bc7c1
--- /dev/null
+++ b/Northstar.CustomServers/scripts/aibehavior/behavior_mp_auto_titan_enhanced.txt
@@ -0,0 +1,59 @@
+Selector Common
+
+ SelectSchedule_FallToGround
+ SelectSchedule_MissileDodge
+ CNPC_Titan::SelectSchedule_PhysEntKnock
+ SelectSchedule_Flinch
+ SelectSchedule_DisplaceFromDangerousArea
+ SelectSchedule_ChangeToDesiredStance
+ CNPC_Titan::SelectSchedule_GotoDefensivePlacement
+ SelectSchedule_LayeredBehavior
+Selector_End
+
+
+Selector Idle
+
+ SelectSchedule_Idle
+Selector_End
+
+
+Selector Alert
+
+SelectSchedule_Alert
+Selector_End
+
+
+Selector Combat
+
+ SelectSchedule_StrafeDodge
+ SelectSchedule_ForwardDodge
+ SelectSchedule_MeleeAttack
+// SelectSchedule_EvasiveLowAmmo
+ SelectSchedule_ChaseEnemy
+// SelectSchedule_EngagementDistMax
+ SelectSchedule_CircleStrafe
+ SelectSchedule_StationaryLowAmmo
+ SelectSchedule_RangeAttackEvasive
+ SelectSchedule_RangeAttack
+// SelectSchedule_EngagementDistMin
+ SelectSchedule_WeaponBlocked
+ SelectSchedule_CantSeeEnemy
+// SelectSchedule_MoveToWeaponRange
+ SelectSchedule_CombatFace
+Selector_End
+
+
+Selector CombatEvasive
+
+ SelectSchedule_StrafeDodge
+ SelectSchedule_MeleeAttack
+ SelectSchedule_BackwardDodge
+ SelectSchedule_TakeCoverFromEnemy health > 0.1
+ SelectSchedule_EvasiveLowAmmo
+ SelectSchedule_RangeAttackEvasive
+ SelectSchedule_RangeAttack
+ SelectSchedule_EngagementDistMin
+ SelectSchedule_WeaponBlocked
+ SelectSchedule_CantSeeEnemy
+ SelectSchedule_CombatFace
+Selector_End
diff --git a/Northstar.CustomServers/scripts/aibehavior/behavior_mp_auto_titan_enhanced_guard.txt b/Northstar.CustomServers/scripts/aibehavior/behavior_mp_auto_titan_enhanced_guard.txt
new file mode 100644
index 00000000..e68c6ab5
--- /dev/null
+++ b/Northstar.CustomServers/scripts/aibehavior/behavior_mp_auto_titan_enhanced_guard.txt
@@ -0,0 +1,38 @@
+Selector Common
+
+ SelectSchedule_FallToGround
+ SelectSchedule_MissileDodge
+ CNPC_Titan::SelectSchedule_PhysEntKnock
+ SelectSchedule_Flinch
+ SelectSchedule_DisplaceFromDangerousArea
+ SelectSchedule_ChangeToDesiredStance
+ CNPC_Titan::SelectSchedule_GotoDefensivePlacement
+ SelectSchedule_LayeredBehavior
+Selector_End
+
+
+Selector Idle
+
+ SelectSchedule_Idle
+Selector_End
+
+
+Selector Alert
+
+SelectSchedule_Alert
+Selector_End
+
+
+Selector Combat
+
+ SelectSchedule_StrafeDodge
+ SelectSchedule_MeleeAttack
+ SelectSchedule_EvasiveLowAmmo
+ SelectSchedule_ChaseEnemy
+ SelectSchedule_CircleStrafe
+ SelectSchedule_StationaryLowAmmo
+ SelectSchedule_RangeAttackEvasive
+ SelectSchedule_RangeAttack
+ SelectSchedule_WeaponBlockedByFriend
+ SelectSchedule_CombatFace
+Selector_End
diff --git a/Northstar.CustomServers/scripts/aibehavior/behavior_mp_auto_titan_guard.txt b/Northstar.CustomServers/scripts/aibehavior/behavior_mp_auto_titan_guard.txt
new file mode 100644
index 00000000..07dacfaa
--- /dev/null
+++ b/Northstar.CustomServers/scripts/aibehavior/behavior_mp_auto_titan_guard.txt
@@ -0,0 +1,43 @@
+Selector Common
+
+ SelectSchedule_FallToGround
+ //SelectSchedule_MissileDodge
+ CNPC_Titan::SelectSchedule_PhysEntKnock
+ SelectSchedule_Flinch
+ SelectSchedule_DisplaceFromDangerousArea
+ SelectSchedule_ChangeToDesiredStance
+ CNPC_Titan::SelectSchedule_GotoDefensivePlacement
+ SelectSchedule_LayeredBehavior
+Selector_End
+
+
+Selector Idle
+
+ SelectSchedule_Idle
+Selector_End
+
+
+Selector Alert
+
+SelectSchedule_Alert
+Selector_End
+
+
+Selector Combat
+
+// SelectSchedule_StrafeDodge
+// SelectSchedule_ForwardDodge
+ SelectSchedule_MeleeAttack
+// SelectSchedule_EvasiveLowAmmo
+// SelectSchedule_ChaseEnemy
+// SelectSchedule_EngagementDistMax
+ SelectSchedule_StationaryLowAmmo
+// SelectSchedule_RangeAttackEvasive
+ SelectSchedule_RangeAttack2
+ SelectSchedule_RangeAttack
+// SelectSchedule_EngagementDistMin
+ SelectSchedule_WeaponBlockedByFriend
+// SelectSchedule_CantSeeEnemy
+// SelectSchedule_MoveToWeaponRange
+ SelectSchedule_CombatFace
+Selector_End
diff --git a/Northstar.CustomServers/scripts/aibehavior/behavior_pilot_elite.txt b/Northstar.CustomServers/scripts/aibehavior/behavior_pilot_elite.txt
new file mode 100644
index 00000000..e68f7ddb
--- /dev/null
+++ b/Northstar.CustomServers/scripts/aibehavior/behavior_pilot_elite.txt
@@ -0,0 +1,63 @@
+Selector Common
+
+ SelectSchedule_RodeoAttack
+ SelectSchedule_FallToGround
+ SelectSchedule_MissileDodge
+ SelectSchedule_Flinch
+ SelectSchedule_DisplaceFromDangerousArea
+ //SelectSchedule_ChangeToDesiredStance
+ SelectSchedule_SyncedMeleeAttack
+ SelectSchedule_LayeredBehavior
+Selector_End
+
+
+Selector Idle
+
+ SelectSchedule_Idle
+Selector_End
+
+
+Selector Alert
+
+ SelectSchedule_Alert
+Selector_End
+
+
+Selector Combat
+
+ //SelectSchedule_StrafeDodge
+ //SelectSchedule_ForwardDodge
+
+ SelectSchedule_MeleeAttack
+
+ //CAI_Combatant::SelectSchedule_CombatNewEnemy
+ SelectSchedule_SwitchWeapon
+ SelectSchedule_EvasiveLowAmmo
+
+ SelectSchedule_CircleStrafe
+ CAI_Combatant::SelectSchedule_ShootingCover
+ //SelectSchedule_Taunt health > 0.8
+
+ SelectSchedule_ThrowGrenade
+ SelectSchedule_RangeAttackEvasive
+ SelectSchedule_RangeAttackTwitch
+ SelectSchedule_RangeAttack
+ //SelectSchedule_ChaseEnemy health > 0.4
+
+ SelectSchedule_CombatFace
+Selector_End
+
+Selector CombatEvasive
+
+ SelectSchedule_StrafeDodge
+ SelectSchedule_BackwardDodge
+ SelectSchedule_StationaryLowAmmo
+ SelectSchedule_RangeAttack2
+ SelectSchedule_RangeAttack
+ SelectSchedule_ChaseEnemy health > 0.4
+ SelectSchedule_EnemyTooClose
+ SelectSchedule_WeaponBlocked
+ SelectSchedule_CantSeeEnemy
+ SelectSchedule_CircleStrafe
+ SelectSchedule_CombatFace
+Selector_End
diff --git a/Northstar.CustomServers/scripts/aibehavior/behavior_pilot_elite_assassin.txt b/Northstar.CustomServers/scripts/aibehavior/behavior_pilot_elite_assassin.txt
new file mode 100644
index 00000000..278d4873
--- /dev/null
+++ b/Northstar.CustomServers/scripts/aibehavior/behavior_pilot_elite_assassin.txt
@@ -0,0 +1,57 @@
+Selector Common
+
+ SelectSchedule_RodeoAttack
+ SelectSchedule_FallToGround
+ SelectSchedule_MissileDodge
+ SelectSchedule_Flinch
+ SelectSchedule_SyncedMeleeAttack
+ SelectSchedule_LayeredBehavior
+Selector_End
+
+
+Selector Idle
+
+ SelectSchedule_Idle
+Selector_End
+
+
+Selector Alert
+
+ SelectSchedule_Alert
+Selector_End
+
+
+Selector Combat
+
+ SelectSchedule_LongJump
+ SelectSchedule_StrafeDodge
+ SelectSchedule_ForwardDodge
+ SelectSchedule_MeleeAttack
+ SelectSchedule_StationaryLowAmmo
+ SelectSchedule_RangeAttack2
+ SelectSchedule_RangeAttack
+ //SelectSchedule_Taunt health > 0.8
+ SelectSchedule_ChaseEnemy health > 0.4
+ SelectSchedule_EnemyTooClose
+ SelectSchedule_WeaponBlocked
+ SelectSchedule_CantSeeEnemy
+ SelectSchedule_MoveToWeaponRange
+ SelectSchedule_CircleStrafe
+ SelectSchedule_CombatFace
+Selector_End
+
+
+Selector CombatEvasive
+
+ SelectSchedule_StrafeDodge
+ SelectSchedule_BackwardDodge
+ SelectSchedule_StationaryLowAmmo
+ SelectSchedule_RangeAttack2
+ SelectSchedule_RangeAttack
+ SelectSchedule_ChaseEnemy health > 0.4
+ SelectSchedule_EnemyTooClose
+ SelectSchedule_WeaponBlocked
+ SelectSchedule_CantSeeEnemy
+ SelectSchedule_CircleStrafe
+ SelectSchedule_CombatFace
+Selector_End
diff --git a/Northstar.CustomServers/scripts/aibehavior/behavior_pilot_elite_assassin_cqb.txt b/Northstar.CustomServers/scripts/aibehavior/behavior_pilot_elite_assassin_cqb.txt
new file mode 100644
index 00000000..282e9b9b
--- /dev/null
+++ b/Northstar.CustomServers/scripts/aibehavior/behavior_pilot_elite_assassin_cqb.txt
@@ -0,0 +1,64 @@
+Selector Common
+
+ SelectSchedule_RodeoAttack
+ SelectSchedule_FallToGround
+ SelectSchedule_MissileDodge
+ SelectSchedule_Flinch
+ SelectSchedule_LayeredBehavior
+Selector_End
+
+
+Selector Idle
+
+ SelectSchedule_Idle
+Selector_End
+
+
+Selector Alert
+
+ SelectSchedule_Alert
+Selector_End
+
+
+Selector Combat
+
+ SelectSchedule_LongJump
+ SelectSchedule_StrafeDodge
+// SelectSchedule_DisengageAfterMeleeAttack
+ SelectSchedule_ForwardDodge
+ SelectSchedule_SyncedMeleeAttack
+ SelectSchedule_MeleeAttack
+ SelectSchedule_StationaryLowAmmo
+ //SelectSchedule_Taunt
+ SelectSchedule_MoveToWeaponRange
+ SelectSchedule_ChaseEnemy
+ SelectSchedule_RangeAttack2
+ SelectSchedule_RangeAttack
+ SelectSchedule_EnemyTooClose
+ SelectSchedule_WeaponBlocked
+ SelectSchedule_CantSeeEnemy
+ SelectSchedule_CircleStrafe
+ SelectSchedule_CombatFace
+Selector_End
+
+
+Selector CombatEvasive
+
+ SelectSchedule_LongJump
+ SelectSchedule_StrafeDodge
+ SelectSchedule_DisengageAfterMeleeAttack
+ SelectSchedule_BackwardDodge
+ SelectSchedule_SyncedMeleeAttack
+ SelectSchedule_MeleeAttack
+ SelectSchedule_StationaryLowAmmo
+ //SelectSchedule_RangeAttack2
+ //SelectSchedule_RangeAttack
+ //SelectSchedule_Taunt
+ SelectSchedule_ChaseEnemy
+ SelectSchedule_EnemyTooClose
+ SelectSchedule_WeaponBlocked
+ SelectSchedule_CantSeeEnemy
+ SelectSchedule_MoveToWeaponRange
+ SelectSchedule_CircleStrafe
+ SelectSchedule_CombatFace
+Selector_End \ No newline at end of file
diff --git a/Northstar.CustomServers/scripts/aibehavior/behavior_pilot_elite_assassin_sniper.txt b/Northstar.CustomServers/scripts/aibehavior/behavior_pilot_elite_assassin_sniper.txt
new file mode 100644
index 00000000..144654ab
--- /dev/null
+++ b/Northstar.CustomServers/scripts/aibehavior/behavior_pilot_elite_assassin_sniper.txt
@@ -0,0 +1,64 @@
+Selector Common
+
+ SelectSchedule_RodeoAttack
+ SelectSchedule_FallToGround
+ SelectSchedule_MissileDodge
+ SelectSchedule_Flinch
+ SelectSchedule_SyncedMeleeAttack
+ SelectSchedule_LayeredBehavior
+Selector_End
+
+
+Selector Idle
+
+ SelectSchedule_Idle
+Selector_End
+
+
+Selector Alert
+
+ SelectSchedule_Alert
+Selector_End
+
+
+Selector Combat
+
+ SelectSchedule_LongJump
+ SelectSchedule_StrafeDodge
+ SelectSchedule_DisengageAfterMeleeAttack
+ CAI_Combatant::SelectSchedule_Snipe
+ SelectSchedule_ForwardDodge
+ SelectSchedule_MeleeAttack
+ SelectSchedule_StationaryLowAmmo
+ //SelectSchedule_RangeAttack
+ //SelectSchedule_Taunt
+ SelectSchedule_ChaseEnemy
+ SelectSchedule_EnemyTooClose
+ SelectSchedule_WeaponBlocked
+ SelectSchedule_CantSeeEnemy
+ SelectSchedule_MoveToWeaponRange
+ SelectSchedule_CircleStrafe
+ SelectSchedule_CombatFace
+Selector_End
+
+
+Selector CombatEvasive
+
+ SelectSchedule_LongJump
+ SelectSchedule_StrafeDodge
+ SelectSchedule_DisengageAfterMeleeAttack
+ CAI_Combatant::SelectSchedule_Snipe
+ SelectSchedule_BackwardDodge
+ SelectSchedule_MeleeAttack
+ SelectSchedule_StationaryLowAmmo
+ //SelectSchedule_RangeAttack2
+ //SelectSchedule_RangeAttack
+ //SelectSchedule_Taunt
+ SelectSchedule_ChaseEnemy
+ SelectSchedule_EnemyTooClose
+ SelectSchedule_WeaponBlocked
+ SelectSchedule_CantSeeEnemy
+ SelectSchedule_MoveToWeaponRange
+ SelectSchedule_CircleStrafe
+ SelectSchedule_CombatFace
+Selector_End \ No newline at end of file
diff --git a/Northstar.CustomServers/scripts/aibehavior/behavior_prowler.txt b/Northstar.CustomServers/scripts/aibehavior/behavior_prowler.txt
new file mode 100644
index 00000000..f5feb8c7
--- /dev/null
+++ b/Northstar.CustomServers/scripts/aibehavior/behavior_prowler.txt
@@ -0,0 +1,42 @@
+Selector Common
+
+ SelectSchedule_FallToGround
+ SelectSchedule_Flinch
+ SelectSchedule_DisplaceFromDangerousArea
+ //SelectSchedule_ReactJumpedOver
+ SelectSchedule_ReactCloak
+ SelectSchedule_ReactBullet
+ SelectSchedule_ReactSurprised
+ SelectSchedule_SyncedMeleeAttack
+ SelectSchedule_PressToInitiateSyncedMeleeAttack
+ SelectSchedule_LayeredBehavior
+
+Selector_End
+
+
+Selector Idle
+
+ SelectSchedule_Idle
+
+Selector_End
+
+
+Selector Alert
+
+ SelectSchedule_Alert
+
+Selector_End
+
+
+Selector Combat
+
+ SelectSchedule_FearEnemy
+ SelectSchedule_NewEnemySignal
+ SelectSchedule_MeleeAttack
+ SelectSchedule_MeleeAttackJumpUp
+ SelectSchedule_CircleStrafe
+ SelectSchedule_ChaseEnemy
+ SelectSchedule_TakeCoverFromUnreachableEnemy
+ SelectSchedule_MeleeAttackWait
+
+Selector_End \ No newline at end of file
diff --git a/Northstar.CustomServers/scripts/aibehavior/behavior_prowler_cqb.txt b/Northstar.CustomServers/scripts/aibehavior/behavior_prowler_cqb.txt
new file mode 100644
index 00000000..bff35f0b
--- /dev/null
+++ b/Northstar.CustomServers/scripts/aibehavior/behavior_prowler_cqb.txt
@@ -0,0 +1,38 @@
+Selector Common
+
+ SelectSchedule_FallToGround
+ SelectSchedule_Flinch
+ SelectSchedule_DisplaceFromDangerousArea
+ SelectSchedule_ReactCloak
+ SelectSchedule_ReactBullet
+ SelectSchedule_ReactSurprised
+ SelectSchedule_SyncedMeleeAttack
+ SelectSchedule_PressToInitiateSyncedMeleeAttack
+ SelectSchedule_LayeredBehavior
+
+Selector_End
+
+
+Selector Idle
+
+ SelectSchedule_Idle
+
+Selector_End
+
+
+Selector Alert
+
+ SelectSchedule_Alert
+
+Selector_End
+
+
+Selector Combat
+
+ SelectSchedule_MeleeAttack
+ SelectSchedule_MeleeAttackJumpUp
+ SelectSchedule_NewEnemySignal
+ SelectSchedule_ChaseEnemy
+ SelectSchedule_MeleeAttackWait
+
+Selector_End \ No newline at end of file
diff --git a/Northstar.CustomServers/scripts/aibehavior/behavior_soldier.txt b/Northstar.CustomServers/scripts/aibehavior/behavior_soldier.txt
new file mode 100644
index 00000000..106014c3
--- /dev/null
+++ b/Northstar.CustomServers/scripts/aibehavior/behavior_soldier.txt
@@ -0,0 +1,53 @@
+Selector Common
+
+ SelectSchedule_FallToGround
+ SelectSchedule_Flinch
+ SelectSchedule_DisplaceFromDangerousArea
+ SelectSchedule_ReactJumpedOver
+ SelectSchedule_ReactCloak
+ SelectSchedule_ReactSurprised
+ SelectSchedule_ReactBullet
+ SelectSchedule_ReactFriendlyPlayer
+ SelectSchedule_FearEnemy
+ SelectSchedule_ChangeToDesiredStance
+ SelectSchedule_SyncedMeleeAttack
+ SelectSchedule_PressToInitiateSyncedMeleeAttack
+ SelectSchedule_LayeredBehavior
+Selector_End
+
+
+Selector Idle
+
+ SelectSchedule_Idle
+Selector_End
+
+
+Selector Alert
+
+ CAI_Combatant::SelectSchedule_ShootingCover
+ SelectSchedule_Alert
+Selector_End
+
+
+Selector Combat
+
+ SelectSchedule_AntiMassiveEnemy
+
+ SelectSchedule_MeleeAttack
+ CAI_Combatant::SelectSchedule_ShootingCover
+ SelectSchedule_ChaseEnemy
+
+ CAI_Combatant::SelectSchedule_CombatNewEnemy
+ SelectSchedule_EvasiveLowAmmo
+
+ CAI_Combatant::SelectSchedule_MoveToSquadAssignedNode
+ //SelectSchedule_ThrowGrenade
+ SelectSchedule_RangeAttackEvasive
+ SelectSchedule_RangeAttackTwitch
+ SelectSchedule_RangeAttack
+
+ CAI_Combatant::SelectSchedule_CombatOccludedEnemy
+ CAI_Combatant::SelectSchedule_EnemyNotAttackable
+
+ SelectSchedule_CombatFace
+Selector_End \ No newline at end of file
diff --git a/Northstar.CustomServers/scripts/aibehavior/behavior_sp_auto_titan.txt b/Northstar.CustomServers/scripts/aibehavior/behavior_sp_auto_titan.txt
new file mode 100644
index 00000000..be309949
--- /dev/null
+++ b/Northstar.CustomServers/scripts/aibehavior/behavior_sp_auto_titan.txt
@@ -0,0 +1,79 @@
+Selector Common
+
+ SelectSchedule_FallToGround
+ SelectSchedule_MissileDodge
+ CNPC_Titan::SelectSchedule_TitanCore
+ CNPC_Titan::SelectSchedule_PhysEntKnock
+ SelectSchedule_Flinch
+ SelectSchedule_ChangeToDesiredStance
+ CNPC_Titan::SelectSchedule_GotoDefensivePlacement
+ SelectSchedule_LayeredBehavior
+Selector_End
+
+
+Selector Idle
+
+ SelectSchedule_Idle
+Selector_End
+
+
+Selector Alert
+
+ SelectSchedule_Alert
+Selector_End
+
+
+Selector Combat
+
+ SelectSchedule_StrafeDodge
+ SelectSchedule_ForwardDodge
+ SelectSchedule_BackwardDodge
+ SelectSchedule_MeleeAttack
+// SelectSchedule_EvasiveLowAmmo
+// SelectSchedule_ChaseEnemy
+// SelectSchedule_EngagementDistMax
+ SelectSchedule_StationaryLowAmmo
+ SelectSchedule_RangeAttackEvasive
+ SelectSchedule_RangeAttack2
+ SelectSchedule_RangeAttack
+ SelectSchedule_EngagementDistMin
+ SelectSchedule_WeaponBlocked
+ SelectSchedule_CantSeeEnemy
+// SelectSchedule_MoveToWeaponRange
+ SelectSchedule_CombatFace
+Selector_End
+
+Selector CombatAggressive
+
+ SelectSchedule_StrafeDodge
+ SelectSchedule_ForwardDodge
+ SelectSchedule_MeleeAttack
+ SelectSchedule_ChaseEnemy
+ SelectSchedule_CircleStrafe
+ SelectSchedule_StationaryLowAmmo
+ SelectSchedule_RangeAttackEvasive
+ SelectSchedule_RangeAttack2
+ SelectSchedule_RangeAttack
+ SelectSchedule_WeaponBlocked
+ SelectSchedule_CantSeeEnemy
+ SelectSchedule_CombatFace
+Selector_End
+
+
+Selector CombatEvasive
+
+ //SelectSchedule_FearEnemy
+ SelectSchedule_MeleeAttack
+ SelectSchedule_BackwardDodge
+ SelectSchedule_StrafeDodge
+ SelectSchedule_TakeCoverFromEnemy health > 0.5
+ SelectSchedule_EvasiveLowAmmo
+ SelectSchedule_RangeAttackEvasive
+ SelectSchedule_RangeAttack2
+ SelectSchedule_RangeAttack
+ SelectSchedule_CircleStrafe
+ SelectSchedule_EngagementDistMin
+ SelectSchedule_WeaponBlocked
+ SelectSchedule_CantSeeEnemy
+ SelectSchedule_CombatFace
+Selector_End
diff --git a/Northstar.CustomServers/scripts/aibehavior/behavior_sp_npc_titan_proto_stasisgun.txt b/Northstar.CustomServers/scripts/aibehavior/behavior_sp_npc_titan_proto_stasisgun.txt
new file mode 100644
index 00000000..b93d2249
--- /dev/null
+++ b/Northstar.CustomServers/scripts/aibehavior/behavior_sp_npc_titan_proto_stasisgun.txt
@@ -0,0 +1,60 @@
+Selector Common
+
+ SelectSchedule_FallToGround
+ SelectSchedule_MissileDodge
+ CNPC_Titan::SelectSchedule_PhysEntKnock
+ SelectSchedule_Flinch
+ SelectSchedule_ChangeToDesiredStance
+ CNPC_Titan::SelectSchedule_GotoDefensivePlacement
+ SelectSchedule_LayeredBehavior
+Selector_End
+
+
+Selector Idle
+
+ SelectSchedule_Idle
+Selector_End
+
+
+Selector Alert
+
+SelectSchedule_Alert
+Selector_End
+
+
+Selector Combat
+
+ SelectSchedule_StrafeDodge
+// SelectSchedule_ForwardDodge
+ SelectSchedule_MeleeAttack
+ SelectSchedule_EngagementDistMin
+// SelectSchedule_EvasiveLowAmmo
+ SelectSchedule_ChaseEnemy
+// SelectSchedule_EngagementDistMax
+ SelectSchedule_StationaryLowAmmo
+// SelectSchedule_RangeAttackEvasive
+ SelectSchedule_RangeAttack2
+ SelectSchedule_RangeAttack
+ SelectSchedule_WeaponBlocked
+ SelectSchedule_CantSeeEnemy
+// SelectSchedule_MoveToWeaponRange
+ SelectSchedule_CombatFace
+Selector_End
+
+
+Selector CombatEvasive
+
+// SelectSchedule_FearEnemy
+ SelectSchedule_StrafeDodge
+ SelectSchedule_MeleeAttack
+// SelectSchedule_BackwardDodge
+ SelectSchedule_TakeCoverFromEnemy health > 0.1
+ SelectSchedule_EvasiveLowAmmo
+ SelectSchedule_RangeAttackEvasive
+ SelectSchedule_RangeAttack2
+ SelectSchedule_RangeAttack
+ SelectSchedule_EngagementDistMin
+ SelectSchedule_WeaponBlocked
+ SelectSchedule_CantSeeEnemy
+ SelectSchedule_CombatFace
+Selector_End
diff --git a/Northstar.CustomServers/scripts/aibehavior/behavior_sp_soldier.txt b/Northstar.CustomServers/scripts/aibehavior/behavior_sp_soldier.txt
new file mode 100644
index 00000000..38ed82e5
--- /dev/null
+++ b/Northstar.CustomServers/scripts/aibehavior/behavior_sp_soldier.txt
@@ -0,0 +1,57 @@
+Selector Common
+
+ SelectSchedule_FallToGround
+ SelectSchedule_Flinch
+ SelectSchedule_DisplaceFromDangerousArea
+ SelectSchedule_ReactJumpedOver
+ SelectSchedule_ReactCloak
+ SelectSchedule_ReactSurprised
+ SelectSchedule_ReactBullet
+ SelectSchedule_ReactFriendlyPlayer
+ SelectSchedule_FearEnemy
+ SelectSchedule_ChangeToDesiredStance
+ SelectSchedule_SyncedMeleeAttack
+ SelectSchedule_PressToInitiateSyncedMeleeAttack
+ SelectSchedule_LayeredBehavior
+Selector_End
+
+
+Selector Idle
+
+ SelectSchedule_Idle
+Selector_End
+
+
+Selector Alert
+
+ CAI_Combatant::SelectSchedule_ShootingCover
+ SelectSchedule_Alert
+Selector_End
+
+
+Selector Combat
+
+ SelectSchedule_AntiMassiveEnemy
+
+ SelectSchedule_MeleeAttack
+ SelectSchedule_SwitchWeapon
+ CAI_Combatant::SelectSchedule_ShootingCover
+ SelectSchedule_ChaseEnemy
+
+ CAI_Combatant::SelectSchedule_CombatNewEnemy
+ CAI_Combatant::SelectSchedule_MoveToSquadAssignedNode
+
+ SelectSchedule_EvasiveLowAmmo
+ SelectSchedule_EngagementDistMax
+ SelectSchedule_BreakEnemyLosIfOutsideEngageDist
+
+ SelectSchedule_ThrowGrenade
+ SelectSchedule_RangeAttackEvasive
+ SelectSchedule_RangeAttackTwitch
+ SelectSchedule_RangeAttack
+
+ CAI_Combatant::SelectSchedule_CombatOccludedEnemy
+ CAI_Combatant::SelectSchedule_EnemyNotAttackable
+
+ SelectSchedule_CombatFace
+Selector_End \ No newline at end of file
diff --git a/Northstar.CustomServers/scripts/aibehavior/behavior_spectre.txt b/Northstar.CustomServers/scripts/aibehavior/behavior_spectre.txt
new file mode 100644
index 00000000..66937c70
--- /dev/null
+++ b/Northstar.CustomServers/scripts/aibehavior/behavior_spectre.txt
@@ -0,0 +1,47 @@
+Selector Common
+
+ SelectSchedule_FallToGround
+ SelectSchedule_Flinch
+ SelectSchedule_ReactJumpedOver
+ SelectSchedule_ChangeToDesiredStance
+ SelectSchedule_SyncedMeleeAttack
+ SelectSchedule_PressToInitiateSyncedMeleeAttack
+ SelectSchedule_LayeredBehavior
+Selector_End
+
+
+Selector Idle
+
+ SelectSchedule_Idle
+Selector_End
+
+
+Selector Alert
+
+ CAI_Combatant::SelectSchedule_ShootingCover
+ SelectSchedule_Alert
+Selector_End
+
+
+Selector Combat
+
+ SelectSchedule_AntiMassiveEnemy
+
+ SelectSchedule_MeleeAttack
+ CAI_Combatant::SelectSchedule_ShootingCover
+ SelectSchedule_EvasiveLowAmmo
+
+ CAI_Combatant::SelectSchedule_MoveToSquadAssignedNode
+ //SelectSchedule_ThrowGrenade
+ //SelectSchedule_RangeAttackEvasive
+ //SelectSchedule_LongJump
+ SelectSchedule_RangeAttackTwitch
+ SelectSchedule_RangeAttack
+
+ SelectSchedule_EnemyTooClose
+ SelectSchedule_CantSeeEnemy
+ SelectSchedule_MoveToWeaponRange
+ SelectSchedule_ChaseEnemy
+ SelectSchedule_AtEnemyLKP
+ SelectSchedule_CombatFace
+Selector_End \ No newline at end of file
diff --git a/Northstar.CustomServers/scripts/aibehavior/behavior_stalker.txt b/Northstar.CustomServers/scripts/aibehavior/behavior_stalker.txt
new file mode 100644
index 00000000..9bc1782a
--- /dev/null
+++ b/Northstar.CustomServers/scripts/aibehavior/behavior_stalker.txt
@@ -0,0 +1,39 @@
+Selector Common
+
+ SelectSchedule_FallToGround
+ SelectSchedule_Flinch
+ SelectSchedule_ReactJumpedOver
+ SelectSchedule_ChangeToDesiredStance
+ SelectSchedule_SyncedMeleeAttack
+ SelectSchedule_PressToInitiateSyncedMeleeAttack
+ SelectSchedule_LayeredBehavior
+Selector_End
+
+
+Selector Idle
+
+ SelectSchedule_Idle
+Selector_End
+
+
+Selector Alert
+
+ SelectSchedule_Alert
+Selector_End
+
+
+Selector Combat
+
+ SelectSchedule_MeleeAttack
+ SelectSchedule_ChaseEnemy
+
+ SelectSchedule_StationaryLowAmmo
+ SelectSchedule_RangeAttack2
+ SelectSchedule_RangeAttack
+
+ SelectSchedule_EnemyTooClose
+ SelectSchedule_CantSeeEnemy
+ SelectSchedule_MoveToWeaponRange
+ SelectSchedule_AtEnemyLKP
+ SelectSchedule_CombatFace
+Selector_End \ No newline at end of file
diff --git a/Northstar.CustomServers/scripts/aibehavior/behavior_stalker_crawling.txt b/Northstar.CustomServers/scripts/aibehavior/behavior_stalker_crawling.txt
new file mode 100644
index 00000000..fac61cf5
--- /dev/null
+++ b/Northstar.CustomServers/scripts/aibehavior/behavior_stalker_crawling.txt
@@ -0,0 +1,32 @@
+Selector Common
+
+ SelectSchedule_FallToGround
+
+ SelectSchedule_SyncedMeleeAttack
+ SelectSchedule_MeleeAttack
+ SelectSchedule_ChaseEnemy
+
+ SelectSchedule_LayeredBehavior
+
+Selector_End
+
+
+Selector Idle
+
+ SelectSchedule_IdleStand
+
+Selector_End
+
+
+Selector Alert
+
+ SelectSchedule_CombatFace
+
+Selector_End
+
+
+Selector Combat
+
+ SelectSchedule_CombatFace
+
+Selector_End \ No newline at end of file
diff --git a/Northstar.CustomServers/scripts/aibehavior/behavior_super_spectre.txt b/Northstar.CustomServers/scripts/aibehavior/behavior_super_spectre.txt
new file mode 100644
index 00000000..341dd67a
--- /dev/null
+++ b/Northstar.CustomServers/scripts/aibehavior/behavior_super_spectre.txt
@@ -0,0 +1,58 @@
+Selector Common
+
+ //SelectSchedule_FallToGround
+ SelectSchedule_Flinch
+ SelectSchedule_DisplaceFromDangerousArea
+ SelectSchedule_ReactSurprised
+ SelectSchedule_LayeredBehavior
+Selector_End
+
+
+Selector Idle
+
+ SelectSchedule_Idle
+Selector_End
+
+
+Selector Alert
+
+ SelectSchedule_Alert
+Selector_End
+
+
+Selector Combat
+
+ SelectSchedule_MissileDodge
+ SelectSchedule_LongJump
+ SelectSchedule_StrafeDodge
+ SelectSchedule_ForwardDodge
+ SelectSchedule_MeleeAttack
+ SelectSchedule_SpecialAttack
+ SelectSchedule_RangeAttack
+ SelectSchedule_WeaponBlocked
+ SelectSchedule_ChargeAttack
+ SelectSchedule_CantSeeEnemy
+ SelectSchedule_EngagementDistMax
+ //SelectSchedule_EngagementDistMin
+ SelectSchedule_CombatFace
+Selector_End
+
+
+Selector CombatEvasive
+
+ SelectSchedule_MissileDodge
+ SelectSchedule_BackwardDodge
+ SelectSchedule_StrafeDodge
+ SelectSchedule_MeleeAttack
+ SelectSchedule_EnemyAimDodge
+ //SelectSchedule_TakeCoverFromEnemy health > 0.1
+ SelectSchedule_SpecialAttack
+ SelectSchedule_RangeAttack
+ SelectSchedule_ChaseEnemy
+ //SelectSchedule_EnemyTooClose
+ SelectSchedule_WeaponBlocked
+ SelectSchedule_CantSeeEnemy
+ SelectSchedule_EngagementDistMax
+ //SelectSchedule_EngagementDistMin
+ SelectSchedule_CombatFace
+Selector_End \ No newline at end of file
diff --git a/Northstar.CustomServers/scripts/aibehavior/behavior_titan.txt b/Northstar.CustomServers/scripts/aibehavior/behavior_titan.txt
new file mode 100644
index 00000000..6070c68e
--- /dev/null
+++ b/Northstar.CustomServers/scripts/aibehavior/behavior_titan.txt
@@ -0,0 +1,81 @@
+Selector Common
+
+ SelectSchedule_MissileDodge
+ CNPC_Titan::SelectSchedule_TitanCore
+ CNPC_Titan::SelectSchedule_PhysEntKnock
+ SelectSchedule_Flinch
+ SelectSchedule_DisplaceFromDangerousArea
+ SelectSchedule_ChangeToDesiredStance
+ SelectSchedule_SyncedMeleeAttack
+ SelectSchedule_PressToInitiateSyncedMeleeAttack
+ CNPC_Titan::SelectSchedule_GotoDefensivePlacement
+ SelectSchedule_LayeredBehavior
+Selector_End
+
+
+Selector Idle
+
+ SelectSchedule_Idle
+Selector_End
+
+
+Selector Alert
+
+ SelectSchedule_Alert
+Selector_End
+
+
+Selector Combat
+
+ SelectSchedule_StrafeDodge
+ //SelectSchedule_ForwardDodge
+ SelectSchedule_MeleeAttack
+ //SelectSchedule_EvasiveLowAmmo
+ //SelectSchedule_ChaseEnemy
+ SelectSchedule_EngagementDistMax
+ SelectSchedule_CircleStrafe
+ SelectSchedule_StationaryLowAmmo
+ SelectSchedule_RangeAttackEvasive
+ SelectSchedule_RangeAttack2
+ SelectSchedule_RangeAttack
+ SelectSchedule_EngagementDistMin
+ SelectSchedule_WeaponBlocked
+ SelectSchedule_CantSeeEnemy
+ //SelectSchedule_MoveToWeaponRange
+ SelectSchedule_CombatFace
+Selector_End
+
+Selector CombatAggressive
+
+ SelectSchedule_MeleeAttack
+ SelectSchedule_StrafeDodge
+ SelectSchedule_ForwardDodge
+ SelectSchedule_ChaseEnemy
+ //SelectSchedule_CircleStrafe
+ SelectSchedule_StationaryLowAmmo
+ SelectSchedule_RangeAttackEvasive
+ SelectSchedule_RangeAttack2
+ SelectSchedule_RangeAttack
+ SelectSchedule_WeaponBlocked
+ SelectSchedule_CantSeeEnemy
+ SelectSchedule_CombatFace
+Selector_End
+
+
+Selector CombatEvasive
+
+ //SelectSchedule_FearEnemy
+ SelectSchedule_MeleeAttack
+ SelectSchedule_BackwardDodge
+ SelectSchedule_StrafeDodge
+ SelectSchedule_TakeCoverFromEnemy health > 0.1
+ SelectSchedule_CircleStrafe
+ SelectSchedule_EvasiveLowAmmo
+ SelectSchedule_RangeAttackEvasive
+ SelectSchedule_RangeAttack2
+ SelectSchedule_RangeAttack
+ SelectSchedule_EngagementDistMin
+ SelectSchedule_WeaponBlocked
+ //SelectSchedule_CantSeeEnemy
+ SelectSchedule_CombatFace
+Selector_End
diff --git a/Northstar.CustomServers/scripts/aibehavior/behavior_titan_buddy.txt b/Northstar.CustomServers/scripts/aibehavior/behavior_titan_buddy.txt
new file mode 100644
index 00000000..5636f267
--- /dev/null
+++ b/Northstar.CustomServers/scripts/aibehavior/behavior_titan_buddy.txt
@@ -0,0 +1,81 @@
+Selector Common
+
+ SelectSchedule_MissileDodge
+ //CNPC_Titan::SelectSchedule_TitanCore
+ CNPC_Titan::SelectSchedule_PhysEntKnock
+ SelectSchedule_Flinch
+ SelectSchedule_DisplaceFromDangerousArea
+ SelectSchedule_ChangeToDesiredStance
+ SelectSchedule_SyncedMeleeAttack
+ SelectSchedule_PressToInitiateSyncedMeleeAttack
+ CNPC_Titan::SelectSchedule_GotoDefensivePlacement
+ SelectSchedule_LayeredBehavior
+Selector_End
+
+
+Selector Idle
+
+ SelectSchedule_Idle
+Selector_End
+
+
+Selector Alert
+
+ SelectSchedule_Alert
+Selector_End
+
+
+Selector Combat
+
+ SelectSchedule_StrafeDodge
+ SelectSchedule_ForwardDodge
+ SelectSchedule_MeleeAttack
+ //SelectSchedule_EvasiveLowAmmo
+ //SelectSchedule_ChaseEnemy
+ SelectSchedule_EngagementDistMax
+ SelectSchedule_CircleStrafe
+ SelectSchedule_StationaryLowAmmo
+ SelectSchedule_RangeAttackEvasive
+ SelectSchedule_RangeAttack2
+ SelectSchedule_RangeAttack
+ SelectSchedule_EngagementDistMin
+ SelectSchedule_WeaponBlocked
+ SelectSchedule_CantSeeEnemy
+ //SelectSchedule_MoveToWeaponRange
+ SelectSchedule_CombatFace
+Selector_End
+
+Selector CombatAggressive
+
+ SelectSchedule_MeleeAttack
+ SelectSchedule_StrafeDodge
+ SelectSchedule_ForwardDodge
+ //SelectSchedule_ChaseEnemy
+ //SelectSchedule_CircleStrafe
+ SelectSchedule_StationaryLowAmmo
+ SelectSchedule_RangeAttackEvasive
+ SelectSchedule_RangeAttack2
+ SelectSchedule_RangeAttack
+ SelectSchedule_WeaponBlocked
+ SelectSchedule_CantSeeEnemy
+ SelectSchedule_CombatFace
+Selector_End
+
+
+Selector CombatEvasive
+
+ //SelectSchedule_FearEnemy
+ SelectSchedule_MeleeAttack
+ SelectSchedule_BackwardDodge
+ SelectSchedule_StrafeDodge
+ SelectSchedule_TakeCoverFromEnemy health > 0.1
+ SelectSchedule_CircleStrafe
+ SelectSchedule_EvasiveLowAmmo
+ SelectSchedule_RangeAttackEvasive
+ SelectSchedule_RangeAttack2
+ SelectSchedule_RangeAttack
+ SelectSchedule_EngagementDistMin
+ SelectSchedule_WeaponBlocked
+ SelectSchedule_CantSeeEnemy
+ SelectSchedule_CombatFace
+Selector_End
diff --git a/Northstar.CustomServers/scripts/aibehavior/behavior_titan_long_range.txt b/Northstar.CustomServers/scripts/aibehavior/behavior_titan_long_range.txt
new file mode 100644
index 00000000..0c378fe9
--- /dev/null
+++ b/Northstar.CustomServers/scripts/aibehavior/behavior_titan_long_range.txt
@@ -0,0 +1,79 @@
+Selector Common
+
+ SelectSchedule_MissileDodge
+ CNPC_Titan::SelectSchedule_TitanCore
+ CNPC_Titan::SelectSchedule_PhysEntKnock
+ SelectSchedule_Flinch
+ SelectSchedule_DisplaceFromDangerousArea
+ SelectSchedule_ChangeToDesiredStance
+ SelectSchedule_SyncedMeleeAttack
+ CNPC_Titan::SelectSchedule_GotoDefensivePlacement
+ SelectSchedule_LayeredBehavior
+Selector_End
+
+
+Selector Idle
+
+ SelectSchedule_Idle
+Selector_End
+
+
+Selector Alert
+
+ SelectSchedule_Alert
+Selector_End
+
+
+Selector Combat
+
+ SelectSchedule_StrafeDodge
+ //SelectSchedule_ForwardDodge
+ SelectSchedule_MeleeAttack
+ //SelectSchedule_EvasiveLowAmmo
+ //SelectSchedule_ChaseEnemy
+ SelectSchedule_BackwardDodge
+ SelectSchedule_EngagementDistMax
+ SelectSchedule_EngagementDistMin
+ SelectSchedule_CircleStrafe
+ SelectSchedule_EvasiveLowAmmo health < 0.5
+ SelectSchedule_StationaryLowAmmo
+ SelectSchedule_RangeAttackEvasive
+ SelectSchedule_RangeAttack
+ SelectSchedule_WeaponBlocked
+ SelectSchedule_CantSeeEnemy
+ SelectSchedule_CombatFace
+Selector_End
+
+
+Selector CombatAggressive
+
+ SelectSchedule_MeleeAttack
+ SelectSchedule_StrafeDodge
+ SelectSchedule_ForwardDodge
+ SelectSchedule_ChaseEnemy
+ //SelectSchedule_CircleStrafe
+ SelectSchedule_StationaryLowAmmo
+ SelectSchedule_RangeAttackEvasive
+ SelectSchedule_RangeAttack
+ SelectSchedule_WeaponBlocked
+ SelectSchedule_CantSeeEnemy
+ SelectSchedule_CombatFace
+Selector_End
+
+
+Selector CombatEvasive
+
+ //SelectSchedule_FearEnemy
+ SelectSchedule_MeleeAttack
+ SelectSchedule_BackwardDodge
+ SelectSchedule_StrafeDodge
+ SelectSchedule_TakeCoverFromEnemy health > 0.1
+ SelectSchedule_EngagementDistMin
+ SelectSchedule_CircleStrafe
+ SelectSchedule_EvasiveLowAmmo
+ SelectSchedule_RangeAttackEvasive
+ SelectSchedule_RangeAttack
+ SelectSchedule_WeaponBlocked
+ SelectSchedule_CantSeeEnemy
+ SelectSchedule_CombatFace
+Selector_End
diff --git a/Northstar.CustomServers/scripts/aibehavior/behavior_titan_melee.txt b/Northstar.CustomServers/scripts/aibehavior/behavior_titan_melee.txt
new file mode 100644
index 00000000..d1f1b267
--- /dev/null
+++ b/Northstar.CustomServers/scripts/aibehavior/behavior_titan_melee.txt
@@ -0,0 +1,80 @@
+Selector Common
+
+ SelectSchedule_MissileDodge
+ CNPC_Titan::SelectSchedule_TitanCore
+ CNPC_Titan::SelectSchedule_PhysEntKnock
+ SelectSchedule_Flinch
+ SelectSchedule_DisplaceFromDangerousArea
+ SelectSchedule_ChangeToDesiredStance
+ SelectSchedule_SyncedMeleeAttack
+ SelectSchedule_PressToInitiateSyncedMeleeAttack
+ CNPC_Titan::SelectSchedule_GotoDefensivePlacement
+ SelectSchedule_LayeredBehavior
+Selector_End
+
+
+Selector Idle
+
+ SelectSchedule_Idle
+Selector_End
+
+
+Selector Alert
+
+ SelectSchedule_Alert
+Selector_End
+
+
+Selector Combat
+
+ SelectSchedule_StrafeDodge
+ SelectSchedule_ForwardDodge
+ SelectSchedule_MeleeAttack
+ //SelectSchedule_EvasiveLowAmmo
+ SelectSchedule_ChaseEnemy
+ SelectSchedule_EngagementDistMax
+ SelectSchedule_StationaryLowAmmo
+ //SelectSchedule_RangeAttackEvasive
+ SelectSchedule_RangeAttack2
+ SelectSchedule_RangeAttack
+ SelectSchedule_EngagementDistMin
+ SelectSchedule_WeaponBlocked
+ SelectSchedule_CantSeeEnemy
+ //SelectSchedule_MoveToWeaponRange
+ SelectSchedule_CombatFace
+Selector_End
+
+Selector CombatAggressive
+
+ SelectSchedule_MeleeAttack
+ SelectSchedule_StrafeDodge
+ SelectSchedule_ForwardDodge
+ SelectSchedule_ChaseEnemy
+ SelectSchedule_EngagementDistMax
+ SelectSchedule_StationaryLowAmmo
+ //SelectSchedule_RangeAttackEvasive
+ SelectSchedule_RangeAttack2
+ SelectSchedule_RangeAttack
+ SelectSchedule_WeaponBlocked
+ SelectSchedule_CantSeeEnemy
+ SelectSchedule_CombatFace
+Selector_End
+
+
+Selector CombatEvasive
+
+ //SelectSchedule_FearEnemy
+ SelectSchedule_MeleeAttack
+ SelectSchedule_BackwardDodge
+ SelectSchedule_StrafeDodge
+ SelectSchedule_TakeCoverFromEnemy health > 0.1
+ SelectSchedule_CircleStrafe
+ SelectSchedule_EvasiveLowAmmo
+ //SelectSchedule_RangeAttackEvasive
+ SelectSchedule_RangeAttack2
+ SelectSchedule_RangeAttack
+ SelectSchedule_EngagementDistMin
+ SelectSchedule_WeaponBlocked
+ SelectSchedule_CantSeeEnemy
+ SelectSchedule_CombatFace
+Selector_End
diff --git a/Northstar.CustomServers/scripts/aibehavior/behavior_titan_melee_core.txt b/Northstar.CustomServers/scripts/aibehavior/behavior_titan_melee_core.txt
new file mode 100644
index 00000000..82193830
--- /dev/null
+++ b/Northstar.CustomServers/scripts/aibehavior/behavior_titan_melee_core.txt
@@ -0,0 +1,38 @@
+Selector Common
+
+ SelectSchedule_MissileDodge
+ CNPC_Titan::SelectSchedule_TitanCore
+ CNPC_Titan::SelectSchedule_PhysEntKnock
+ SelectSchedule_Flinch
+ SelectSchedule_DisplaceFromDangerousArea
+ SelectSchedule_ChangeToDesiredStance
+ SelectSchedule_SyncedMeleeAttack
+ SelectSchedule_LayeredBehavior
+Selector_End
+
+
+Selector Idle
+
+ SelectSchedule_Idle
+Selector_End
+
+
+Selector Alert
+
+ SelectSchedule_Alert
+Selector_End
+
+
+Selector Combat
+
+ SelectSchedule_MeleeAttack
+ SelectSchedule_ForwardDodge
+ SelectSchedule_ChaseEnemy
+ SelectSchedule_EngagementDistMax
+ SelectSchedule_CircleStrafe
+ SelectSchedule_StationaryLowAmmo
+ SelectSchedule_WeaponBlocked
+ SelectSchedule_CantSeeEnemy
+ SelectSchedule_CombatFace
+Selector_End
+
diff --git a/Northstar.CustomServers/scripts/aibehavior/behavior_titan_ogre_meteor.txt b/Northstar.CustomServers/scripts/aibehavior/behavior_titan_ogre_meteor.txt
new file mode 100644
index 00000000..e189a512
--- /dev/null
+++ b/Northstar.CustomServers/scripts/aibehavior/behavior_titan_ogre_meteor.txt
@@ -0,0 +1,81 @@
+Selector Common
+
+ SelectSchedule_MissileDodge
+ CNPC_Titan::SelectSchedule_TitanCore
+ CNPC_Titan::SelectSchedule_PhysEntKnock
+ SelectSchedule_Flinch
+ SelectSchedule_DisplaceFromDangerousArea
+ SelectSchedule_ChangeToDesiredStance
+ SelectSchedule_SyncedMeleeAttack
+ SelectSchedule_PressToInitiateSyncedMeleeAttack
+ CNPC_Titan::SelectSchedule_GotoDefensivePlacement
+ SelectSchedule_LayeredBehavior
+Selector_End
+
+
+Selector Idle
+
+ SelectSchedule_Idle
+Selector_End
+
+
+Selector Alert
+
+ SelectSchedule_Alert
+Selector_End
+
+
+Selector Combat
+
+ SelectSchedule_StrafeDodge
+ //SelectSchedule_ForwardDodge
+ SelectSchedule_MeleeAttack
+ //SelectSchedule_EvasiveLowAmmo
+ SelectSchedule_ChaseEnemy
+ SelectSchedule_EngagementDistMax
+ SelectSchedule_CircleStrafe
+ SelectSchedule_StationaryLowAmmo
+ SelectSchedule_RangeAttackEvasive
+ SelectSchedule_RangeAttack2
+ SelectSchedule_RangeAttack
+ SelectSchedule_EngagementDistMin
+ SelectSchedule_WeaponBlocked
+ SelectSchedule_CantSeeEnemy
+ //SelectSchedule_MoveToWeaponRange
+ SelectSchedule_CombatFace
+Selector_End
+
+Selector CombatAggressive
+
+ SelectSchedule_MeleeAttack
+ SelectSchedule_StrafeDodge
+ SelectSchedule_ForwardDodge
+ SelectSchedule_ChaseEnemy
+ SelectSchedule_CircleStrafe
+ SelectSchedule_StationaryLowAmmo
+ //SelectSchedule_RangeAttackEvasive
+ SelectSchedule_RangeAttack2
+ SelectSchedule_RangeAttack
+ SelectSchedule_WeaponBlocked
+ SelectSchedule_CantSeeEnemy
+ SelectSchedule_CombatFace
+Selector_End
+
+
+Selector CombatEvasive
+
+ //SelectSchedule_FearEnemy
+ SelectSchedule_MeleeAttack
+ SelectSchedule_BackwardDodge
+ SelectSchedule_StrafeDodge
+ SelectSchedule_TakeCoverFromEnemy health > 0.1
+ SelectSchedule_CircleStrafe
+ SelectSchedule_EvasiveLowAmmo
+ SelectSchedule_RangeAttackEvasive
+ SelectSchedule_RangeAttack2
+ SelectSchedule_RangeAttack
+ SelectSchedule_EngagementDistMin
+ SelectSchedule_WeaponBlocked
+ //SelectSchedule_CantSeeEnemy
+ SelectSchedule_CombatFace
+Selector_End
diff --git a/Northstar.CustomServers/scripts/aibehavior/behavior_titan_ogre_minigun.txt b/Northstar.CustomServers/scripts/aibehavior/behavior_titan_ogre_minigun.txt
new file mode 100644
index 00000000..8b13b689
--- /dev/null
+++ b/Northstar.CustomServers/scripts/aibehavior/behavior_titan_ogre_minigun.txt
@@ -0,0 +1,77 @@
+Selector Common
+
+ SelectSchedule_MissileDodge
+ CNPC_Titan::SelectSchedule_TitanCore
+ CNPC_Titan::SelectSchedule_PhysEntKnock
+ SelectSchedule_Flinch
+ SelectSchedule_DisplaceFromDangerousArea
+ SelectSchedule_ChangeToDesiredStance
+ SelectSchedule_SyncedMeleeAttack
+ CNPC_Titan::SelectSchedule_GotoDefensivePlacement
+ SelectSchedule_LayeredBehavior
+Selector_End
+
+
+Selector Idle
+
+ SelectSchedule_Idle
+Selector_End
+
+
+Selector Alert
+
+ SelectSchedule_Alert
+Selector_End
+
+
+Selector Combat
+
+ SelectSchedule_StrafeDodge
+ //SelectSchedule_ForwardDodge
+ SelectSchedule_MeleeAttack
+ //SelectSchedule_EvasiveLowAmmo
+ SelectSchedule_ChaseEnemy
+ //SelectSchedule_EngagementDistMax
+ //SelectSchedule_CircleStrafe
+ SelectSchedule_StationaryLowAmmo
+ SelectSchedule_RangeAttackEvasive
+ SelectSchedule_RangeAttack
+ SelectSchedule_EngagementDistMin
+ SelectSchedule_WeaponBlocked
+ SelectSchedule_CantSeeEnemy
+ //SelectSchedule_MoveToWeaponRange
+ SelectSchedule_CombatFace
+Selector_End
+
+Selector CombatAggressive
+
+ SelectSchedule_MeleeAttack
+ SelectSchedule_StrafeDodge
+ //SelectSchedule_ForwardDodge
+ SelectSchedule_ChaseEnemy
+ //SelectSchedule_CircleStrafe
+ SelectSchedule_StationaryLowAmmo
+ //SelectSchedule_RangeAttackEvasive
+ SelectSchedule_RangeAttack
+ SelectSchedule_WeaponBlocked
+ SelectSchedule_CantSeeEnemy
+ SelectSchedule_CombatFace
+Selector_End
+
+
+Selector CombatEvasive
+
+ //SelectSchedule_FearEnemy
+ SelectSchedule_MeleeAttack
+ SelectSchedule_BackwardDodge
+ SelectSchedule_StrafeDodge
+ SelectSchedule_TakeCoverFromEnemy health > 0.1
+ SelectSchedule_CircleStrafe
+ SelectSchedule_EvasiveLowAmmo
+ SelectSchedule_RangeAttackEvasive
+ SelectSchedule_RangeAttack
+ SelectSchedule_EngagementDistMin
+ SelectSchedule_WeaponBlocked
+ SelectSchedule_CantSeeEnemy
+ SelectSchedule_CombatFace
+Selector_End
diff --git a/Northstar.CustomServers/scripts/aibehavior/behavior_titan_ogre_minigun_nuke.txt b/Northstar.CustomServers/scripts/aibehavior/behavior_titan_ogre_minigun_nuke.txt
new file mode 100644
index 00000000..037f1505
--- /dev/null
+++ b/Northstar.CustomServers/scripts/aibehavior/behavior_titan_ogre_minigun_nuke.txt
@@ -0,0 +1,77 @@
+Selector Common
+
+ SelectSchedule_MissileDodge
+ CNPC_Titan::SelectSchedule_TitanCore
+ CNPC_Titan::SelectSchedule_PhysEntKnock
+ SelectSchedule_Flinch
+ SelectSchedule_DisplaceFromDangerousArea
+ SelectSchedule_ChangeToDesiredStance
+ SelectSchedule_SyncedMeleeAttack
+ //CNPC_Titan::SelectSchedule_GotoDefensivePlacement
+ SelectSchedule_LayeredBehavior
+Selector_End
+
+
+Selector Idle
+
+ SelectSchedule_Idle
+Selector_End
+
+
+Selector Alert
+
+ SelectSchedule_Alert
+Selector_End
+
+
+Selector Combat
+
+ SelectSchedule_StrafeDodge
+ //SelectSchedule_ForwardDodge
+ SelectSchedule_MeleeAttack
+ //SelectSchedule_EvasiveLowAmmo
+ SelectSchedule_ChaseEnemy
+ //SelectSchedule_EngagementDistMax
+ //SelectSchedule_CircleStrafe
+ SelectSchedule_StationaryLowAmmo
+ SelectSchedule_RangeAttackEvasive
+ SelectSchedule_RangeAttack
+ SelectSchedule_EngagementDistMin
+ SelectSchedule_WeaponBlocked
+ SelectSchedule_CantSeeEnemy
+ //SelectSchedule_MoveToWeaponRange
+ SelectSchedule_CombatFace
+Selector_End
+
+Selector CombatAggressive
+
+ SelectSchedule_MeleeAttack
+ SelectSchedule_StrafeDodge
+ //SelectSchedule_ForwardDodge
+ SelectSchedule_ChaseEnemy
+ //SelectSchedule_CircleStrafe
+ SelectSchedule_StationaryLowAmmo
+ //SelectSchedule_RangeAttackEvasive
+ SelectSchedule_RangeAttack
+ SelectSchedule_WeaponBlocked
+ SelectSchedule_CantSeeEnemy
+ SelectSchedule_CombatFace
+Selector_End
+
+
+Selector CombatEvasive
+
+ //SelectSchedule_FearEnemy
+ SelectSchedule_MeleeAttack
+ SelectSchedule_BackwardDodge
+ SelectSchedule_StrafeDodge
+ SelectSchedule_TakeCoverFromEnemy health > 0.1
+ SelectSchedule_CircleStrafe
+ SelectSchedule_EvasiveLowAmmo
+ SelectSchedule_RangeAttackEvasive
+ SelectSchedule_RangeAttack
+ SelectSchedule_EngagementDistMin
+ SelectSchedule_WeaponBlocked
+ SelectSchedule_CantSeeEnemy
+ SelectSchedule_CombatFace
+Selector_End
diff --git a/Northstar.CustomServers/scripts/aibehavior/behavior_titan_rocketeer.txt b/Northstar.CustomServers/scripts/aibehavior/behavior_titan_rocketeer.txt
new file mode 100644
index 00000000..c9a25afe
--- /dev/null
+++ b/Northstar.CustomServers/scripts/aibehavior/behavior_titan_rocketeer.txt
@@ -0,0 +1,83 @@
+Selector Common
+
+ SelectSchedule_MissileDodge
+ CNPC_Titan::SelectSchedule_TitanCore
+ CNPC_Titan::SelectSchedule_PhysEntKnock
+ SelectSchedule_Flinch
+ SelectSchedule_DisplaceFromDangerousArea
+ SelectSchedule_ChangeToDesiredStance
+ SelectSchedule_SyncedMeleeAttack
+ CNPC_Titan::SelectSchedule_GotoDefensivePlacement
+ SelectSchedule_LayeredBehavior
+Selector_End
+
+
+Selector Idle
+
+ SelectSchedule_Idle
+Selector_End
+
+
+Selector Alert
+
+ SelectSchedule_Alert
+Selector_End
+
+
+Selector Combat
+
+ SelectSchedule_StrafeDodge
+ SelectSchedule_ShootJump
+ SelectSchedule_MeleeAttack
+ //SelectSchedule_EvasiveLowAmmo
+ //SelectSchedule_ChaseEnemy
+ SelectSchedule_EngagementDistMax
+ SelectSchedule_CircleStrafe
+ SelectSchedule_StationaryLowAmmo
+ SelectSchedule_RangeAttackEvasive
+ SelectSchedule_RangeAttack2
+ SelectSchedule_RangeAttack
+ //SelectSchedule_ForwardDodge
+ SelectSchedule_EngagementDistMin
+ SelectSchedule_WeaponBlocked
+ SelectSchedule_CantSeeEnemy
+ //SelectSchedule_MoveToWeaponRange
+ SelectSchedule_CombatFace
+Selector_End
+
+Selector CombatAggressive
+
+ SelectSchedule_MeleeAttack
+ SelectSchedule_StrafeDodge
+ SelectSchedule_ShootJump
+ SelectSchedule_ForwardDodge
+ SelectSchedule_ChaseEnemy
+ //SelectSchedule_CircleStrafe
+ SelectSchedule_StationaryLowAmmo
+ SelectSchedule_RangeAttackEvasive
+ SelectSchedule_RangeAttack2
+ SelectSchedule_RangeAttack
+ SelectSchedule_WeaponBlocked
+ SelectSchedule_CantSeeEnemy
+ SelectSchedule_CombatFace
+Selector_End
+
+
+Selector CombatEvasive
+
+ //SelectSchedule_FearEnemy
+ SelectSchedule_MeleeAttack
+ SelectSchedule_BackwardDodge
+ SelectSchedule_StrafeDodge
+ SelectSchedule_ShootJump
+ SelectSchedule_TakeCoverFromEnemy health > 0.1
+ SelectSchedule_CircleStrafe
+ SelectSchedule_EvasiveLowAmmo
+ SelectSchedule_RangeAttackEvasive
+ SelectSchedule_RangeAttack2
+ SelectSchedule_RangeAttack
+ SelectSchedule_EngagementDistMin
+ SelectSchedule_WeaponBlocked
+ SelectSchedule_CantSeeEnemy
+ SelectSchedule_CombatFace
+Selector_End
diff --git a/Northstar.CustomServers/scripts/aibehavior/behavior_titan_shotgun.txt b/Northstar.CustomServers/scripts/aibehavior/behavior_titan_shotgun.txt
new file mode 100644
index 00000000..fe78babd
--- /dev/null
+++ b/Northstar.CustomServers/scripts/aibehavior/behavior_titan_shotgun.txt
@@ -0,0 +1,82 @@
+Selector Common
+
+ SelectSchedule_MissileDodge
+ CNPC_Titan::SelectSchedule_TitanCore
+ CNPC_Titan::SelectSchedule_PhysEntKnock
+ SelectSchedule_Flinch
+ SelectSchedule_DisplaceFromDangerousArea
+ SelectSchedule_ChangeToDesiredStance
+ SelectSchedule_SyncedMeleeAttack
+ SelectSchedule_PressToInitiateSyncedMeleeAttack
+ CNPC_Titan::SelectSchedule_GotoDefensivePlacement
+ SelectSchedule_LayeredBehavior
+Selector_End
+
+
+Selector Idle
+
+ SelectSchedule_Idle
+Selector_End
+
+
+Selector Alert
+
+ SelectSchedule_Alert
+Selector_End
+
+
+Selector Combat
+
+ SelectSchedule_StrafeDodge
+ SelectSchedule_ForwardDodge
+ SelectSchedule_MeleeAttack
+ SelectSchedule_ChaseEnemy
+ //SelectSchedule_EngagementDistMax
+ SelectSchedule_CircleStrafe
+ SelectSchedule_EvasiveLowAmmo
+ SelectSchedule_StationaryLowAmmo
+ SelectSchedule_RangeAttackEvasive
+ SelectSchedule_RangeAttack2
+ SelectSchedule_RangeAttack
+ SelectSchedule_EngagementDistMin
+ SelectSchedule_WeaponBlocked
+ SelectSchedule_CantSeeEnemy
+ //SelectSchedule_MoveToWeaponRange
+ SelectSchedule_CombatFace
+Selector_End
+
+Selector CombatAggressive
+
+ SelectSchedule_MeleeAttack
+ SelectSchedule_StrafeDodge
+ SelectSchedule_ForwardDodge
+ SelectSchedule_ChaseEnemy
+ //SelectSchedule_CircleStrafe
+ //SelectSchedule_EvasiveLowAmmo
+ SelectSchedule_StationaryLowAmmo
+ SelectSchedule_RangeAttackEvasive
+ SelectSchedule_RangeAttack2
+ SelectSchedule_RangeAttack
+ SelectSchedule_WeaponBlocked
+ SelectSchedule_CantSeeEnemy
+ SelectSchedule_CombatFace
+Selector_End
+
+
+Selector CombatEvasive
+
+ //SelectSchedule_FearEnemy
+ SelectSchedule_MeleeAttack
+ SelectSchedule_BackwardDodge
+ SelectSchedule_StrafeDodge
+ SelectSchedule_TakeCoverFromEnemy health > 0.1
+ SelectSchedule_CircleStrafe
+ SelectSchedule_EvasiveLowAmmo
+ SelectSchedule_RangeAttackEvasive
+ SelectSchedule_RangeAttack2
+ SelectSchedule_RangeAttack
+ SelectSchedule_EngagementDistMin
+ SelectSchedule_WeaponBlocked
+ SelectSchedule_CantSeeEnemy
+ SelectSchedule_CombatFace
+Selector_End
diff --git a/Northstar.CustomServers/scripts/aibehavior/behavior_titan_sniper.txt b/Northstar.CustomServers/scripts/aibehavior/behavior_titan_sniper.txt
new file mode 100644
index 00000000..87fa003f
--- /dev/null
+++ b/Northstar.CustomServers/scripts/aibehavior/behavior_titan_sniper.txt
@@ -0,0 +1,82 @@
+Selector Common
+
+ SelectSchedule_FallToGround
+ SelectSchedule_MissileDodge
+ CNPC_Titan::SelectSchedule_TitanFlightCore
+ CNPC_Titan::SelectSchedule_PhysEntKnock
+ SelectSchedule_Flinch
+ SelectSchedule_DisplaceFromDangerousArea
+ SelectSchedule_ChangeToDesiredStance
+ SelectSchedule_SyncedMeleeAttack
+ CNPC_Titan::SelectSchedule_GotoDefensivePlacement
+ SelectSchedule_LayeredBehavior
+Selector_End
+
+
+Selector Idle
+
+ SelectSchedule_Idle
+Selector_End
+
+
+Selector Alert
+
+ SelectSchedule_Alert
+Selector_End
+
+
+Selector Combat
+
+ SelectSchedule_StrafeDodge
+ SelectSchedule_ShootJump
+ SelectSchedule_MeleeAttack
+ SelectSchedule_BackwardDodge
+// SelectSchedule_EngagementDistMax
+ SelectSchedule_EngagementDistMin
+// SelectSchedule_ChaseEnemy
+// SelectSchedule_ForwardDodge
+ SelectSchedule_EvasiveLowAmmo health < 0.5
+ SelectSchedule_StationaryLowAmmo
+ SelectSchedule_RangeAttackEvasive
+ SelectSchedule_RangeAttack2
+ SelectSchedule_RangeAttack
+ SelectSchedule_WeaponBlocked
+ SelectSchedule_CantSeeEnemy
+ SelectSchedule_CombatFace
+Selector_End
+
+
+Selector CombatAggressive
+
+ SelectSchedule_MeleeAttack
+ SelectSchedule_StrafeDodge
+ SelectSchedule_ShootJump
+ SelectSchedule_ForwardDodge
+ SelectSchedule_ChaseEnemy
+ SelectSchedule_StationaryLowAmmo
+ SelectSchedule_RangeAttackEvasive
+ SelectSchedule_RangeAttack2
+ SelectSchedule_RangeAttack
+ SelectSchedule_WeaponBlocked
+ SelectSchedule_CantSeeEnemy
+ SelectSchedule_CombatFace
+Selector_End
+
+
+Selector CombatEvasive
+
+ SelectSchedule_MeleeAttack
+ SelectSchedule_BackwardDodge
+ SelectSchedule_StrafeDodge
+ SelectSchedule_ShootJump
+ SelectSchedule_TakeCoverFromEnemy health > 0.1
+ SelectSchedule_EngagementDistMin
+ SelectSchedule_CircleStrafe
+ SelectSchedule_EvasiveLowAmmo
+ SelectSchedule_RangeAttackEvasive
+ SelectSchedule_RangeAttack2
+ SelectSchedule_RangeAttack
+ SelectSchedule_WeaponBlocked
+ SelectSchedule_CantSeeEnemy
+ SelectSchedule_CombatFace
+Selector_End
diff --git a/Northstar.CustomServers/scripts/aibehavior/behaviors.txt b/Northstar.CustomServers/scripts/aibehavior/behaviors.txt
new file mode 100644
index 00000000..5fac7977
--- /dev/null
+++ b/Northstar.CustomServers/scripts/aibehavior/behaviors.txt
@@ -0,0 +1,36 @@
+behavior_drone
+behavior_dropship
+behavior_flyer
+behavior_frag_drone
+behavior_goliath
+behavior_gunship
+behavior_marvin
+behavior_mp_auto_titan
+behavior_mp_auto_titan_enhanced
+behavior_mp_auto_titan_guard
+behavior_mp_auto_titan_enhanced_guard
+behavior_pilot_elite
+behavior_pilot_elite_assassin
+behavior_pilot_elite_assassin_cqb
+behavior_pilot_elite_assassin_sniper
+behavior_prowler
+behavior_prowler_cqb
+behavior_soldier
+behavior_sp_auto_titan
+behavior_sp_npc_titan_proto_stasisgun
+behavior_sp_soldier
+behavior_spectre
+behavior_stalker
+behavior_stalker_crawling
+behavior_super_spectre
+behavior_titan
+behavior_titan_buddy
+behavior_titan_long_range
+behavior_titan_rocketeer
+behavior_titan_shotgun
+behavior_titan_sniper
+behavior_titan_melee
+behavior_titan_melee_core
+behavior_titan_ogre_minigun
+behavior_titan_ogre_minigun_nuke
+behavior_titan_ogre_meteor
diff --git a/Northstar.CustomServers/scripts/aibehavior/common_schedules.txt b/Northstar.CustomServers/scripts/aibehavior/common_schedules.txt
new file mode 100644
index 00000000..8ef03ec4
--- /dev/null
+++ b/Northstar.CustomServers/scripts/aibehavior/common_schedules.txt
@@ -0,0 +1,2681 @@
+//=========================================================
+// > Fail
+// This schedule itself can fail because the NPC may
+// be unable to finish the stop moving. If so, fall back
+// the a fail schedule that has no stop moving in it.
+//=========================================================
+Schedule
+
+ SCHED_FAIL
+
+ Tasks
+ TASK_SET_FAIL_SCHEDULE SCHEDULE:SCHED_FAIL_NOSTOP
+ TASK_STOP_MOVING 0
+ TASK_SET_IDLE_ACTIVITY 0
+ TASK_WAIT 0.5
+ TASK_WAIT_PVS 0
+
+ Interrupts
+ COND_CAN_RANGE_ATTACK1
+ COND_CAN_RANGE_ATTACK2
+ COND_ANY_MELEE_ATTACK
+ COND_GIVE_WAY
+End_Schedule
+
+//=========================================================
+// > Fail without stop moving, which can fail.
+//=========================================================
+Schedule
+
+ SCHED_FAIL_NOSTOP
+
+ Tasks
+ TASK_SET_IDLE_ACTIVITY 0
+ TASK_WAIT 0.5
+ TASK_WAIT_PVS 0
+
+ Interrupts
+ COND_CAN_RANGE_ATTACK1
+ COND_CAN_RANGE_ATTACK2
+ COND_ANY_MELEE_ATTACK
+ COND_GIVE_WAY
+ End_Schedule
+
+//===============================================
+// > Idle_Stand
+//===============================================
+Schedule
+
+ SCHED_IDLE_STAND
+
+ Tasks
+ TASK_STOP_MOVING 2
+ TASK_FACE_ENEMY 5
+ TASK_SET_IDLE_ACTIVITY 0
+ TASK_WAIT 1
+
+ Interrupts
+ COND_NEW_ENEMY
+ COND_SEE_FEAR
+ COND_LIGHT_DAMAGE
+ COND_HEAVY_DAMAGE
+ COND_PROVOKED
+ COND_GIVE_WAY
+ COND_HEAR_PLAYER
+ COND_INSIDE_DANGEROUS_AREA
+ COND_HEAR_COMBAT
+ COND_HEAR_BULLET_IMPACT
+ COND_IDLE_INTERRUPT
+ COND_REACT_SURPRISED
+ COND_REACT_FRIENDLY_PLAYER
+End_Schedule
+
+//===============================================
+// > IdleWalk
+//===============================================
+Schedule
+
+ SCHED_IDLE_WALK
+
+ Tasks
+ TASK_WALK_PATH 9999
+ TASK_WAIT_FOR_MOVEMENT 0
+ TASK_WAIT_PVS 0
+
+ Interrupts
+ COND_NEW_ENEMY
+ COND_SEE_ENEMY // in deference to scripted schedule where the enemy was slammed, thus no COND_NEW_ENEMY
+ COND_LIGHT_DAMAGE
+ COND_HEAVY_DAMAGE
+ COND_PROVOKED
+ COND_HEAR_COMBAT
+ COND_HEAR_BULLET_IMPACT
+ COND_REACT_SURPRISED
+End_Schedule
+
+
+//===============================================
+// > SCHED_SWITCH_TO_PENDING_WEAPON
+//===============================================
+Schedule
+
+ SCHED_SWITCH_TO_PENDING_WEAPON
+
+ Tasks
+ TASK_STOP_MOVING 2
+ TASK_PLAY_SEQUENCE ACTIVITY:ACT_SWITCH_WEAPON
+
+ Interrupts
+ COND_HEAVY_DAMAGE
+End_Schedule
+
+
+//===============================================
+// > RangeAttackWait
+//===============================================
+Schedule
+
+ SCHED_RANGE_ATTACK_WAIT
+
+ Tasks
+ TASK_WAIT_BETWEEN_BURSTS 0
+
+ Interrupts
+ COND_NEW_ENEMY
+ COND_HEAVY_DAMAGE
+ COND_TOO_CLOSE_TO_ATTACK
+ COND_GIVE_WAY
+ COND_INSIDE_DANGEROUS_AREA
+ COND_SWITCH_WEAPON_REQUEST
+ COND_ANY_MELEE_ATTACK
+ COND_NOT_FACING_ENEMY
+ COND_REACT_SURPRISED
+ COND_REACT_CLOAK
+ COND_REACT_JUMPED_OVER
+End_Schedule
+
+
+//===============================================
+Schedule
+
+ SCHED_RANGE_ATTACK1_EVASIVE
+
+ Tasks
+ TASK_STOP_MOVING 2
+ TASK_RANGE_ATTACK1_EVASIVE 0
+
+ Interrupts
+ COND_HEAVY_DAMAGE
+ COND_NO_PRIMARY_CLIP_AMMO
+ COND_TOO_CLOSE_TO_ATTACK
+ COND_GIVE_WAY
+ COND_INSIDE_DANGEROUS_AREA
+ COND_ANY_MELEE_ATTACK
+ COND_NOT_FACING_ENEMY
+ COND_REACT_SURPRISED
+ COND_REACT_CLOAK
+ COND_REACT_JUMPED_OVER
+End_Schedule
+
+
+//===============================================
+// > RangeAttack1
+//===============================================
+Schedule
+
+ SCHED_RANGE_ATTACK1
+
+ Tasks
+ TASK_STOP_MOVING 2
+ TASK_AIM_AT_ENEMY 0
+ TASK_ANNOUNCE_ATTACK 1 // 1 = primary attack
+ TASK_RANGE_ATTACK1 0
+
+ Interrupts
+ COND_NEW_ENEMY
+ COND_HEAVY_DAMAGE
+ COND_NO_PRIMARY_CLIP_AMMO
+ COND_WEAPON_BLOCKED_BY_FRIEND
+ COND_WEAPON_SIGHT_OCCLUDED
+ COND_TOO_CLOSE_TO_ATTACK
+ COND_GIVE_WAY
+ COND_INSIDE_DANGEROUS_AREA
+ COND_SWITCH_WEAPON_REQUEST
+ COND_ANY_MELEE_ATTACK
+ COND_REACT_SURPRISED
+ COND_REACT_CLOAK
+ COND_REACT_JUMPED_OVER
+End_Schedule
+
+
+//===============================================
+// > RangeAttack2
+//===============================================
+Schedule
+
+ SCHED_RANGE_ATTACK2
+
+ Tasks
+ TASK_STOP_MOVING 2
+ TASK_FACE_ENEMY_STRICT 3
+ TASK_AIM_AT_ENEMY 0
+ TASK_RANGE_ATTACK2 0
+
+ Interrupts
+ COND_WEAPON_SIGHT_OCCLUDED
+End_Schedule
+
+//===============================================
+Schedule
+
+ SCHED_RANGE_ATTACK_TWITCH
+
+ Tasks
+ TASK_STOP_MOVING 2
+ TASK_PLAY_SEQUENCE ACTIVITY:ACT_RANGE_ATTACK_TWITCH
+
+ Interrupts
+ COND_NEW_ENEMY
+ COND_HEAVY_DAMAGE
+ COND_NO_PRIMARY_CLIP_AMMO
+ COND_WEAPON_BLOCKED_BY_FRIEND
+ COND_WEAPON_SIGHT_OCCLUDED
+ COND_TOO_CLOSE_TO_ATTACK
+ COND_GIVE_WAY
+ COND_INSIDE_DANGEROUS_AREA
+ COND_SWITCH_WEAPON_REQUEST
+ COND_ANY_MELEE_ATTACK
+ COND_NOT_FACING_ENEMY
+ COND_REACT_SURPRISED
+ COND_REACT_CLOAK
+ COND_REACT_JUMPED_OVER
+End_Schedule
+
+
+//===============================================
+// > SpecialAttack
+//===============================================
+Schedule
+
+ SCHED_SPECIAL_ATTACK
+
+ Tasks
+ TASK_STOP_MOVING 2
+ TASK_FACE_ENEMY_STRICT 3
+ TASK_PLAY_SEQUENCE ACTIVITY:ACT_SPECIAL_ATTACK_START
+ TASK_SPECIAL_ATTACK 0
+ TASK_PLAY_SEQUENCE ACTIVITY:ACT_SPECIAL_ATTACK_END
+
+ Interrupts
+ COND_GIVE_WAY
+End_Schedule
+
+
+//===============================================
+Schedule
+
+ SCHED_THROW_GRENADE
+
+ Tasks
+ TASK_STOP_MOVING 2
+ TASK_FACE_ENEMY_STRICT 4
+ TASK_SCRIPTED_DIALOGUE 10 // eCodeDialogueID.GRENADE_OUT
+ TASK_PLAY_SEQUENCE ACTIVITY:ACT_THROW_GRENADE
+
+ Interrupts
+ COND_HEAVY_DAMAGE
+End_Schedule
+
+
+//===============================================
+Schedule
+
+ SCHED_RODEO_ATTACK
+
+ Tasks
+ TASK_RANGE_ATTACK1 0
+ TASK_WAIT_BETWEEN_BURSTS 0
+ Interrupts
+End_Schedule
+
+
+//=========================================================
+// > Ambush - monster stands in place and waits for a new
+// enemy or chance to attack an existing enemy.
+//=========================================================
+Schedule
+
+ SCHED_AMBUSH
+
+ Tasks
+ TASK_STOP_MOVING 0
+ TASK_SET_IDLE_ACTIVITY 0
+ TASK_WAIT_INDEFINITE 0
+
+ Interrupts
+ COND_NEW_ENEMY
+ COND_HEAVY_DAMAGE
+ COND_PROVOKED
+End_Schedule
+
+
+//=========================================================
+// > AlertFace
+//=========================================================
+Schedule
+
+ SCHED_ALERT_FACE
+
+ Tasks
+ TASK_STOP_MOVING 2
+ TASK_FACE_IDEAL 0
+ TASK_SET_IDLE_ACTIVITY 0
+
+ Interrupts
+ COND_NEW_ENEMY
+ COND_PROVOKED
+End_Schedule
+
+//=========================================================
+// > AlertFace best sound
+//=========================================================
+Schedule
+
+ SCHED_ALERT_FACE_BESTSOUND
+
+ Tasks
+ TASK_STORE_BESTSOUND_REACTORIGIN_IN_SAVEPOSITION 0
+ TASK_STOP_MOVING 2
+ TASK_FACE_SAVEPOSITION 0
+ TASK_SET_IDLE_ACTIVITY 0
+ TASK_WAIT 1.5
+ TASK_FACE_REASONABLE 0
+
+ Interrupts
+ COND_NEW_ENEMY
+ COND_SEE_FEAR
+ COND_HEAVY_DAMAGE
+ COND_PROVOKED
+End_Schedule
+
+
+//=========================================================
+// > Alert_Scan
+//=========================================================
+Schedule
+
+ SCHED_ALERT_SCAN
+
+ Tasks
+ TASK_STOP_MOVING 0
+ TASK_SET_ACTIVITY ACTIVITY:ACT_IDLE_SCAN
+ TASK_WAIT 1
+
+ Interrupts
+ COND_NEW_ENEMY
+ COND_SEE_ENEMY
+ COND_SEE_FEAR
+ COND_SQUAD_SEARCH
+ COND_LIGHT_DAMAGE
+ COND_HEAVY_DAMAGE
+ COND_HEAR_COMBAT
+ COND_HEAR_PLAYER
+ COND_INSIDE_DANGEROUS_AREA
+ COND_HEAR_BULLET_IMPACT
+ COND_REACT_SURPRISED
+ COND_IDLE_INTERRUPT
+
+End_Schedule
+
+//=========================================================
+// > Alert_Area_Clear
+//=========================================================
+Schedule
+
+ SCHED_ALERT_AREA_CLEAR
+
+ Tasks
+ TASK_STOP_MOVING 0
+ TASK_NOTIFY_ENEMY_ELUDED 0
+ TASK_RESERVE_NEXT_SEARCH_POINT 0
+ TASK_PLAY_SEQUENCE ACTIVITY:ACT_IDLE_SCAN
+
+ Interrupts
+ COND_NEW_ENEMY
+ COND_SEE_ENEMY
+ COND_SEE_FEAR
+ COND_SQUAD_SEARCH
+ COND_LIGHT_DAMAGE
+ COND_HEAVY_DAMAGE
+ COND_HEAR_COMBAT
+ COND_HEAR_PLAYER
+ COND_INSIDE_DANGEROUS_AREA
+ COND_HEAR_BULLET_IMPACT
+ COND_REACT_SURPRISED
+ COND_IDLE_INTERRUPT
+
+End_Schedule
+
+
+//=========================================================
+// > AlertStand
+//=========================================================
+Schedule
+
+ SCHED_ALERT_STAND
+
+ Tasks
+ TASK_STOP_MOVING 0
+ TASK_FACE_ENEMY 5
+ TASK_SET_IDLE_ACTIVITY 0
+ TASK_WAIT 1
+
+ Interrupts
+ COND_NEW_ENEMY
+ COND_SEE_ENEMY
+ COND_SEE_FEAR
+ COND_LIGHT_DAMAGE
+ COND_PROVOKED
+ COND_HEAR_COMBAT
+ COND_HEAR_PLAYER
+ COND_INSIDE_DANGEROUS_AREA
+ COND_HEAR_BULLET_IMPACT
+ COND_IDLE_INTERRUPT
+ COND_GIVE_WAY
+ COND_REACT_SURPRISED
+ COND_REACT_FRIENDLY_PLAYER
+ COND_IDLE_INTERRUPT
+
+End_Schedule
+
+
+
+//=========================================================
+// > AlertWAlk
+//=========================================================
+Schedule
+
+ SCHED_ALERT_WALK
+
+ Tasks
+ TASK_WALK_PATH 0
+ TASK_WAIT_FOR_MOVEMENT 0
+ TASK_WAIT_PVS 0
+
+ Interrupts
+ COND_NEW_ENEMY
+ COND_SEE_ENEMY
+ COND_SEE_FEAR
+ COND_ENEMY_DEAD
+ COND_LIGHT_DAMAGE
+ COND_HEAVY_DAMAGE
+ COND_INSIDE_DANGEROUS_AREA
+ COND_CAN_RANGE_ATTACK1
+ COND_CAN_RANGE_ATTACK2
+ COND_ANY_MELEE_ATTACK
+ COND_REACT_SURPRISED
+End_Schedule
+
+//=========================================================
+// > InvestigateSound
+//
+// sends a monster to the location of the
+// sound that was just heard to check things out.
+//=========================================================
+Schedule
+
+ SCHED_INVESTIGATE_SOUND
+
+ Tasks
+ TASK_STOP_MOVING 0
+ TASK_STORE_BESTSOUND_IN_SAVEPOSITION 0
+ TASK_GET_PATH_TO_SAVEPOSITION_LOS 0
+ TASK_MOVE_PATH 0
+ TASK_WAIT_FOR_MOVEMENT 0
+ TASK_STOP_MOVING 0
+ TASK_FACE_SAVEPOSITION 0
+ TASK_LOOKAT_SAVEPOSITION 1.5
+ TASK_SET_ACTIVITY ACTIVITY:ACT_SEARCH_LOOK_AROUND
+ TASK_WAIT 0.3
+ TASK_NOTIFY_ENEMY_ELUDED 0
+ TASK_WAIT 1.7
+
+ Interrupts
+ COND_NEW_ENEMY
+ COND_SEE_FEAR
+ COND_SEE_ENEMY
+ COND_HEAVY_DAMAGE
+ COND_REACT_SURPRISED
+ COND_REACT_CORPSE
+ COND_NEW_INVESTIGATE_SOUND
+End_Schedule
+
+//=========================================================
+// > InvestigateCorpse
+//=========================================================
+Schedule
+
+ SCHED_INVESTIGATE_CORPSE
+
+ Tasks
+ TASK_STOP_MOVING 0
+ TASK_SCRIPTED_DIALOGUE 0 // eCodeDialogueID.MAN_DOWN
+ TASK_PLAY_SEQUENCE ACTIVITY:ACT_SIGNAL_GROUP
+ TASK_SET_TOLERANCE_DISTANCE 100
+ TASK_STORE_CORPSE_POSITION_IN_SAVEPOSITION 0
+ TASK_GET_PATH_TO_SAVEPOSITION 0
+ TASK_NOTIFY_ENEMY_ELUDED 0
+ TASK_RESERVE_NEXT_SEARCH_POINT 0 // must be done after path find or will be cleared
+ TASK_DISABLE_ARRIVAL_ONCE 0
+ TASK_MOVE_PATH 0
+ TASK_WAIT_FOR_MOVEMENT 0
+ TASK_STOP_MOVING 0
+ TASK_PLAY_SEQUENCE ACTIVITY:ACT_SEARCH_CORPSE
+ TASK_PLAY_SEQUENCE ACTIVITY:ACT_SIGNAL_GROUP
+ TASK_INIT_SEARCH_PATH 0
+ TASK_SET_SCHEDULE SCHEDULE:SCHED_PATROL_PATH
+
+ Interrupts
+ COND_NEW_ENEMY
+ COND_SEE_FEAR
+ COND_SEE_ENEMY
+ COND_LIGHT_DAMAGE
+ COND_HEAVY_DAMAGE
+ COND_HEAR_COMBAT
+ COND_REACT_SURPRISED
+End_Schedule
+
+
+//=========================================================
+// > Stand up
+//=========================================================
+Schedule
+
+ SCHED_STAND_UP
+
+ Tasks
+ TASK_STOP_MOVING 0
+ TASK_PLAY_SEQUENCE ACTIVITY:ACT_STAND
+
+ Interrupts
+End_Schedule
+
+
+//=========================================================
+// > Crouch down
+//=========================================================
+Schedule
+
+ SCHED_CROUCH_DOWN
+
+ Tasks
+ TASK_STOP_MOVING 0
+ TASK_PLAY_SEQUENCE ACTIVITY:ACT_CROUCH
+
+ Interrupts
+End_Schedule
+
+
+//=========================================================
+// > CombatStand
+//=========================================================
+Schedule
+
+ SCHED_COMBAT_STAND
+
+ Tasks
+ TASK_STOP_MOVING 0
+ TASK_SET_IDLE_ACTIVITY 0
+ TASK_WAIT_INDEFINITE 0
+
+ Interrupts
+ COND_NEW_ENEMY
+ COND_ENEMY_DEAD
+ COND_LIGHT_DAMAGE
+ COND_HEAVY_DAMAGE
+ COND_SEE_ENEMY
+ COND_CAN_RANGE_ATTACK1
+ COND_CAN_RANGE_ATTACK2
+ COND_ANY_MELEE_ATTACK
+ COND_IDLE_INTERRUPT
+ COND_REACT_SURPRISED
+End_Schedule
+
+//=========================================================
+// > CombatWalk
+//=========================================================
+Schedule
+
+ SCHED_COMBAT_WALK
+
+ Tasks
+ TASK_WALK_PATH 0
+ TASK_WAIT_FOR_MOVEMENT 0
+ TASK_WAIT_PVS 0
+
+ Interrupts
+ COND_NEW_ENEMY
+ COND_ENEMY_DEAD
+ COND_LIGHT_DAMAGE
+ COND_HEAVY_DAMAGE
+ COND_INSIDE_DANGEROUS_AREA
+ COND_CAN_RANGE_ATTACK1
+ COND_CAN_RANGE_ATTACK2
+ COND_ANY_MELEE_ATTACK
+ COND_REACT_SURPRISED
+End_Schedule
+
+//=========================================================
+// > CombatFace
+//=========================================================
+Schedule
+
+ SCHED_COMBAT_FACE
+
+ Tasks
+ TASK_STOP_MOVING 2
+ TASK_FACE_ENEMY 3
+ TASK_WAIT_UNTIL_ATTACK_READY 0.5
+
+ Interrupts
+ COND_ANY_MELEE_ATTACK
+ COND_SQUAD_SEARCH
+ COND_INSIDE_DANGEROUS_AREA
+ COND_REACT_SURPRISED
+ COND_REACT_BULLET
+ COND_REACT_CLOAK
+ COND_REACT_JUMPED_OVER
+End_Schedule
+
+//=========================================================
+// COMBAT_SWEEP
+//
+// Do a small sweep of the area
+//=========================================================
+Schedule
+
+ SCHED_COMBAT_SWEEP
+
+ Tasks
+ TASK_STOP_MOVING 2
+ TASK_PLAY_SEQUENCE ACTIVITY:ACT_SEARCH_LOOK_AROUND
+
+ Interrupts
+ COND_SQUAD_SEARCH
+ COND_NEW_ENEMY
+ COND_SEE_ENEMY
+ COND_SEE_FEAR
+ COND_LIGHT_DAMAGE
+ COND_HEAVY_DAMAGE
+ COND_PROVOKED
+ COND_HEAR_COMBAT // sound flags
+ COND_HEAR_PLAYER
+ COND_INSIDE_DANGEROUS_AREA
+ COND_HEAR_BULLET_IMPACT
+ COND_GIVE_WAY
+ COND_REACT_SURPRISED
+ COND_REACT_BULLET
+ COND_REACT_CLOAK
+End_Schedule
+
+
+//=========================================================
+// > Combat Wait facing current, reload if necessary
+//=========================================================
+Schedule
+
+ SCHED_COMBAT_WAIT
+
+ Tasks
+ TASK_STOP_MOVING 0
+ TASK_RELOAD 0.5
+ TASK_SCRIPTED_DIALOGUE 4 // script enum eCodeDialogueID.RELOADING
+ TASK_SET_IDLE_ACTIVITY 0
+ TASK_WAIT_FACE_ENEMY 1
+
+ Interrupts
+ COND_IN_DANGER
+ COND_SEE_ENEMY
+ COND_LOS_TO_ENEMY_LKP
+ COND_CAN_RANGE_ATTACK1
+ COND_CAN_RANGE_ATTACK2
+ COND_ANY_MELEE_ATTACK
+ COND_INSIDE_DANGEROUS_AREA
+ COND_REACT_SURPRISED
+ COND_REACT_BULLET
+ COND_REACT_CLOAK
+ COND_REACT_JUMPED_OVER
+End_Schedule
+
+
+ //=========================================================
+// > Combat Wait facing enemy
+//=========================================================
+Schedule
+
+ SCHED_WAIT_FACING_ENEMY
+
+ Tasks
+ TASK_STOP_MOVING 0
+ TASK_RELOAD 0.5
+ TASK_FACE_REASONABLE 0
+ TASK_SET_ACTIVITY ACTIVITY:ACT_IDLE_SCAN
+ TASK_WAIT 1
+
+ Interrupts
+ COND_IN_DANGER
+ COND_ENEMY_DEAD
+ COND_LIGHT_DAMAGE
+ COND_HEAVY_DAMAGE
+ COND_INSIDE_DANGEROUS_AREA
+ COND_NEW_ENEMY
+ COND_SEE_ENEMY
+ COND_CAN_RANGE_ATTACK1
+ COND_CAN_RANGE_ATTACK2
+ COND_REACT_SURPRISED
+ COND_REACT_BULLET
+ COND_REACT_CLOAK
+ End_Schedule
+
+//=========================================================
+// SCHED_HIDE_AND_RELOAD
+//=========================================================
+Schedule
+
+ SCHED_HIDE_AND_RELOAD
+
+ Tasks
+ TASK_STOP_MOVING 0
+ TASK_SET_FAIL_SCHEDULE SCHEDULE:SCHED_RELOAD
+ TASK_FIND_COVER_FROM_ENEMY_WITHIN_RADIUS 0
+ TASK_SPRINT_PATH 0
+ TASK_WAIT_FOR_MOVEMENT 0
+ TASK_REMEMBER MEMORY:INCOVER
+ TASK_FACE_ENEMY 3
+ TASK_RELOAD 0
+ TASK_SCRIPTED_DIALOGUE 4 // script enum eCodeDialogueID.RELOADING
+
+ Interrupts
+ COND_IN_DANGER
+ COND_ANY_MELEE_ATTACK
+ COND_HEAVY_DAMAGE
+ COND_INSIDE_DANGEROUS_AREA
+ COND_REACT_SURPRISED
+End_Schedule
+
+//=========================================================
+// > Reload
+//=========================================================
+Schedule
+
+ SCHED_RELOAD
+
+ Tasks
+ TASK_STOP_MOVING 0
+ TASK_LOOKAT_ENEMY 1.0
+ TASK_RELOAD 0
+ TASK_SCRIPTED_DIALOGUE 4 // script enum eCodeDialogueID.RELOADING
+
+ Interrupts
+ COND_IN_DANGER
+ COND_INSIDE_DANGEROUS_AREA
+ COND_ANY_MELEE_ATTACK
+ COND_REACT_SURPRISED
+End_Schedule
+
+//=========================================================
+// > Directional melee
+//=========================================================
+Schedule
+
+ SCHED_DIRECTIONAL_MELEE
+
+ Tasks
+ TASK_STOP_MOVING 0
+ TASK_MELEE_DIRECTIONAL_ATTACK 0
+
+ Interrupts
+ COND_NEW_ENEMY
+ COND_ENEMY_DEAD
+ COND_HEAVY_DAMAGE
+ COND_ENEMY_OCCLUDED
+End_Schedule
+
+
+//=========================================================
+// > Melee_Attack1
+//=========================================================
+Schedule
+
+ SCHED_MELEE_ATTACK1
+
+ Tasks
+ TASK_STOP_MOVING 0
+ TASK_FACE_ENEMY_STRICT 1.5
+ TASK_ANNOUNCE_ATTACK 1 // 1 = primary attack
+ TASK_MELEE_ATTACK1 0
+
+ Interrupts
+End_Schedule
+
+//=========================================================
+// > Melee_Charge
+//=========================================================
+Schedule
+
+ SCHED_MELEE_CHARGE
+
+ Tasks
+ TASK_FACE_ENEMY 1.5
+ TASK_ANNOUNCE_ATTACK 2 // 2 = secondary attack
+ TASK_MELEE_CHARGE 0
+
+ Interrupts
+End_Schedule
+
+
+//=========================================================
+// > Melee_Attack_Wait
+//=========================================================
+Schedule
+
+ SCHED_MELEE_ATTACK_WAIT
+
+ Tasks
+ TASK_FACE_ENEMY_STRICT 3
+ TASK_SET_ACTIVITY ACTIVITY:ACT_MELEE_ATTACK_WAIT
+ TASK_WAIT 0.5
+
+ Interrupts
+ COND_ANY_MELEE_ATTACK
+End_Schedule
+
+
+ //=========================================================
+ //=========================================================
+Schedule
+
+ SCHED_PRESS_ATTACK
+
+ Tasks
+ TASK_SET_TOLERANCE_DISTANCE 0
+ TASK_SET_PATH_CLUSTER_EXCLUDE 1
+ TASK_GET_PATH_TO_ENEMY_LKP 0
+ TASK_MOVE_PATH 0
+ TASK_WAIT_FOR_MOVEMENT_FACE_TARGET_AT_END 0
+
+ Interrupts
+ COND_IN_DANGER
+ COND_VERY_DIFFERENT_NEW_ENEMY
+ COND_SQUAD_SEARCH
+ COND_ENEMY_DEAD
+ COND_ENEMY_UNREACHABLE
+ COND_NO_PRIMARY_AMMO
+ COND_TOO_CLOSE_TO_ATTACK
+ COND_ANY_MELEE_ATTACK
+ COND_ATTACK_SLOT_AVAILABLE
+ COND_INSIDE_DANGEROUS_AREA
+End_Schedule
+
+
+//=========================================================
+// > ChaseEnemy
+//=========================================================
+Schedule
+
+ SCHED_CHASE_ENEMY
+
+ Tasks
+ TASK_SET_PATH_CLUSTER_EXCLUDE 1
+ TASK_GET_PATH_TO_ENEMY 0
+ TASK_RUN_PATH 0
+ TASK_SCRIPTED_DIALOGUE 9 // script enum eCodeDialogueID.CHASE_ENEMY
+ TASK_WAIT_FOR_MOVEMENT_CHASE 0
+ TASK_FACE_ENEMY 3
+
+ Interrupts
+ COND_NEW_ENEMY
+ COND_ENEMY_DEAD
+ COND_ENEMY_UNREACHABLE
+ COND_ANY_MELEE_ATTACK
+ COND_CAN_RANGE_ATTACK1
+ COND_CAN_RANGE_ATTACK2
+ COND_TOO_CLOSE_TO_ATTACK
+ COND_LOST_ENEMY
+ COND_INSIDE_DANGEROUS_AREA
+ COND_IN_DANGER
+ COND_GIVE_WAY
+ COND_REACT_SURPRISED
+ COND_REACT_CLOAK
+ COND_REACT_JUMPED_OVER
+End_Schedule
+
+
+//=========================================================
+// > ChaseEnemyRangeAttacking
+//=========================================================
+Schedule
+
+ SCHED_CHASE_ENEMY_RANGE_ATTACKING
+
+ Tasks
+ TASK_SET_PATH_CLUSTER_EXCLUDE 1
+ TASK_GET_PATH_TO_ENEMY 0
+ TASK_RUN_PATH 0
+ TASK_WAIT_FOR_MOVEMENT_CHASE 0
+
+ Interrupts
+ COND_NEW_ENEMY
+ COND_ENEMY_DEAD
+ COND_ENEMY_UNREACHABLE
+ COND_ANY_MELEE_ATTACK
+ COND_TOO_CLOSE_TO_ATTACK
+ COND_LOST_ENEMY
+ COND_INSIDE_DANGEROUS_AREA
+ COND_IN_DANGER
+ COND_GIVE_WAY
+ COND_REACT_SURPRISED
+ COND_REACT_CLOAK
+ COND_REACT_JUMPED_OVER
+End_Schedule
+
+//=========================================================
+// > ChargeAttackRun
+//=========================================================
+Schedule
+
+ SCHED_CHARGE_ATTACK_RUN
+
+ Tasks
+ TASK_GET_PATH_TO_ENEMY 0
+ TASK_RUN_PATH 0
+ TASK_WAIT_FOR_MOVEMENT_CHASE 0
+ TASK_FACE_ENEMY 1.5
+
+ Interrupts
+ COND_NEW_ENEMY
+ COND_ENEMY_DEAD
+ COND_ENEMY_UNREACHABLE
+ COND_ANY_MELEE_ATTACK
+ COND_TOO_CLOSE_TO_ATTACK
+ COND_LOST_ENEMY
+ COND_INSIDE_DANGEROUS_AREA
+End_Schedule
+
+//=========================================================
+// > SCHED_BACK_AWAY_FROM_SAVE_POSITION
+//=========================================================
+Schedule
+
+ SCHED_BACK_AWAY_FROM_SAVE_POSITION
+
+ Tasks
+ TASK_FIND_BACKAWAY_FROM_SAVEPOSITION 0
+ TASK_RUN_PATH 0
+ TASK_WAIT_FOR_MOVEMENT 0
+
+ Interrupts
+End_Schedule
+
+//=========================================================
+// > BackAwayFromEnemy
+//=========================================================
+Schedule
+
+ SCHED_BACK_AWAY_FROM_ENEMY
+
+ Tasks
+ TASK_STORE_ENEMY_POSITION_IN_SAVEPOSITION 0
+ TASK_FIND_BACKAWAY_FROM_SAVEPOSITION 0
+ TASK_MOVE_PATH 0
+ TASK_WAIT_FOR_MOVEMENT 0
+
+ Interrupts
+ COND_IN_DANGER
+ COND_NEW_ENEMY
+ COND_ANY_MELEE_ATTACK
+End_Schedule
+
+//=========================================================
+// > BigFlinch
+// played when heavy damage is taken for the first time in a while
+//=========================================================
+Schedule
+
+ SCHED_BIG_FLINCH
+
+ Tasks
+ TASK_BIG_FLINCH 0
+ TASK_REFRESH_REACT_TO_SOUND 0.5
+
+ Interrupts
+ COND_INTERRUPT_DAMAGE
+End_Schedule
+
+//=========================================================
+// > Die
+//=========================================================
+Schedule
+
+ SCHED_DIE
+
+ Tasks
+ TASK_STOP_MOVING 0
+ TASK_DIE 0
+
+ Interrupts
+ COND_NO_CUSTOM_INTERRUPTS
+End_Schedule
+
+//=========================================================
+// > Die
+//=========================================================
+Schedule
+
+ SCHED_DIE_RAGDOLL
+
+ Tasks
+ TASK_STOP_MOVING 0
+
+ Interrupts
+ COND_NO_CUSTOM_INTERRUPTS
+End_Schedule
+
+//=========================================================
+// > VictoryDance
+//=========================================================
+Schedule
+
+ SCHED_VICTORY_DANCE
+
+ Tasks
+ TASK_STOP_MOVING 0
+ TASK_PLAY_SEQUENCE ACTIVITY:ACT_VICTORY_DANCE
+
+ Interrupts
+End_Schedule
+
+//=========================================================
+// > Wait for Anim
+//=========================================================
+Schedule
+
+ SCHED_WAIT_FOR_SCRIPT_ANIM_END
+
+ Tasks
+ TASK_WAIT_FOR_SCRIPT_ANIM_END 0
+
+ Interrupts
+End_Schedule
+
+//=========================================================
+// > Synced melee anim
+//=========================================================
+Schedule
+
+ SCHED_WAIT_FOR_SYNCED_MELEE_ANIM_END
+
+ Tasks
+ TASK_WAIT_FOR_SYNCED_MELEE_ANIM_END 0
+
+ Interrupts
+End_Schedule
+
+//=========================================================
+// > Path towards a place to start a Synced melee
+//=========================================================
+Schedule
+
+ SCHED_PRESS_TO_INITIATE_SYNCED_MELEE_ATTACK
+
+ Tasks
+ TASK_GET_PATH_TO_INITIATE_SYNCED_MELEE 0
+ TASK_RUN_PATH 0
+ TASK_DISABLE_ARRIVAL_ONCE 0
+ TASK_WAIT_FOR_MOVEMENT 3
+
+ Interrupts
+ COND_CAN_SYNCED_MELEE_ATTACK
+ COND_INSIDE_DANGEROUS_AREA
+ COND_ENEMY_DEAD
+End_Schedule
+
+//=========================================================
+// > Cower
+//
+// This is what is usually done when attempts
+// to escape danger fail.
+//=========================================================
+Schedule
+
+ SCHED_COWER
+
+ Tasks
+ TASK_STOP_MOVING 2
+ TASK_FACE_ENEMY 2
+ TASK_SET_NPC_FLAG FLAG:NPC_DIE_ON_ANY_DAMAGE
+ TASK_SET_NPC_FLAG FLAG:NPC_RAGDOLL_IMMEDIATE
+ TASK_PLAY_SEQUENCE ACTIVITY:ACT_COWER
+ TASK_CLEAR_NPC_FLAG FLAG:NPC_ALLOW_FLEE
+ TASK_CLEAR_NPC_FLAG FLAG:NPC_DIE_ON_ANY_DAMAGE
+ TASK_CLEAR_NPC_FLAG FLAG:NPC_RAGDOLL_IMMEDIATE
+
+ Interrupts
+End_Schedule
+
+//=========================================================
+// > TakeCoverFromBestSound
+//
+// hide from the loudest sound source
+//=========================================================
+Schedule
+
+ SCHED_TAKE_COVER_FROM_BEST_SOUND
+
+ Tasks
+ TASK_SET_FAIL_SCHEDULE SCHEDULE:SCHED_FLEE_FROM_BEST_SOUND
+ TASK_STOP_MOVING 0
+ TASK_FIND_COVER_FROM_BEST_SOUND 0
+ TASK_SPRINT_RUNAWAY_PATH 0
+ TASK_WAIT_FOR_MOVEMENT 0
+ TASK_REMEMBER MEMORY:INCOVER
+ TASK_FACE_REASONABLE 0
+ TASK_SET_IDLE_ACTIVITY 0
+ TASK_WAIT 3
+
+ Interrupts
+ COND_NEW_ENEMY
+End_Schedule
+
+
+//=========================================================
+//
+//=========================================================
+Schedule
+
+ SCHED_FLEE_FROM_BEST_SOUND
+
+ Tasks
+ TASK_SET_FAIL_SCHEDULE SCHEDULE:SCHED_COWER
+ TASK_GET_PATH_AWAY_FROM_BEST_SOUND 600
+ TASK_SPRINT_PATH_TIMED 2
+ TASK_STOP_MOVING 0
+
+ Interrupts
+ COND_NEW_ENEMY
+End_Schedule
+
+
+//=========================================================
+//
+//=========================================================
+Schedule
+
+ SCHED_TAKE_COVER_FROM_ENEMY
+
+ Tasks
+ TASK_SCRIPTED_DIALOGUE 8 // script enum eCodeDialogueID.TAKE_COVER_FROM_ENEMY
+ TASK_STOP_MOVING 0
+ TASK_FIND_COVER_FROM_ENEMY 0
+ TASK_MOVE_PATH 0
+ TASK_WAIT_FOR_MOVEMENT 0
+ TASK_REMEMBER MEMORY:INCOVER
+
+ Interrupts
+ COND_REACT_SURPRISED
+ COND_REACT_JUMPED_OVER
+ COND_DEFENSIVE_PLACEMENT
+ COND_INSIDE_DANGEROUS_AREA
+End_Schedule
+
+//=========================================================
+//
+//=========================================================
+Schedule
+
+ SCHED_DISPLACE_FROM_DANGEROUS_AREA
+
+ Tasks
+ TASK_SCRIPTED_DIALOGUE 11 // script enum eCodeDialogueID.DANGEROUS_AREA_DISPLACE
+ TASK_DISPLACE_FROM_DANGEROUS_AREA 0
+
+ Interrupts
+ COND_HEAVY_DAMAGE
+End_Schedule
+
+
+//=========================================================
+//
+//=========================================================
+Schedule
+
+ SCHED_MELEE_DISENGAGE
+
+ Tasks
+ TASK_PLAY_SEQUENCE ACTIVITY:ACT_DISENGAGE
+
+ Interrupts
+End_Schedule
+
+
+//=========================================================
+// > RunFromEnemy
+//
+// Run to cover, but don't turn to face enemy and upon
+// fail run around randomly
+//=========================================================
+Schedule
+
+ SCHED_RUN_FROM_ENEMY
+
+ Tasks
+ TASK_SCRIPTED_DIALOGUE 3 // script enum eCodeDialogueID.RUN_FROM_ENEMY
+ TASK_SET_RUNNING_FROM_ENEMY 0
+ TASK_STOP_MOVING 0
+ TASK_FIND_SAFE_HINT_FROM_ENEMY 1500
+ TASK_FIND_COVER_FROM_ENEMY_LIMITLESS 300
+ TASK_SPRINT_RUNAWAY_PATH 0
+ TASK_WAIT_FOR_MOVEMENT 0
+ TASK_SET_SCHEDULE SCHEDULE:SCHED_RUN_FROM_ENEMY_FALLBACK_COMPLETE
+
+ Interrupts
+ COND_NEW_ENEMY
+ COND_ENEMY_DEAD
+End_Schedule
+
+
+//=========================================================
+Schedule
+
+ SCHED_RUN_FROM_ENEMY_FALLBACK
+
+ Tasks
+ TASK_SET_RUNNING_FROM_ENEMY 0
+ TASK_STOP_MOVING 0
+ TASK_STORE_ENEMY_POSITION_IN_SAVEPOSITION 0
+ TASK_FIND_BACKAWAY_FROM_SAVEPOSITION 0
+ TASK_SPRINT_RUNAWAY_PATH 0
+ TASK_WAIT_FOR_MOVEMENT 0
+ TASK_SET_SCHEDULE SCHEDULE:SCHED_RUN_FROM_ENEMY_FALLBACK_COMPLETE
+
+ Interrupts
+ COND_NEW_ENEMY
+ COND_ENEMY_DEAD
+End_Schedule
+
+//=========================================================
+Schedule
+
+ SCHED_RUN_FROM_ENEMY_FALLBACK_COMPLETE
+
+ Tasks
+ TASK_WAIT_RANDOM 1
+ TASK_STOP_MOVING 0
+ TASK_PLAY_SEQUENCE ACTIVITY:ACT_SIGNAL_ACKNOWLEDGE
+ TASK_RELOAD 0.5
+ TASK_SCRIPTED_DIALOGUE 4 // script enum eCodeDialogueID.RELOADING
+ TASK_SET_IDLE_ACTIVITY 0
+ TASK_FACE_ENEMY_IF_HAS_LOS 3
+ TASK_PLAY_SEQUENCE ACTIVITY:ACT_SIGNAL_ACKNOWLEDGE
+
+ Interrupts
+ COND_LOS_TO_ENEMY_LKP
+ COND_SEE_ENEMY
+ COND_LIGHT_DAMAGE
+ COND_HEAVY_DAMAGE
+ COND_INSIDE_DANGEROUS_AREA
+End_Schedule
+
+//=========================================================
+// > Forced_Go (Used for debug only)
+//=========================================================
+Schedule
+
+ SCHED_FORCED_GO
+
+ Tasks
+ TASK_SET_TOLERANCE_DISTANCE 0
+ TASK_GET_PATH_TO_SAVEPOSITION 0
+ TASK_MOVE_PATH 0
+ TASK_WAIT_FOR_MOVEMENT 0
+
+ Interrupts
+ COND_ANY_MELEE_ATTACK
+
+End_Schedule
+
+//=========================================================
+// > Forced_Go (Used for debug only)
+//=========================================================
+Schedule
+
+ SCHED_FORCED_GO_RUN
+
+ Tasks
+ TASK_SET_TOLERANCE_DISTANCE 0
+ TASK_GET_PATH_TO_SAVEPOSITION 0
+ TASK_RUN_PATH 0
+ TASK_WAIT_FOR_MOVEMENT 0
+
+ Interrupts
+ COND_ANY_MELEE_ATTACK
+
+End_Schedule
+
+
+//=========================================================
+// SCHED_MOVE_TO_ENEMY
+// different from SCHED_CHASE_ENEMY, uses LKP
+//=========================================================
+Schedule
+
+ SCHED_MOVE_TO_ENEMY
+
+ Tasks
+ TASK_SET_TOLERANCE_DISTANCE 72
+ TASK_SET_PATH_CLUSTER_EXCLUDE 1
+ TASK_GET_PATH_TO_ENEMY_LKP 0
+ TASK_MOVE_PATH 0
+ TASK_WAIT_FOR_MOVEMENT_FACE_TARGET_AT_END 0
+
+ Interrupts
+ COND_VERY_DIFFERENT_NEW_ENEMY
+ COND_SQUAD_SEARCH
+ COND_ENEMY_DEAD
+ COND_LOST_ENEMY
+ COND_CAN_RANGE_ATTACK1
+ COND_CAN_RANGE_ATTACK2
+ COND_ANY_MELEE_ATTACK
+ COND_INSIDE_DANGEROUS_AREA
+ COND_REACT_SURPRISED
+End_Schedule
+
+
+//=========================================================
+// SCHED_MOVE_TO_ENGAGEMENT_RANGE
+//
+//=========================================================
+Schedule
+
+ SCHED_MOVE_TO_ENGAGEMENT_RANGE
+
+ Tasks
+ TASK_SET_PATH_CLUSTER_EXCLUDE 1
+ TASK_GET_PATH_TO_ENEMY_LKP_LOS 0
+ TASK_MOVE_PATH 0
+ TASK_WAIT_FOR_MOVEMENT_FACE_TARGET_AT_END 0
+
+ Interrupts
+ COND_IN_DANGER
+ COND_VERY_DIFFERENT_NEW_ENEMY
+ COND_SQUAD_SEARCH
+ COND_ENEMY_DEAD
+ COND_LOST_ENEMY
+ COND_ANY_MELEE_ATTACK
+ COND_INSIDE_DANGEROUS_AREA
+ COND_REACT_SURPRISED
+End_Schedule
+
+
+//=========================================================
+// SCHED_MOVE_TO_WEAPON_RANGE
+//
+//=========================================================
+Schedule
+
+ SCHED_MOVE_TO_WEAPON_RANGE
+
+ Tasks
+ TASK_SET_FAIL_SCHEDULE SCHEDULE:SCHED_CHASE_ENEMY
+ TASK_GET_PATH_TO_RANGE_ENEMY_LKP_LOS 0
+ TASK_MOVE_PATH 0
+ TASK_WAIT_FOR_MOVEMENT 0
+ TASK_SET_SCHEDULE SCHEDULE:SCHED_COMBAT_FACE
+
+ Interrupts
+ COND_IN_DANGER
+ COND_NEW_ENEMY
+ COND_ENEMY_DEAD
+ COND_LOST_ENEMY
+ COND_CAN_RANGE_ATTACK1
+ COND_CAN_RANGE_ATTACK2
+ COND_ANY_MELEE_ATTACK
+ COND_INSIDE_DANGEROUS_AREA
+ COND_REACT_SURPRISED
+End_Schedule
+
+//=========================================================
+// SCHED_MOVE_TO_SQUAD_RANGE
+//
+//=========================================================
+Schedule
+
+ SCHED_MOVE_TO_SQUAD_RANGE
+
+ Tasks
+ TASK_SET_PATH_CLUSTER_EXCLUDE 1
+ TASK_GET_PATH_TO_ENEMY_LKP 0
+ TASK_MOVE_PATH 0
+ TASK_WAIT_FOR_MOVEMENT_FACE_TARGET_AT_END 0
+
+ Interrupts
+ COND_IN_DANGER
+ COND_NEW_ENEMY
+ COND_SQUAD_SEARCH
+ COND_ENEMY_DEAD
+ COND_LOST_ENEMY
+ COND_CAN_RANGE_ATTACK1
+ COND_CAN_RANGE_ATTACK2
+ COND_ANY_MELEE_ATTACK
+ COND_INSIDE_DANGEROUS_AREA
+ COND_REACT_SURPRISED
+End_Schedule
+
+
+//=========================================================
+Schedule
+
+ SCHED_MOVE_TO_SQUAD_LEADER_GOAL
+
+ Tasks
+ TASK_GET_PATH_TO_SQUAD_LEADER_GOAL 0
+ TASK_SCRIPTED_DIALOGUE 6 // script enum eCodeDialogueID.MOVE_TO_SQUAD_LEADER
+ TASK_MOVE_PATH 0
+ TASK_WAIT_FOR_MOVEMENT 0
+ TASK_STOP_MOVING 0
+
+ Interrupts
+ COND_IN_DANGER
+ COND_SQUAD_SEARCH
+ COND_SQUAD_TAKING_POSITION
+ COND_ANY_MELEE_ATTACK
+ COND_SEE_ENEMY_VERY_CLOSE
+End_Schedule
+
+//=========================================================
+Schedule
+
+ SCHED_MOVE_TO_SQUAD_ASSIGNED_NODE
+
+ Tasks
+ TASK_GET_PATH_TO_SQUAD_ASSIGNED_NODE 0
+ TASK_SCRIPTED_DIALOGUE 7 // script enum eCodeDialogueID.FAN_OUT
+ TASK_MOVE_PATH 0
+ TASK_WAIT_FOR_MOVEMENT 0
+ TASK_STOP_MOVING 0
+
+ Interrupts
+ COND_IN_DANGER
+ COND_SQUAD_SEARCH
+ COND_ANY_MELEE_ATTACK
+ COND_SEE_ENEMY_VERY_CLOSE
+End_Schedule
+
+
+//=========================================================
+// ESTABLISH_LINE_OF_FIRE
+//
+// Go to a location from which I can shoot my enemy
+//=========================================================
+Schedule
+
+ SCHED_ESTABLISH_LINE_OF_FIRE
+
+ Tasks
+ TASK_SET_TOLERANCE_DISTANCE 0
+ TASK_GET_PATH_TO_ENEMY_LKP_LOS 0
+ TASK_MOVE_PATH 0
+ TASK_WAIT_FOR_MOVEMENT_FACE_TARGET_AT_END 0
+
+ Interrupts
+ COND_IN_DANGER
+ COND_VERY_DIFFERENT_NEW_ENEMY
+ COND_SQUAD_SEARCH
+ COND_ENEMY_DEAD
+ COND_ANY_MELEE_ATTACK
+ COND_INSIDE_DANGEROUS_AREA
+ COND_REACT_SURPRISED
+End_Schedule
+
+
+//-----------------------------------------------------------------------------
+//-----------------------------------------------------------------------------
+Schedule
+
+ SCHED_MOVE_TO_HIGH_GROUND
+
+ Tasks
+ TASK_STOP_MOVING 0
+ TASK_FIND_HIGH_GROUND_NODE_FROM_ORIGIN 150
+ TASK_SPRINT_RUNAWAY_PATH 0
+ TASK_WAIT_FOR_MOVEMENT 0
+ TASK_SET_TOLERANCE_DISTANCE 0
+
+ Interrupts
+ COND_IN_DANGER
+ COND_CAN_MELEE_ATTACK1
+End_Schedule
+
+
+//-----------------------------------------------------------------------------
+//-----------------------------------------------------------------------------
+Schedule
+
+ SCHED_PREPARE_TO_SNIPE
+
+ Tasks
+ TASK_GET_PATH_TO_ENEMY_LKP_LOS 0
+ TASK_MOVE_PATH 0
+ TASK_WAIT_FOR_MOVEMENT_FACE_TARGET_AT_END 0
+ TASK_STOP_MOVING 2
+ TASK_FACE_ENEMY 0
+ TASK_SET_WEAPON_BLOCKED_TIMER 5
+ TASK_PLAY_SEQUENCE ACTIVITY:ACT_ARM
+
+ Interrupts
+ COND_IN_DANGER
+ COND_ANY_MELEE_ATTACK
+End_Schedule
+
+//-----------------------------------------------------------------------------
+//-----------------------------------------------------------------------------
+Schedule
+
+ SCHED_SNIPE_WAIT
+
+ Tasks
+ TASK_AIM_AT_ENEMY 0
+ TASK_WAIT_BETWEEN_BURSTS 0
+ TASK_WAIT 0.2
+
+ Interrupts
+ COND_IN_DANGER
+ COND_CAN_RANGE_ATTACK1
+ COND_CAN_RANGE_ATTACK2
+ COND_ANY_MELEE_ATTACK
+ COND_WEAPON_BLOCKED_TIMER
+End_Schedule
+
+//=========================================================
+// > PATROL_PATH
+//
+// patrol a path, with option running scripts at each patrol point
+//=========================================================
+
+Schedule
+
+ SCHED_PATROL_PATH
+
+ Tasks
+ TASK_GET_PATH_TO_NEXT_SEARCH_POINT 1500
+ TASK_WALK_PATH 0
+ TASK_WAIT_FOR_MOVEMENT 0
+ TASK_RUN_VSCRIPT 0
+ TASK_RESERVE_NEXT_SEARCH_POINT 0
+
+ Interrupts
+ COND_ENEMY_DEAD
+ COND_LOST_ENEMY
+ COND_LIGHT_DAMAGE
+ COND_HEAVY_DAMAGE
+ COND_HEAR_COMBAT
+ COND_INSIDE_DANGEROUS_AREA
+ COND_HEAR_BULLET_IMPACT
+ COND_NEW_ENEMY
+ COND_SEE_ENEMY
+ COND_CAN_RANGE_ATTACK1
+ COND_CAN_RANGE_ATTACK2
+ COND_REACT_SURPRISED
+ COND_REACT_BULLET
+ COND_REACT_CLOAK
+ COND_REACT_JUMPED_OVER
+ COND_REACT_CORPSE
+ COND_REACT_FRIENDLY_PLAYER
+ COND_SQUAD_ENGAGE
+
+ End_Schedule
+
+
+//=========================================================
+// > PATROL_RUN
+//
+// Run around randomly until we detect an enemy
+//=========================================================
+Schedule
+
+ SCHED_PATROL_RUN
+
+ Tasks
+ TASK_SET_TOLERANCE_DISTANCE 0
+ TASK_SET_ROUTE_SEARCH_TIME 5 // Spend 5 seconds trying to build a path if stuck
+ TASK_GET_PATH_TO_RANDOM_NODE 0
+ TASK_MOVE_PATH 0
+ TASK_WAIT_FOR_MOVEMENT 0
+
+ Interrupts
+ COND_GIVE_WAY
+ COND_NEW_ENEMY
+ COND_SEE_ENEMY
+ COND_SEE_FEAR
+ COND_HEAR_COMBAT
+ COND_INSIDE_DANGEROUS_AREA
+ COND_HEAR_PLAYER
+ COND_LIGHT_DAMAGE
+ COND_HEAVY_DAMAGE
+ COND_PROVOKED
+End_Schedule
+
+//=========================================================
+// > IDLE_WANDER
+//
+// Walk around randomly
+//=========================================================
+Schedule
+
+ SCHED_IDLE_WANDER
+
+ Tasks
+ TASK_SET_ROUTE_SEARCH_TIME 5 // Spend 5 seconds trying to build a path if stuck
+ TASK_WANDER 0
+ TASK_WALK_PATH 0
+ TASK_WAIT_FOR_MOVEMENT 0
+
+ Interrupts
+ COND_GIVE_WAY
+ COND_HEAR_COMBAT
+ COND_INSIDE_DANGEROUS_AREA
+ COND_NEW_ENEMY
+ COND_SEE_ENEMY
+ COND_SEE_FEAR
+ COND_LIGHT_DAMAGE
+ COND_HEAVY_DAMAGE
+ COND_IDLE_INTERRUPT
+End_Schedule
+
+//=========================================================
+// > FALL_TO_GROUND
+//=========================================================
+Schedule
+
+ SCHED_FALL_TO_GROUND
+
+ Tasks
+ TASK_FALL_TO_GROUND 0
+
+ Interrupts
+End_Schedule
+
+//=========================================================
+// > SCHED_MOVE_AWAY_FROM_ENEMY
+//=========================================================
+Schedule
+
+ SCHED_MOVE_AWAY_FROM_ENEMY
+
+ Tasks
+ TASK_SET_FAIL_SCHEDULE SCHEDULE:SCHED_MOVE_AWAY_FAIL
+ TASK_FACE_ENEMY 3
+ TASK_MOVE_AWAY_PATH 120
+ TASK_MOVE_PATH 0
+ TASK_WAIT_FOR_MOVEMENT 0
+ TASK_SET_SCHEDULE SCHEDULE:SCHED_MOVE_AWAY_END
+
+ Interrupts
+ COND_VERY_DIFFERENT_NEW_ENEMY
+ COND_CAN_RANGE_ATTACK1
+ COND_CAN_RANGE_ATTACK2
+ COND_ANY_MELEE_ATTACK
+End_Schedule
+
+//=========================================================
+// > SCHED_MOVE_AWAY
+//=========================================================
+Schedule
+
+ SCHED_MOVE_AWAY
+
+ Tasks
+ TASK_SET_FAIL_SCHEDULE SCHEDULE:SCHED_MOVE_AWAY_FAIL
+ TASK_MOVE_AWAY_PATH 120
+ TASK_MOVE_PATH 0
+ TASK_WAIT_FOR_MOVEMENT 0
+ TASK_SET_SCHEDULE SCHEDULE:SCHED_MOVE_AWAY_END
+
+ Interrupts
+End_Schedule
+
+//=========================================================
+// > SCHED_MOVE_AWAY_FAIL
+//=========================================================
+Schedule
+
+ SCHED_MOVE_AWAY_FAIL
+
+ Tasks
+ TASK_STOP_MOVING 0
+
+ Interrupts
+End_Schedule
+
+//=========================================================
+// > SCHED_MOVE_AWAY_END (allows derived class to translate to appropriate behavior)
+//=========================================================
+Schedule
+
+ SCHED_MOVE_AWAY_END
+
+ Tasks
+ TASK_STOP_MOVING 0
+ TASK_FACE_REASONABLE 0
+
+ Interrupts
+ COND_NEW_ENEMY
+ COND_SEE_ENEMY
+ COND_SEE_FEAR
+ COND_LIGHT_DAMAGE
+ COND_HEAVY_DAMAGE
+ COND_PROVOKED
+ COND_HEAR_COMBAT
+ COND_HEAR_PLAYER
+ COND_INSIDE_DANGEROUS_AREA
+ COND_HEAR_BULLET_IMPACT
+ COND_IDLE_INTERRUPT
+End_Schedule
+
+//=========================================================
+// > SCHED_DODGE_USE_DANGEROUS_AREA
+//=========================================================
+Schedule
+
+ SCHED_DODGE_USE_DANGEROUS_AREA
+
+ Tasks
+ TASK_STOP_MOVING 0
+ TASK_PLAY_SEQUENCE_FACE_ENEMY ACTIVITY:ACT_DODGE_FORWARD
+ TASK_WAIT_FOR_ACTIVITY_TO_FINISH 5
+ TASK_WAIT_RANDOM 0.35
+ TASK_SET_SCHEDULE SCHEDULE:SCHED_DODGE_BACKWARD
+
+ Interrupts
+ COND_HEAVY_DAMAGE
+End_Schedule
+
+//=========================================================
+// > SCHED_DODGE_FORWARD
+//=========================================================
+Schedule
+
+ SCHED_DODGE_FORWARD
+
+ Tasks
+ TASK_STOP_MOVING 0
+ TASK_PLAY_SEQUENCE_FACE_ENEMY ACTIVITY:ACT_DODGE_FORWARD
+
+ Interrupts
+ COND_HEAVY_DAMAGE
+End_Schedule
+
+//=========================================================
+// > SCHED_DODGE_BACKWARD
+//=========================================================
+Schedule
+
+ SCHED_DODGE_BACKWARD
+
+ Tasks
+ TASK_STOP_MOVING 0
+ TASK_PLAY_SEQUENCE_FACE_ENEMY ACTIVITY:ACT_DODGE_BACKWARD
+
+ Interrupts
+ COND_HEAVY_DAMAGE
+End_Schedule
+
+//=========================================================
+// > SCHED_DODGE
+//=========================================================
+Schedule
+
+ SCHED_DODGE
+
+ Tasks
+ TASK_STOP_MOVING 0
+ TASK_DODGE 0
+
+ Interrupts
+ COND_HEAVY_DAMAGE
+End_Schedule
+
+
+//=========================================================
+// > SCHED_STRAFE_DODGE
+//=========================================================
+Schedule
+
+ SCHED_STRAFE_DODGE
+
+ Tasks
+ TASK_STOP_MOVING 0
+ TASK_STRAFE_DODGE 0
+
+ Interrupts
+ COND_HEAVY_DAMAGE
+End_Schedule
+
+//=========================================================
+// > SCHED_DODGE_PATH
+//=========================================================
+Schedule
+
+ SCHED_DODGE_PATH
+
+ Tasks
+ TASK_DODGE_PATH 0
+ TASK_RUN_PATH 0
+ TASK_WAIT_FOR_MOVEMENT 0
+
+ Interrupts
+ COND_HEAVY_DAMAGE
+End_Schedule
+
+
+//=========================================================
+// > SCHED_STRAFE_DODGE_PATH
+//=========================================================
+Schedule
+
+ SCHED_STRAFE_DODGE_PATH
+
+ Tasks
+ TASK_STOP_MOVING 0
+ TASK_DODGE_PATH 0
+ TASK_RUN_PATH 0
+ TASK_WAIT_FOR_MOVEMENT 0
+
+ Interrupts
+End_Schedule
+
+
+//=========================================================
+// > SCHED_CIRCLE_STRAFE
+//=========================================================
+Schedule
+
+ SCHED_CIRCLE_STRAFE
+
+ Tasks
+ TASK_CIRCLE_STRAFE_PATH 0
+ TASK_LOOKAT_ENEMY 0.5
+ TASK_RUN_PATH 0
+ TASK_WAIT_FOR_MOVEMENT_FACE_TARGET_AT_END 0
+
+ Interrupts
+ COND_ANY_MELEE_ATTACK
+ COND_IN_DANGER
+ COND_INSIDE_DANGEROUS_AREA
+ COND_REACT_SURPRISED
+ COND_REACT_JUMPED_OVER
+End_Schedule
+
+
+//=========================================================
+// > SCHED_ATTACK_RUN
+//=========================================================
+Schedule
+
+ SCHED_ATTACK_RUN
+
+ Tasks
+ TASK_WAIT 0.5
+ TASK_ATTACK_RUN_PATH 0
+ TASK_SET_STOP_AT_GOAL 0
+ TASK_RUN_PATH 0
+ TASK_WAIT_FOR_MOVEMENT 0
+ TASK_WAIT 0.5
+
+ Interrupts
+ COND_IN_DANGER
+End_Schedule
+
+
+//=========================================================
+// > SCHED_SLEEP
+//=========================================================
+Schedule
+
+ SCHED_SLEEP
+
+ Tasks
+ TASK_STOP_MOVING 0
+ TASK_WAIT 0.2
+
+ Interrupts
+End_Schedule
+
+//=========================================================
+// SCHED_TITAN_MOVE_TO_DEFENSIVE_PLACMENT
+//=========================================================
+Schedule
+
+ SCHED_TITAN_MOVE_TO_DEFENSIVE_PLACMENT
+
+ Tasks
+ TASK_STOP_MOVING 0
+ TASK_GET_PATH_TO_SAVEPOSITION 0
+ TASK_RUN_PATH 0
+ TASK_WAIT_FOR_MOVEMENT 0
+ TASK_REMEMBER MEMORY:INCOVER
+ TASK_SET_SCHEDULE SCHEDULE:SCHED_WAIT_FACING_ENEMY
+
+ Interrupts
+End_Schedule
+
+
+//=========================================================
+// > SCHED_REACT_JUMPED_OVER
+//=========================================================
+Schedule
+
+ SCHED_REACT_JUMPED_OVER
+
+ Tasks
+ TASK_PLAY_REACTION_SEQUENCE ACTIVITY:ACT_REACT_JUMPED_OVER
+
+ Interrupts
+ COND_IN_DANGER
+End_Schedule
+
+//=========================================================
+// > SCHED_REACT_CLOAK_APPEAR
+//=========================================================
+Schedule
+
+ SCHED_REACT_CLOAK_APPEAR
+
+ Tasks
+ TASK_FACE_ENEMY 1
+ TASK_PLAY_REACTION_SEQUENCE ACTIVITY:ACT_REACT_CLOAK_APPEAR_NEAR
+
+ Interrupts
+ COND_IN_DANGER
+End_Schedule
+
+//=========================================================
+// > SCHED_REACT_CLOAK_DISAPPEAR
+//=========================================================
+Schedule
+
+ SCHED_REACT_CLOAK_DISAPPEAR
+
+ Tasks
+ TASK_FACE_ENEMY 1
+ TASK_PLAY_REACTION_SEQUENCE ACTIVITY:ACT_REACT_CLOAK_DISAPPEAR_NEAR
+
+ Interrupts
+ COND_SEE_ENEMY
+ COND_IN_DANGER
+ COND_INSIDE_DANGEROUS_AREA
+ COND_REACT_CLOAK
+End_Schedule
+
+
+//=========================================================
+// > SCHED_REACT_SURPRISED
+//=========================================================
+Schedule
+
+ SCHED_REACT_SURPRISED
+
+ Tasks
+ TASK_STOP_MOVING 2
+ TASK_SCRIPTED_DIALOGUE 12 // script enum eCodeDialogueID.REACT_SURPRISED
+ TASK_PLAY_REACTION_SEQUENCE ACTIVITY:ACT_REACT_SURPRISED
+
+ Interrupts
+End_Schedule
+
+
+//=========================================================
+// > SCHED_REACT_BULLET
+//=========================================================
+Schedule
+
+ SCHED_REACT_BULLET
+
+ Tasks
+ TASK_STORE_BESTSOUND_REACTORIGIN_IN_SAVEPOSITION 0
+ TASK_STOP_MOVING 0
+ TASK_PLAY_REACTION_SEQUENCE ACTIVITY:ACT_REACT_BULLET
+ TASK_REFRESH_REACT_TO_SOUND 0.5
+
+ Interrupts
+ COND_HEAVY_DAMAGE
+End_Schedule
+
+
+//=========================================================
+// > SCHED_SIGNAL_ACKNOWLEDGE
+//=========================================================
+Schedule
+
+ SCHED_SIGNAL_ACKNOWLEDGE
+
+ Tasks
+ TASK_WAIT_RANDOM 0.7
+ TASK_STOP_MOVING 0
+ TASK_PLAY_SEQUENCE ACTIVITY:ACT_SIGNAL_ACKNOWLEDGE
+
+ Interrupts
+ COND_NEW_ENEMY
+ COND_SEE_ENEMY
+ COND_LIGHT_DAMAGE
+ COND_HEAVY_DAMAGE
+ COND_INSIDE_DANGEROUS_AREA
+End_Schedule
+
+//=========================================================
+// > SCHED_SIGNAL_SALUTE
+//=========================================================
+Schedule
+
+ SCHED_SIGNAL_SALUTE
+
+ Tasks
+ TASK_STOP_MOVING 2
+ TASK_FACE_PLAYER 0.5
+ TASK_SCRIPTED_DIALOGUE 1 // script enum eCodeDialogueID.SALUTE
+ TASK_PLAY_SEQUENCE ACTIVITY:ACT_SIGNAL_SALUTE
+
+ Interrupts
+ COND_VERY_DIFFERENT_NEW_ENEMY
+ COND_SEE_ENEMY
+ COND_LIGHT_DAMAGE
+ COND_HEAVY_DAMAGE
+End_Schedule
+
+
+//=========================================================
+// > SCHED_SIGNAL_FORWARD
+//=========================================================
+ Schedule
+
+ SCHED_SIGNAL_FORWARD
+
+ Tasks
+ TASK_STOP_MOVING 2
+ TASK_FACE_IDEAL 0
+ TASK_SCRIPTED_DIALOGUE 2 // script enum eCodeDialogueID.ENEMY_CONTACT
+ TASK_PLAY_SEQUENCE_FACE_ENEMY ACTIVITY:ACT_SIGNAL_FORWARD
+
+ Interrupts
+ COND_IN_DANGER
+ COND_VERY_DIFFERENT_NEW_ENEMY
+ COND_LIGHT_DAMAGE
+ COND_HEAVY_DAMAGE
+ End_Schedule
+
+
+//=========================================================
+// > SCHED_SIGNAL_TAUNT
+//=========================================================
+ Schedule
+
+ SCHED_SIGNAL_TAUNT
+
+ Tasks
+ TASK_STOP_MOVING 2
+ TASK_FACE_ENEMY 3
+ TASK_PLAY_SEQUENCE_FACE_ENEMY ACTIVITY:ACT_SIGNAL_TAUNT
+
+ Interrupts
+ COND_IN_DANGER
+ COND_VERY_DIFFERENT_NEW_ENEMY
+ COND_LIGHT_DAMAGE
+ COND_HEAVY_DAMAGE
+ End_Schedule
+
+
+//=========================================================
+// > SCHED_KNOCK_AWAY_PHYS_ENTS
+//=========================================================
+Schedule
+
+ SCHED_KNOCK_AWAY_PHYS_ENTS
+
+ Tasks
+ TASK_STOP_MOVING 0
+ TASK_FACE_BLOCKING_PHYS_ENT 0
+ TASK_KNOCK_AWAY_PHYS_ENTS 0
+
+ Interrupts
+
+End_Schedule
+
+//=========================================================
+// > SCHED_DANGEROUS_CLUSTER_STANDOFF
+//=========================================================
+Schedule
+
+ SCHED_DANGEROUS_CLUSTER_STANDOFF
+
+ Tasks
+ TASK_STOP_MOVING 0
+ TASK_FACE_ENEMY 0
+ TASK_SET_IDLE_ACTIVITY 0
+ TASK_WAIT 7.5
+
+ Interrupts
+ COND_CAN_RANGE_ATTACK1
+ COND_CAN_RANGE_ATTACK2
+ COND_ANY_MELEE_ATTACK
+ COND_VERY_DIFFERENT_NEW_ENEMY
+ COND_SEE_ENEMY
+
+End_Schedule
+
+//=========================================================
+// > SCHED_MOVE_TO_SHOOTING_COVER
+//=========================================================
+Schedule
+
+ SCHED_MOVE_TO_SHOOTING_COVER
+
+ Tasks
+ TASK_GET_PATH_TO_SHOOTING_COVER 0
+ TASK_RUN_PATH 0
+ TASK_WAIT_FOR_MOVEMENT 0
+ TASK_ALIGN_WITH_SHOOTING_COVER_IDEAL_YAW 0
+
+ Interrupts
+ COND_ANY_MELEE_ATTACK
+ COND_INSIDE_DANGEROUS_AREA
+ COND_REACT_SURPRISED
+ COND_REACT_CLOAK
+ COND_REACT_JUMPED_OVER
+ COND_SHOOTING_COVER_HINT_COMPROMISED
+ COND_TOO_CLOSE_FOR_SHOOTING_COVER
+
+End_Schedule
+
+//=========================================================
+// > SCHED_IDLE_INSIDE_SHOOTING_COVER
+//=========================================================
+Schedule
+
+ SCHED_IDLE_INSIDE_SHOOTING_COVER
+
+ Tasks
+ TASK_STOP_MOVING 0
+ TASK_ALIGN_WITH_SHOOTING_COVER_IDEAL_YAW 0
+ TASK_RELOAD 1
+ TASK_SET_SHOOTING_COVER_ACTIVITY ACTIVITY:ACT_SHOOTING_COVER_IDLE
+ TASK_WAIT 0.5
+
+ Interrupts
+ COND_ANY_MELEE_ATTACK
+ COND_INSIDE_DANGEROUS_AREA
+ COND_REACT_SURPRISED
+ COND_REACT_CLOAK
+ COND_REACT_JUMPED_OVER
+ COND_SHOOTING_COVER_HINT_COMPROMISED
+
+End_Schedule
+
+//=========================================================
+// > SCHED_CHECK_INSIDE_SHOOTING_COVER
+//=========================================================
+Schedule
+
+ SCHED_CHECK_INSIDE_SHOOTING_COVER
+
+ Tasks
+ TASK_STOP_MOVING 0
+ TASK_ALIGN_WITH_SHOOTING_COVER_IDEAL_YAW 0
+ TASK_SET_SHOOTING_COVER_ACTIVITY ACTIVITY:ACT_SHOOTING_COVER_CHECK
+ TASK_WAIT_FOR_ACTIVITY_TO_FINISH 5
+
+ Interrupts
+ COND_ANY_MELEE_ATTACK
+ COND_INSIDE_DANGEROUS_AREA
+ COND_REACT_SURPRISED
+ COND_REACT_CLOAK
+ COND_REACT_JUMPED_OVER
+ COND_SHOOTING_COVER_HINT_COMPROMISED
+
+End_Schedule
+
+//=========================================================
+// > SCHED_ADVANCE_FROM_SHOOTING_COVER
+//=========================================================
+Schedule
+
+ SCHED_ADVANCE_FROM_SHOOTING_COVER
+
+ Tasks
+ TASK_SET_ADVANCE_FROM_SHOOTING_COVER_ACTIVITY 0
+ TASK_WAIT_FOR_ACTIVITY_TO_FINISH 5
+ TASK_BEGIN_SHOOTING_COVER_BURST_FIRE 0
+
+ Interrupts
+ COND_ANY_MELEE_ATTACK
+ COND_INSIDE_DANGEROUS_AREA
+ COND_REACT_SURPRISED
+ COND_REACT_CLOAK
+ COND_REACT_JUMPED_OVER
+ COND_SHOOTING_COVER_HINT_COMPROMISED
+
+End_Schedule
+
+//=========================================================
+// > SCHED_RETREAT_TO_SHOOTING_COVER
+//=========================================================
+Schedule
+
+ SCHED_RETREAT_TO_SHOOTING_COVER
+
+ Tasks
+ TASK_SET_RETREAT_TO_SHOOTING_COVER_ACTIVITY 0
+ TASK_WAIT_FOR_ACTIVITY_TO_FINISH 3
+ TASK_ALIGN_WITH_SHOOTING_COVER_IDEAL_YAW 0
+ TASK_RELOAD 0.3
+ TASK_SET_SHOOTING_COVER_ACTIVITY ACTIVITY:ACT_SHOOTING_COVER_IDLE
+ TASK_WAIT 0.5
+
+ Interrupts
+ COND_ANY_MELEE_ATTACK
+ COND_INSIDE_DANGEROUS_AREA
+ COND_REACT_SURPRISED
+ COND_REACT_JUMPED_OVER
+ COND_SHOOTING_COVER_HINT_COMPROMISED
+
+End_Schedule
+
+//=========================================================
+// > SCHED_GRENADE_FROM_SHOOTING_COVER
+//=========================================================
+Schedule
+
+ SCHED_GRENADE_FROM_SHOOTING_COVER
+
+ Tasks
+ TASK_SCRIPTED_DIALOGUE 10 // eCodeDialogueID.GRENADE_OUT
+ TASK_SET_SHOOTING_COVER_ACTIVITY ACTIVITY:ACT_SHOOTING_COVER_GRENADE
+ TASK_WAIT_FOR_ACTIVITY_TO_FINISH 5
+
+ Interrupts
+ COND_ANY_MELEE_ATTACK
+ COND_REACT_SURPRISED
+ COND_REACT_JUMPED_OVER
+ COND_SHOOTING_COVER_HINT_COMPROMISED
+
+End_Schedule
+
+//=========================================================
+// > SCHED_GRENADE_ADVANCE_FROM_SHOOTING_COVER
+//=========================================================
+Schedule
+
+ SCHED_GRENADE_ADVANCE_FROM_SHOOTING_COVER
+
+ Tasks
+ TASK_SCRIPTED_DIALOGUE 10 // eCodeDialogueID.GRENADE_OUT
+ TASK_SET_SHOOTING_COVER_ACTIVITY ACTIVITY:ACT_SHOOTING_COVER_GRENADE_ADVANCE
+ TASK_WAIT_FOR_ACTIVITY_TO_FINISH 5
+ TASK_BEGIN_SHOOTING_COVER_BURST_FIRE 0
+
+ Interrupts
+ COND_ANY_MELEE_ATTACK
+ COND_INSIDE_DANGEROUS_AREA
+ COND_REACT_SURPRISED
+ COND_REACT_JUMPED_OVER
+ COND_SHOOTING_COVER_HINT_COMPROMISED
+
+End_Schedule
+
+//=========================================================
+// > SCHED_WAIT_WHILE_ADVANCED_FROM_SHOOTING_COVER
+//=========================================================
+Schedule
+
+ SCHED_WAIT_WHILE_ADVANCED_FROM_SHOOTING_COVER
+
+ Tasks
+ TASK_WAIT_UNTIL_ATTACK_READY 0.5
+
+ Interrupts
+ COND_ANY_MELEE_ATTACK
+ COND_INSIDE_DANGEROUS_AREA
+ COND_REACT_SURPRISED
+ COND_REACT_CLOAK
+ COND_REACT_JUMPED_OVER
+ COND_SHOOTING_COVER_HINT_COMPROMISED
+
+End_Schedule
+
+//=========================================================
+// > SCHED_GRAPPLED
+//=========================================================
+Schedule
+
+ SCHED_GRAPPLED
+
+ Tasks
+ TASK_STOP_MOVING 0
+ TASK_BIG_FLINCH 0
+
+ Interrupts
+
+End_Schedule
+
+
+//=========================================================
+// > SCHED_FOLLOWER_MOVE_AWAY_END
+//=========================================================
+Schedule
+
+ SCHED_FOLLOWER_MOVE_AWAY_END
+
+ Tasks
+ TASK_SET_FAIL_SCHEDULE SCHEDULE:SCHED_FOLLOWER_MOVE_AWAY_FAIL
+ TASK_STOP_MOVING 0
+ TASK_FACE_FOLLOW_TARGET 0
+ TASK_SET_FOLLOW_DELAY 2
+
+ Interrupts
+ COND_PLAYER_PUSHING
+End_Schedule
+
+//=========================================================
+// > SCHED_FOLLOWER_MOVE_AWAY_FAIL
+//=========================================================
+Schedule
+
+ SCHED_FOLLOWER_MOVE_AWAY_FAIL
+
+ Tasks
+ TASK_STOP_MOVING 0
+ TASK_FACE_FOLLOW_TARGET 0
+ TASK_SET_FOLLOW_DELAY 2
+
+ Interrupts
+ COND_PLAYER_PUSHING
+End_Schedule
+
+//=========================================================
+// > SCHED_FOLLOW
+//=========================================================
+Schedule
+
+ SCHED_FOLLOW
+
+ Tasks
+ TASK_GET_PATH_TO_FOLLOW_POSITION 0
+ TASK_MOVE_PATH 0
+ TASK_MOVE_TO_FOLLOW_POSITION 0
+ TASK_WAIT_FOR_MOVEMENT 0
+
+ Interrupts
+ COND_VERY_DIFFERENT_NEW_ENEMY
+ COND_ANY_MELEE_ATTACK
+ COND_LIGHT_DAMAGE
+ COND_HEAVY_DAMAGE
+ COND_INSIDE_DANGEROUS_AREA
+ COND_REACT_SURPRISED
+ COND_PROVOKED
+End_Schedule
+
+//=========================================================
+// > SCHED_FOLLOW_NO_INTERRUPT
+//=========================================================
+Schedule
+
+ SCHED_FOLLOW_NO_INTERRUPT
+
+ Tasks
+ TASK_GET_PATH_TO_FOLLOW_POSITION 0
+ TASK_MOVE_PATH 0
+ TASK_MOVE_TO_FOLLOW_POSITION 0
+ TASK_WAIT_FOR_MOVEMENT 0
+
+ Interrupts
+ COND_HEAVY_DAMAGE
+End_Schedule
+
+//=========================================================
+// > SCHED_FACE_FOLLOW_TARGET
+//=========================================================
+Schedule
+
+ SCHED_FACE_FOLLOW_TARGET
+
+ Tasks
+ TASK_SET_IDLE_ACTIVITY 0
+ TASK_FACE_FOLLOW_TARGET 0
+ TASK_SET_IDLE_ACTIVITY 0
+ TASK_SET_SCHEDULE SCHEDULE:SCHED_FOLLOWER_IDLE_STAND
+
+ Interrupts
+ COND_VERY_DIFFERENT_NEW_ENEMY
+ COND_LIGHT_DAMAGE
+ COND_HEAVY_DAMAGE
+ COND_INSIDE_DANGEROUS_AREA
+ COND_PROVOKED
+ COND_GIVE_WAY
+End_Schedule
+
+//=========================================================
+// > SCHED_FOLLOWER_GO_TO_WAIT_POINT
+//=========================================================
+Schedule
+
+ SCHED_FOLLOWER_GO_TO_WAIT_POINT
+
+ Tasks
+ TASK_LOCK_HINTNODE 0
+ TASK_SET_FAIL_SCHEDULE SCHEDULE:SCHED_FOLLOWER_GO_TO_WAIT_POINT_FAIL
+ TASK_SET_TOLERANCE_DISTANCE 4
+ TASK_GET_PATH_TO_FOLLOW_POINT 0
+ TASK_SET_FOLLOW_TARGET_MARK 0
+ TASK_WALK_PATH 0
+ TASK_WAIT_FOR_MOVEMENT 0
+ TASK_ARRIVE_AT_FOLLOW_POINT 0
+ TASK_SET_FOLLOW_POINT_STAND_SCHEDULE 0
+
+ Interrupts
+ COND_VERY_DIFFERENT_NEW_ENEMY
+ COND_LIGHT_DAMAGE
+ COND_HEAVY_DAMAGE
+ COND_INSIDE_DANGEROUS_AREA
+ COND_PROVOKED
+ COND_PLAYER_PUSHING
+ COND_TARGET_MOVED_FROM_MARK
+End_Schedule
+
+//=========================================================
+// > SCHED_FOLLOWER_GO_TO_WAIT_POINT_FAIL
+//=========================================================
+Schedule
+
+ SCHED_FOLLOWER_GO_TO_WAIT_POINT_FAIL
+
+ Tasks
+ TASK_CLEAR_HINTNODE .5
+ TASK_SET_FOLLOW_DELAY 1
+
+ Interrupts
+End_Schedule
+
+//=========================================================
+// > SCHED_FOLLOWER_STAND_AT_WAIT_POINT
+//=========================================================
+Schedule
+
+ SCHED_FOLLOWER_STAND_AT_WAIT_POINT
+
+ Tasks
+ TASK_BEGIN_STAND_AT_WAIT_POINT 0
+ TASK_PLAY_HINT_ACTIVITY 0
+ TASK_SET_SCHEDULE SCHEDULE:SCHED_FOLLOWER_STAND_AT_WAIT_POINT
+
+ Interrupts
+ COND_VERY_DIFFERENT_NEW_ENEMY
+ COND_LIGHT_DAMAGE
+ COND_HEAVY_DAMAGE
+ COND_INSIDE_DANGEROUS_AREA
+ COND_REACT_SURPRISED
+ COND_PROVOKED
+ COND_PLAYER_PUSHING
+ COND_TARGET_MOVED_FROM_MARK
+ COND_GIVE_WAY
+ COND_FOLLOW_WAIT_POINT_INVALID
+End_Schedule
+
+Schedule
+
+ SCHED_FOLLOWER_IDLE_STAND
+
+ Tasks
+ TASK_SET_FOLLOW_DELAY 0
+ TASK_STOP_MOVING 2
+ TASK_FACE_FOLLOW_TARGET 0
+ TASK_SET_IDLE_ACTIVITY 0
+ TASK_WAIT 3
+
+ Interrupts
+ COND_VERY_DIFFERENT_NEW_ENEMY
+ COND_SEE_FEAR
+ COND_CAN_RANGE_ATTACK1
+ COND_NO_PRIMARY_AMMO
+ COND_LIGHT_DAMAGE
+ COND_HEAVY_DAMAGE
+ COND_PROVOKED
+ COND_GIVE_WAY
+ COND_INSIDE_DANGEROUS_AREA
+ COND_HEAR_COMBAT
+ COND_HEAR_BULLET_IMPACT
+ COND_REACT_SURPRISED
+ COND_PLAYER_PUSHING
+ COND_TARGET_MOVED_FROM_MARK
+ COND_FOLLOW_DELAY_EXPIRED
+ COND_FOUND_WAIT_POINT
+ COND_IDLE_INTERRUPT
+End_Schedule
+
+Schedule
+
+ SCHED_FOLLOWER_COMBAT_FACE
+
+ Tasks
+ TASK_STOP_MOVING 2
+ TASK_FACE_ENEMY 3
+ TASK_WAIT_UNTIL_ATTACK_READY 0.5
+
+ Interrupts
+ COND_VERY_DIFFERENT_NEW_ENEMY
+ COND_SEE_FEAR
+ COND_CAN_RANGE_ATTACK1
+ COND_CAN_RANGE_ATTACK2
+ COND_ANY_MELEE_ATTACK
+ COND_NO_PRIMARY_AMMO
+ COND_LIGHT_DAMAGE
+ COND_HEAVY_DAMAGE
+ COND_PROVOKED
+ COND_GIVE_WAY
+ COND_INSIDE_DANGEROUS_AREA
+ COND_HEAR_BULLET_IMPACT
+ COND_PLAYER_PUSHING
+ COND_TARGET_MOVED_FROM_MARK
+ COND_FOLLOW_DELAY_EXPIRED
+ COND_FOUND_WAIT_POINT
+End_Schedule
+
+Schedule
+
+ SCHED_FOLLOWER_COVER_IDLE
+
+ Tasks
+ TASK_STOP_MOVING 0
+ TASK_FACE_HINTNODE 0
+ TASK_SET_ACTIVITY ACTIVITY:ACT_COVER
+ TASK_WAIT 3
+
+ Interrupts
+ COND_VERY_DIFFERENT_NEW_ENEMY
+ COND_SEE_FEAR
+ COND_CAN_RANGE_ATTACK1
+ COND_CAN_RANGE_ATTACK2
+ COND_ANY_MELEE_ATTACK
+ COND_LIGHT_DAMAGE
+ COND_HEAVY_DAMAGE
+ COND_INSIDE_DANGEROUS_AREA
+ COND_REACT_SURPRISED
+ COND_PROVOKED
+ COND_PLAYER_PUSHING
+ COND_FOLLOW_DELAY_EXPIRED
+End_Schedule
+
+//=========================================================
+//=========================================================
+Schedule
+
+ SCHED_ASSAULT_FAILED_TO_MOVE
+
+ Tasks
+ TASK_ASSAULT_DEFER_SCHEDULE_SELECTION 1
+
+ Interrupts
+End_Schedule
+
+
+//=========================================================
+//=========================================================
+Schedule
+
+ SCHED_HOLD_ASSAULT_POINT
+
+ Tasks
+ TASK_FACE_ASSAULT_POINT 0
+ TASK_SET_IDLE_ACTIVITY 0
+ TASK_WAIT 3
+
+ Interrupts
+ COND_VERY_DIFFERENT_NEW_ENEMY
+ COND_ENEMY_DEAD
+ COND_CAN_RANGE_ATTACK1
+ COND_CAN_RANGE_ATTACK2
+ COND_ANY_MELEE_ATTACK
+ COND_TOO_CLOSE_TO_ATTACK
+ COND_LOST_ENEMY
+ COND_INSIDE_DANGEROUS_AREA
+ COND_IN_DANGER
+ COND_HEAR_BULLET_IMPACT
+ COND_NO_PRIMARY_AMMO
+ COND_REACT_SURPRISED
+ COND_REACT_FRIENDLY_PLAYER
+End_Schedule
+
+//=========================================================
+//=========================================================
+Schedule
+
+ SCHED_MOVE_TO_ASSAULT_POINT
+
+ Tasks
+ TASK_SET_FAIL_SCHEDULE SCHEDULE:SCHED_ASSAULT_FAILED_TO_MOVE
+ TASK_GATHER_CONDITIONS 0
+ TASK_GET_PATH_TO_ASSAULT_POINT 0
+ TASK_SET_ADJUST_MOVE_SPEED_TO_SQUAD 1
+ TASK_SCRIPTED_DIALOGUE 5 // eCodeDialogueID.MOVE_TO_ASSAULT
+ TASK_MOVE_PATH 0
+ TASK_WAIT_FOR_MOVEMENT 0
+ TASK_FACE_ASSAULT_POINT 0
+
+ Interrupts
+ COND_PROVOKED
+ COND_SQUAD_TAKING_POSITION
+ COND_INSIDE_DANGEROUS_AREA
+ COND_IN_DANGER
+ COND_REACT_SURPRISED
+ COND_REACT_FRIENDLY_PLAYER
+ COND_ANY_MELEE_ATTACK
+ COND_PATH_INVOLVES_DANGEROUS_CLUSTER
+End_Schedule
+
+//=========================================================
+//=========================================================
+Schedule
+
+ SCHED_WALK_TO_ASSAULT_POINT
+
+ Tasks
+ TASK_GET_PATH_TO_ASSAULT_POINT 0
+ TASK_WALK_PATH 0
+ TASK_WAIT_FOR_MOVEMENT 0
+ TASK_FACE_ASSAULT_POINT 0
+
+ Interrupts
+ COND_GIVE_WAY
+ COND_HEAR_COMBAT
+ COND_INSIDE_DANGEROUS_AREA
+ COND_NEW_ENEMY
+ COND_SEE_ENEMY
+ COND_SEE_FEAR
+ COND_LIGHT_DAMAGE
+ COND_HEAVY_DAMAGE
+ COND_IDLE_INTERRUPT
+ COND_SQUAD_TAKING_POSITION
+ COND_IN_DANGER
+ COND_REACT_SURPRISED
+ COND_REACT_FRIENDLY_PLAYER
+ COND_ANY_MELEE_ATTACK
+ COND_PATH_INVOLVES_DANGEROUS_CLUSTER
+End_Schedule
+
+//=========================================================
+//=========================================================
+Schedule
+
+ SCHED_AT_ASSAULT_POINT
+
+ Tasks
+ TASK_FACE_ASSAULT_POINT 0
+
+ Interrupts
+ COND_NO_PRIMARY_AMMO
+ COND_INSIDE_DANGEROUS_AREA
+ COND_IN_DANGER
+End_Schedule
+
+
+//=========================================================
+//=========================================================
+Schedule
+
+ SCHED_ASSAULT_MOVE_AWAY
+
+ Tasks
+ TASK_MOVE_AWAY_PATH 120
+ TASK_MOVE_PATH 0
+ TASK_WAIT_FOR_MOVEMENT 0
+
+ Interrupts
+End_Schedule \ No newline at end of file