Core.Object | +--Engine.Actor | +--Engine.Projectile | +--UnrealShare.TazerProj
void
SuperExplosion()
Explode(vector HitLocation, vector HitNormal)
BeginState()
ProcessTouch(Actor Other, vector HitLocation)
00001 //============================================================================= 00002 // TazerProj. 00003 //============================================================================= 00004 class TazerProj extends Projectile; 00005 00006 #exec MESH IMPORT MESH=TazerProja ANIVFILE=MODELS\Cross_a.3D DATAFILE=MODELS\Cross_d.3D X=0 Y=0 Z=0 00007 #exec MESH ORIGIN MESH=TazerProja X=0 Y=0 Z=0 YAW=64 00008 #exec MESH SEQUENCE MESH=TazerProja SEQ=All STARTFRAME=0 NUMFRAMES=1 00009 #exec MESH SEQUENCE MESH=TazerProja SEQ=Still STARTFRAME=0 NUMFRAMES=1 00010 #exec MESHMAP SCALE MESHMAP=TazerProja X=0.04 Y=0.04 Z=0.08 00011 #exec OBJ LOAD FILE=Textures\FireEffect2.utx PACKAGE=UnrealShare.Effect2 00012 #exec MESHMAP SETTEXTURE MESHMAP=TazerProja NUM=1 TEXTURE=UnrealShare.Effect2.FireEffect2 00013 00014 #exec AUDIO IMPORT FILE="Sounds\General\Expla02.wav" NAME="Expla02" GROUP="General" 00015 00016 function SuperExplosion() 00017 { 00018 local RingExplosion2 r; 00019 00020 HurtRadius(Damage*3.9, 240, 'jolted', MomentumTransfer*2, Location ); 00021 00022 r = Spawn(Class'RingExplosion2',,'',Location, Instigator.ViewRotation); 00023 r.PlaySound(r.ExploSound,,20.0,,1000,0.6); 00024 Destroy(); 00025 } 00026 00027 auto state Flying 00028 { 00029 function ProcessTouch (Actor Other, vector HitLocation) 00030 { 00031 00032 If (Other!=Instigator && TazerProj(Other)==None) 00033 { 00034 Explode(HitLocation,Normal(HitLocation-Other.Location)); 00035 } 00036 } 00037 00038 function BeginState() 00039 { 00040 Velocity = vector(Rotation) * speed; 00041 } 00042 } 00043 00044 00045 function Explode(vector HitLocation,vector HitNormal) 00046 { 00047 local RingExplosion r; 00048 00049 PlaySound(ImpactSound, SLOT_Misc, 0.5,,, 0.5+FRand()); 00050 HurtRadius(Damage, 70, 'jolted', MomentumTransfer, Location ); 00051 if (Damage > 60) 00052 r = Spawn(class'RingExplosion3',,, HitLocation+HitNormal*8,rotator(HitNormal)); 00053 else 00054 r = Spawn(class'RingExplosion',,, HitLocation+HitNormal*8,rotator(HitNormal)); 00055 00056 r.PlaySound(r.ExploSound,,6); 00057 Destroy(); 00058 } 00059 00060 defaultproperties 00061 { 00062 speed=1000.000000 00063 Damage=55.000000 00064 MomentumTransfer=70000 00065 ImpactSound=Sound'UnrealShare.General.Expla02' 00066 bNetTemporary=False 00067 RemoteRole=ROLE_SimulatedProxy 00068 LifeSpan=10.000000 00069 Mesh=LodMesh'UnrealShare.TazerProja' 00070 bUnlit=True 00071 CollisionRadius=12.000000 00072 CollisionHeight=12.000000 00073 bProjTarget=True 00074 LightType=LT_Steady 00075 LightEffect=LE_NonIncidence 00076 LightBrightness=101 00077 LightHue=165 00078 LightSaturation=72 00079 LightRadius=6 00080 bFixedRotationDir=True 00081 RotationRate=(Pitch=45345,Yaw=33453,Roll=63466) 00082 DesiredRotation=(Pitch=23442,Yaw=34234,Roll=34234) 00083 }