Subversion-Projekte sthq.gbs

Revision

Revision 881 | Zur aktuellen Revision | Details | Vergleich mit vorheriger | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
821 lars 1
//
2
// Name:	 KlingonMercM9/behaviorpackages/disruptor-core.st
3
// Purpose:	 AI	for	combatative	klingon	mercs with disruptors
4
//
5
 
6
//
7
// Includes
8
//
9
 
10
//
11
// Defines
12
//
903 lars 13
$define	RANGE_WORK 		256
14
$define	RANGE_PATROL 	1024 //Chrissed -> Orginal was 256
15
$define	STAGE_TURN 		8
821 lars 16
$define	TIME_PLAYER_ATTACK .75
17
 
18
//---------------------------------------------------------
19
state START
20
//---------------------------------------------------------
21
{
22
	entrycommands
23
	{
24
		setvartime ( "playerattacked" )
25
	}
26
 
27
	states
28
	{
29
		CORE_MAIN	: default
30
	}
31
}
32
 
33
//---------------------------------------------------------
34
state CORE_MAIN
35
//---------------------------------------------------------
36
{
903 lars 37
	entrycommands
38
	{
39
		forgetenemies
40
	}
41
 
821 lars 42
	states
43
	{
44
		CORE_PAIN			: SHOW_PAIN
903 lars 45
		TO_COMBAT			: OTHER_DIED
821 lars 46
 
903 lars 47
		PATROL 				: VALID_PATROL_NODE_IN_RANGE ( $RANGE_PATROL$ ) //Added by Chriss
48
		WORK 				: SHOULD_DO_ACTION ( "work" ) VALID_WORK_NODE_IN_RANGE ( $RANGE_WORK$ )
821 lars 49
		WANDER				: SHOULD_DO_ACTION ( "wander" )
50
		HOLD				: default
51
	}
52
}
53
 
54
//---------------------------------------------------------
55
state PATROL
56
//---------------------------------------------------------
57
{
58
	entrycommands
903 lars 59
	{
60
		incontext "patrol"
61
	}
821 lars 62
 
903 lars 63
	Behavior Patrol ( "walk" )
821 lars 64
 
65
	states
66
	{
67
		CORE_PAIN			: SHOW_PAIN
68
 
903 lars 69
		TO_COMBAT			: OTHER_DIED
70
		TO_COMBAT			: ATTACKED
71
		TO_COMBAT 			: PAIN
72
 
73
		ALERTED 			: HAVE_ENEMY
74
		WORK 				: SHOULD_DO_ACTION ( "work" ) VALID_WORK_NODE_IN_RANGE ( $RANGE_WORK$ )
821 lars 75
		CORE_MAIN			: BEHAVIOR_SUCCESS
76
		PATROL_FAILED		: BEHAVIOR_FAILED
77
	}
78
}
79
 
80
//---------------------------------------------------------
81
state PATROL_FAILED
82
//---------------------------------------------------------
83
{
84
	legs
85
	{
86
		idle : default
87
	}
88
 
903 lars 89
	time ( 1.0 )
821 lars 90
 
91
	states
92
	{
903 lars 93
		CORE_PAIN		: SHOW_PAIN
94
		TO_COMBAT		: ATTACKED
95
		TO_COMBAT 		: PAIN
96
		TO_COMBAT		: OTHER_DIED
821 lars 97
 
903 lars 98
		ALERTED 		: HAVE_ENEMY
99
 
100
		CORE_MAIN	: TIME_DONE
821 lars 101
	}
102
}
103
//---------------------------------------------------------
104
state WORK
105
//---------------------------------------------------------
106
{
107
	entrycommands
108
	{
109
		incontext "work"
110
	}
111
 
112
	Behavior Work (	"walk" )
113
 
114
	states
115
	{
116
		PLAYER_ATTACKED		: ATTACKED_BY_PLAYER ACTORTYPE ( "teammate"	)
117
		PLAYER_ATTACKED		: ATTACKED_BY_PLAYER ACTORTYPE ( "friend" )
118
		CORE_PAIN			: SHOW_PAIN
119
		//CORE_COWER			: OTHER_DIED
120
 
121
		CORE_MAIN	: BEHAVIOR_SUCCESS
122
		WORK_FAILED	: BEHAVIOR_FAILED
123
	}
124
}
125
 
126
//---------------------------------------------------------
127
state WORK_FAILED
128
//---------------------------------------------------------
129
{
130
	legs
131
	{
132
		idle : default
133
	}
134
 
135
	time ( 1.0 )
136
 
137
	states
138
	{
139
		PLAYER_ATTACKED		: ATTACKED_BY_PLAYER ACTORTYPE ( "teammate"	)
140
		PLAYER_ATTACKED		: ATTACKED_BY_PLAYER ACTORTYPE ( "friend" )
141
		CORE_PAIN			: SHOW_PAIN
142
		//CORE_COWER			: OTHER_DIED
143
 
144
		WORK	: TIME_DONE
145
	}
146
}
147
 
148
//---------------------------------------------------------
149
state WANDER
150
//---------------------------------------------------------
151
{
152
	entrycommands
153
	{
154
		incontext "wander"
155
	}
156
 
157
	Behavior MoveRandomDirection ( "walk" ,	128	, 96 )
158
 
159
	states
160
	{
161
		//SNIPER_WAIT			: SHOULD_DO_ACTION ( "snipeenemy" )
162
		PLAYER_ATTACKED		: ATTACKED_BY_PLAYER ACTORTYPE ( "teammate"	)
163
		PLAYER_ATTACKED		: ATTACKED_BY_PLAYER ACTORTYPE ( "friend" )
164
		CORE_PAIN			: SHOW_PAIN
165
		//CORE_COWER			: OTHER_DIED
166
 
167
		//FOLLOW_THE_LEADER	: SHOULD_DO_ACTION ( "follow" )	FOLLOW_TARGET_OUT_OF_RANGE
168
		//HANDLE_CALL_VOLUME	: SHOULD_DO_ACTION ( "handlecallvolume"	) PLAYER_IN_CALL_VOLUME
169
		//GET_OUT_OF_THE_WAY	: SHOULD_DO_ACTION ( "getoutoftheway" )	IN_THE_WAY
170
		WANDER_WAIT			: BEHAVIOR_SUCCESS
171
		WANDER_FAILED		: BEHAVIOR_FAILED
172
	}
173
}
174
 
175
//---------------------------------------------------------
176
state WANDER_WAIT
177
//---------------------------------------------------------
178
{
179
	Behavior HoldPosition
180
 
903 lars 181
	time ( 7.5 , 10 )
821 lars 182
 
183
	states
184
	{
185
		CORE_PAIN			: SHOW_PAIN
903 lars 186
		TO_COMBAT			: OTHER_DIED
187
		TO_COMBAT			: ATTACKED
188
		TO_COMBAT 			: PAIN
821 lars 189
 
903 lars 190
		//ALERTED 			: HAVE_ENEMY
191
 
821 lars 192
		CORE_MAIN			: TIME_DONE
193
	}
194
}
195
 
196
//---------------------------------------------------------
197
state WANDER_FAILED
198
//---------------------------------------------------------
199
{
200
	Behavior HoldPosition
201
 
202
	time ( 1.0 )
203
 
204
	states
205
	{
206
		PLAYER_ATTACKED		: ATTACKED_BY_PLAYER ACTORTYPE ( "teammate"	)
207
		PLAYER_ATTACKED		: ATTACKED_BY_PLAYER ACTORTYPE ( "friend" )
208
		CORE_PAIN			: SHOW_PAIN
209
		//CORE_COWER			: OTHER_DIED
210
 
211
		//GET_OUT_OF_THE_WAY	: SHOULD_DO_ACTION ( "getoutoftheway" )	IN_THE_WAY
212
		WANDER	: TIME_DONE
213
	}
214
}
215
 
216
////---------------------------------------------------------
217
//state SNIPER_WAIT
218
////---------------------------------------------------------
219
//{
220
//	Behavior HoldPosition
221
//}
222
//
223
////---------------------------------------------------------
224
//state FOLLOW_THE_LEADER
225
////---------------------------------------------------------
226
//{
227
//	entrycommands
228
//	{
229
//		incontext "noncombatfollow"
230
//	}
231
//
232
//	Behavior GroupFollow ( 256 , 320 )
233
//
234
//	states
235
//	{
236
//		PLAYER_ATTACKED		: ATTACKED_BY_PLAYER ACTORTYPE ( "teammate"	)
237
//		HANDLE_CALL_VOLUME	: SHOULD_DO_ACTION ( "handlecallvolume"	) PLAYER_IN_CALL_VOLUME
238
//		CORE_PAIN			: SHOW_PAIN
239
//		CORE_COWER			: OTHER_DIED
240
//
241
//		GET_OUT_OF_THE_WAY	: SHOULD_DO_ACTION ( "getoutoftheway" )	IN_THE_WAY
242
//		CORE_MAIN			: BEHAVIOR_SUCCESS
243
//		//WANDER_WAIT			: BEHAVIOR_SUCCESS
244
//		HOLD				: BEHAVIOR_FAILED
245
//	}
246
//}
247
//
248
 
249
state PLAYER_ATTACKED
250
{
251
 
252
	states
253
	{
254
		UPGRADE_STAGE		: CHECK_VAR_TIME_DIFFERENCE	( "playerattacked" , $TIME_PLAYER_ATTACK$ )
255
		CORE_PAIN			: default
256
	}
257
}
258
 
259
state UPGRADE_STAGE
260
{
261
	entrycommands
262
	{
263
		incontext "playerattacked"
264
		gotonextstage
265
		setvartime ( "playerattacked" )
266
	}
267
 
268
	states
269
	{
270
		TURN_AGAINST_PLAYER	: STAGE	( $STAGE_TURN$ )
271
		CORE_PAIN			: default
272
	}
273
}
274
 
275
state TURN_AGAINST_PLAYER
276
{
277
	entrycommands
278
	{
279
		incontext "turnonplayer"
280
		attackplayer
281
		groupattack	1
282
		failmission	8
283
	}
284
}
285
 
286
//---------------------------------------------------------
287
state HOLD
288
//---------------------------------------------------------
289
{
290
	legs
291
	{
292
		idle : default
293
	}
294
 
295
	time ( 1.0 )
296
 
297
	states
298
	{
299
		//GET_OUT_OF_THE_WAY	: IN_THE_WAY
300
		CORE_PAIN			: SHOW_PAIN
301
		//CORE_COWER			: OTHER_DIED
302
		CORE_MAIN			: TIME_DONE
303
	}
304
}
305
 
306
////---------------------------------------------------------
307
//state HANDLE_CALL_VOLUME
308
////---------------------------------------------------------
309
//{
310
//	entrycommands
311
//	{
312
//		incontext "incallvolume"
313
//	}
314
//
315
//	Behavior GotoLiftPosition
316
//
317
//	states
318
//	{
319
//		CORE_MAIN				: !PLAYER_IN_CALL_VOLUME
320
//		CORE_MAIN				: BEHAVIOR_SUCCESS
321
//		CALL_VOLUME_FAILED		: BEHAVIOR_FAILED
322
//	}
323
//}
324
//
325
////---------------------------------------------------------
326
//state CALL_VOLUME_FAILED
327
////---------------------------------------------------------
328
//{
329
//	legs
330
//	{
331
//		duck	: default
332
//	}
333
//}
334
//
335
////---------------------------------------------------------
336
//state GET_OUT_OF_THE_WAY
337
////---------------------------------------------------------
338
//{
339
//	Behavior MoveFromConeOfFire	( "walk" )
340
//	time ( 1.5 )
341
//
342
//	states
343
//	{
344
//		CORE_MAIN	: BEHAVIOR_SUCCESS
345
//		HOLD		: BEHAVIOR_FAILED
346
//		CORE_MAIN	: TIME_DONE
347
//	}
348
//}
349
//
350
//state CORE_COWER
351
//{
352
//	entrycommands
353
//	{
354
//		cleartorsoanim
355
//	}
356
//	legs
357
//	{
358
//		cower :	default
359
//	}
360
//
361
//	time ( 5 , 7.0 )
362
//
363
//	states
364
//	{
365
//		CORE_MAIN :	TIME_DONE
366
//	}
367
//}
368
 
369
//---------------------------------------------------------
370
state CORE_PAIN
371
//---------------------------------------------------------
372
{
373
	states
374
	{
375
		CORE_BIG_PAIN	  :	MOD	( "explosion" )
376
		CORE_BIG_PAIN	  :	MOD	( "imod_primary" )
377
		CORE_BIG_PAIN	  :	MOD	( "plasmashotgun" )
378
		CORE_BIG_PAIN	  :	MOD	( "small_explosion"	)
379
		CORE_SMALL_PAIN	: default
380
	}
381
}
382
 
383
//---------------------------------------------------------
384
state CORE_BIG_PAIN
385
//---------------------------------------------------------
386
{
387
	legs
388
	{
389
		pain_knockback : default
390
	}
391
 
392
	states
393
	{
394
		CORE_MAIN :	ANIM_DONE
395
	}
396
}
397
 
398
//---------------------------------------------------------
399
state CORE_SMALL_PAIN
400
//---------------------------------------------------------
401
{
402
	entrycommands
403
	{
404
		saveofflasthitbone
405
	}
406
 
407
	legs
408
	{
409
		pain_stomach	: BONE_DAMAGED ( "Bip01	Pelvis"	)
410
		pain_stomach	: BONE_DAMAGED ( "Bip01	Spine" )
411
		pain_chest		: BONE_DAMAGED ( "Bip01	Spine2"	)
412
		pain_head		: BONE_DAMAGED ( "Bip01	Head" )
413
		pain_shoulder_L	: BONE_DAMAGED ( "Bip01	L Clavicle"	)
414
		pain_shoulder_L	: BONE_DAMAGED ( "Bip01	L Upperarm"	)
415
		pain_shoulder_L	: BONE_DAMAGED ( "Bip01	L Forearm" )
416
		pain_shoulder_L	: BONE_DAMAGED ( "Bip01	L Hand"	)
417
		pain_shoulder_L	: BONE_DAMAGED ( "Bip01	L Finger2" )
418
		pain_shoulder_R	: BONE_DAMAGED ( "Bip01	R Clavicle"	)
419
		pain_shoulder_R	: BONE_DAMAGED ( "Bip01	R Upperarm"	)
420
		pain_shoulder_R	: BONE_DAMAGED ( "Bip01	R Forearm" )
421
		pain_shoulder_R	: BONE_DAMAGED ( "Bip01	R Hand"	)
422
		pain_shoulder_R	: BONE_DAMAGED ( "Bip01	R Finger2" )
423
		pain_leg_L		: BONE_DAMAGED ( "Bip01	L Thigh" )
424
		pain_L_lowerleg	: BONE_DAMAGED ( "Bip01	L Calf"	)
425
		pain_L_lowerleg	: BONE_DAMAGED ( "Bip01	L Foot"	)
426
		pain_L_lowerleg	: BONE_DAMAGED ( "Bip01	L Toe0"	)
427
		pain_leg_R		: BONE_DAMAGED ( "Bip01	R Thigh" )
428
		pain_R_lowerleg	: BONE_DAMAGED ( "Bip01	R Calf"	)
429
		pain_R_lowerleg	: BONE_DAMAGED ( "Bip01	R Foot"	)
430
		pain_R_lowerleg	: BONE_DAMAGED ( "Bip01	R Toe0"	)
431
		pain_chest		: default
432
	}
433
 
434
	states
435
	{
436
		CORE_MAIN :	ANIM_DONE
437
	}
438
 
439
}