69 {
70 vector pos = start_pos;
72 float upscale = 1;
73 float rnd_offset = 0.5;
74 float rnd_offset_2 = rnd_offset * 0.5;
75
76 while (power > 200)
77 {
78 pos = pos + ( speed_vector * 0.001 );
79 pos = pos +
Vector( rnd_offset_2 - Math.RandomFloat( 0, rnd_offset ), 0, rnd_offset_2 - Math.RandomFloat( 0, rnd_offset ) );
81
83 eff.SetAutodestroy(true);
84 SEffectManager.PlayInWorld(eff, pos);
85
87
89
90 blood.SetOrientation(ori);
92
93 Particle blood_chunks =
ParticleManager.GetInstance().PlayInWorld(ParticleList.BLOOD_SURFACE_CHUNKS, pos);
94 blood_chunks.SetOrientation(ori);
95
96 power = power * decay_coef;
97 upscale = upscale + Math.RandomFloat(0.1, 1);
98
100 }
101 }
void ParticleManager(ParticleManagerSettings settings)
Constructor (ctor)
proto native float SurfaceY(float x, float z)
vector GetSurfaceOrientation(float x, float z)
Returns tilt of the ground on the given position in degrees, so you can use this value to rotate any ...
Particle GetParticle()
Gets the main particle which this Effect is managing.
void EffectParticle()
ctor
void ScaleParticleParam(int parameter_id, float coef)
Scales the given parameter on all emitors relatively to their CURRENT value.
proto native CGame GetGame()
proto native vector Vector(float x, float y, float z)
Vector constructor from components.