## 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