Galaxium III straight asteroid

From Hack Wars Wiki

Jump to: navigation, search
#define functions
int main(){
	int frame = getLocal("frames");
	int explode = getLocal("explode");
	int show = getLocal("show");
	int health = getLocal("health");
	int direction = getLocal("direction");
	int x = getX();
	int y = getY();
	int dealdamage=getLocal("dealdamage");
	setLocal("frames",frame+1);
 
	int movex=(-3);
	if(direction==1){
	setX(x+movex);
	if(getX()<-32){
		destroySprite();
	}
	}else{
	setX(x-movex);
	if(getX()>1300){
		destroySprite();
	}
	}
	//setY(y+movey);
	if(explode==0){
		/*if(show>8)
			setImage(13);
		else
			setImage(12);*/
		int current = getFrame();
		int new = current;
		if(frame%10==0)
			new = new+1;
		if(new==8)
			new=0;
		int newShow = show+1;
		if(newShow==16)
			newShow=0;
		//setLocal("show",newShow);
		//setFrame(new);
        setZRotation(getZRotation()+2);
 
		while(getMessageCount()>0){
			if(getFlag()=="damage"){
				int damage=getMessage();
				health=health-damage;
			}
 
			if(health<=0){
				setLocal("explode",frame);
				setImage(14);
                setRenderType(0);
				setGlobal("score",getGlobal("score")+20);
			}
			setLocal("health",health);
 
			if(getFlag()=="damagedone"){
				setLocal("dealdamage",0);
			}
			nextMessage();
		}
 
		while(getCollidedCount()>0&&dealdamage==0){
 
			int target=collidedWith();
			string type=getLocal(target,"type");
			if(type=="player"){
 
				int s=createSprite(11,7,x+16,y+16,2);
				setFrame(s,2);
				setLocal(s,"damage",0);
				setLocal(s,"movey",movey);
				setLocal(s,"movex",movex);
				setLocal(s,"life",0);
				setLocal(s,"explode",3);
				setLocal(s,"parent",getID());
				setLocal("dealdamage",1);
				setLocal(s,"type","asteroidexplode");	
				messageSprite(target,"damage",20);
			}
			nextCollided();
		}
 
	}
	else{
		int image = getImage();
		if(image==14)
			explode(frame,explode,false);
		else
			explode(frame,explode,true);
	}
 
}
 
int explode(int life,int explodestart,boolean destroy){
	if(destroy==false){
		drawText("20","courier",10,getX()-getViewportX()+32,getY()-getViewportY()+32-(life-explodestart),255,255,255,255);
	}
 
if(life<explodestart+3){
	setFrame(0);
}else if(life<explodestart+6){
	setFrame(1);
}else if(life<explodestart+9){
	setFrame(2);
}else if(life<explodestart+12){
	setFrame(3);
}else if(life<explodestart+15){
	setFrame(4);
}else if(life<explodestart+18){
	setFrame(5);
}else if(life<explodestart+21){
	if(destroy==true)
		destroySprite();
	else{
		setImage(15);
		setLocal("explode",life);
	}
}
}
Personal tools