//j
	task DeathExplosion1(x,y){
		loop(60) {
			DeathEffect(x,y,0,255,200,200,rand_int(-2,2),rand_int(-2,2),rand_int(-2,2));
			DeathEffect(x,y,1,200,200,255,rand_int(-2,2),rand_int(-2,2),rand_int(-2,2));
			DeathEffect(x,y,2,200,255,200,rand_int(-2,2),rand_int(-2,2),rand_int(-2,2));
			DeathEffect(x,y,3,255,255,200,rand_int(-2,2),rand_int(-2,2),rand_int(-2,2));
			wait(2);
		}
	}

//j
	task DeathExplosion2(x,y){
		loop(30) {
			DeathEffect(x,y,0,255,200,200,rand_int(-2,2),rand_int(-2,2),rand_int(-2,2));
			DeathEffect(x,y,1,200,200,255,rand_int(-2,2),rand_int(-2,2),rand_int(-2,2));
			DeathEffect(x,y,2,200,255,200,rand_int(-2,2),rand_int(-2,2),rand_int(-2,2));
			DeathEffect(x,y,3,255,255,200,rand_int(-2,2),rand_int(-2,2),rand_int(-2,2));
			wait(2);
		}
	}

//jGtFNg
	task DeathEffect(x,y,type, r, g, b,efx,efy,efz){
		let Obj	    = Obj_Create(OBJ_EFFECT);
		let angx    = 0;
		let angy    = 0;
		let angz    = 0;
		let scale   = rand_int(1,3);
		let speed   = rand(2, 4);
		let alpha   = 100;
		let chscale = 0;
		let angle   = rand(0,360);

		Obj_SetPosition(Obj, x, y);
		ObjEffect_SetTexture(Obj, imgEffect);
		ObjEffect_SetRenderState(Obj, ADD);
		ObjEffect_SetPrimitiveType(Obj, PRIMITIVE_TRIANGLESTRIP);
		ObjEffect_SetScale(Obj, scale, scale);
		ObjEffect_SetAngle(Obj,0,0,angle+90);
		Obj_SetSpeed(Obj, speed);
		Obj_SetAngle(Obj, angle);
		ObjEffect_SetLayer(Obj, 2);

		ObjEffect_CreateVertex(Obj, 4);
		ObjEffect_SetVertexXY(Obj, 0, -15, -15);
		ObjEffect_SetVertexXY(Obj, 1, -15,  15);
		ObjEffect_SetVertexXY(Obj, 2,  15, -15);
		ObjEffect_SetVertexXY(Obj, 3,  15, 15);

		ObjEffect_SetVertexUV(Obj, 0, 30*type, 0);
		ObjEffect_SetVertexUV(Obj, 1, 30*type, 30);
		ObjEffect_SetVertexUV(Obj, 2, 30+30*type, 0);
		ObjEffect_SetVertexUV(Obj, 3, 30+30*type, 30);

		while(alpha<120){
			ObjEffect_SetVertexColor(Obj, 0, alpha, r, g, b);
			ObjEffect_SetVertexColor(Obj, 1, alpha, r, g, b);
			ObjEffect_SetVertexColor(Obj, 2, alpha, r, g, b);
			ObjEffect_SetVertexColor(Obj, 3, alpha, r, g, b);
			alpha+=5;
		}

		Angle;
		wait(60);

		loop(20){
			chscale+=scale/20;
			ObjEffect_SetScale(Obj, scale-chscale, scale-chscale);
			wait(1);
		}	

		task Angle{
			loop{
				ObjEffect_SetAngle(Obj,angx,angy,angle+90+angz);
				wait(1);
				angx+=efx;
				angy+=efy;
				angz+=efz;
				yield;
			}
		}

		Obj_Delete(Obj);
	}