XIDCine
Class MissileFakeSSH1

source: C:\XIII\XIDCine\Classes\MissileFakeSSH1.uc
Core.Object
   |
   +--Engine.Actor
      |
      +--Engine.Mover
         |
         +--XIDCine.MissileFakeSSH1
Direct Known Subclasses:None

class MissileFakeSSH1
extends Engine.Mover

// ===================================================== // // dMMMMMMMMb dMP .dMMMb .dMMMb dMP dMP dMMMMMP // dMP"dMP"dMP amr dMP" VP dMP" VP amr dMP dMP // dMP dMP dMP dMP VMMMb VMMMb dMP dMP dMMMP // dMP dMP dMP dMP dP .dMP dP .dMP dMP dMP dMP // dMP dMP dMP dMP VMMMP" VMMMP" dMP dMMMMMP dMMMMMP // by iKi //=====================================================
Variables
 float Delay
 StaticMeshActor MyMissileSM
 bool bIsUp

States
STA_GoingDown

Function Summary
 void GoDown(optional float)


State STA_GoingDown Function Summary



Source Code


00001	
00002	//      =====================================================
00003	//                                                          
00004	//      dMMMMMMMMb  dMP .dMMMb  .dMMMb  dMP dMP     dMMMMMP
00005	//     dMP"dMP"dMP amr dMP" VP dMP" VP amr dMP     dMP     
00006	//    dMP dMP dMP dMP  VMMMb   VMMMb  dMP dMP     dMMMP    
00007	//   dMP dMP dMP dMP dP .dMP dP .dMP dMP dMP     dMP       
00008	//  dMP dMP dMP dMP  VMMMP"  VMMMP" dMP dMMMMMP dMMMMMP    
00009	//                                                      by iKi
00010	//=====================================================
00011	
00012	class MissileFakeSSH1 extends Mover 
00013		placeable
00014		showcategories(Collision);
00015	
00016	VAR(VaporEffect) float VEMaxIntensity;
00017	VAR(VaporEffect) Color VEHue;
00018	VAR(VaporEffect) float VETime;
00019	VAR float Delay;
00020	
00021	//VAR TRANSIENT XIIIPlayerController PC;
00022	//VAR TRANSIENT MangousteSSH1Controller MangousteController;
00023	VAR TRANSIENT StaticMeshActor MyMissileSM;
00024	VAR bool bIsUp;
00025	
00026	EVENT TakeDamage( int Damage, Pawn EventInstigator, vector HitLocation, vector Momentum, class<DamageType> DamageType)
00027	{
00028		LOCAL vector vTemp, vTemp2;
00029		LOCAL float fTemp;
00030		LOCAL MissileVaporEmitter mve;
00031	
00032		vTemp=HitLocation-Location;
00033		vTemp.Z=0;
00034	
00035		mve=spawn(class'MissileVaporEmitter',,,HitLocation/*Location + 256*Normal(vTemp)*/,rotator(vTemp));
00036		mve.SetBase(self);
00037		mve.Instigator=EventInstigator;
00038	
00039	//	MangousteController.Vapor( HitLocation /*Location + 256*Normal(vTemp)*/, Normal(vTemp) );
00040	
00041	//	if ( PC==none )
00042	//		PC = XIIIGameInfo( Level.Game ).MapInfo.XIIIController;
00043	//	if ( PC!=none )
00044	//	vTemp2 = PC.Pawn.Location - HitLocation;
00045		// I assume that VaporDIr is normal
00046	
00047	/*	if ( vSize(vTemp2)<512 && ((Normal(vTemp)) dot Normal(vTemp2))>cos(12/57.3) )
00048		{
00049			mve.PlayerFeedBack( XIIIGameInfo( Level.Game ).MapInfo.XIIIController, VEMaxIntensity, VEHue, VETime );
00050	//		LOG( "TOUCHED BY VAPOR" );
00051		}*/
00052	}
00053	
00054	
00055	EVENT Trigger( actor Other, pawn EventInstigator )
00056	{
00057	}
00058	
00059	EVENT PostBeginPlay( )
00060	{
00061	}
00062	
00063	EVENT BeginPlay()
00064	{
00065	}
00066	
00067	EVENT Timer()
00068	{
00069	}
00070	
00071	
00072	FUNCTION GoDown( optional float tmpDelay )
00073	{
00074		tmpDelay = Delay;
00075	
00076		if ( !IsInState('STA_GoingDown') )
00077			GotoState( 'STA_GoingDown' );
00078	}
00079	
00080	STATE STA_GoingDown
00081	{
00082		EVENT BeginState()
00083		{
00084			if ( Delay>0 )
00085				SetTimer2( Delay, false );
00086			else
00087				Timer2();
00088		}
00089	
00090		EVENT Timer2()
00091		{
00092			PlaySound(MoveAmbientSound);
00093			bIsUp=false;
00094			Velocity = vect(0,0,-150);
00095			SetPhysics( PHYS_Projectile );
00096			setTimer( 1.0, true );
00097		}
00098	
00099		EVENT Timer()
00100		{
00101			if (Location.Z<=-3000)
00102			{
00103				SetPhysics( PHYS_None );
00104				SetTimer( 0.0, false );
00105				StopSound(MoveAmbientSound);
00106				TriggerEvent( event, self, none );
00107			}
00108		}
00109	
00110	/*	EVENT Tick( float dt)
00111		{
00112			SetLocation( Location + dt*vect(0,0,10) );
00113		//	MyMissileSM.SetPhysics( PHYS_Projectile );
00114		}*/
00115	}
00116	
00117	
00118	
00119	defaultproperties
00120	{
00121	     VEMaxIntensity=0.100000
00122	     VEHue=(B=160,G=255,R=255)
00123	     VETime=1.500000
00124	     bIsUp=True
00125	     bBlockNonZeroExtentTraces=False
00126	     InitialState="None"
00127	}

End Source Code