Oopsie. fixed.
Also the wand magic was strewn together with no design at all really, and turned out kinda dumb as a result....I should fix that but what should it do? Spread shot like contra maybe?
Code:int fire3; int wand2; global script global_2{ void run(){ int attack_delay; while(true){ Waitframe(); int lx = Link->X; int ly = Link->Y; if(attack_delay>0)attack_delay--; if(Link->InputB && fire3>0){ if(attack_delay==0){ attack_delay = 6; lweapon laser = Screen->CreateLWeapon(LW_FIRE); if(Link->Dir==0){laser->Dir=0;laser->X=lx;laser->Y=ly-16;} else if(Link->Dir==1){laser->Dir=1;laser->X=lx;laser->Y=ly+16;} else if(Link->Dir==2){laser->Dir=2;laser->X=lx-16;laser->Y=ly;} else{ laser->Dir=3;laser->X=lx+16;laser->Y=ly;} laser->Step=200; laser->Damage=2; laser->CSet=8; Game->PlaySound(13); } } else fire3=0; } } } item script flamethrower_item{ void run(){ fire3=3; } } item script wand_lv2{ void run(int tile){ int d = 2; // damage int c = 7; // cset int s = 300; // speed int t = Link->Dir; int lx = Link->X; int ly = Link->Y; if(wand2>=0){ lweapon laser = Screen->CreateLWeapon(LW_MAGIC); if(Link->Dir==0){laser->Dir=0;laser->X=lx;laser->Y=ly-16;} else if(Link->Dir==1){laser->Dir=1;laser->X=lx;laser->Y=ly+16;} else if(Link->Dir==2){laser->Dir=2;laser->X=lx-16;laser->Y=ly;} else{ laser->Dir=3;laser->X=lx+16;laser->Y=ly;} laser->Step=s;laser->Tile=tile+t; laser->Damage=d; laser->CSet=c; Game->PlaySound(32); } if(wand2>=0){ lweapon laser = Screen->CreateLWeapon(LW_MAGIC); if(Link->Dir==0){laser->Dir=0;laser->X=lx+8;laser->Y=ly-16;} else if(Link->Dir==1){laser->Dir=1;laser->X=lx+8;laser->Y=ly+16;} else if(Link->Dir==2){laser->Dir=2;laser->X=lx-16;laser->Y=ly+8;} else{ laser->Dir=3;laser->X=lx+16;laser->Y=ly+8;} laser->Step=s;laser->Tile=tile+t; laser->Damage=d; laser->CSet=c; Game->PlaySound(32); } if(wand2>=0){ lweapon laser = Screen->CreateLWeapon(LW_MAGIC); if(Link->Dir==0){laser->Dir=0;laser->X=lx-8;laser->Y=ly-16;} else if(Link->Dir==1){laser->Dir=1;laser->X=lx-8;laser->Y=ly+16;} else if(Link->Dir==2){laser->Dir=2;laser->X=lx-16;laser->Y=ly-8;} else{ laser->Dir=3;laser->X=lx+16;laser->Y=ly-8;} laser->Step=s;laser->Tile=tile+t; laser->Damage=d; laser->CSet=c; Game->PlaySound(32); } if(wand2>=0){ lweapon laser = Screen->CreateLWeapon(LW_MAGIC); if(Link->Dir==0){laser->Dir=1;laser->X=lx;laser->Y=ly+16;laser->Tile=tile+1;} else if(Link->Dir==1){laser->Dir=0;laser->X=lx+8;laser->Y=ly-16;laser->Tile=tile;} else if(Link->Dir==2){laser->Dir=3;laser->X=lx+16;laser->Y=ly;laser->Tile=tile+3;} else{ laser->Dir=2;laser->X=lx-16;laser->Y=ly;laser->Tile=tile+2;} laser->Step=s; laser->Damage=d; laser->CSet=c; Game->PlaySound(32); } } } item script boomerang_multi{ void run(){ int s = 300; // b_rang speed int c = 11; lweapon fire1 = Screen->CreateLWeapon(LW_BRANG); fire1->Step=s; fire1->Damage=0; fire1->CSet=c; // cset Game->PlaySound(4); if(Link->InputLeft && Link->InputUp){ fire1->X = Link->X - 16; fire1->Y = Link->Y - 16; fire1->Dir=4; } else if(Link->InputRight && Link->InputUp){ fire1->X = Link->X + 16; fire1->Y = Link->Y - 16; fire1->Dir=5; } else if(Link->InputLeft && Link->InputDown){ fire1->X = Link->X - 16; fire1->Y = Link->Y + 16; fire1->Dir=6; } else if(Link->InputRight && Link->InputDown){ fire1->X = Link->X + 16; fire1->Y = Link->Y + 16; fire1->Dir=7; } else{ if(Link->Dir == 0) { fire1->X = Link->X; fire1->Y = Link->Y - 16; fire1->Dir=0; } if(Link->Dir == 1) { fire1->X = Link->X; fire1->Y = Link->Y + 16; fire1->Dir=1; } if(Link->Dir == 2) { fire1->X = Link->X - 16; fire1->Y = Link->Y; fire1->Dir=2; } if(Link->Dir == 3) { fire1->X = Link->X + 16; fire1->Y = Link->Y; fire1->Dir=3; } } } }