XIII
Class Mitrailleuse

source: C:\XIII\XIII\Classes\Mitrailleuse.uc
Core.Object
   |
   +--Engine.Actor
      |
      +--Engine.Decoration
         |
         +--XIII.Mitrailleuse
Direct Known Subclasses:None

class Mitrailleuse
extends Engine.Decoration

//----------------------------------------------------------- // //-----------------------------------------------------------
Variables
 mesh GuardMesh
           to dynamicload it
 MitraillTop MitTop
 string StaticMeshName
           to dynamicload it
 int TeamID
           to dynamicload it
 DownAngle, UpAngle
 enum eGuardType
 enum eMitAngle
 float fGuardReactionDelay
 float fMaxShotDistance


Function Summary
 void PostBeginPlay()
     
//_____________________________________________________________________________



Source Code


00001	//-----------------------------------------------------------
00002	//
00003	//-----------------------------------------------------------
00004	class Mitrailleuse extends Decoration;
00005	
00006	var MitraillTop MitTop;
00007	//var() bool bHaveGuard;
00008	var() enum eMitAngle
00009	{
00010	  MA_45,
00011	  MA_90,
00012	  MA_180,
00013	} MaxShootAngle;
00014	var() float fMaxShotDistance;
00015	var() float fGuardReactionDelay;
00016	var() enum eGuardType
00017	{
00018	  GT_NoGuardThere,
00019	  GT_Guarded,
00020	  GT_Automatic,
00021	} GuardType;
00022	var() float DownAngle, UpAngle;
00023	var string StaticMeshName;  // to dynamicload it
00024	var() mesh GuardMesh;
00025	var() int TeamID;
00026	
00027	//_____________________________________________________________________________
00028	event ParseDynamicLoading(LevelInfo MyLI)
00029	{
00030	    Log("Mitrailleuse StaticParseDynamicLoading Actor="$self);
00031	    MyLI.ForcedStaticMeshes[MyLI.ForcedStaticMeshes.Length] = StaticMesh(DynamicLoadObject(class'MitraillTop'.default.StaticMeshName, class'StaticMesh'));
00032	}
00033	
00034	//_____________________________________________________________________________
00035	function PostBeginPlay()
00036	{
00037	    if ( !Level.bLonePlayer )
00038	    {
00039	      Destroy();
00040	      return;
00041	    }
00042	    MitTop = Spawn(class'MitraillTop',self,, Location + vect(0,0,35.0), Rotation);
00043	    if ( MitTop != none )
00044	    {
00045	      if ( GuardType == GT_Guarded )
00046	      {
00047	        MitTop.SpawnGuard(GuardMesh);
00048	      }
00049	      if ( GuardType == GT_Automatic )
00050	      {
00051	        MitTop.TeamID = TeamID;
00052	        MitTop.SpawnGuard(GuardMesh);
00053	        MitTop.InvincibleGuard();
00054	
00055	      }
00056	      MitTop.MaxShootAngle = MaxShootAngle;
00057	      MitTop.fGuardReactionDelay = fGuardReactionDelay;
00058	      MitTop.TraceDist = fMaxShotDistance;
00059	      MitTop.DownAMax = (360-DownAngle)*65535/360;
00060	      MitTop.UpAMax = UpAngle*65535/360;
00061	    }
00062	    else
00063	      Destroy();
00064	}
00065	
00066	
00067	
00068	defaultproperties
00069	{
00070	     fMaxShotDistance=6000.000000
00071	     fGuardReactionDelay=1.500000
00072	     DownAngle=30.000000
00073	     UpAngle=30.000000
00074	     bInteractive=False
00075	     bCollideActors=True
00076	     bCollideWorld=True
00077	     bBlockActors=True
00078	     bBlockPlayers=True
00079	     bBlockZeroExtentTraces=False
00080	     bUseCylinderCollision=True
00081	     DrawType=DT_StaticMesh
00082	     StaticMesh=StaticMesh'MeshArmesPickup.mit127stand'
00083	     CollisionRadius=24.000000
00084	     CollisionHeight=48.000000
00085	}

End Source Code