UnrealI
Class Boulder1

source: e:\games\UnrealTournament\UnrealI\Classes\Boulder1.uc
Core.Object
   |
   +--Engine.Actor
      |
      +--Engine.Projectile
         |
         +--UnrealI.BigRock
            |
            +--UnrealI.Boulder1
Direct Known Subclasses:None

class Boulder1
extends UnrealI.BigRock

//============================================================================= // Boulder1. //=============================================================================
States
Flying

Function Summary
 void SpawnChunks(int num)


State Flying Function Summary
 void HitWall(vector HitNormal, Actor Wall)



Source Code


00001	//=============================================================================
00002	// Boulder1.
00003	//=============================================================================
00004	class Boulder1 extends BigRock;
00005	
00006	function SpawnChunks(int num)
00007	{
00008		local int    NumChunks,i;
00009		local BigRock   TempRock;
00010		local float scale;
00011	
00012		NumChunks = 1+Rand(num);
00013		scale = 12 * sqrt(0.52/NumChunks);
00014		speed = VSize(Velocity);
00015		for (i=0; i<NumChunks; i++) 
00016		{
00017			TempRock = Spawn(class'BigRock');
00018			if (TempRock != None )
00019				TempRock.InitFrag(self, scale);
00020		}
00021		InitFrag(self, 0.5);
00022	}
00023	
00024	auto state Flying
00025	{
00026		function HitWall (vector HitNormal, actor Wall)
00027		{
00028			Velocity = 0.75 * (Velocity - 2 * HitNormal * (Velocity Dot HitNormal));
00029			SetRotation(rotator(HitNormal));
00030			DrawScale *= 0.7;
00031			SpawnChunks(8);
00032			Destroy();
00033		}
00034	}
00035	
00036	defaultproperties
00037	{
00038	     speed=1300.000000
00039	     MaxSpeed=1300.000000
00040	     Mesh=LodMesh'UnrealShare.BoulderM'
00041	     DrawScale=1.700000
00042	     CollisionRadius=60.000000
00043	}

End Source Code