home *** CD-ROM | disk | FTP | other *** search
/ Classic Fond 52 / ClassicFond52.iso / GAMES / DROIDW.RAR / DWCD.GOB / mission_cog_00_forcefield.cog < prev    next >
Encoding:
Text File  |  1998-11-04  |  2.4 KB  |  90 lines

  1. # Jedi Knight Cog Script
  2. #
  3. # 00_Forcefield.cog
  4. #
  5. # inflicts damage when player touches a surface (can be used on nomove adjoins)
  6. # Surface has to be marked with either Transluscency or Always Draw if it's an adjoin
  7. # damage amount is random between minDamage and maxDamage
  8. #
  9. #    Be sure to mark surf0 as 'transparent'
  10. # [IS]
  11. #
  12. # (C) 1997 LucasArts Entertainment Co. All Rights Reserved
  13.  
  14.  
  15. symbols
  16.  
  17. message     touched
  18. message     damaged
  19. message     startup
  20. message     timer
  21.  
  22. surface     surf0                               mask=0x408
  23. int         victim=-1                           local
  24. int         player=-1                           local
  25. int         damaging=1                          local
  26.  
  27. flex        maxDamage=1.0
  28. flex        minDamage=1.0
  29. flex        interval=0.25
  30.  
  31. flex        minLight=0.2
  32. flex        maxLight=1.0
  33. flex        period=0.5
  34.  
  35. sound       wav1=NRG03weld.wav               local
  36.  
  37.  
  38. end
  39.  
  40. # ========================================================================================
  41.  
  42. code
  43.  
  44. startup:
  45.      clearfacetype(surf0, 2);
  46.      setfacegeomode(surf0, 0);
  47.      printint(getfacegeomode(surf0));
  48.      player=getlocalplayerthing();
  49.      SetSurfaceFlags(surf0,16384);                //magsealed
  50.      SurfaceLightAnim(surf0, minLight, maxLight, period);
  51.      return;
  52.  
  53. # ........................................................................................
  54.  
  55. touched:
  56.      if (damaging == 0) return;
  57.      if (GetSourceRef()!=player) return;
  58.      victim = GetSourceRef();
  59.      damage = (0 * (maxDamage - minDamage));
  60.      DamageThing(victim, damage, 0x2, victim);    // self-inflicted damage     
  61.      PlaySoundPos(wav1, GetSurfaceCenter(surf0), 0.5, 1, 10, 0);
  62.      damaging=0;
  63.      setfacetype(surf0, 2);
  64.      setfacegeomode(surf0, 4);
  65.      SetTimer(interval);
  66.      return;
  67.  
  68. # ........................................................................................
  69.  
  70. damaged:
  71.    if(GetParam(1) == 1)
  72.    {
  73.       player=GetThingParent(GetSourceRef());
  74.       if(GetThingType(player) != 10) Return;
  75.       damage = (0*(maxdamage - mindamage));
  76.       DamageThing(player, damage, 0x01, player);
  77.    }
  78.    return;
  79.  
  80. # ........................................................................................
  81.  
  82. timer:
  83.      clearfacetype(surf0, 2);
  84.      setfacegeomode(surf0, 0);
  85.      damaging=1;
  86.      return;
  87.  
  88. end
  89.  
  90.