//=============================================================================
// CarShell02.
//=============================================================================
class CarShell02 expands Projectile;
(( #exec commmads omited))
simulated function PostBeginPlay()
{
Local int CarType;
Super.PostBeginPlay();
CarType = Rand(3);
switch (CarType)
{
case 0:
Mesh=LodMesh'Botpack.Car01'; break;
case 1:
Mesh=LodMesh'Botpack.Car02'; break;
case 2:
Mesh=LodMesh'Botpack.Car03'; break;
}
}
auto state Flying
{
function ProcessTouch (Actor Other, vector HitLocation)
{
If ( (Other!=Instigator) && (!Other.IsA('Projectile') || (Other.CollisionRadius > 0)) )
Explode(HitLocation,Normal(HitLocation-Other.Location));
}
function BeginState()
{
Velocity = vector(Rotation) * speed;
}
}
function Explode(vector HitLocation,vector HitNormal)
{
PlaySound(ImpactSound, SLOT_Misc, 0.5,,, 0.5+FRand());
HurtRadius(Damage, 70, MyDamageType, MomentumTransfer, Location );
//Spawn(class'ut_superring2',,, HitLocation+HitNormal*8,rotator(HitNormal));
Spawn(class'ShockWave',,, HitLocation+HitNormal*8,rotator(HitNormal));
Destroy();
}