Core.Object | +--Engine.Actor | +--Engine.Projectile | +--UnrealI.BigRock | +--UnrealI.Boulder1
void
SpawnChunks(int num)
HitWall(vector HitNormal, Actor Wall)
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 }