Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #TouhouDanmakufu
- #ScriptVersion[3]
- #Title["SampleA01"]
- #Text["SampleA01:Curve lasers"]
- #include"script/default_system/Default_ShotConst.txt"
- let objPlayer;
- let objEnemy;
- let frame = 0;
- @Event
- {
- alternative(GetEventType())
- case(EV_REQUEST_LIFE)
- {
- SetScriptResult(500);
- }
- case(EV_REQUEST_TIMER){SetScriptResult(90);}
- }
- @Initialize
- {
- objPlayer = GetPlayerObjectID();
- let objScene = GetEnemyBossSceneObjectID();
- ObjEnemyBossScene_StartSpell(objScene);
- objEnemy = ObjEnemy_Create(OBJ_ENEMY_BOSS);
- ObjEnemy_Regist(objEnemy);
- let imgExRumia = GetCurrentScriptDirectory ~ "Typhi.png";
- ObjPrim_SetTexture(objEnemy, imgExRumia);
- ObjSprite2D_SetSourceRect(objEnemy, 0, 0, 42, 42);
- ObjSprite2D_SetDestCenter(objEnemy);
- let cx = GetStgFrameWidth() / 2;
- ObjMove_SetDestAtFrame(objEnemy, cx, 60, 60);
- ObjEnemy_SetDamageRate(objEnemy, 10, 10);
- }
- @MainLoop
- {
- yield;
- let ex = ObjMove_GetX(objEnemy);
- let ey = ObjMove_GetY(objEnemy);
- ObjEnemy_SetIntersectionCircleToShot(objEnemy, ex, ey, 32);
- ObjEnemy_SetIntersectionCircleToPlayer(objEnemy, ex, ey, 24);
- if(ObjEnemy_GetInfo(objEnemy, INFO_LIFE) <= 0)
- {
- DeleteShotAll(TYPE_ALL,TYPE_ITEM);
- Obj_Delete(objEnemy);
- CloseScript(GetOwnScriptID());
- return;
- }
- }
- task EDivShot(x,y,a,g,d,k){
- let obj=ObjShot_Create(OBJ_SHOT);
- ObjMove_SetPosition(obj,x,y);
- ObjShot_SetGraphic(obj,g);
- ObjMove_SetAngle(obj,a);
- ObjMove_SetSpeed(obj,0);
- ObjShot_Regist(obj);
- let t=0;
- while(ObjEnemy_GetInfo(objEnemy, INFO_LIFE)>0 && !Obj_IsDeleted(obj)){
- t++;
- yield;
- if(t==d){CreateShotA2(ObjMove_GetX(obj),ObjMove_GetY(obj),0,a-60,0.05,1.5,g+1,0);
- CreateShotA2(ObjMove_GetX(obj),ObjMove_GetY(obj),0,a+60,0.05,1.5,g+1,0);}
- if(t==d+60){ObjMove_SetAngle(obj,a+k);}
- if(t>=d+60){ObjMove_SetSpeed(obj,(t-(d+60))*0.01);}
- }
- Obj_Delete(obj);
- }
Advertisement
Add Comment
Please, Sign In to add comment