 			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) {

		out_velocity_active=vec4(0.0);
		out_custom=vec4(0.0);
		if (!restart)
			active=false;

		xform = mat4(
				vec4(1.0,0.0,0.0,0.0),


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

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