Only Stage 1 Normal? Hrm... now that I think about it, you may have a point.
Also thinking about it, I noticed that I only have one script that don't make heavy use of aimed bullets, that being Lucille's nonspell. Thus, all of them can pretty much be streamed.
On a side note, I was scripting and messing around with CreateShotA last night and wound up having the whole thing turn into an elaborate train wreck... that I think sums up my troubles right now -- I can make the script do stuff, but I can't quite make it do anything productive. I don't think it's worth a download link, but if I have to make one, I will.
#TouhouDanmakufu
#Title[Do something productive...]
#Text[Kay still has a lot to learn...]
#PlayLevel[Circle-9]
#Player[FREE]
#ScriptVersion[2]
script_enemy_main
{
let fr = 0;
let ang = 0;
let ang2 = 0;
let count = 60;
let rain = [RED05, ORANGE05, YELLOW05, GREEN05, AQUA05, BLUE05,
PURPLE05];
@Initialize
{
SetLife(4000);
SetEnemyMarker(true);
SetTimer(40);
SetMovePosition02(GetCenterX, GetCenterY, 60);
}
@MainLoop
{
fr++;
if(fr >= 120 && count > 0)
{
loop(8) //original loops 7
{
CreateShotA(1, GetX, GetY, 0);
SetShotDataA(1, 0, 5, ang + 315, 0, 0, 5, GREEN21);
SetShotDataA(1, 10, 5, ang + 315, 5, 0, 5, GREEN21);
SetShotDataA(1, 60, 5, ang + 0, -5, -0.2, 3, GREEN21);
SetShotDataA(1, 120, 3, ang + 115, 7, 0.2, 5, YELLOW21);
SetShotDataA(1, 180, 5, ang, 4, 0.1, 6, YELLOW21);
SetShotDataA(1, 240, 6, ang - 90, -9, -0.2, 3, RED21);
SetShotDataA(1, 300, 3, ang - 45, 0, 0, 3, RED21);
SetShotDataA(1, 360, 3, ang - 45, 7, 0.01, 5, PURPLE21);
SetShotDataA(1, 390, 5, ang - 45, 7, -0.01, 1, PURPLE21);
SetShotDataA(1, 420, 1, ang, 0, 0.1, 3, PURPLE21);
SetShotKillTime(1, 660);
FireShot(1);
ang += 360/8; //likewise, original divides by 7
}
ang += 0.05; //this line wasn't here before
count--;
fr = 119;
}
if(count == 40)
{
let div = 180;
loop(20)
{
CreateLaserA(2, GetX, GetY, 500, 10, WHITE04, 60);
SetLaserDataA(2, 0, ang2, 1, 0, 0, 0);
SetLaserDataA(2, 30, ang2 + 30, 0, 0, 0, 0);
SetShotKillTime(2, 90);
ascent(i in 1..8)
{
loop(3)
{
CreateShotA(3, 0, 0, 20);
SetShotDataA(3, 0, 1, div, 0, 0, 1, rain[i-1]);
AddShot(60, 2, 3, 500/i);
div += 360/3;
}
}
ang2 += 360/20;
FireShot(2);
}
}
if(count <= 0)
{
fr = 0;
count = 60;
}
}
@DrawLoop
{
}
@Background
{
}
@Finalize
{
}
}
I was trying to do something that didn't involve randomly-fired shots or aimed bullets, but it just wound up having huge blind spots.
At least I did this without referencing a tutorial, so I think I'm getting the technical details down.
EDIT: Above comments only apply to the original. Now, it has spinning action (and an extra arm in the pattern to keep things even) thanks to an observation and suggestion from AweStriker Nova.