‪Black Ops 3 Source Code Explorer  0.1
‪An script explorer for Black Ops 3 by ZeRoY
margwa.csc
Go to the documentation of this file.
1 #using scripts\shared\ai_shared;
2 #using scripts\shared\clientfield_shared;
3 #using scripts\shared\postfx_shared;
4 #using scripts\shared\util_shared;
5 
6 
7 #insert scripts\shared\shared.gsh;
8 #insert scripts\shared\version.gsh;
9 #insert scripts\shared\ai\margwa.gsh;
10 #insert scripts\shared\archetype_shared\archetype_shared.gsh;
11 
12 #precache( "client_fx", MARGWA_TELEPORT_FX_FILE );
13 #precache( "client_fx", MARGWA_TELEPORT_TRAVEL_FX_FILE );
14 #precache( "client_fx", MARGWA_TELEPORT_TRAVEL_TELL_FX_FILE );
15 #precache( "client_fx", MARGWA_SPAWN_FX_FILE );
16 #precache( "client_fx", MARGWA_IMPACT_FX_FILE );
17 #precache( "client_fx", MARGWA_ROAR_FX_FILE );
18 #precache( "client_fx", MARGWA_SUPER_ROAR_FX_FILE );
19 
20 
21 #using_animtree( "generic" );
22 
23 function autoexec ‪main()
24 {
37 
41 
42  ‪clientfield::register( "actor", "supermargwa", ‪VERSION_SHIP, 1, "int", undefined, !‪CF_HOST_ONLY, !‪CF_CALLBACK_ZERO_ON_NEW_ENT ); // set this bit when spawning supermargwa for ee quest
43 
45 
46  level._jaw = [];
47  level._jaw[ ‪MARGWA_JAW_IDLE ] = "idle_1";
48  level._jaw[ ‪MARGWA_JAW_HEAD_L_EXPLODE ] = "idle_pain_head_l_explode";
49  level._jaw[ ‪MARGWA_JAW_HEAD_M_EXPLODE ] = "idle_pain_head_m_explode";
50  level._jaw[ ‪MARGWA_JAW_HEAD_R_EXPLODE ] = "idle_pain_head_r_explode";
51  level._jaw[ ‪MARGWA_JAW_REACT_STUN ] = "react_stun";
52  level._jaw[ ‪MARGWA_JAW_REACT_IDGUN ] = "react_idgun";
53  level._jaw[ ‪MARGWA_JAW_REACT_IDGUN_PACKED ] = "react_idgun_pack";
54  level._jaw[ ‪MARGWA_JAW_RUN_CHARGE ] = "run_charge_f";
55  level._jaw[ ‪MARGWA_JAW_RUN ] = "run_f";
56  level._jaw[ ‪MARGWA_JAW_SMASH_ATTACK ] = "smash_attack_1";
57  level._jaw[ ‪MARGWA_JAW_SWIPE ] = "swipe";
58  level._jaw[ ‪MARGWA_JAW_SWIPE_PLAYER ] = "swipe_player";
59  level._jaw[ ‪MARGWA_JAW_TELEPORT_IN ] = "teleport_in";
60  level._jaw[ ‪MARGWA_JAW_TELEPORT_OUT ] = "teleport_out";
61  level._jaw[ ‪MARGWA_JAW_TRV_JUMP_ACROSS_256 ] = "trv_jump_across_256";
62  level._jaw[ ‪MARGWA_JAW_TRV_JUMP_DOWN_128 ] = "trv_jump_down_128";
63  level._jaw[ ‪MARGWA_JAW_TRV_JUMP_DOWN_36 ] = "trv_jump_down_36";
64  level._jaw[ ‪MARGWA_JAW_TRV_JUMP_DOWN_96 ] = "trv_jump_down_96";
65  level._jaw[ ‪MARGWA_JAW_TRV_JUMP_UP_128 ] = "trv_jump_up_128";
66  level._jaw[ ‪MARGWA_JAW_TRV_JUMP_UP_36 ] = "trv_jump_up_36";
67  level._jaw[ ‪MARGWA_JAW_TRV_JUMP_UP_96 ] = "trv_jump_up_96";
68 }
69 
70 function autoexec ‪precache()
71 {
77  level._effect[ ‪MARGWA_ROAR_FX ] = ‪MARGWA_ROAR_FX_FILE;
79 }
80 
81 #namespace MargwaClientUtils;
82 
83 function private ‪margwaSpawn( localClientNum )
84 {
85  self ‪util::waittill_dobj(localClientNum);
86  if (!isdefined(self))
87  return;
88 
89  self SetAnim( ‪MARGWA_ANIM_HEAD_LEFT_CLOSED, 1.0, 0.2, 1.0 );
90  self SetAnim( ‪MARGWA_ANIM_HEAD_MID_CLOSED, 1.0, 0.2, 1.0 );
91  self SetAnim( ‪MARGWA_ANIM_HEAD_RIGHT_CLOSED, 1.0, 0.2, 1.0 );
92 
93  for ( i = 1; i <= ‪MARGWA_NUM_TENTACLES_PER_SIDE; i++ )
94  {
95  leftTentacle = ‪MARGWA_ANIM_TENTACLE_LEFT_BASE + i;
96  rightTentacle = ‪MARGWA_ANIM_TENTACLE_RIGHT_BASE + i;
97 
98  self SetAnim( leftTentacle, 1.0, 0.2, 1.0 );
99  self SetAnim( rightTentacle, 1.0, 0.2, 1.0 );
100  }
101 
102  level._footstepCBFuncs[self.archetype] = &‪margwaProcessFootstep;
103 
104  self.heads = [];
105  self.heads[ ‪MARGWA_HEAD_KILLED_LEFT ] = SpawnStruct();
107  self.heads[ ‪MARGWA_HEAD_KILLED_LEFT ].prevHeadAnim = ‪MARGWA_ANIM_HEAD_LEFT_CLOSED;
108  self.heads[ ‪MARGWA_HEAD_KILLED_LEFT ].jawBase = ‪MARGWA_JAW_BASE_L;
109 
110  self.heads[ ‪MARGWA_HEAD_KILLED_MID ] = SpawnStruct();
112  self.heads[ ‪MARGWA_HEAD_KILLED_MID ].prevHeadAnim = ‪MARGWA_ANIM_HEAD_MID_CLOSED;
113  self.heads[ ‪MARGWA_HEAD_KILLED_MID ].jawBase = ‪MARGWA_JAW_BASE_M;
114 
115  self.heads[ ‪MARGWA_HEAD_KILLED_RIGHT ] = SpawnStruct();
118  self.heads[ ‪MARGWA_HEAD_KILLED_RIGHT ].jawBase = ‪MARGWA_JAW_BASE_R;
119 }
120 
121 function private ‪margwaHeadLeftCallback( localClientNum, oldValue, newValue, bNewEnt, bInitialSnap, fieldName, wasDemoJump )
122 {
123  if ( IsDefined( self.leftGlowFx ) )
124  {
125  StopFx( localClientNum, self.leftGlowFx );
126  }
127 
128  self ‪util::waittill_dobj(localClientNum);
129  if (!isdefined(self))
130  return;
131 
132  switch ( newValue )
133  {
134  case ‪MARGWA_HEAD_OPEN:
135  self.heads[ ‪MARGWA_HEAD_KILLED_LEFT ].prevHeadAnim = ‪MARGWA_ANIM_HEAD_LEFT_OPEN;
138  roar_effect = level._effect[ ‪MARGWA_ROAR_FX ];
139  if( isDefined( self.margwa_roar_effect ))
140  {
141  roar_effect = self.margwa_roar_effect;
142  }
143  if( self ‪clientfield::get( "supermargwa" ) )
144  {
145  self.leftGlowFx = PlayFxOnTag( localClientNum, level._effect[ ‪MARGWA_SUPER_ROAR_FX ], self, ‪MARGWA_TAG_HEAD_LEFT );
146  }
147  else
148  {
149  self.leftGlowFx = PlayFxOnTag( localClientNum, roar_effect, self, ‪MARGWA_TAG_HEAD_LEFT );
150  }
151  break;
152 
154  self.heads[ ‪MARGWA_HEAD_KILLED_LEFT ].prevHeadAnim = ‪MARGWA_ANIM_HEAD_LEFT_CLOSED;
158  break;
159 
161  self.heads[ ‪MARGWA_HEAD_KILLED_LEFT ].prevHeadAnim = ‪MARGWA_ANIM_HEAD_LEFT_SMASH;
162  self ClearAnim( ‪MARGWA_ANIM_HEAD_LEFT_OPEN, 0.1 );
163  self ClearAnim( ‪MARGWA_ANIM_HEAD_LEFT_CLOSED, 0.1 );
164  self SetAnimRestart( ‪MARGWA_ANIM_HEAD_LEFT_SMASH, 1, 0.1, 1);
165  roar_effect = level._effect[ ‪MARGWA_ROAR_FX ];
166  if( isDefined( self.margwa_roar_effect ))
167  {
168  roar_effect = self.margwa_roar_effect;
169  }
170  if( self ‪clientfield::get( "supermargwa" ) )
171  {
172  self.leftGlowFx = PlayFxOnTag( localClientNum, level._effect[ ‪MARGWA_SUPER_ROAR_FX ], self, ‪MARGWA_TAG_HEAD_LEFT );
173  }
174  else
175  {
176  self.leftGlowFx = PlayFxOnTag( localClientNum, roar_effect, self, ‪MARGWA_TAG_HEAD_LEFT );
177  }
178  self thread ‪margwaStopSmashFx( localClientNum );
179  break;
180  }
181 }
182 
183 function private ‪margwaHeadMidCallback( localClientNum, oldValue, newValue, bNewEnt, bInitialSnap, fieldName, wasDemoJump )
184 {
185  if ( IsDefined( self.midGlowFx ) )
186  {
187  StopFx( localClientNum, self.midGlowFx );
188  }
189 
190  self ‪util::waittill_dobj(localClientNum);
191  if (!isdefined(self))
192  return;
193 
194  switch ( newValue )
195  {
196  case ‪MARGWA_HEAD_OPEN:
197  self SetAnim( ‪MARGWA_ANIM_HEAD_MID_OPEN, 1.0, ‪MARGWA_MOUTH_BLEND_TIME, 1.0 );
199  roar_effect = level._effect[ ‪MARGWA_ROAR_FX ];
200  if( isDefined( self.margwa_roar_effect ))
201  {
202  roar_effect = self.margwa_roar_effect;
203  }
204  if( self ‪clientfield::get( "supermargwa" ) )
205  {
206  self.midGlowFx = PlayFxOnTag( localClientNum, level._effect[ ‪MARGWA_SUPER_ROAR_FX ], self, ‪MARGWA_TAG_HEAD_MID );
207  }
208  else
209  {
210  self.midGlowFx = PlayFxOnTag( localClientNum, roar_effect, self, ‪MARGWA_TAG_HEAD_MID );
211  }
212  break;
213 
218  break;
219 
221  self ClearAnim( ‪MARGWA_ANIM_HEAD_MID_OPEN, 0.1 );
222  self ClearAnim( ‪MARGWA_ANIM_HEAD_MID_CLOSED, 0.1 );
223  self SetAnimRestart( ‪MARGWA_ANIM_HEAD_MID_SMASH, 1, 0.1, 1);
224  roar_effect = level._effect[ ‪MARGWA_ROAR_FX ];
225  if( isDefined( self.margwa_roar_effect ))
226  {
227  roar_effect = self.margwa_roar_effect;
228  }
229  if( self ‪clientfield::get( "supermargwa" ) )
230  {
231  self.midGlowFx = PlayFxOnTag( localClientNum, level._effect[ ‪MARGWA_SUPER_ROAR_FX ], self, ‪MARGWA_TAG_HEAD_MID );
232  }
233  else
234  {
235  self.midGlowFx = PlayFxOnTag( localClientNum, roar_effect, self, ‪MARGWA_TAG_HEAD_MID );
236  }
237  self thread ‪margwaStopSmashFx( localClientNum );
238  break;
239  }
240 }
241 
242 function private ‪margwaHeadRightCallback( localClientNum, oldValue, newValue, bNewEnt, bInitialSnap, fieldName, wasDemoJump )
243 {
244  if ( IsDefined( self.rightGlowFx ) )
245  {
246  StopFx( localClientNum, self.rightGlowFx );
247  }
248 
249  self ‪util::waittill_dobj(localClientNum);
250  if (!isdefined(self))
251  return;
252 
253  switch ( newValue )
254  {
255  case ‪MARGWA_HEAD_OPEN:
258  roar_effect = level._effect[ ‪MARGWA_ROAR_FX ];
259  if( isDefined( self.margwa_roar_effect ))
260  {
261  roar_effect = self.margwa_roar_effect;
262  }
263  if( self ‪clientfield::get( "supermargwa" ) )
264  {
265  self.rightGlowFx = PlayFxOnTag( localClientNum, level._effect[ ‪MARGWA_SUPER_ROAR_FX ], self, ‪MARGWA_TAG_HEAD_RIGHT );
266  }
267  else
268  {
269  self.rightGlowFx = PlayFxOnTag( localClientNum, roar_effect, self, ‪MARGWA_TAG_HEAD_RIGHT );
270  }
271  break;
272 
277  break;
278 
280  self ClearAnim( ‪MARGWA_ANIM_HEAD_RIGHT_OPEN, 0.1 );
281  self ClearAnim( ‪MARGWA_ANIM_HEAD_RIGHT_CLOSED, 0.1 );
282  self SetAnimRestart( ‪MARGWA_ANIM_HEAD_RIGHT_SMASH, 1, 0.1, 1);
283  roar_effect = level._effect[ ‪MARGWA_ROAR_FX ];
284  if( isDefined( self.margwa_roar_effect ))
285  {
286  roar_effect = self.margwa_roar_effect;
287  }
288  if( self ‪clientfield::get( "supermargwa" ) )
289  {
290  self.rightGlowFx = PlayFxOnTag( localClientNum, level._effect[ ‪MARGWA_SUPER_ROAR_FX ], self, ‪MARGWA_TAG_HEAD_RIGHT );
291  }
292  else
293  {
294  self.rightGlowFx = PlayFxOnTag( localClientNum, roar_effect, self, ‪MARGWA_TAG_HEAD_RIGHT );
295  }
296  self thread ‪margwaStopSmashFx( localClientNum );
297  break;
298  }
299 }
300 
301 function private ‪margwaStopSmashFx( localClientNum )
302 {
303  self endon( "entityshutdown" );
304 
305  wait( 0.6 );
306 
307  if ( IsDefined( self.leftGlowFx ) )
308  {
309  StopFx( localClientNum, self.leftGlowFx );
310  }
311 
312  if ( IsDefined( self.midGlowFx ) )
313  {
314  StopFx( localClientNum, self.midGlowFx );
315  }
316 
317  if ( IsDefined( self.rightGlowFx ) )
318  {
319  StopFx( localClientNum, self.rightGlowFx );
320  }
321 }
322 
323 function private ‪margwaFxInCallback( localClientNum, oldValue, newValue, bNewEnt, bInitialSnap, fieldName, wasDemoJump )
324 {
325  if ( newValue )
326  {
327  self.teleportFxIn = ‪PlayFx( localClientNum, level._effect[ ‪MARGWA_TELEPORT_FX ], self GetTagOrigin( ‪MARGWA_TAG_TELEPORT ) );
328  }
329 }
330 
331 function private ‪margwaFxOutCallback( localClientNum, oldValue, newValue, bNewEnt, bInitialSnap, fieldName, wasDemoJump )
332 {
333  if ( newValue )
334  {
335  tagPos = self GetTagOrigin( ‪MARGWA_TAG_TELEPORT );
336  self.teleportFxOut = ‪PlayFx( localClientNum, level._effect[ ‪MARGWA_TELEPORT_FX ], tagPos );
337  }
338 }
339 
340 function private ‪margwaFxTravelCallback( localClientNum, oldValue, newValue, bNewEnt, bInitialSnap, fieldName, wasDemoJump )
341 {
342  switch ( newValue )
343  {
345  DeleteFx( localClientNum, self.travelerFx );
346  break;
347 
349  self.travelerFx = PlayFxOnTag( localClientNum, level._effect[ ‪MARGWA_TELEPORT_TRAVEL_FX ], self, "tag_origin" );
350  break;
351  }
352 }
353 
354 function private ‪margwaFxTravelTellCallback( localClientNum, oldValue, newValue, bNewEnt, bInitialSnap, fieldName, wasDemoJump )
355 {
356  switch ( newValue )
357  {
359  DeleteFx( localClientNum, self.travelerTellFx );
360  self notify( "stop_margwaTravelTell" );
361  break;
362 
364  self.travelerTellFx = PlayFxOnTag( localClientNum, level._effect[ ‪MARGWA_TELEPORT_TRAVEL_TELL_FX ], self, "tag_origin" );
365  self thread ‪margwaTravelTellUpdate( localClientNum );
366  break;
367  }
368 }
369 
370 function private ‪margwaTravelTellUpdate( localClientNum )
371 {
372  self notify( "stop_margwaTravelTell" );
373  self endon( "stop_margwaTravelTell" );
374  self endon( "entityshutdown" );
375 
376  player = GetLocalPlayer( localClientNum );
377 
378  while ( 1 )
379  {
380  if( isdefined(player) )
381  {
382  dist_sq = DistanceSquared( player.origin, self.origin );
383  if ( dist_sq < ‪MARGWA_TELL_DIST_SQ )
384  {
385  player PlayRumbleOnEntity( localClientNum, "tank_rumble" );
386  }
387  }
388  wait( 0.05 );
389  }
390 }
391 
392 
393 function private ‪margwaFxSpawnCallback( localClientNum, oldValue, newValue, bNewEnt, bInitialSnap, fieldName, wasDemoJump )
394 {
395  if ( newValue )
396  {
397  spawnfx = level._effect[ ‪MARGWA_SPAWN_FX ];
398  if( isDefined( self.margwa_spawn_effect ))
399  {
400  spawnfx = self.margwa_spawn_effect;
401  }
402 
403  if ( isDefined( self.margwa_play_spawn_effect ) )
404  {
405  self thread [[ self.margwa_play_spawn_effect ]]( localClientNum );
406  }
407  else
408  {
409  self.spawnFx = ‪PlayFx( localClientNum, spawnfx, self GetTagOrigin( ‪MARGWA_TAG_TELEPORT ) );
410  }
411 
412  playsound(0, "zmb_margwa_spawn", self GetTagOrigin( ‪MARGWA_TAG_TELEPORT ) );
413  }
414 }
415 
416 function private ‪margwaHeadExplosion( localClientNum, oldValue, newValue, bNewEnt, bInitialSnap, fieldName, wasDemoJump )
417 {
418  if ( newValue )
419  {
420  self postfx::PlayPostfxBundle( "pstfx_parasite_dmg" );
421  }
422 }
423 
424 function ‪margwaProcessFootstep( localClientNum, pos, surface, notetrack, bone )
425 {
426  e_player = GetLocalPlayer( localClientNum );
427  n_dist = DistanceSquared( pos, e_player.origin );
429  if(n_margwa_dist>0)
430  n_scale = ( n_margwa_dist - n_dist ) / n_margwa_dist;
431  else
432  return;
433 
434  if( n_scale > 1 || n_scale < 0 ) return;
435 
436  n_scale = n_scale * 0.25;
437  if( n_scale <= 0.01 ) return;
438  e_player Earthquake( n_scale, 0.1, pos, n_dist );
439 
440  if( n_scale <= 0.25 && n_scale > 0.2 )
441  {
442  e_player PlayRumbleOnEntity( localClientNum, "shotgun_fire" );
443  }
444 
445  else if( n_scale <= 0.2 && n_scale > 0.1 )
446  {
447  e_player PlayRumbleOnEntity( localClientNum, "damage_heavy" );
448  }
449  else
450  {
451  e_player PlayRumbleOnEntity( localClientNum, "reload_small" );
452  }
453 }
454 
455 function private ‪margwaSmashCallback( localClientNum, oldValue, newValue, bNewEnt, bInitialSnap, fieldName, wasDemoJump )
456 {
457  if ( newValue )
458  {
459  e_player = GetLocalPlayer( localClientNum );
460 
461  smashPos = self.origin + VectorScale( AnglesToForward( self.angles ), ‪MARGWA_SMASH_ATTACK_OFFSET );
462  distSq = DistanceSquared( smashPos, e_player.origin );
463  if ( distSq < ‪MARGWA_SMASH_ATTACK_RANGE )
464  {
465  e_player Earthquake( 0.7, 0.25, e_player.origin, 3000 );
466  e_player PlayRumbleOnEntity( localClientNum, "shotgun_fire" );
467  }
468  else if ( distSq < ‪MARGWA_SMASH_ATTACK_RANGE_LIGHT )
469  {
470  e_player Earthquake( 0.7, 0.25, e_player.origin, 1500 );
471  e_player PlayRumbleOnEntity( localClientNum, "damage_heavy" );
472  }
473  }
474 }
475 
476 function private ‪margwaLeftHitCallback( localClientNum, oldValue, newValue, bNewEnt, bInitialSnap, fieldName, wasDemoJump )
477 {
478  if ( newValue )
479  {
480  effect = level._effect[ ‪MARGWA_IMPACT_FX ];
481  if( isdefined( self.margwa_head_hit_fx ))
482  {
483  effect = self.margwa_head_hit_fx;
484  }
485  self.leftHitFx = PlayFxOnTag( localClientNum, effect, self, ‪MARGWA_TAG_HEAD_LEFT );
486  }
487 }
488 
489 function private ‪margwaMidHitCallback( localClientNum, oldValue, newValue, bNewEnt, bInitialSnap, fieldName, wasDemoJump )
490 {
491  if ( newValue )
492  {
493  effect = level._effect[ ‪MARGWA_IMPACT_FX ];
494  if( isdefined( self.margwa_head_hit_fx ))
495  {
496  effect = self.margwa_head_hit_fx;
497  }
498  self.midHitFx = PlayFxOnTag( localClientNum, effect, self, ‪MARGWA_TAG_HEAD_MID );
499  }
500 }
501 
502 function private ‪margwaRightHitCallback( localClientNum, oldValue, newValue, bNewEnt, bInitialSnap, fieldName, wasDemoJump )
503 {
504  if ( newValue )
505  {
506  effect = level._effect[ ‪MARGWA_IMPACT_FX ];
507  if( isdefined( self.margwa_head_hit_fx ))
508  {
509  effect = self.margwa_head_hit_fx;
510  }
511  self.rightHitFx = PlayFxOnTag( localClientNum, effect, self, ‪MARGWA_TAG_HEAD_RIGHT );
512  }
513 }
514 
515 function private ‪margwaHeadKilledCallback( localClientNum, oldValue, newValue, bNewEnt, bInitialSnap, fieldName, wasDemoJump )
516 {
517  if ( newValue )
518  {
519  self.heads[ newValue ].killed = true;
520  }
521 }
522 
523 function private ‪margwaJawCallback( localClientNum, oldValue, newValue, bNewEnt, bInitialSnap, fieldName, wasDemoJump )
524 {
525  if ( newValue )
526  {
527  foreach( head in self.heads )
528  {
529  if ( ‪IS_TRUE( head.killed ) )
530  {
531  if ( IsDefined( head.prevJawAnim ) )
532  {
533  self ClearAnim( head.prevJawAnim, 0.2 );
534  }
535 
536  if ( IsDefined( head.prevHeadAnim ) )
537  {
538  self ClearAnim( head.prevHeadAnim, ‪MARGWA_MOUTH_BLEND_TIME );
539  }
540 
541  jawAnim = head.jawBase + level._jaw[ newValue ];
542  head.prevJawAnim = jawAnim;
543 
544  self SetAnim( jawAnim, 1.0, 0.2, 1.0 );
545  }
546  }
547  }
548 }
549 
550 
‪margwaRightHitCallback
‪function private margwaRightHitCallback(localClientNum, oldValue, newValue, bNewEnt, bInitialSnap, fieldName, wasDemoJump)
Definition: margwa.csc:502
‪MARGWA_HEAD_CLIENTFIELD_TYPE
‪#define MARGWA_HEAD_CLIENTFIELD_TYPE
Definition: margwa.gsh:143
‪margwaHeadExplosion
‪function private margwaHeadExplosion(localClientNum, oldValue, newValue, bNewEnt, bInitialSnap, fieldName, wasDemoJump)
Definition: margwa.csc:416
‪MARGWA_JAW_BASE_M
‪#define MARGWA_JAW_BASE_M
Definition: margwa.gsh:177
‪MARGWA_SMASH_ATTACK_OFFSET
‪#define MARGWA_SMASH_ATTACK_OFFSET
Definition: margwa.gsh:91
‪margwaFxOutCallback
‪function private margwaFxOutCallback(localClientNum, oldValue, newValue, bNewEnt, bInitialSnap, fieldName, wasDemoJump)
Definition: margwa.csc:331
‪margwaSpawn
‪function private margwaSpawn(localClientNum)
Definition: margwa.csc:83
‪MARGWA_TAG_HEAD_RIGHT
‪#define MARGWA_TAG_HEAD_RIGHT
Definition: margwa.gsh:28
‪margwaHeadKilledCallback
‪function private margwaHeadKilledCallback(localClientNum, oldValue, newValue, bNewEnt, bInitialSnap, fieldName, wasDemoJump)
Definition: margwa.csc:515
‪MARGWA_ANIM_HEAD_RIGHT_OPEN
‪#define MARGWA_ANIM_HEAD_RIGHT_OPEN
Definition: margwa.gsh:43
‪MARGWA_ANIM_HEAD_MID_SMASH
‪#define MARGWA_ANIM_HEAD_MID_SMASH
Definition: margwa.gsh:47
‪MARGWA_TELEPORT_ON
‪#define MARGWA_TELEPORT_ON
Definition: margwa.gsh:124
‪MARGWA_IMPACT_FX_FILE
‪#define MARGWA_IMPACT_FX_FILE
Definition: margwa.gsh:115
‪MARGWA_ANIM_TENTACLE_LEFT_BASE
‪#define MARGWA_ANIM_TENTACLE_LEFT_BASE
Definition: margwa.gsh:50
‪MARGWA_NUM_TENTACLES_PER_SIDE
‪#define MARGWA_NUM_TENTACLES_PER_SIDE
Definition: margwa.gsh:53
‪MARGWA_HEAD_MID_CLIENTFIELD
‪#define MARGWA_HEAD_MID_CLIENTFIELD
Definition: margwa.gsh:141
‪MARGWA_HEAD_SMASH_ATTACK
‪#define MARGWA_HEAD_SMASH_ATTACK
Definition: margwa.gsh:37
‪MARGWA_FX_SPAWN_CLIENTFIELD_TYPE
‪#define MARGWA_FX_SPAWN_CLIENTFIELD_TYPE
Definition: margwa.gsh:154
‪MARGWA_JAW_RUN_CHARGE
‪#define MARGWA_JAW_RUN_CHARGE
Definition: margwa.gsh:186
‪MARGWA_TELEPORT_TRAVEL_FX
‪#define MARGWA_TELEPORT_TRAVEL_FX
Definition: margwa.gsh:107
‪MARGWA_TELEPORT_TRAVEL_TELL_FX_FILE
‪#define MARGWA_TELEPORT_TRAVEL_TELL_FX_FILE
Definition: margwa.gsh:110
‪MARGWA_JAW_TELEPORT_OUT
‪#define MARGWA_JAW_TELEPORT_OUT
Definition: margwa.gsh:194
‪CF_CALLBACK_ZERO_ON_NEW_ENT
‪#define CF_CALLBACK_ZERO_ON_NEW_ENT
Definition: version.gsh:103
‪VERSION_SHIP
‪#define VERSION_SHIP
Definition: version.gsh:36
‪MARGWA_JAW_REACT_IDGUN
‪#define MARGWA_JAW_REACT_IDGUN
Definition: margwa.gsh:187
‪MARGWA_FOOTSTEP_EARTHQUAKE_MAX_RADIUS
‪#define MARGWA_FOOTSTEP_EARTHQUAKE_MAX_RADIUS
Definition: margwa.gsh:133
‪MARGWA_JAW_CLIENTFIELD
‪#define MARGWA_JAW_CLIENTFIELD
Definition: margwa.gsh:174
‪MARGWA_JAW_HEAD_R_EXPLODE
‪#define MARGWA_JAW_HEAD_R_EXPLODE
Definition: margwa.gsh:184
‪margwaFxTravelCallback
‪function private margwaFxTravelCallback(localClientNum, oldValue, newValue, bNewEnt, bInitialSnap, fieldName, wasDemoJump)
Definition: margwa.csc:340
‪MARGWA_ROAR_FX_FILE
‪#define MARGWA_ROAR_FX_FILE
Definition: margwa.gsh:117
‪IS_TRUE
‪#define IS_TRUE(__a)
Definition: shared.gsh:251
‪MARGWA_SMASH_CLIENTFIELD
‪#define MARGWA_SMASH_CLIENTFIELD
Definition: margwa.gsh:161
‪get
‪function get(kvp_value, kvp_key="targetname")
Definition: struct.csc:13
‪MARGWA_MOUTH_BLEND_TIME
‪#define MARGWA_MOUTH_BLEND_TIME
Definition: margwa.gsh:68
‪margwaLeftHitCallback
‪function private margwaLeftHitCallback(localClientNum, oldValue, newValue, bNewEnt, bInitialSnap, fieldName, wasDemoJump)
Definition: margwa.csc:476
‪MARGWA_JAW_IDLE
‪#define MARGWA_JAW_IDLE
Definition: margwa.gsh:181
‪MARGWA_FX_SPAWN_CLIENTFIELD
‪#define MARGWA_FX_SPAWN_CLIENTFIELD
Definition: margwa.gsh:153
‪MARGWA_JAW_BASE_L
‪#define MARGWA_JAW_BASE_L
Definition: margwa.gsh:176
‪MARGWA_HEAD_RIGHT_HIT_CLIENTFIELD
‪#define MARGWA_HEAD_RIGHT_HIT_CLIENTFIELD
Definition: margwa.gsh:167
‪MARGWA_TELEPORT_FX
‪#define MARGWA_TELEPORT_FX
Definition: margwa.gsh:105
‪MARGWA_FX_IN_CLIENTFIELD
‪#define MARGWA_FX_IN_CLIENTFIELD
Definition: margwa.gsh:146
‪MARGWA_TAG_TELEPORT
‪#define MARGWA_TAG_TELEPORT
Definition: margwa.gsh:121
‪MARGWA_HEAD_KILLED_LEFT
‪#define MARGWA_HEAD_KILLED_LEFT
Definition: margwa.gsh:170
‪MARGWA_IMPACT_FX
‪#define MARGWA_IMPACT_FX
Definition: margwa.gsh:114
‪MARGWA_JAW_BASE_R
‪#define MARGWA_JAW_BASE_R
Definition: margwa.gsh:178
‪margwaMidHitCallback
‪function private margwaMidHitCallback(localClientNum, oldValue, newValue, bNewEnt, bInitialSnap, fieldName, wasDemoJump)
Definition: margwa.csc:489
‪MARGWA_JAW_TRV_JUMP_DOWN_96
‪#define MARGWA_JAW_TRV_JUMP_DOWN_96
Definition: margwa.gsh:198
‪margwaSmashCallback
‪function private margwaSmashCallback(localClientNum, oldValue, newValue, bNewEnt, bInitialSnap, fieldName, wasDemoJump)
Definition: margwa.csc:455
‪MARGWA_JAW_RUN
‪#define MARGWA_JAW_RUN
Definition: margwa.gsh:189
‪margwaFxInCallback
‪function private margwaFxInCallback(localClientNum, oldValue, newValue, bNewEnt, bInitialSnap, fieldName, wasDemoJump)
Definition: margwa.csc:323
‪MARGWA_SPAWN_FX_FILE
‪#define MARGWA_SPAWN_FX_FILE
Definition: margwa.gsh:112
‪MARGWA_JAW_TRV_JUMP_ACROSS_256
‪#define MARGWA_JAW_TRV_JUMP_ACROSS_256
Definition: margwa.gsh:195
‪MARGWA_HEAD_CLIENTFIELD_BITS
‪#define MARGWA_HEAD_CLIENTFIELD_BITS
Definition: margwa.gsh:144
‪MARGWA_JAW_SMASH_ATTACK
‪#define MARGWA_JAW_SMASH_ATTACK
Definition: margwa.gsh:190
‪MARGWA_JAW_TRV_JUMP_DOWN_128
‪#define MARGWA_JAW_TRV_JUMP_DOWN_128
Definition: margwa.gsh:196
‪MARGWA_FX_SPAWN_CLIENTFIELD_BITS
‪#define MARGWA_FX_SPAWN_CLIENTFIELD_BITS
Definition: margwa.gsh:155
‪MARGWA_JAW_REACT_STUN
‪#define MARGWA_JAW_REACT_STUN
Definition: margwa.gsh:185
‪MARGWA_JAW_TRV_JUMP_DOWN_36
‪#define MARGWA_JAW_TRV_JUMP_DOWN_36
Definition: margwa.gsh:197
‪margwaStopSmashFx
‪function private margwaStopSmashFx(localClientNum)
Definition: margwa.csc:301
‪MARGWA_ANIM_HEAD_LEFT_OPEN
‪#define MARGWA_ANIM_HEAD_LEFT_OPEN
Definition: margwa.gsh:39
‪MARGWA_SPAWN_FX
‪#define MARGWA_SPAWN_FX
Definition: margwa.gsh:111
‪CF_HOST_ONLY
‪#define CF_HOST_ONLY
Definition: version.gsh:102
‪margwaJawCallback
‪function private margwaJawCallback(localClientNum, oldValue, newValue, bNewEnt, bInitialSnap, fieldName, wasDemoJump)
Definition: margwa.csc:523
‪MARGWA_ANIM_HEAD_RIGHT_CLOSED
‪#define MARGWA_ANIM_HEAD_RIGHT_CLOSED
Definition: margwa.gsh:44
‪MARGWA_SMASH_ATTACK_RANGE_LIGHT
‪#define MARGWA_SMASH_ATTACK_RANGE_LIGHT
Definition: margwa.gsh:89
‪MARGWA_JAW_SWIPE
‪#define MARGWA_JAW_SWIPE
Definition: margwa.gsh:191
‪MARGWA_JAW_HEAD_L_EXPLODE
‪#define MARGWA_JAW_HEAD_L_EXPLODE
Definition: margwa.gsh:182
‪MARGWA_HEAD_EXPLODE_CLIENTFIELD_TYPE
‪#define MARGWA_HEAD_EXPLODE_CLIENTFIELD_TYPE
Definition: margwa.gsh:158
‪MARGWA_ANIM_HEAD_LEFT_SMASH
‪#define MARGWA_ANIM_HEAD_LEFT_SMASH
Definition: margwa.gsh:46
‪MARGWA_TELEPORT_FX_FILE
‪#define MARGWA_TELEPORT_FX_FILE
Definition: margwa.gsh:106
‪add_archetype_spawn_function
‪function add_archetype_spawn_function(archetype, spawn_func)
Definition: ai_shared.csc:23
‪main
‪function autoexec main()
Definition: margwa.csc:23
‪margwaHeadRightCallback
‪function private margwaHeadRightCallback(localClientNum, oldValue, newValue, bNewEnt, bInitialSnap, fieldName, wasDemoJump)
Definition: margwa.csc:242
‪MARGWA_TELEPORT_TRAVEL_FX_FILE
‪#define MARGWA_TELEPORT_TRAVEL_FX_FILE
Definition: margwa.gsh:108
‪MARGWA_SUPER_ROAR_FX_FILE
‪#define MARGWA_SUPER_ROAR_FX_FILE
Definition: margwa.gsh:119
‪MARGWA_JAW_TRV_JUMP_UP_96
‪#define MARGWA_JAW_TRV_JUMP_UP_96
Definition: margwa.gsh:201
‪MARGWA_JAW_REACT_IDGUN_PACKED
‪#define MARGWA_JAW_REACT_IDGUN_PACKED
Definition: margwa.gsh:188
‪MARGWA_HEAD_EXPLODE_CLIENTFIELD_BITS
‪#define MARGWA_HEAD_EXPLODE_CLIENTFIELD_BITS
Definition: margwa.gsh:159
‪margwaFxSpawnCallback
‪function private margwaFxSpawnCallback(localClientNum, oldValue, newValue, bNewEnt, bInitialSnap, fieldName, wasDemoJump)
Definition: margwa.csc:393
‪MARGWA_ANIM_HEAD_MID_CLOSED
‪#define MARGWA_ANIM_HEAD_MID_CLOSED
Definition: margwa.gsh:42
‪MARGWA_ANIM_HEAD_RIGHT_SMASH
‪#define MARGWA_ANIM_HEAD_RIGHT_SMASH
Definition: margwa.gsh:48
‪MARGWA_HEAD_LEFT_CLIENTFIELD
‪#define MARGWA_HEAD_LEFT_CLIENTFIELD
Definition: margwa.gsh:140
‪waittill_dobj
‪function waittill_dobj(localClientNum)
Definition: util_shared.csc:1117
‪MARGWA_ANIM_TENTACLE_RIGHT_BASE
‪#define MARGWA_ANIM_TENTACLE_RIGHT_BASE
Definition: margwa.gsh:51
‪MARGWA_ANIM_HEAD_LEFT_CLOSED
‪#define MARGWA_ANIM_HEAD_LEFT_CLOSED
Definition: margwa.gsh:40
‪MARGWA_JAW_HEAD_M_EXPLODE
‪#define MARGWA_JAW_HEAD_M_EXPLODE
Definition: margwa.gsh:183
‪MARGWA_HEAD_KILLED_MID
‪#define MARGWA_HEAD_KILLED_MID
Definition: margwa.gsh:171
‪MARGWA_FX_OUT_CLIENTFIELD
‪#define MARGWA_FX_OUT_CLIENTFIELD
Definition: margwa.gsh:147
‪MARGWA_TAG_HEAD_LEFT
‪#define MARGWA_TAG_HEAD_LEFT
Definition: margwa.gsh:20
‪MARGWA_HEAD_LEFT_HIT_CLIENTFIELD
‪#define MARGWA_HEAD_LEFT_HIT_CLIENTFIELD
Definition: margwa.gsh:165
‪MARGWA_FX_TRAVEL_TELL_CLIENTFIELD
‪#define MARGWA_FX_TRAVEL_TELL_CLIENTFIELD
Definition: margwa.gsh:149
‪register
‪function register()
Definition: _ai_tank.gsc:126
‪MARGWA_HEAD_KILLED_CLIENTFIELD
‪#define MARGWA_HEAD_KILLED_CLIENTFIELD
Definition: margwa.gsh:169
‪margwaProcessFootstep
‪function margwaProcessFootstep(localClientNum, pos, surface, notetrack, bone)
Definition: margwa.csc:424
‪MARGWA_HEAD_RIGHT_CLIENTFIELD
‪#define MARGWA_HEAD_RIGHT_CLIENTFIELD
Definition: margwa.gsh:142
‪MARGWA_SUPER_ROAR_FX
‪#define MARGWA_SUPER_ROAR_FX
Definition: margwa.gsh:118
‪MARGWA_TELEPORT_OFF
‪#define MARGWA_TELEPORT_OFF
Definition: margwa.gsh:123
‪MARGWA_TELL_DIST_SQ
‪#define MARGWA_TELL_DIST_SQ
Definition: margwa.gsh:131
‪precache
‪function autoexec precache()
Definition: margwa.csc:70
‪MARGWA_JAW_TRV_JUMP_UP_128
‪#define MARGWA_JAW_TRV_JUMP_UP_128
Definition: margwa.gsh:199
‪margwaHeadLeftCallback
‪function private margwaHeadLeftCallback(localClientNum, oldValue, newValue, bNewEnt, bInitialSnap, fieldName, wasDemoJump)
Definition: margwa.csc:121
‪MARGWA_JAW_TRV_JUMP_UP_36
‪#define MARGWA_JAW_TRV_JUMP_UP_36
Definition: margwa.gsh:200
‪MARGWA_TAG_HEAD_MID
‪#define MARGWA_TAG_HEAD_MID
Definition: margwa.gsh:24
‪MARGWA_ANIM_HEAD_MID_OPEN
‪#define MARGWA_ANIM_HEAD_MID_OPEN
Definition: margwa.gsh:41
‪ARCHETYPE_MARGWA
‪#define ARCHETYPE_MARGWA
Definition: archetype_shared.gsh:16
‪MARGWA_HEAD_MID_HIT_CLIENTFIELD
‪#define MARGWA_HEAD_MID_HIT_CLIENTFIELD
Definition: margwa.gsh:166
‪margwaHeadMidCallback
‪function private margwaHeadMidCallback(localClientNum, oldValue, newValue, bNewEnt, bInitialSnap, fieldName, wasDemoJump)
Definition: margwa.csc:183
‪MARGWA_HEAD_KILLED_RIGHT
‪#define MARGWA_HEAD_KILLED_RIGHT
Definition: margwa.gsh:172
‪MARGWA_ROAR_FX
‪#define MARGWA_ROAR_FX
Definition: margwa.gsh:116
‪MARGWA_TELEPORT_TRAVEL_TELL_FX
‪#define MARGWA_TELEPORT_TRAVEL_TELL_FX
Definition: margwa.gsh:109
‪MARGWA_HEAD_CLOSED
‪#define MARGWA_HEAD_CLOSED
Definition: margwa.gsh:36
‪MARGWA_FX_TRAVEL_CLIENTFIELD
‪#define MARGWA_FX_TRAVEL_CLIENTFIELD
Definition: margwa.gsh:148
‪MARGWA_HEAD_OPEN
‪#define MARGWA_HEAD_OPEN
Definition: margwa.gsh:35
‪MARGWA_JAW_SWIPE_PLAYER
‪#define MARGWA_JAW_SWIPE_PLAYER
Definition: margwa.gsh:192
‪MARGWA_SMASH_ATTACK_RANGE
‪#define MARGWA_SMASH_ATTACK_RANGE
Definition: margwa.gsh:88
‪margwaTravelTellUpdate
‪function private margwaTravelTellUpdate(localClientNum)
Definition: margwa.csc:370
‪MARGWA_HEAD_EXPLODE_CLIENTFIELD
‪#define MARGWA_HEAD_EXPLODE_CLIENTFIELD
Definition: margwa.gsh:157
‪MARGWA_JAW_TELEPORT_IN
‪#define MARGWA_JAW_TELEPORT_IN
Definition: margwa.gsh:193
‪PlayFx
‪function PlayFx(name)
Definition: _counteruav.gsc:390
‪margwaFxTravelTellCallback
‪function private margwaFxTravelTellCallback(localClientNum, oldValue, newValue, bNewEnt, bInitialSnap, fieldName, wasDemoJump)
Definition: margwa.csc:354