Core.Object | +--Engine.Actor | +--Engine.Decoration | +--XIII.Mitrailleuse
mesh
GuardMesh
MitraillTop
MitTop
string
StaticMeshName
int
TeamID
DownAngle,
UpAngle
enum
eGuardType
eMitAngle
float
fGuardReactionDelay
fMaxShotDistance
void
PostBeginPlay()
//_____________________________________________________________________________
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 }