sorry for bumping a somewhat old thread...
a friend of mine made me make this spell card and is asking me to make a video of it... problem is, I can't beat it without continuing at least once... can someone upload a video of this somewhere? (yes, he requested that amount of life and low damage rate... he says it's supposed to be ultra-mode difficulty which is lunaticx2 for him... just hope that ultra-mode isn't harder than lunautic... :V)
#TouhouDanmakufu
#Title[Holy Sign "Imperial Garden"]
#Text[]
#Player[FREE]
#ScriptVersion[2]
script_enemy_main {
let frame=0;
let frame2=0;
let cx=GetCenterX();
@Initialize
{
SetScore(3000000);
SetLife(1000);
SetDamageRate(10,0);
SetTimer(500);
SetGraphicRect(1,1,64,64);
SetInvincibility(50);
SetMovePosition02(cx,90,50);
Concentration01(150);
}
@MainLoop{
SetCollisionA(GetX, GetY, 32);
SetCollisionB(GetX, GetY, 16);
frame++;
frame2++;
yield;
if(OnBomb==true)
{
SetDamageRate(0, 0);
}else{
SetDamageRate(10,0);
}
if(frame==50)
{
CreateLaserA(1, GetClipMinX+75, GetClipMaxY-180, GetClipMaxX/2-50, 20, BLUE03, 30);
CreateLaserA(2, GetClipMaxX-75, GetClipMaxY-180, GetClipMaxX/2-50, 20, BLUE03, 30);
SetLaserDataA(1, 0, 0, -1, 0, 0, 0);
SetLaserDataA(2, 0, 180, 1, 0, 0, 0);
FireShot(1);
FireShot(2);
CreateLaserA(1, GetClipMinX, GetClipMinY+50, GetClipMaxX, 30, BLUE03, 30);
CreateLaserA(2, GetClipMaxX, GetClipMinY+50, GetClipMaxX, 30, BLUE03, 30);
SetLaserDataA(1, 0, 0, 0, 0, 0, 0);
SetLaserDataA(2, 0, 180, 0, 0, 0, 0);
FireShot(1);
FireShot(2);
}
if(frame2>100 && frame2%30==0)
{
ascent(i in -1..2)
{
CreateShot01(GetX, GetY, 3, GetAngleToPlayer+i*15, RED02, 15);
CreateShot01(GetX+150, GetY, 3, 180+atan2(GetY-GetPlayerY, GetX+150-GetPlayerX)+i*15, RED01, 15);
CreateShot01(GetX+100, GetY, 3, 180+atan2(GetY-GetPlayerY, GetX+100-GetPlayerX)+i*15, RED01, 15);
CreateShot01(GetX+50, GetY, 3, 180+atan2(GetY-GetPlayerY, GetX+50-GetPlayerX)+i*15, RED01, 15);
CreateShot01(GetX-50, GetY, 3, 180+atan2(GetY-GetPlayerY, GetX-50-GetPlayerX)+i*15, RED01, 15);
CreateShot01(GetX-100, GetY, 3, 180+atan2(GetY-GetPlayerY, GetX-100-GetPlayerX)+i*15, RED01, 15);
CreateShot01(GetX-150, GetY, 3, 180+atan2(GetY-GetPlayerY, GetX-150-GetPlayerX)+i*15, RED01, 15);
CreateShot01(GetX+150, GetY+350, 3, 180+atan2(GetY+350-GetPlayerY, GetX+150-GetPlayerX)+i*15, RED01, 15);
CreateShot01(GetX+100, GetY+350, 3, 180+atan2(GetY+350-GetPlayerY, GetX+100-GetPlayerX)+i*15, RED01, 15);
CreateShot01(GetX+50, GetY+350, 3, 180+atan2(GetY+350-GetPlayerY, GetX+50-GetPlayerX)+i*15, RED01, 15);
CreateShot01(GetX-50, GetY+350, 3, 180+atan2(GetY+350-GetPlayerY, GetX-50-GetPlayerX)+i*15, RED01, 15);
CreateShot01(GetX-100, GetY+350, 3, 180+atan2(GetY+350-GetPlayerY, GetX-100-GetPlayerX)+i*15, RED01, 15);
CreateShot01(GetX-150, GetY+350, 3, 180+atan2(GetY+350-GetPlayerY, GetX-150-GetPlayerX)+i*15, RED01, 15);
}
}
if(OnPlayerMissed==true)
{
frame2=-20;
SetInvincibility(120);
}
}
@Finalize
{
}
@DrawLoop
{
}
}