//============================================================================= // UPakRocket.uc // $Author: Deb $ // $Date: 4/23/99 12:14p $ // $Revision: 1 $ //============================================================================= class FsRocket expands Projectile; #exec mesh IMPORT MESH=rocketL ANIVFILE=MODELS\ROCKETLAUNCHER\rocketL_a.3d DATAFILE=MODELS\ROCKETLAUNCHER\rocketL_d.3d X=0 Y=0 Z=0 #exec MESH ORIGIN MESH=rocketL X=20 Y=0 Z=-2 #exec mesh SEQUENCE MESH=rocketL SEQ=All STARTFRAME=0 NUMFRAMES=5 #exec MESH SEQUENCE MESH=rocketL SEQ=PopUp STARTFRAME=0 NUMFRAMES=1 #exec MESH SEQUENCE MESH=rocketL SEQ=Wings STARTFRAME=1 NUMFRAMES=1 #exec MESH SEQUENCE MESH=rocketL SEQ=Fly STARTFRAME=2 NUMFRAMES=3 #exec texture IMPORT NAME=JrocketL1 FILE=MODELS\ROCKETLAUNCHER\rocketL1.PCX GROUP=Skins LODSET=2 // rocket01 #exec MESHMAP NEW MESHMAP=rocketL MESH=rocketL #exec MESHMAP SCALE MESHMAP=rocketL X=0.375 Y=0.375 Z=0.75 #exec MESHMAP SETTEXTURE MESHMAP=rocketL NUM=1 TEXTURE=JrocketL1 #exec AUDIO IMPORT FILE="Sounds\RocketLauncher\RocketLoop2.WAV" NAME="RocketLoop2" GROUP="RocketLauncher" #exec AUDIO IMPORT FILE="Sounds\RocketLauncher\RocketLoop1.WAV" NAME="RocketLoop1" GROUP="RocketLauncher" var vector OldVel; var bool bSmoking; var float SpeedModifier; var vector InitialDir; var bool bHitWater, bBubbling; var byte Sequence; var float SmokeRate; // #if GAMEVER==227 var FSFXRLSmokeTrail MyTrailer; // #endif replication { reliable if ( Role == ROLE_Authority && bNetInitial ) Sequence, SpeedModifier, OldVel, bSmoking, bBubbling; } simulated function BeginPlay() { if( Level.NetMode!=NM_DedicatedServer ) { PlaySound(SpawnSound,SLOT_None); // #if GAMEVER==227 if( MyTrailer==None && !Region.Zone.bWaterZone ) MyTrailer = Spawn(Class'FSFXRLSmokeTrail',Self); // #endif } } function PostBeginPlay() { if( Level.Game.IsA( 'DeathMatchGame' ) ) Damage -= 95; //35 Super.PostBeginPlay(); } simulated function Destroyed() { // #if GAMEVER==227 if( MyTrailer!=None ) { MyTrailer.Kill(); MyTrailer.LifeSpan = 2; MyTrailer = None; } // #endif } simulated function Tick(float DeltaTime) { local Effects e; Velocity *= (1.f+(DeltaTime*10.f)); if( Level.NetMode==NM_DedicatedServer ) return; if( AnimSequence!='Fly' && VSize( Velocity ) > 1200 && bSmoking ) LoopAnim( 'Fly' ); // #if GAMEVER!=227 // if ( bSmoking && SmokeRate