Alakazam your wishes are my command.
Code:
import "std.zh"
import "advmath.zh"

ffc script Zora2{
	void run(){
		npc zora = Screen->CreateNPC(33);
		while(zora->isValid()){
			if(zora->Tile >= 2500){
				for(int count = 1; count <= 10; count++){
					if(!zora->isValid() break;
					eweapon fs = Screen->CreateEWeapon(140);
					fs->X = zora->X;
					fs->Y = zora->Y;
					fs->Angle = findAngle(fs->X, fs->Y, Link->X, Link->Y);
					fs->Damage = 8;
					fs->Angular = true;
					if(fs->Angle==-PI || fs->Angle==PI) fs->Dir=2;
						else if(fs->Angle==-PI/2) fs->Dir=0;
						else if(fs->Angle==PI/2) fs->Dir=1;
						else if(fs->Angle==0) fs->Dir=3;
						else if(fs->Angle<-PI/2) fs->Dir=4;
						else if(fs->Angle<0) fs->Dir=5;
						else if(fs->Angle>(PI/2)) fs->Dir=6;
						else fs->Dir=7;
					fs->Step = 300;
					Game->PlaySound(13);
					Waitframes(6);
				}
			}
			while(zora->tile >= 2500){
				Waitframe();
			}
			Waitframe();
		}
	}
}
I tested this one, and it seems to work as it should.
Enjoy!