I found a small error in the 3rd Spell Card (Insect Sign"Dancing of Fireflies"). If the bubbles are for some reason (bombing/deathwaves) deleted before they get to explode, the glowing bullets will be fired from the upper left corner of the screen. That happens because you're trying to fire them from the coordinates (ObjMove_GetX(obj),ObjMove_GetY(obj)) (where "obj" is the bubble), but when "obj" doesn't exist, the coordinates become (0,0) because that's apparently the default value of ObjMove_GetX(obj) and ObjMove_GetY(obj). This can be solved in two ways. You can either just make the bubbles bomb resistant with ObjShot_SetSpellResist(obj,true) or you could replace the task "Manage" with this:
task Manage(obj){
let dir = rand(-10,10);
wait(120);
if(!Obj_IsDeleted(obj))
{
ascent(i in 0..6){
CreateShotA2(ObjMove_GetX(obj),ObjMove_GetY(obj),5,i*60+dir,-0.15,1.5,ORB_YELLOW,10);
}
Obj_Delete(obj);
}
}
and replace the task "Manage2" with this:
task Manage2(obj){
let angle = 0;
wait(120);
if(!Obj_IsDeleted(obj))
{
angle = getAtanAngle(obj,objPlayer)+rand(-10,10);
ascent(i in 0..4){
CreateShotA2(ObjMove_GetX(obj),ObjMove_GetY(obj),5,angle+i*90,-0.2,1.5,ORB_GREEN,10);
}
Obj_Delete(obj);
}
}
The only change I made is that I used Obj_IsDeleted(obj) to check if the bubble is deleted and did so that glowing bullets are only fired if the bubble still exists.
Anyway, it's a pretty nice script. The patterns are fun and feel in character, but not stolen. Egg Barrier and Hidden Bug are in my opinion the most interesting ones, even though I find that the latter is too difficult (but it could be because I'm anything but used to that gimmick).