// Base class for the merchants ---------------------------------------------

class Merchant : Actor
{
	Default
	{
		Health 10000000;
		PainChance 256;	// a merchant should always enter the pain state when getting hurt
		Radius 20;
		Height 56;
		Mass 5000;
		CrushPainSound "misc/pcrush";
		+SOLID
		+SHOOTABLE
		+NOTDMATCH
		+NOSPLASHALERT
		+NODAMAGE
	}
	States
	{
	Spawn:
		MRST A 10 A_Look2;
		Loop;
		MRLK A 30 A_ActiveSound;
		Loop;
		MRLK B 30;
		Loop;
		MRBD ABCDEDCB 4;
		MRBD A 5;
		MRBD F 6;
		Loop;
	See:
	Pain:
		MRPN A 1;
		MRPN A 2 A_AlertMonsters;
		MRPN B 3 A_Pain;
		MRPN C 3;
		MRPN D 9 Door_CloseWaitOpen(999, 64, 960);
		MRPN C 4;
		MRPN B 3;
		MRPN A 3 A_ClearSoundTarget;
		Goto Spawn;
	Yes:
		MRYS A 20;
		// Fall through	
	Greetings:
		MRGT ABCDEFGHI 5;
		Goto Spawn;
	No:
		MRNO AB 6;
		MRNO C 10;
		MRNO BA 6;
		Goto Greetings;
	}
}


// Weapon Smith -------------------------------------------------------------

class WeaponSmith : Merchant
{
	Default
	{
		PainSound "smith/pain";
		Tag "$TAG_WEAPONSMITH";
	}
}


// Bar Keep -----------------------------------------------------------------

class BarKeep : Merchant
{
	Default
	{
		Translation 4;
		PainSound "barkeep/pain";
		ActiveSound "barkeep/active";
		Tag "$TAG_BARKEEP";
	}
}


// Armorer ------------------------------------------------------------------

class Armorer : Merchant
{
	Default
	{
		Translation 5;
		PainSound "armorer/pain";
		Tag "$TAG_ARMORER";
	}
}


// Medic --------------------------------------------------------------------

class Medic : Merchant
{
	Default
	{
		Translation 6;
		PainSound "medic/pain";
		Tag "$TAG_MEDIC";
	}
}