 			for(int i=0;i<attractor_count;i++) {
 
 				vec3 rel_vec = xform[3].xyz - attractors[i].pos;
-				float dist = rel_vec.length();
+				float dist = length(rel_vec);
 				if (attractors[i].radius < dist)
 					continue;
 				if (attractors[i].eat_radius>0 &&  attractors[i].eat_radius > dist) {


	restart_phase*= (1.0-explosiveness);
	bool restart=false;
	bool active = velocity_active.a > 0.5;

	if (system_phase > prev_system_phase) {
		if (prev_system_phase < restart_phase && system_phase >= restart_phase) {

	uint particle_number = current_cycle * uint(total_particles) + uint(gl_VertexID);

	if (restart) {
		shader_active=emitting;
	}

	mat4 xform;
