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 ) );
80 pos[1] =
g_Game.SurfaceY(pos[0], pos[2]);
81
83 eff.SetAutodestroy(true);
84 SEffectManager.PlayInWorld(eff, pos);
85
87
88 vector ori =
g_Game.GetSurfaceOrientation(pos[0], pos[2]);
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)
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 vector Vector(float x, float y, float z)
Vector constructor from components.