Core.Object | +--Engine.Actor | +--Engine.ParticleSystem | +--RuneI.BlazeEffect
simulated
SystemInit()
// init function
Tick(float DeltaTime)
00001 //============================================================================= 00002 // BlazeEffect. 00003 //============================================================================= 00004 class BlazeEffect expands ParticleSystem; 00005 00006 00007 // init function 00008 simulated function SystemInit() 00009 { 00010 local int i; 00011 local float f; 00012 00013 for (i=0; i<ParticleCount; i++) 00014 { 00015 ParticleArray[i].Valid = True; 00016 ParticleArray[i].Velocity = (VRand()+vect(0,0,1))*10; 00017 ParticleArray[i].Alpha = vect(1,1,1)*AlphaStart; 00018 ParticleArray[i].LifeSpan = LifeSpanMin + (LifeSpanMax-LifeSpanMin)*FRand(); 00019 ParticleArray[i].TextureIndex = 0; 00020 ParticleArray[i].Style = Style; 00021 00022 if (bRelativeToSystem) 00023 ParticleArray[i].Location = vect(0,0,0); 00024 else 00025 ParticleArray[i].Location = Location; 00026 00027 switch(i) 00028 { 00029 case 0: case 1:// case 2: case 3: case 4: case 5: 00030 // Large explosions 00031 f = RandRange(1.0, 1.1); 00032 ParticleArray[i].Location += VRand()*10; 00033 ParticleArray[i].ScaleStartX = f; 00034 ParticleArray[i].ScaleStartY = f; 00035 ParticleArray[i].XScale = f; 00036 ParticleArray[i].YScale = f; 00037 break; 00038 default: 00039 // smaller explosions 00040 f = RandRange(0.2, 0.3); 00041 ParticleArray[i].Location += VRand()*50; 00042 ParticleArray[i].ScaleStartX = f; 00043 ParticleArray[i].ScaleStartY = f; 00044 ParticleArray[i].XScale = f; 00045 ParticleArray[i].YScale = f; 00046 ParticleArray[i].Velocity *= 2; 00047 ParticleArray[i].LifeSpan *= 0.5; 00048 break; 00049 } 00050 } 00051 00052 IsLoaded=true; 00053 } 00054 00055 simulated function Tick(float DeltaTime) 00056 { 00057 local int i; 00058 00059 for (i=0; i<ParticleCount; i++) 00060 { 00061 ParticleArray[i].Alpha.Y -= DeltaTime; 00062 ParticleArray[i].Alpha.Z -= DeltaTime; 00063 } 00064 } 00065 00066 defaultproperties 00067 { 00068 bSystemOneShot=True 00069 bRelativeToSystem=True 00070 ParticleCount=8 00071 ParticleTexture(0)=Texture'RuneFX.WaterBlood' 00072 ShapeVector=(X=8.000000,Y=8.000000,Z=2.000000) 00073 VelocityMin=(X=0.300000,Y=0.300000,Z=50.000000) 00074 VelocityMax=(X=2.500000,Y=2.500000,Z=120.000000) 00075 ScaleMin=0.700000 00076 ScaleMax=1.100000 00077 ScaleDeltaX=1.500000 00078 ScaleDeltaY=1.500000 00079 LifeSpanMin=0.500000 00080 LifeSpanMax=1.500000 00081 AlphaStart=10 00082 AlphaEnd=20 00083 bOneShot=True 00084 bEventSystemInit=True 00085 bNetTemporary=True 00086 Physics=PHYS_Projectile 00087 RemoteRole=ROLE_SimulatedProxy 00088 Style=STY_Translucent 00089 ScaleGlow=3.000000 00090 }