aboutsummaryrefslogtreecommitdiff
path: root/Northstar.CustomServers/scripts/aisettings/npc_soldier.txt
blob: e5dcfeb1738e3312346d1c1a3f090352cc61357f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
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
}