class BBWOnToilet: Actor
{
  Default {
  YScale 0.06;
  XScale 0.06;	
  Health 10;
  Radius 10;
  Height 10;
  Monster;
  Speed 0;
  DeathSound "mimosa/death";
  }

  States
  {
  Spawn:
    TOIL A 6 A_Look;
    Loop;
  See:
    TOIL B 6 A_Chase;
    Loop;
  Missile:
	TOIL A 5 A_FaceTarget;
	TOIL B 5 A_PosAttack;
	TOIL A 5;
	Goto See;
  Death:
    TOIL C 5 A_Scream;
	TOIL D 5;
	TOIL E 12; 
	TOIL F 20;
	TOIL G -1;
    Stop;
  }
}


class BeachBaddie : Actor
{
	Default
	{
		Health 20;
		Radius 20;
		Height 56;
		Speed 8;
		PainChance 200;
		Monster;
		+FLOORCLIP
		+STANDSTILL
		+NOBLOOD
		+DONTSPLASH
		SeeSound "grunt/sight";
		AttackSound "grunt/attack";
		PainSound "beach/pain";
		DeathSound "beach/death1";
		ActiveSound "grunt/active";
		Obituary "$OB_ZOMBIE";
		Tag "$FN_ZOMBIE";
		YScale 0.06;
		XScale 0.06;
	}
 	States
	{
	Spawn:
		BBDE A 1;
		BBDE A 10 A_Look;
		Loop;
	See:
		BBDE AB 4 A_Chase;
		Loop;
	Missile:
		BBDE A 10 A_FaceTarget;
		BBDE A 8 A_CustomMeleeAttack(random(1,14), "", "", "Fist", 1);
		BBDE A 8;
		Goto See;
	Pain:
		BBDE C 3;
		BBDE C 3 A_Pain;
		Goto See;
	Death:
		BBDE D 5;
		BBDE D 5 A_Scream;
		BBDE D 5 A_NoBlocking;
		BBDE F 0 {
			Spawn("BeachCorpse", self.pos);
			self.Destroy();
		}
		ZKDE A -1;
		Stop;
	Raise:
		BBDE A 5;
		BBDE A 5;
		Goto See;
	
	}
}


class OfficeLady : Actor
{
	Default
	{
		Health 20;
		Radius 20;
		Height 56;
		Speed 8;
		PainChance 200;
		Monster;
		+FLOORCLIP
		+STANDSTILL
		SeeSound "grunt/sight";
		AttackSound "grunt/attack";
		PainSound "grunt/pain";
		DeathSound "grunt/death";
		ActiveSound "grunt/active";
		Obituary "$OB_ZOMBIE";
		Tag "$FN_ZOMBIE";
		DropItem "Clip";
		YScale 0.06;
		XScale 0.06;
	}
 	States
	{
	Spawn:
		OFCL A 1;
		OFCL A 10 A_Look;
		Loop;
	See:
		OFCL A 4 A_Chase;
		Loop;
	Missile:
		OFCL F 10 A_FaceTarget;
		OFCL F 8 A_PosAttack;
		OFCL F 8;
		Goto See;
	Pain:
		OFCL A 3;
		OFCL A 3 A_Pain;
		Goto See;
	Death:
		OFCL H 5;
		OFCL H 5 A_Scream;
		OFCL H 5 A_NoBlocking;
		OFCL H 0 {
			Spawn("OfficeCorpse", self.pos);
			self.Destroy();
		}
		ZKDE A -1;

		Stop;
	Body1:
		ZKDE A -1;
		Stop;
	Body2:
		ZKDE B -1;
		Stop;
	Body3:
		ZKDE C -1;
		Stop;
	Body4:
		ZKDE D -1;
		Stop;
	Body5:
		ZKDE E -1;
		Stop;
	Body6:
		ZKDE F -1;
		Stop;
	XDeath:
		ZKDE A -1;
		Stop;
	Raise:
		OFCL A 5;
		OFCL A 5;
		Goto See;
	
	}
}

class OfficeLady2 : OfficeLady
{

 	States
	{
	Spawn:
		OFCT A 10 A_Look;
		Loop;
	See:
		OFCT A 4 A_Chase;
		Loop;
	Missile:
		OFCT F 10 A_FaceTarget;
		OFCT F 8 A_PosAttack;
		OFCT F 8;
		Goto See;
	Pain:
		OFCT A 3;
		OFCT A 3 A_Pain;
		Goto See;
	Death:
		OFCL H 5;
		OFCL H 5 A_Scream;
		OFCL H 5 A_NoBlocking;
		OFCL H 0 {
			Spawn("OfficeCorpse", self.pos);
			self.Destroy();
		}
		ZKDE B -1;
		Stop;
	Body1:
		ZKDE A -1;
		Stop;
	Body2:
		ZKDE B -1;
		Stop;
	Body3:
		ZKDE C -1;
		Stop;
	Body4:
		ZKDE D -1;
		Stop;
	Body5:
		ZKDE E -1;
		Stop;
	Body6:
		ZKDE F -1;
		Stop;
	XDeath:
		ZKDE B -1;

		Stop;

	Raise:
		OFCT A 5;
		OFCT A 5;
		Goto See;
	}
}

class OfficeLady3 : OfficeLady2
{

 	States
	{
	Death:
		OFCL H 5;
		OFCL H 5 A_Scream;
		OFCL H 5 A_NoBlocking;
		OFCL H 0 {
			Spawn("OfficeCorpse", self.pos);
			self.Destroy();
		}
		ZKDE C -1;
		Stop;
	XDeath:
		ZKDE C -1;

		Stop;
	Raise:
		OFCA A 5;
		OFCA A 5;
		Goto See;
	}
}




class OfficeLadyDeskStanding: Actor
{
  Default {
  YScale 0.06;
  XScale 0.06;	
  Health 20;
  Radius 10;
  Height 10;
  Monster;
  Speed 0;
  DeathSound "grunt/death";
  }

  States
  {
  Spawn:
    DSKL A 3 A_Look;
    Loop;
  See:
    DSKL A 3 A_Chase;
    Loop;
  Missile:
	DSKL A 3 A_FaceTarget;
	DSKL B 5 A_PosAttack;
	DSKL A 3;
	Goto See;
  Death:
    DSKL C 7 A_Scream;
	DSKL D 12 A_NoBlocking; 
	DSKL E 30;
	DSKL D 40;
    DSKL E 60;
	DSKL D -1;
    Stop;
  }
}

class OfficeLadyRedKeyCard: OfficeLadyDeskStanding
{
  Default{
	DropItem "RedCard"; 
  }
}
class OfficeLadyBlueKeyCard: OfficeLadyDeskSitting
{
  Default{
	DropItem "BlueCard"; 
  }
}

class OfficeLadyDeskSitting: Actor
{
  Default {
  YScale 0.06;
  XScale 0.06;	
  Health 20;
  Radius 10;
  Height 10;
  Monster;
  Speed 0;
  DeathSound "grunt/death";

  }

  States
  {
  Spawn:
    CHRL A 3 A_Look;
    Loop;
  See:
    CHRL A 3 A_Chase;
    Loop;
  Missile:
	CHRL A 3 A_FaceTarget;
	CHRL B 5 A_PosAttack;
	CHRL A 3;
	Goto See;
  Death:
    CHRL C 7 A_Scream;
	CHRL D 12 A_NoBlocking; 
	CHRL E 30;
	CHRL F 40;
	CHRL E -1;
    Stop;
  }
}

class MilMechanic : Actor
{
	Default
	{
		Health 20;
		Radius 20;
		Height 56;
		Speed 8;
		PainChance 200;
		Monster;
		+FLOORCLIP
		+STANDSTILL
		SeeSound "grunt/sight";
		AttackSound "grunt/attack";
		PainSound "grunt/pain";
		DeathSound "grunt/death";
		ActiveSound "grunt/active";
		Obituary "$OB_ZOMBIE";
		Tag "$FN_ZOMBIE";
		DropItem "Clip";
		YScale 0.06;
		XScale 0.06;
	}
 	States
	{
	Spawn:
		MECH A 10 A_Look;
		Loop;
	See:
		MECH A 4 A_Chase;
		Loop;
	Missile:
		MECH A 10 A_FaceTarget;
		MECH B 8 A_PosAttack;
		MECH A 8;
		Goto See;
	Pain:
		MECH A 3;
		MECH A 3 A_Pain;
		Goto See;
	Death:
		MILD A 8;
		MILD A 8 A_Scream;
		MILD A 5 A_NoBlocking;
		MECH D -1;

		Stop;
	XDeath:
		MECH I -1;

		Stop;
	Raise:
		MECH A 5;
		MECH A 5;
		Goto See;
	}
}


class MilOfficer: Actor
{
	Default
	{
		Health 20;
		Radius 20;
		Height 56;
		Speed 8;
		PainChance 200;
		Monster;
		+FLOORCLIP
		+STANDSTILL
		SeeSound "grunt/sight";
		AttackSound "grunt/attack";
		PainSound "grunt/pain";
		DeathSound "grunt/death";
		ActiveSound "grunt/active";
		Obituary "$OB_ZOMBIE";
		Tag "$FN_ZOMBIE";
		DropItem "Clip";
		YScale 0.06;
		XScale 0.06;
	}
 	States
	{
	Spawn:
		MOFC A 10 A_Look;
		Loop;
	See:
		MOFC A 4 A_Chase;
		Loop;
	Missile:
		MOFC A 10 A_FaceTarget;
		MOFC B 8 A_PosAttack;
		MOFC A 8;
		Goto See;
	Pain:
		MOFC A 3;
		MOFC A 3 A_Pain;
		Goto See;
	Death:
		MILD A 5;
		MILD A 5 A_Scream;
		MILD A 5 A_NoBlocking;
		MOFC D 0 {
			Spawn("MilitaryCorpse", self.pos);
			self.Destroy();
		}
		MOFC D -1;

		Stop;
	XDeath:
		MOFC I -1;

		Stop;
	Raise:
		MOFC A 5;
		MOFC A 5;
		Goto See;
	}
}

// Duplicate class: delete
class MilOfficer2: Milofficer

{
 	States
	{
	Spawn:
		MOFC A 10 A_Look;
		Loop;
	See:
		MOFC A 4 A_Chase;
		Loop;
	Missile:
		MOFC A 10 A_FaceTarget;
		MOFC B 8 A_PosAttack;
		MOFC A 8;
		Goto See;
	Pain:
		MOFC A 3;
		MOFC A 3 A_Pain;
		Goto See;
	Death:
		MILD A 5;
		MILD A 5 A_Scream;
		MILD A 5 A_NoBlocking;
		MOFC D 0 {
			Spawn("MilitaryCorpse", self.pos);
			self.Destroy();
		}
		MOFC D -1;

		Stop;
	XDeath:
		MOFC I -1;

		Stop;
	Raise:
		MOFC A 5;
		MOFC A 5;
		Goto See;
	}

}



class LadyCop: Actor
{
	Default
	{
		Health 25;
		Radius 20;
		Height 56;
		Speed 8;
		PainChance 200;
		Monster;
		+FLOORCLIP
		+STANDSTILL
		SeeSound "grunt/sight";
		AttackSound "grunt/attack";
		PainSound "grunt/pain";
		DeathSound "grunt/death";
		ActiveSound "grunt/active";
		Obituary "$OB_ZOMBIE";
		Tag "$FN_ZOMBIE";
		DropItem "Clip";
		YScale 0.06;
		XScale 0.06;
	}
 	States
	{
	Spawn:
		COPW A 10 A_Look;
		Loop;
	See:
		COPW A 4 A_Chase;
		Loop;
	Missile:
		COPW G 1 A_FaceTarget;
		COPW H 2 A_PosAttack;
		COPW H 1;
		Goto See;
	Pain:
		COPW A 3;
		COPW A 3 A_Pain;
		Goto See;
	Death:
		COPW C 5;
		COPW C 5 A_Scream;
		COPW I 5 A_NoBlocking;
		MOFC I 0 {
			Spawn("PoliceCorpse", self.pos);
			self.Destroy();
		}
		COPW I -1;


		Stop;
	XDeath:
		COPW I -1;

		Stop;
	Raise:
		POSS A 5;
		POSS A 5;
		Goto See;
	}
}


// Duplicate class: delete
class LadyCop2: LadyCop

{
	Default
	{
		Health 25;
		Radius 20;
		Height 56;
		Speed 8;
		PainChance 200;
		Monster;
		+FLOORCLIP
		+STANDSTILL
		SeeSound "grunt/sight";
		AttackSound "grunt/attack";
		PainSound "grunt/pain";
		DeathSound "grunt/death";
		ActiveSound "grunt/active";
		Obituary "$OB_ZOMBIE";
		Tag "$FN_ZOMBIE";
		DropItem "Clip";
		YScale 0.06;
		XScale 0.06;
	}
 	States
	{
	Spawn:
		COPW A 10 A_Look;
		Loop;
	See:
		COPW A 4 A_Chase;
		Loop;
	Missile:
		COPW G 1 A_FaceTarget;
		COPW H 2 A_PosAttack;
		COPW H 1;
		Goto See;
	Pain:
		COPW A 3;
		COPW A 3 A_Pain;
		Goto See;
	Death:
		COPW C 5;
		COPW C 5 A_Scream;
		COPW I 5 A_NoBlocking;
		MOFC I 0 {
			Spawn("PoliceCorpse", self.pos);
			self.Destroy();
		}
		COPW J -1;
		Stop;
	XDeath:
		COPW I -1;

		Stop;
	Raise:
		POSS A 5;
		POSS A 5;
		Goto See;
	}

}


class Toilet: Actor
{
  Default{
    YScale 0.25;
	XScale 0.25;
	Radius 2;
  }

  States
  {
  Spawn:
    TOIL A  1;
    Loop;
  Active:
	TOIL B  -1;
	LOOP;
  Inactive:
    TOIL A  1;
    Loop;
  }
}

