OH GAWD ILU SO MUCH
wait does it cause lots of lag.
EDIT: it does of course it does but that doesnt reduce the amount of awesomeness
edit: i dare you
#TouhouDanmakufu
#Title[Test]
#Text[Use this.]
#Image[]
#BackGround[IceMountain]
#Player[FREE]
#ScriptVersion[2]
script_enemy_main {
let frame = -300;
let BossImage = "script\img\ExRumia.png";
let CutInGraphic = "script\img\rumiacut.png";
let bossname = "Boss Name";
let Spell = 0;
let SpellName = "Spell Card「Name」";
#include_function "script\cutin\cutin.txt";
#include_function "lib\BROFIST_REPLACE\shot_replace.dnh";
@Initialize {
initmebro;
SetLife(630); SetDamageRate(12, 5); SetTimer(103);
SetEnemyMarker(true); MagicCircle(true); SetInvincibility(180);
LoadGraphic(BossImage);
CutIn(YOUMU, SpellName, "", 0, 0, 0, 0); SetScore(1200000);
cutin("TIREI", CutInGraphic, 0, 0, 400, 400);
SetX(GetCenterX); SetY(GetClipMinY);
LoadGraphic(BossImage);
TMain;
SetEffectForZeroLife(60, 55, 3); //LastSpell;
SetShotAutoDeleteClip(200, 200, 200, 200);
}
@MainLoop {
Expert; SetPlayerInvincibility(0);
if(Spell <= 1) {
SetCollisionA(GetX, GetY, 36); SetCollisionB(GetX, GetY, 10);
}
yield;
}
let animation = 0;
@DrawLoop {
DrawText(bossname, 40, 36, 12, 255);
SetTexture(BossImage);
animation++; if(animation==600){animation=0;}
if(GetSpeedX()==0){
if(animation<=300){ SetGraphicRect(64,1,127,64); }
else if(animation>300 && animation<=600){ SetGraphicRect(0,1,63,64); }
}
else if(GetSpeedX()>0){SetGraphicRect(192,1,255,64);}
else if(GetSpeedX()<0){SetGraphicRect(128,1,191,64);}
SetGraphicAngle(0, 0, 0);
SetGraphicScale(1, 1);
SetRenderState(ALPHA);
SetAlpha(255);
SetColor(255, 255, 255);
DrawGraphic(GetX, GetY);
}
@Finalize {
DeleteGraphic(BossImage);
}
task TMain {
SetMovePosition02(GetCenterX, GetClipMinY+100, 20);
loop(60){yield;}
Concentration01(120); PlaySE("se\se_ch00.wav");
loop(120){yield;}
Attack1;
Attack2;
Attack3;
}
task Attack1 {
let a = 0;
let side = 1;
let count = 0;
loop {
count++;
if(count > 0 && count <= 150) {
PlaySE("se\se_tan01.wav");
//ascent(i in 0..2) {
CreateShot01(GetX-20*cos(a/*+i*60*/), GetY-20*sin(a/*+i*60*/), 50, a/*+i*60*/, 1, 20);
//}
a+=30.5*side;
}
if(count == 150) { side*=-1; count = -10; }
loop(1) { yield; }
}
}
task Attack2 {
let a = 0;
let side = -1;
let count = 0;
loop {
count++;
if(count > 0 && count <= 60) {
PlaySE("se\se_tan00.wav");
//ascent(i in 0..9) {
CreateShot01(GetX, GetY, 50.5, a/*+i*1/2*/, 1, 0/*i*3*/);
//}
a+=30.5*side;
}
if(count == 60) { side*=-1; count = -10; }
loop(1) { yield; }
}
}
task Attack3 {
let a = 0;
let side = -1;
let count = 0;
loop {
PlaySE("se\se_tan02.wav");
//loop(20) {
CreateShot01(GetX, GetY, 50.5, a, 1, 10);
//a+=360/20;
//}
a-=40.5;
loop(60) { yield; }
}
}
}
Commented for easy.