npc_soldier { AIClass human ArmorType normal BaseClass "npc_soldier" BodyType human HullType "HULL_HUMAN" SmartAmmoLockType small // defaults to small TraverseAnimType human traverseCostFactor 5.0 difficultTraverseFlags 256 // 1 << 8 (TRAVERSE_JUMP_UP_DOWN_128) BehaviorSelector "behavior_soldier" [$mp] BehaviorSelector "behavior_sp_soldier" [$sp] footstep_type "grunt" footstepSprintSpeedThreshold 100 title #NPC_SOLDIER title_IMC #NPC_GRUNT_IMC title_MIL #NPC_GRUNT_MILITIA ui_targetinfo "ui/targetinfo_soldier_bounty" [$mp] ui_targetinfo "ui/targetinfo_cockpit_name" [$sp] IsGenericGrunt 1 GrenadeWeaponName mp_weapon_frag_grenade AimAngularSpeed 7 allowFlee 1 allowInvestigate 1 [$sp] allowPatrol 1 [$sp] allowSignals 1 allowUseCover 1 DefaultModelName "models/humans/grunts/imc_grunt_rifle.mdl" DefaultModelName_IMC "models/humans/grunts/imc_grunt_rifle.mdl" DefaultModelName_MIL "models/humans/grunts/mlt_grunt_rifle.mdl" DefaultWeapon "mp_weapon_rspn101" WeaponCapacity "PilotMainWeapons" GibModel0 "models/gibs/human_gibs.mdl" headshotFX "P_headshot_human" faceEnemyStrictToleranceAngle 30 faceEnemyWhileMovingDist 400 [$sp] faceEnemyWhileMovingDist 600 [$mp] Health 90 [$sp] Health 50 [$mp] PainOnRepeatDamageThreshold 39 [$sp] PainOnRepeatDamageThreshold 15 [$mp] RepeatDamageTimeInterval 8 PainOnHeavyDamageThreshold 80 // more than health so never happens for base soldier but will happen for higher health ones PainOnSurpriseHit 1 PainWhileRunning 1 fallDeathHeight 300 aimassist_adspull_centerAttachmentName "CHESTFOCUS" aimassist_adspull_centerRadius 11.0 aimassist_adspull_headshotAttachmentName "HEADSHOT" aimassist_adspull_headshotRadius 8.0 MeleeDamageMax 30 [$mp] MeleeDamageMin 30 [$mp] MeleeDamageMax 53 [$sp] MeleeDamageMin 53 [$sp] MeleeDamageRadius 40 [$mp] MeleeRange 40 [$mp] MeleeDamageRadius 60 [$sp] MeleeRange 60 [$sp] MeleeDamageForce 15000 MeleeChargeDamageMin 20 MeleeChargeDamageMax 20 MeleeChargeDamageRadius 35 MeleeChargeRange 0 MeleeChargeCosAngleRange 0.866 // 30 degrees MeleeChargeInterval 3 MeleeChargeEnemyArmorType normal MeleeChargeOnlyPlayers 1 MaxArrivalDist 170 MinForceWalkDist 150 MinStartMoveDist 100 MoveYawSpeed 12 moveDeflectionLookAheadTime 0.5 [$sp] moveDeflectionLookAheadTime 0.5 [$mp] LookDistDefault_Alert 3000 LookDistDefault_Combat 5000 LookDistDefault_Idle 1500 "mp" [$mp] { crouchCombatDistInner 350 crouchCombatDistOuter 450 FOV_Alert_Far_Horz 100 FOV_Alert_Far_Vert 60 FOV_Alert_Near_Horz 130 FOV_Alert_Near_Vert 180 FOV_Combat_Far_Horz 100 FOV_Combat_Far_Vert 60 FOV_Combat_Near_Horz 130 FOV_Combat_Near_Vert 180 FOV_Idle_Far_Horz 100 FOV_Idle_Far_Vert 60 FOV_Idle_Near_Horz 130 FOV_Idle_Near_Vert 180 NoticeForgetPostTime 5.0 NoticeForgetPreTime 1.0 NoticeDistNear_Alert 300 NoticeDistNear_Combat 300 NoticeDistNear_Idle 150 NoticeDistFar_Alert 2000 NoticeDistFar_Combat 2000 NoticeDistFar_Idle 2000 NoticeTimeNear_Alert 0.1 NoticeTimeNear_Combat 0.0 NoticeTimeNear_Idle 0.1 NoticeTimeFar_Alert 1.0 NoticeTimeFar_Combat 1.0 NoticeTimeFar_Idle 1.0 NoticeTimePeripheral_Alert 0.7 NoticeTimePeripheral_Combat 0.7 NoticeTimePeripheral_Idle 0.7 } "sp" [$sp] { crouchCombatDistInner 500 crouchCombatDistOuter 650 FOV_Alert_Far_Horz 100 FOV_Alert_Far_Vert 60 FOV_Alert_Near_Horz 180 FOV_Alert_Near_Vert 100 FOV_Combat_Far_Horz 100 FOV_Combat_Far_Vert 60 FOV_Combat_Near_Horz 180 FOV_Combat_Near_Vert 80 FOV_Idle_Far_Horz 80 FOV_Idle_Far_Vert 60 FOV_Idle_Near_Horz 170 FOV_Idle_Near_Vert 80 NoticeForgetPostTime 5.0 NoticeForgetPreTime 1.0 NoticeDistNear_Alert 300 NoticeDistNear_Combat 300 NoticeDistNear_Idle 150 NoticeDistFar_Alert 1800 NoticeDistFar_Combat 2500 NoticeDistFar_Idle 1500 NoticeTimeNear_Alert 0.2 NoticeTimeNear_Combat 0.1 NoticeTimeNear_Idle 0.5 NoticeTimeFar_Alert 0.75 NoticeTimeFar_Combat 0.5 NoticeTimeFar_Idle 2.0 NoticeTimePeripheral_Alert 1.0 NoticeTimePeripheral_Combat 0.75 NoticeTimePeripheral_Idle 2.0 } FOV_Near_Dist 150 // distance at which we transition between near and far FOV values FOV_Far_Dist 2000 // use far values after this distance, interpolate horizontal in between, use far for vertical FOV_Vert_Offset -20 // looking down instead of up... better for pilots on high ground feeling showTitle 1 resetBurstOnStopShootOverlay 1 restrictAimGunToValidSequences 1 showFriendlyIcon 1 waitBetweenWeaponBurst 1 suppressLSP_duration 10 [$sp] suppressLSP_duration 10 [$mp] enemyAimAtMeWidth 100 aiEnemy_usePriorityDist 2000 [$sp] aiEnemy_immediateThreatDist 230 [$sp] aiEnemy_immediateThreatDist 94 [$mp] braceWhenDangerousAreaDisplacementFails 1 reactChanceDefault 90 [$sp] reactChanceDefault 60 [$mp] reactBulletChanceDefault 90 [$sp] reactBulletChanceDefault 60 [$mp] reactFriendlyChanceDefault 100 }