Core.Object | +--Engine.Actor | +--Engine.Effects | +--Botpack.BulletImpact | +--Botpack.UT_WallHit | +--Botpack.ImpactMark
simulated
SpawnEffects()
SpawnSound()
00001 //============================================================================= 00002 // ImpactMark. 00003 //============================================================================= 00004 class ImpactMark extends UT_WallHit; 00005 00006 simulated function SpawnSound() 00007 { 00008 } 00009 00010 simulated function SpawnEffects() 00011 { 00012 local Actor A; 00013 local int j; 00014 local int NumSparks; 00015 local vector Dir; 00016 00017 NumSparks = rand(MaxSparks); 00018 for ( j=0; j<MaxChips; j++ ) 00019 if ( FRand() < ChipOdds ) 00020 { 00021 NumSparks--; 00022 A = spawn(class'Chip'); 00023 if ( A != None ) 00024 A.RemoteRole = ROLE_None; 00025 } 00026 00027 Dir = Vector(Rotation); 00028 if ( !Level.bHighDetailMode ) 00029 return; 00030 Spawn(class'ImpactHole'); 00031 A = Spawn(class'UT_SpriteSmokePuff',,,Location + 8 * Vector(Rotation)); 00032 A.RemoteRole = ROLE_None; 00033 if ( Region.Zone.bWaterZone || Level.bDropDetail ) 00034 return; 00035 if ( FRand() < 0.4 ) 00036 Spawn(class'UT_Sparks'); 00037 if ( NumSparks > 0 ) 00038 for (j=0; j<NumSparks; j++) 00039 spawn(class'UT_Spark',,,Location + 8 * Vector(Rotation)); 00040 } 00041 00042 defaultproperties 00043 { 00044 MaxSparks=4 00045 ChipOdds=0.500000 00046 }