Subversion-Projekte sthq.gbs

Revision

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