Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #TouhouDanmakufu[Single]
- #ScriptVersion[3]
- #Title["HommerL"]
- #Text["WIP"]
- #include "./Cutin/Cutin.txt"
- #include "./ShallaHammer_Const.txt"
- #include "./ShallareGoldHam_Const.txt"
- #include "script/default_system/Default_ShotConst.txt"
- let GSD = GetCurrentScriptDirectory();
- let stgx=GetStgFrameWidth()/2;
- let stgy=GetStgFrameHeight()/2;
- let objBoss;
- let objScene=GetEnemyBossSceneObjectID();
- let count = 0;
- @Event{
- alternative(GetEventType())
- case(EV_REQUEST_LIFE){
- SetScriptResult(3500);
- }
- case(EV_REQUEST_TIMER){
- SetScriptResult(70);
- }
- case(EV_REQUEST_SPELL_SCORE){
- SetScriptResult(1000000);
- }
- }
- @Initialize{
- objBoss = ObjEnemy_Create(OBJ_ENEMY_BOSS);
- ObjEnemy_Regist(objBoss);
- ObjMove_SetDestAtFrame(objBoss, GetCenterX, GetCenterY-40, 60);
- ObjEnemyBossScene_StartSpell(objScene);
- TDrawLoop2;
- StartSpell;
- TFinalize;
- }
- @MainLoop{
- ObjEnemy_SetIntersectionCircleToShot(objBoss, ObjMove_GetX(objBoss), ObjMove_GetY(objBoss), 32);
- ObjEnemy_SetIntersectionCircleToPlayer(objBoss, ObjMove_GetX(objBoss), ObjMove_GetY(objBoss), 24);
- if(count % 30 == 0){
- Gold;
- }
- count++;
- yield;
- }
- task move{
- wait(300);
- loop(12){
- Gold;
- }
- }
- task fire{
- wait(80);
- if(ObjEnemy_GetInfo(objBoss, INFO_LIFE) <= 0){return;} //Default kill to prevent (0,0) spawning
- let angleT = GetAngleToPlayer(objBoss);
- let ToPlayer = ObjMove_GetAngle(objBoss);
- let ToPlayer2 = 0;
- wait(60);
- }
- task Gold{
- wait(300);
- let angle = 0;
- let angleT = GetAngleToPlayer(objBoss);
- let GoldHam = CreateShotA1(GetPlayerX, -50, 10, 90, 301, 20);
- ObjShot_SetSpellResist(GoldHam, true);
- loop(60){yield;}
- ascent(i in 30 .. 3300)
- {
- if(Obj_IsDeleted(GoldHam)){break;}
- let shotSpeed = rand(0.5,1.5);
- let sx = ObjMove_GetX(GoldHam);
- let sy = ObjMove_GetY(GoldHam);
- CreateShotA1(sx, sy - 10, rand(0.5,1.5), rand(0,360), 226, 30);
- yield;
- }
- wait(400);
- }
- task fire2{
- if(ObjEnemy_GetInfo(objBoss, INFO_LIFE) <= 0){return;} //Default kill to prevent (0,0) spawning
- let angleT = GetAngleToPlayer(objBoss);
- let ToPlayer = ObjMove_GetAngle(objBoss);
- }
- task StartSpell{
- let objEnemy = GetEnemyBossObjectID[0];
- wait(60);
- let rumia = GSD ~ "./Img/Shallare.png";
- ObjCutin_SetSpellcardS4("Legendary Relic \"Ancient Golden Hammer\"", rumia, KANAKO, 128, 0, 96);
- ObjCutin_LaunchS3(NAZRIN, rumia, "Lunatic");
- }
- task TDrawLoop2 {
- let imgExRumia = GetCurrentScriptDirectory() ~ "./Img/Sha2.png";
- ObjPrim_SetTexture(objBoss, imgExRumia);
- ObjSprite2D_SetSourceRect(objBoss, 0, 0, 64, 80);
- ObjSprite2D_SetDestCenter(objBoss);
- }
- task TFinalize {
- while(ObjEnemy_GetInfo(objBoss, INFO_LIFE) > 0){yield;}
- if(ObjEnemyBossScene_GetInfo(objScene, INFO_PLAYER_SHOOTDOWN_COUNT)
- +ObjEnemyBossScene_GetInfo(objScene, INFO_PLAYER_SPELL_COUNT) == 0){
- AddScore(ObjEnemyBossScene_GetInfo(objScene, INFO_SPELL_SCORE));
- }
- Obj_Delete(objBoss);
- DeleteShotAll(TYPE_ALL, TYPE_IMMEDIATE);
- SetAutoDeleteObject(true);
- CloseScript(GetOwnScriptID());
- return;
- }
- function GetCenterX(){
- return GetStgFrameWidth() / 2;
- }
- function GetCenterY(){
- return GetStgFrameHeight() / 2;
- }
- function wait(n){
- loop(n){yield;}
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement