Subversion-Projekte sthq.gbs

Revision

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