## XIII
Class DartFlying

source: C:\XIII\XIII\Classes\DartFlying.uc

    Core.Object
       |
       +--Engine.Actor
          |
          +--Engine.Projectile
             |
             +--XIII.XIIIProjectile
                |
                +--XIII.DartFlying

Direct Known Subclasses:None

class DartFlying
extends XIII.XIIIProjectile

    //-----------------------------------------------------------
    //
    //-----------------------------------------------------------

Variables
`bool` | `Touched`

Function Summary
`simulated` | `HitWall(vector HitNormal, Actor Wall)`
    //event destroyed()
`simulated` | `PostBeginPlay()`
    //_____________________________________________________________________________
    // Set up speed
`simulated` | `ProcessTouch(Actor Other, Vector HitLocation)`
    /*
`simulated` | `Timer()`
    //_____________________________________________________________________________

Source Code

    00001	//-----------------------------------------------------------
    00002	//
    00003	//-----------------------------------------------------------
    00004	class DartFlying extends XIIIProjectile;
    00005
    00006	var bool Touched;
    00007	//_____________________________________________________________________________
    00008	// Set up speed
    00009	simulated function PostBeginPlay()
    00010	{
    00011	    Super.PostBeginPlay();
    00012	    Velocity = Vector(Rotation) * Speed;
    00013	    SetTimer(0.5, false);
    00014
    00015	    if ( Instigator.Base.Velocity == vect(0,0,0) )
    00016	    {
    00017	      MyTrail = Spawn(MyTrailClass,self,,Location);
    00018	      MyTrail.Init();
    00019	    }
    00020	}
    00021
    00022	//_____________________________________________________________________________
    00023	simulated function Timer()
    00024	{
    00025	    SetPhysics(PHYS_Falling);
    00026	}
    00027
    00028	event touch(actor other)
    00029	{
    00030	    if (other.isa('mover'))
    00031	    {
    00032	      log("crashed on "@other);
    00033	      destroy();
    00034	      // log("touch a mover");
    00035	    }
    00036	    else if (other.isa('pawn'))
    00037	    {
    00038	      super.touch(other);
    00039	    }
    00040	}
    00041
    00042	/* simulated function ProcessTouch(Actor Other, Vector HitLocation)
    00043	{
    00044	 if (other.isa('mover'))
    00045	  {
    00046	   destroy();
    00047	   log("met a mover");
    00048	  }
    00049	 else
    00050	  super.ProcessTouch(other,hitlocation);
    00051	}  */
    00052
    00053	//event destroyed()
    00054	simulated function HitWall (vector HitNormal, actor Wall)
    00055	{
    00056	    Spawn(class'XIII.DartDecoPick',self,,location ,rotation);
    00057	    log("dart is dead");
    00058	    super.hitwall(HitNormal,Wall);
    00059	}
    00060
    00061
    00062	defaultproperties
    00063	{
    00064	     bSpawnDecal=False
    00065	     HitSoundType=3
    00066	     aVisualImpact=Class'XIII.DartInWall'
    00067	     InHeadClass=Class'XIII.ProjectileInHead'
    00068	     MyTrailClass=Class'XIII.TKnifeTrail'
    00069	     StaticMeshName="MeshArmesPickup.BarFlechette"
    00070	     Speed=800.000000
    00071	     MaxSpeed=1600.000000
    00072	     Damage=50.000000
    00073	     DamageRadius=375.000000
    00074	     MomentumTransfer=10000.000000
    00075	     MyDamageType=Class'XIII.DTBladeCut'
    00076	     bBounce=True
    00077	     DrawType=DT_StaticMesh
    00078	     LifeSpan=6.000000
    00079	}

End Source Code