Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Drawing the orbiting-familiar fairies
- task orbitFairy(xpos,ypos,xdest,ydest) {
- let angle = 0;
- let enemy = ObjEnemy_Create(OBJ_ENEMY);
- ObjEnemy_Regist(enemy);
- ObjEnemy_SetLife(enemy,2000);
- ObjPrim_SetTexture(enemy,imgEnemy);
- redAnim(enemy);
- ObjMove_SetPosition(enemy,xpos,ypos);
- ObjMove_SetDestAtWeight(enemy,xdest,ydest,10,6);
- flyAway(enemy);
- task flyAway(enemy) {
- wait(900);
- ObjMove_SetAngle(enemy,-90);
- ObjMove_SetSpeed(enemy,3);
- wait(70);
- Obj_Delete(enemy);
- }
- loop(10) {
- famSpawn(enemy,angle);
- angle+=360/10;
- }
- task famSpawn(enemy,angle) {
- PlaySE(familiar);
- let fam = ObjEnemy_Create(OBJ_ENEMY);
- ObjEnemy_Regist(fam);
- ObjEnemy_SetLife(fam,10000);
- ObjPrim_SetTexture(fam,imgEnemy2);
- redFam(fam);
- orbit;
- task orbit {
- loop {
- ObjEnemy_SetIntersectionCircleToShot(enemy,getX(fam),getY(fam),48);
- ObjMove_SetPosition(fam,getX(enemy)+50*cos(angle),getY(enemy)+50*sin(angle));
- if(ObjEnemy_GetInfo(enemy,INFO_LIFE) <= 0) {
- Obj_Delete(fam);
- }
- if(ObjEnemy_GetInfo(fam,INFO_LIFE) <= 0) {
- DeleteShotAll(TYPE_CHILD,TYPE_ITEM);
- return;
- }
- angle+=10;
- if(angle==360) {angle = 0;}
- yield;
- }
- }
- shotProp(angle);
- task shotProp(angle) {
- blueShot(angle);
- redShot(angle);
- pelletShot;
- task blueShot(angle) {
- let ang = angle+45;
- while(!Obj_IsDeleted(fam)) {
- let speed = 3;
- loop(3) {
- CreateShotA1(getX(fam),getY(fam),speed,ang,64,2);
- speed-=0.15;
- }
- PlaySE(shot2);
- ang+=10;
- if(ang==360) {ang = 0;}
- wait(15);
- }
- }
- task redShot(angle) {
- wait(60);
- let ang = angle;
- while(!Obj_IsDeleted(fam)) {
- CreateShotA1(getX(fam),getY(fam),2,ang,60,2);
- PlaySE(shot1);
- ang+=200;
- if(ang==360) {ang=0;}
- wait(20);
- }
- }
- task pelletShot {
- wait(150);
- let ang = angle;
- while(!Obj_IsDeleted(fam)) {
- CreateShotA1(getX(fam),getY(fam),2.5,ang-180,92,2);
- PlaySE(bulletwave);
- ang+=70;
- if(ang==360) {ang = 0;}
- wait(4);
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement