Three new lv3 items:


EDIT: Ok, bugfix. Use the CUSTOM ITEM CLASSES for the b_rang and the flamethrower. Also you probably need at least the lv1 boomerang for the sprites to display correctly.

I always use the custom item classes for all of these weapons sense that's what they were designed for.



The flamethrower candle,
The lv2 (or lv3) Wand,
The Multi_rang! (my personal favorite)


Everything is basically already set up. If you want to change something then change it in the code. You'll see stuff like:
"// cset" or
"// speed"
for example. change it from there.

EXEPT the wand magic item. This one is meant to be used for NON Z3 MOVEMENT, and you'll have to slightly change it for animating the magic sprite. ...or if you like request what you want and i'll change it for you.

Wand lv2 item uses one D variable, Tile. Just set D0 argument to the tile you want to use.This should be arranged as 4 tiles in your tiles page! *Up,Down,Left,Right.*

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(WPN_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=2;
					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 = 3; // speed

		int t = Link->Dir;

		int lx = Link->X; int ly = Link->Y;

		if(wand2>=0){
		lweapon laser = Screen->CreateLWeapon(WPN_WAND);
					
		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(WPN_WAND);
					
		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(WPN_WAND);
					
		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(WPN_WAND);
					
		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 = 3; // b_rang speed
	int c = 11;

		lweapon fire1 = Screen->CreateLWeapon(WPN_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;
			}
		}
	}
}

http://www.youtube.com/watch?v=1nqf3Gj4DCs
Thanks to bigjoe for making a video. I had no problems with the boomerang sprites though...Ah, I just figured it out.




Oh, and one more cool thing: The Multirang will shoot whatever type boomerangs you currently have! So if you have fire boomerangs for example, Now you have LOTS of fire boomerangs. :)


..Screenshots:


Practice your accuracy by trying to stun multiple enemies!


I think sweet fiery vengance speaks for itself.


Maybe too powerful??? Hmm...OK got it, simply make the item use magic in the item editor. peice of cake.