home *** CD-ROM | disk | FTP | other *** search
/ The Games Machine 76 / XENIATGM66.iso / Messiah / data1.cab / Program_Executable_Files / messiahscripts / Enemies / Copm.hxx < prev    next >
Text File  |  1999-11-29  |  3KB  |  134 lines

  1.  
  2. Actor(CopM)
  3. {
  4.         file(MedCopHeader);
  5.         rank(_RankSergeantM);
  6.  
  7.         startstate(StateNormal);
  8.         startaction(CopidleNoGun);
  9.  
  10.         //AI variables. All characters using copgen.hxx needs these defined to work properly
  11.         float(_declare,AIControl,0);
  12.         float(_declare,AIHideControl,_AIHCInRoute);
  13.         float(_declare,AIUsage,_AIUHideForRetreat|_AIUHideForAttack|_AIUHideAttackDefensive|_AIUHideRetreatOffensive|_AIUHideLeanOutRetreat|_AIUHideLeanOutAttack);
  14.         float(_declare,AIAbility,_AIAJump|_AIAClimb|_AIAPickUpWeapon);
  15.         float(_declare,AIManPowerThreshold,1);
  16.         float(_declare,AIPowerRatingThreshold,50);
  17.         float(_declare,AIGrenadeThrowThreshold,10);
  18.  
  19.  
  20.         float(_declare,laservisorstate,0);
  21.         float(_declare,laservisoroffset,0);
  22.         float(_declare,blendingmodesset,0);
  23.  
  24.         #include    "messiahscripts\enemies\copgen.hxx"
  25.  
  26.         //only this dude has visor laser
  27.         if(vstate==statedead)
  28.         {
  29.             float(_set,laservisorstate,0);
  30.             float(_set,laservisoroffset,0);
  31. //            if(blendingmodesset==1)
  32. //            {
  33. //                call(ClearBlendingModeChanges);
  34. //                float(_set,blendingmodesset,0);
  35. //            }
  36.         }
  37.  
  38.         if(VSniperMode==0)
  39.         {
  40.             if(laservisorstate==0 && vtrigger==_DIRcombatmode && vtrigger==_DIRhavegun)
  41.             {
  42.                 sample(SFXLaserStart1,-1);
  43.  
  44.                 float(_set,laservisorstate,32);
  45.                 float(_set,laservisoroffset,0);
  46.             }
  47.             elseif(laservisorstate>0)
  48.             {
  49.                 if(vtrigger!=_DIRcombatmode)
  50.                 {
  51.                     //float(_sub,laservisorstate,1);
  52.  
  53.                     float(_set,laservisorstate,0);
  54.                     float(_set,laservisoroffset,0);
  55.                     sample(SFXLaserOff1,-1);
  56.                 }
  57.  
  58.                 vector(_set,Gactorpos,-24,10,0);
  59.                 spawnparticle(fx_flare,4,gactorpos,emptyvector,fx_coplaserflarered);
  60.                 float(_add,laservisoroffset,64);
  61.                 if(laservisoroffset>=1024)
  62.                 {
  63.                     float(_set,laservisoroffset,1024);
  64.                 }
  65.  
  66.                 vector(_set,gactorine,0,0,0);
  67.                 float(_set,tmpfloat,-1024);
  68.                 vector(_setx,gactorine,tmpfloat);
  69.                 //float(_copy,tmpfloat,laservisoroffset);
  70.                 //float(_mul,tmpfloat,-1);
  71.                 //vector(_setx,gactorine,tmpfloat);
  72.                 float(_set,tmpfloat,192);
  73.                 vector(_sety,gactorine,tmpfloat);
  74.                 vector(_setz,gactorine,laservisoroffset);
  75.  
  76.                 vector(_set,Gactorpos,-24,10,0);
  77.                 spawnparticle(fx_coplaser,4,gactorpos,gactorine,-1);
  78.  
  79. //                print("laser visor state:   ",laservisorstate);
  80. //                print("laser visor offset:   ",laservisoroffset);
  81.  
  82.                 call(wCheckViewCollision,4,gactorpos,gactorine);
  83. /*
  84.                 if(laservisorstate==16)
  85.                 {
  86.                     sample(SFXLaserOff1,-1);
  87.                 }
  88.                 if(laservisorstate<=16)
  89.                 {
  90.                     float(_sub,laservisoroffset,128);
  91.                 }
  92. */
  93.             }
  94. //            if(VOSniperMode!=0)
  95. //            {
  96. //                call(ClearBlendingModeChanges);
  97. //                float(_set,blendingmodesset,0);
  98. //            }
  99.         }
  100.         else
  101.         {
  102.             //In sniper mode. Turn on xray vision
  103. //            call(XRayModeController);
  104. //            float(_set,blendingmodesset,1);
  105.         }
  106.  
  107.  
  108. }
  109.  
  110. Actor(DeadCopM)
  111. {
  112.     file(MedCopHeader);
  113.     rank(_RankScum);
  114.  
  115.     float(_declare,laservisorstate,0);
  116.     float(_declare,laservisoroffset,0);
  117.  
  118.     ActorFlag(_or,_AFLAGnopossesion);
  119.     ActorFlag(_or,_AFLAGnotarget);
  120.  
  121.     startstate(StateDead);
  122.     startaction(CopCrouchDead);
  123.  
  124.     if(VState!=StateDead)
  125.     {
  126.         Direction(_clr,_DIRalive);
  127.         State(_or,StateDead);
  128.     }
  129. }
  130.  
  131.  
  132.  
  133.  
  134.