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