//A Bikerider.

class HellsAngels : Actor
{
	//$Category Desgraciados
	//$Title Hell' s Angel
	
	actor mockvictim;
	Default
	{
		Health 220;
		Gibhealth 30;
		Radius 20;
		Height 56;
		Mass 150;
		Speed 10;
		PainChance 200;
		Monster;
		DamageFactor "Blal", 15;
		DamageFactor "Boomerangz", 100;
		DamageFactor "Grenade", 5;
		DamageFactor "Diabetes", 0;
		DamageFactor "Ass", 0;
		DamageFactor "Steel", 0.5;
		DamageFactor "Powder", 150;
		DamageFactor "Radiation", 106;
		DamageFactor "Time", 5;
		DamageFactor "Maser", 250;
		DamageFactor "Air", 0;
		DamageFactor "HipTo", 3;
		DamageFactor "Fire", 150;
		DamageFactor "Ramming", 150;
		DamageFactor "Bloon", 50;
		DamageFactor "Huje", 0.7;
		DamageFactor "Kaboomz", 11;
		DamageFactor "Images", 0;
		DamageFactor "Poison", 19;
		DamageFactor "Ice", 255;
		DamageFactor "Lightning", 150;
		Tag "Hell's Angel";
		+MISSILEEVENMORE;
		+DONTHARMCLASS;
		+NOGRAVITY;
		+FLOAT;
		SeeSound "HellsAngel/Alert";
		PainSound "HellsAngel/Pain";
		DeathSound "HellsAngel/Death";
		ActiveSound "HellsAngel/Active";
		Obituary "%o was sucked to death by a Hell's Angel.";
	}
	States
	{
	Spawn:
		TNT1 A 0 Nodelay 
		{
			if (mockvictim && mockvictim.health <= 0)
			{
				A_StartSound("HellsAngel/Laughter",4711);
				mockvictim = null;
			}
			A_StartSound("HellsAngel/Wingflap",4712);
		}
		VHSA CCDDAABB 2 A_Look;
		Loop;
	See:
		TNT1 A 0 
		{
			if (mockvictim && mockvictim.health <= 0)
			{
				A_StartSound("HellsAngel/Laughter",4711);
				mockvictim = null;
			}
			A_StartSound("HellsAngel/Wingflap",4712);
			if (!random(0,1))
			{
				SetStateLabel("Dodge");
			}
		}
		VHSA CCDDAABB 2 A_Chase;
		Loop;
	Missile:
		VHSA E 2 
		{
			if (target)
			{
				mockvictim = target;
			}
			A_FaceTarget();
			A_StartSound("HellsAngel/Wingflap",4712);
		}
		VHSA E 2 bright A_SpawnProjectile("HellsAngelFireball");
		VHSA F 2 A_FaceTarget;
		VHSA F 2 bright A_SpawnProjectile("HellsAngelFireball");
		VHSA G 2 A_FaceTarget;
		VHSA G 2 bright A_SpawnProjectile("HellsAngelFireball");
		VHSA H 2 A_FaceTarget;
		VHSA H 2 bright A_SpawnProjectile("HellsAngelFireball");
		TNT1 A 0
		{
			if (!random(0,3))
			{
				SetStateLabel("Missile");
			}
		}
		Goto See;
	Dodge:
		TNT1 A 0
		{
			A_FaceTarget();
			A_StartSound("HellsAngel/Wingflap",4712);
			if (target)
			{
				double ang = angleto(target);
				ThrustThing(ang*256/360+randompick(64,192),random(5,10),0,0);
				ThrustThingZ(0, random(0,28), random(0,1), 0);
			}	
		}
		VHSA CCDDAABB 2
		{
			A_ScaleVelocity(0.90);
			A_Chase();
		}
		Goto See;
	Pain:
		VHSA I 5 A_Stopsound(4711);
		VHSA I 5 A_Pain;
		Goto See;
	Death:
		VHSA J 5 A_Stopsound(4711);
		VHSA K 5 A_Scream;
		VHSA L 5;
		VHSA M 5 A_NoBlocking;
		VHSA N 5;
		VHSA O -1;
		Stop;
	XDeath:
		VHSA P 5;
		VHSA Q 5 A_XScream;
		VHSA R 5;
		VHSA S 5 A_NoBlocking;
		VHSA TUV 5;
		VHSA W -1;
		Stop;
	Raise:
		VHSA ONMLKJ 6;
		Goto See;
	}
}

class HellsAngelFireball : Actor
{
	Default
	{
		scale 0.5;
		Radius 5;
		Height 4;
		Speed 16;
		Damage 2;
		damagetype "Fire";
		Projectile;
		Renderstyle "Add";
		SeeSound "HellsAngelFireball/Attack";
		Decal "HellsAngelFireballScorch";
	}
	States
	{
	Spawn:
		TNT1 A 0 NoDelay A_StartSound("HellsAngelFireball/Fly",4713,CHANF_LOOPING,1.0,2);
		FDNF AB 2 BRIGHT;
		Goto Spawn+1;
	Death:
		FDXP A 8 BRIGHT A_StartSound("HellsAngelFireball/Hit",4713,CHANF_DEFAULT,0.5);
		FDXP B 6 BRIGHT;
		FDXP C 4 BRIGHT;
		Stop;
	}
}