script_spell VUDU {
   let MasterFlag=true;
   let nights = GetArgument[0];
   let bBomb = 1;

    @Initialize {
        SetPlayerInvincibility(210);
	TMain;
	
    }

    @Finalize {
	
    }

    @MainLoop {
        yield;

    }

 task TMain {
	let angle = atan2(GetEnemyY - GetPlayerY, GetEnemyX - GetPlayerX);
	let range = 1;
	let hate = 0;
	if(nights >= 7){
		range = 7;
	}
	PlaySE("seBomb_MarisaA.wav");
	loop(200){
		if(hate%15 == 1){
			let n = 0;
			if(hate % 2 == 0) {let n = 1;
				let angle=atan2(GetEnemyY()-GetPlayerY, GetEnemyX()-GetPlayerX+24);
				Boom(GetPlayerX+24,GetPlayerY, 1.5, angle, nights, 30, 30, 8);
			}
			else{let angle=atan2(GetEnemyY()-GetPlayerY, GetEnemyX()-GetPlayerX-24);
				Boom(GetPlayerX-24,GetPlayerY, 1.5, angle, nights, 30, 30, 9);
			}
		}
		hate++;
		yield;
	}
	End;
    }

task Boom(let x,let y, let speed, let angle, let damage, let range, let penetrate, let stype){
		ascent(n in 0..range){
			Danmaq(x,y,speed,angle + n*(360/range),damage,penetrate,stype);
		}
	}
	task Danmaq(let x,let y,let speed,let angle,let damage,let penetlate,let stype){
		let objShot= Obj_Create(OBJ_SHOT);
		Obj_SetX(objShot, x);
		Obj_SetY(objShot, y);
		Obj_SetAlpha(objShot,255); 
  	      	ObjShot_SetGraphic(objShot, stype);
		ObjShot_SetDamage(objShot, 1+(damage/6));    
		ObjShot_SetPenetration(objShot, penetlate);
		Obj_SetAngle(objShot, angle);
		Obj_SetSpeed(objShot,speed);
		while( !Obj_BeDeleted(objShot)){
			yield;
			}
		Obj_Delete(objShot);
	}
	
}