#include "Avatar.h"
//Assignment Methods....
Avatar::Avatar()
{
	Reset();
}
Avatar::~Avatar()
{
}
void Avatar::Reset()
{
	int i = 0;
	sprintf(LastName, "Last");
	sprintf(FirsName, "Type to Create a Name");
	sprintf(MiddName, "Middle");
	//Setting Sex to Female as Default, logic being that we're trying to attract more 
	//of this demographic - M. White 16 April, 2019
	Sex = 1; Race = MAX_startRACES; Height = Weight = 0; alignMorality = 50; alignLawfulness = 50;
	sStr = sExStr = sDex = sCon = sInt = sWis = sCha = sCom = 0;
	aStr = aDex = aCon = aInt = aWis = aCha = aCom = 0.0;
	RaceIsMonster	= false;
	Aggressive		= true;
	for(i = 0; i < maxNumClasses; i++)
	{
		avClass[i]		= -1;
		avKit[i]		= kitsMaxKits;
		classLvl[i]		= 1;
		//Worse-case scenario for xp...
		avClassXP[i]	= 0;
		for(int j = 0; j < maxHpRolls; j++) avClassHPRolls[i][j] = 0;
	}
	ClassShortCutRefIndex = -1; //-1 means 'nothing picked' - M. White 12 April, 2019
	numClasses = 0;
	ResetWPs();
	ResetNWPs();
	ResetCustom();
	dataIndex			= -1;
	worldX = worldY = worldZ = dungeonX = dungeonY = dungeonZ = 0;
	numStatRolls		= 0;
	intXP_BonusMod		= 0;
	dblXP_BonusMod		= 0;
	PortraitIndex		= 0;
	MaxWeaponSlots		= 1;
	for(i = 0; i < maxBitArray; i++) Statuses[i] = 0;
	StartMapName		= "Pick_Town";
	MapType				= 1; //Scene By default
	StartTownName		= "Pick Town";
	SpeachMsg			= "";
	SpeachTimer			= 0;
	ShowSpeach			= false;
	InTextBox			= true;
	UniqueIdentifier	= -1;
	avHitPoints			= 0;
	avCurrentHitPoints	= 0;
	ArmorClass			= 10;
}
const Avatar& Avatar::operator= (const Avatar &other)
{
	int i;
	if(this != &other)
	{
		sprintf(LastName, "%s", other.LastName);
		sprintf(FirsName, "%s", other.FirsName);
		sprintf(MiddName, "%s", other.MiddName);

		sStr			= other.sStr;
		sDex			= other.sDex;
		sCon			= other.sCon;
		sInt			= other.sInt;
		sWis			= other.sWis;
		sCha			= other.sCha;
		sCom			= other.sCom;

		aStr			= other.aStr;
		sExStr			= other.sExStr;
		aDex			= other.aDex;
		aCon			= other.aCon;
		aInt			= other.aInt;
		aWis			= other.aWis;
		aCha			= other.aCha;
		aCom			= other.aCom;
		
		Sex				= other.Sex;
		Race			= other.Race;
		Height			= other.Height;
		Weight			= other.Weight;
		numClasses		= other.numClasses;

		RaceIsMonster	= other.RaceIsMonster;
		Aggressive		= other.Aggressive;

		alignMorality	= other.alignMorality;
		alignLawfulness	= other.alignLawfulness;

		for(i = 0; i < maxNumClasses; i++)
		{
			avClass[i]		= other.avClass[i];
			classLvl[i]		= other.classLvl[i];
			avKit[i]		= other.avKit[i];
			avClassXP[i]	= other.avClassXP[i];
			for(int j = 0; j < maxHpRolls; j++)
				avClassHPRolls[i][j] = other.avClassHPRolls[i][j];
		}

		for(i = 0; i < cmbtTOTAL_CmbtValues; i++)
			CombatValues[i]	= other.CombatValues[i];
		
		TotalMult	= other.TotalMult;
		SaveAsClass	= other.SaveAsClass;
		
		for(i = 0; i < TOTAL_OptVals; i++)
			OptionalAbilities[i] = other.OptionalAbilities[i];
		
		for(i = 0; i < TOTAL_Restricts; i++)
			Restrictions[i] = other.Restrictions[i];
		
		MaxWeaponSlots	= other.MaxWeaponSlots;
		numWPs			= other.numWPs;

		for(i = 0; i < MAX_WEAPONPRO; i++)
			weaponPros[i] = other.weaponPros[i];
		
		MaxNWPSlots		= other.MaxNWPSlots;
		AllocatedNWPs	= other.AllocatedNWPs;
		
		for(i = 0; i < MAX_NWPs; i++)
			nwp[i] = other.nwp[i];
		
		dataIndex		= other.dataIndex;
		
		worldX			= other.worldX;
		worldY			= other.worldY;
		dungeonX		= other.dungeonX;
		dungeonY		= other.dungeonY;
		dungeonZ		= other.dungeonZ;

		ConditionStatus	= other.ConditionStatus;
		ActionsStatus	= other.ActionsStatus;

		for(i = 0; i < maxBitArray; i++)
			Statuses[i] = other.Statuses[i];
		
		SpeachMsg		= other.SpeachMsg;
		SpeachTimer		= other.SpeachTimer;
		ShowSpeach		= other.ShowSpeach;

		StartMapName	= other.StartMapName;
		MapType			= other.MapType;
		StartTownName	= other.StartTownName;

		UniqueIdentifier=other.UniqueIdentifier;

		avHitPoints		= other.avHitPoints;
		avCurrentHitPoints	= other.avCurrentHitPoints;
		ArmorClass		= other.ArmorClass;
	}//end: if(this != &other)
	return *this;
}
const Avatar* Avatar::operator= (const Avatar *other)
{
	int i;

	if(this != other)
	{
		sprintf(LastName, "%s", other->LastName);
		sprintf(FirsName, "%s", other->FirsName);
		sprintf(MiddName, "%s", other->MiddName);

		sStr			= other->sStr;
		sExStr			= other->sExStr;
		sDex			= other->sDex;
		sCon			= other->sCon;
		sInt			= other->sInt;
		sWis			= other->sWis;
		sCha			= other->sCha;
		sCom			= other->sCom;

		aStr			= other->aStr;
		aDex			= other->aDex;
		aCon			= other->aCon;		
		aInt			= other->aInt;		
		aWis			= other->aWis;		
		aCha			= other->aCha;		
		aCom			= other->aCom;		
		
		Sex				= other->Sex;
		Race			= other->Race;
		Height			= other->Height;
		Weight			= other->Weight;
		numClasses		= other->numClasses;

		RaceIsMonster	= other->RaceIsMonster;
		Aggressive		= other->Aggressive;

		alignMorality	= other->alignMorality;
		alignLawfulness	= other->alignLawfulness;

		for(i = 0; i < maxNumClasses; i++)
		{
			avClass[i]		= other->avClass[i];
			classLvl[i]		= other->classLvl[i];
			avKit[i]		= other->avKit[i];
			avClassXP[i]	= other->avClassXP[i];
			for(int j = 0; j < maxHpRolls; j++)
				avClassHPRolls[i][j] = other->avClassHPRolls[i][j];
		}

		for(i = 0; i < cmbtTOTAL_CmbtValues; i++)
			CombatValues[i]	= other->CombatValues[i];
		
		TotalMult	= other->TotalMult;
		SaveAsClass	= other->SaveAsClass;
		
		for(i = 0; i < TOTAL_OptVals; i++)
			OptionalAbilities[i] = other->OptionalAbilities[i];
		
		for(i = 0; i < TOTAL_Restricts; i++)
			Restrictions[i] = other->Restrictions[i];
		
		MaxWeaponSlots	= other->MaxWeaponSlots;
		numWPs			= other->numWPs;
		
		for(i = 0; i < MAX_WEAPONPRO; i++)
			weaponPros[i] = other->weaponPros[i];
		
		MaxNWPSlots		= other->MaxNWPSlots;
		AllocatedNWPs	= other->AllocatedNWPs;
		
		for(i = 0; i < MAX_NWPs; i++)
			nwp[i] = other->nwp[i];
		
		dataIndex		= other->dataIndex;
		worldX			= other->worldX;
		worldY			= other->worldY;
		dungeonX		= other->dungeonX;
		dungeonY		= other->dungeonY;
		dungeonZ		= other->dungeonZ;

		ConditionStatus	= other->ConditionStatus;
		ActionsStatus	= other->ActionsStatus;

		for(i = 0; i < maxBitArray; i++)
			Statuses[i] = other->Statuses[i];
		
		SpeachMsg		= other->SpeachMsg;
		SpeachTimer		= other->SpeachTimer;
		ShowSpeach		= other->ShowSpeach;
		
		StartMapName	= other->StartMapName;
		MapType			= other->MapType;
		StartTownName	= other->StartTownName;

		UniqueIdentifier= other->UniqueIdentifier;
		
		avHitPoints		= other->avHitPoints;
		avCurrentHitPoints	= other->avCurrentHitPoints;
		ArmorClass		= other->ArmorClass;
	}
	return this;
}
void Avatar::Copy(Avatar other)
{
	int i;
	sprintf(LastName, "%s", other.LastName);
	sprintf(FirsName, "%s", other.FirsName);
	sprintf(MiddName, "%s", other.MiddName);

	sStr		= other.sStr;
	sDex		= other.sDex;
	sCon		= other.sCon;
	sInt		= other.sInt;
	sWis		= other.sWis;
	sCha		= other.sCha;
	sCom		= other.sCom;

	aStr		= other.aStr;
	sExStr		= other.sExStr;
	aDex		= other.aDex;
	aCon		= other.aCon;
	aInt		= other.aInt;
	aWis		= other.aWis;
	aCha		= other.aCha;
	aCom		= other.aCom;
		
	Sex			= other.Sex;
	Race		= other.Race;
	Height		= other.Height;
	Weight		= other.Weight;
	numClasses	= other.numClasses;

	alignMorality	= other.alignMorality;
	alignLawfulness	= other.alignLawfulness;

	for(i = 0; i < 4; i++)
	{
		avClass[i]		= other.avClass[i];
		classLvl[i]		= other.classLvl[i];
		avKit[i]		= other.avKit[i];
		avClassXP[i]	= other.avClassXP[i];
	}

	for(i = 0; i < cmbtTOTAL_CmbtValues; i++)
		CombatValues[i]	= other.CombatValues[i];
		
	TotalMult	= other.TotalMult;
	SaveAsClass	= other.SaveAsClass;
		
	for(i = 0; i < TOTAL_OptVals; i++)
		OptionalAbilities[i] = other.OptionalAbilities[i];
		
	for(i = 0; i < TOTAL_Restricts; i++)
		Restrictions[i] = other.Restrictions[i];
		
	MaxWeaponSlots	= other.MaxWeaponSlots;
	numWPs			= other.numWPs;
    
	for(i = 0; i < MAX_WEAPONPRO; i++)
		weaponPros[i] = other.weaponPros[i];
		
	MaxNWPSlots		= other.MaxNWPSlots;
	AllocatedNWPs	= other.AllocatedNWPs;
	
	for(i = 0; i < MAX_NWPs; i++)
		nwp[i] = other.nwp[i];
		
	dataIndex		= other.dataIndex;
		
	worldX			= other.worldX;
	worldY			= other.worldY;
	dungeonX		= other.dungeonX;
	dungeonY		= other.dungeonY;
	dungeonZ		= other.dungeonZ;

	for(i = 0; i < maxBitArray; i++)
		Statuses[i] = other.Statuses[i];
}
//Names(s) Methods....
void Avatar::SetFName(string data)
{
	if(data.length() > 0 && data.length() < maxNameLength)
	{
		sprintf(FirsName, "               ");
		sprintf(FirsName, "%s", data.c_str());
	}
	else sprintf(FirsName, "");//Clean it out - M. White 20 April, 2019
}
void Avatar::SetMName(string data)
{
	if(data.length() > 0 && data.length() < maxNameLength)
	{
		sprintf(MiddName, "               ");
		sprintf(MiddName, "%s", data.c_str());
	}
	else sprintf(MiddName, "Error");
}
void Avatar::SetLName(string data)
{
	if(data.length() > 0 && data.length() < maxNameLength)
	{
		sprintf(LastName, "               ");
		sprintf(LastName, "%s", data.c_str());
	}
	else sprintf(LastName, "Error");
}
string Avatar::GetFName() const
{
	string tmp;
	tmp = FirsName;
	return tmp;
}
string Avatar::GetMName() const
{
	string tmp;
	tmp = MiddName;
	return tmp;
}
string Avatar::GetLName() const
{
	string tmp;
	tmp = LastName;
	return tmp;
}
//Alignment Methods....
void Avatar::SetAlign(int Law, int Good)
{
	if(Law >= 1 && Law <= 100)		alignLawfulness = Law;
	if(Good >= 1 && Good <= 100)	alignMorality	= Good;
	/*
	Use 1 to 100 for both categories.
	Dividing by three ranges in the two categories gives calues of...
	67 - 100	Lawful	&	Good
	34 - 66		Neutral &	Neutral
	1 - 33		Chaotic	&	Evil

	Reset() sets these to value 50 each as default.
	Middle values when User first picks their Alignment
	Lawful	83			Good    83
	Nuetral 50			Neutral 50
	Chaotic 16			Evil	16
	*/
}
void Avatar::SetLaw(int val)
{
	alignLawfulness = val;
}
int Avatar::GetLaw() const
{
	return alignLawfulness;
}
void Avatar::SetGood(int val)
{
	alignMorality = val;
}
int Avatar::GetGood() const
{
	return alignMorality;
}
string Avatar::GetAlign() const
{
	string tmp;

	if		(alignLawfulness > 66)		tmp = "L";
	else if (alignLawfulness > 33)		tmp = "N";
	else								tmp = "C";

	if		(alignMorality > 66)		tmp += "G";
	else if	(alignMorality > 33)		tmp += "N";
	else								tmp += "E";

	return tmp;
}
string Avatar::GetAlignFull() const
{
	string tmp;

	if		(alignLawfulness > 66)		tmp = "Lawful";
	else if (alignLawfulness > 33)		tmp = "Neutral";
	else								tmp = "Chaotic";

	if		(alignMorality > 66)		tmp += " Good";
	else if	(alignMorality > 33)
	{
		if(tmp != "Neutral")  tmp += " Neutral";
	}
	else								tmp += " Evil";

	return tmp;
}
//Sex Hegiht Weight Race Methods....
void Avatar::SetSex(int data)
{
	if(data == 0)	Sex = data;
	else			Sex = 1;
}
int Avatar::GetSex() const
{
	return Sex;
}
void Avatar::SetRace(int data)
{
	Race = data;
}
int Avatar::GetRace() const
{
	return Race;
}
string Avatar::GetRaceStr(int data) const
{
	string tmpStr;
	switch(data)
	{
	case startDwarf:		tmpStr = "Dwarf";		break;
	case startElf:			tmpStr = "Elf";			break;
	case startGnome:		tmpStr = "Gnome";		break;
	case startHalfElf:		tmpStr = "Half Elf";	break;
	case startHalfling:		tmpStr = "Halfling";	break;
	case startHuman:		tmpStr = "Human";		break;
	case MAX_startRACES:	tmpStr = "Pick Race";	break;
	}

	return tmpStr;
}
void Avatar::SetHeight(int data)
{
	if(data > 0)	Height = data;
	else			Height = 1;
}
int Avatar::GetHeight() const
{
	return Height;
}
void Avatar::SetRandomHeight()
{
	int tmpHeight	= 0;
	int rndNum		= 0;
	int dieSize		= 0;
	int numRolls	= 0;

	tmpHeight	= 0;

	switch(Race)
	{
	case startDwarf:	if(Sex == 0) tmpHeight = 43; else tmpHeight = 41; dieSize = 10; numRolls = 1; break;
	case startElf:		if(Sex == 0) tmpHeight = 55; else tmpHeight = 50; dieSize = 10; numRolls = 1; break;
	case startGnome:	if(Sex == 0) tmpHeight = 38; else tmpHeight = 36; dieSize =  6; numRolls = 1; break;
	case startHalfElf:	if(Sex == 0) tmpHeight = 60; else tmpHeight = 58; dieSize =  6; numRolls = 2; break;
	case startHalfling:	if(Sex == 0) tmpHeight = 32; else tmpHeight = 30; dieSize =  8; numRolls = 2; break;
	case startHuman:	if(Sex == 0) tmpHeight = 60; else tmpHeight = 56; dieSize = 10; numRolls = 2; break;
	default:
	//	MessageBox(NULL, "You must pick a race before\nrandomly assigning height.", "Required", MB_OK);
		break;
	}

	for(int i = 0; i < numRolls; i++)
	{
		rndNum = rand() % dieSize;
		if(rndNum < 1) rndNum = dieSize;
		tmpHeight += rndNum;
	}

	Height = tmpHeight;
}
void Avatar::SetWeight(int data)
{
	if(data > 0)	Weight = data;
	else			Weight = 1;
}
int Avatar::GetWeight() const
{
	return Weight;
}
void Avatar::SetRandomWeight()
{
	int tmpWeight	= 0;
	int rndNum		= 0;
	int dieSize		= 0;
	int numRolls	= 0;

	tmpWeight = 0;

	switch(Race)
	{
	case startDwarf:	if(Sex == 0) tmpWeight = 130; else tmpWeight = 105; dieSize = 10; numRolls = 4; break;
	case startElf:		if(Sex == 0) tmpWeight =  90; else tmpWeight =  70; dieSize = 10; numRolls = 3; break;
	case startGnome:	if(Sex == 0) tmpWeight =  72; else tmpWeight =  68; dieSize =  4; numRolls = 5; break;
	case startHalfElf:	if(Sex == 0) tmpWeight = 110; else tmpWeight =  85; dieSize = 12; numRolls = 3; break;
	case startHalfling: if(Sex == 0) tmpWeight =  52; else tmpWeight =  48; dieSize	=  4; numRolls = 5; break;
	case startHuman:	if(Sex == 0) tmpWeight = 125; else tmpWeight =  84; dieSize = 10; numRolls = 6; break;
	default:
	//	MessageBox(NULL, "You must pick a race before\nrandomly assigning weight.", "Required", MB_OK);
		break;
	}

	for(int i = 0; i < numRolls; i++)
	{
		rndNum = rand() % dieSize;
		if(rndNum < 1) rndNum = dieSize;
		tmpWeight += rndNum;
	}

	Weight = tmpWeight;
}
void Avatar::SetRaceIsMonster(bool data)
{
	if(data == true)	RaceIsMonster = true;
	else				RaceIsMonster = false;
}
bool Avatar::GetRaceIsMonster() const
{
	return RaceIsMonster;
}
//Classes
void Avatar::SetClass(int d)
{
	int tmp;
	int k;
	bool allow;

	//Allowing cMAX_ to be used as a reset control value
	if(d >= 0 && d <= cMAX_CLASSES)
	{
		//By passing this value, it's a command to 
		//reset all Class values back to default.
		if(d == cMAX_CLASSES)
		{
			for(int k = 0; k < maxNumClasses; k++)
				avClass[k] = cMAX_CLASSES;
			numClasses = 0;
		}
		else
		{
			if(d == cWizard)
			{
				if(Race == startDwarf || Race == startHalfling)
				{
					cout << " Dwarfs and Halflings are not allowed to be wizards of any type.\n ";
					system("pause");
					return;
				}
			}

			if(Statuses[asMultiClass] == true)
			{
				//Count number of classes picked according to Race
				numClasses = 0;
				for(k = 0; k < maxNumClasses; k++)
					if(avClass[k] < cMAX_CLASSES) numClasses++;

				//This switch statement forces reset of skills if the user
				//attempts to select more than they are allowed by race.
				switch(Race)
				{
				case startDwarf: case startGnome: case startHalfling:
					if(numClasses == 2)
					{
						//Resetting all 4 positions - because
						for(k = 0; k < maxNumClasses; k++)	avClass[k] = cMAX_CLASSES;
						numClasses = 0;
						allow = false;
					}
					else allow = true;
					break;
				case startElf: case startHalfElf: case startHuman:
					if(numClasses == 3)
					{
						//Resetting all 4 positions - because
						for(k = 0; k < maxNumClasses; k++)	avClass[k] = cMAX_CLASSES;
						numClasses = 0;
						allow = false;
					}
					else allow = true;
					break;
				}

				if((Race == startHalfling || Race == startElf) && d == cPRIEST)
					allow = false;

				if(allow == true)
				{
					//By default assign the class to the last position
					avClass[maxNumClasses - 1] = d;
					
					//Bubble sort the value 'up' to 0-index
					for(int j = 0; j < maxNumClasses - 1; j++)
						for(int i = j; i < maxNumClasses; i++)
							if(avClass[i] < avClass[j])
							{
								tmp			= avClass[j];
								avClass[j]	= avClass[i];
								avClass[i]	= tmp;
							}

					numClasses = 0;
					for(k = 0; k < maxNumClasses; k++)
						if(avClass[k] < cMAX_CLASSES) numClasses++;
				}
			}//end: if(MultiClass == true)
			//Dual-class players simply assign the first position during character creation
			else
			{
				//Assign/Reassign position 0
				avClass[0] = d;
				numClasses = 1;
			}
		}
	}
}
void Avatar::SetClassByRef(int val)
{
	if(val > -1 && val < cMAX_CLASSES)	ClassShortCutRefIndex = val;
	else								ClassShortCutRefIndex = -1;

	switch(ClassShortCutRefIndex)
	{
	case -1:			avClass[0] = -1;			avClass[1] = -1;			avClass[2] = -1;		avClass[3] = -1;	numClasses = 0;		break;
	case cZeroLvl:		avClass[0] = cFighter;		avClass[1] = -1;			avClass[2] = -1;		avClass[3] = -1;	numClasses = 1;		break;
	case cFighter:		avClass[0] = cFighter;		avClass[1] = -1;			avClass[2] = -1;		avClass[3] = -1;	numClasses = 1;		break;
	case cPaladin:		avClass[0] = cPaladin;		avClass[1] = -1;			avClass[2] = -1;		avClass[3] = -1;	numClasses = 1;		break;
	case cRanger:		avClass[0] = cRanger;		avClass[1] = -1;			avClass[2] = -1;		avClass[3] = -1;	numClasses = 1;		break;
	case cWizard:		avClass[0] = cWizard;		avClass[1] = -1;			avClass[2] = -1;		avClass[3] = -1;	numClasses = 1;		break;
	case cAbjurer:		avClass[0] = cAbjurer;		avClass[1] = -1;			avClass[2] = -1;		avClass[3] = -1;	numClasses = 1;		break;
	case cTransmuter:	avClass[0] = cTransmuter;	avClass[1] = -1;			avClass[2] = -1;		avClass[3] = -1;	numClasses = 1;		break;
	case cConjurer:		avClass[0] = cConjurer;		avClass[1] = -1;			avClass[2] = -1;		avClass[3] = -1;	numClasses = 1;		break;
	case cEnchanter:	avClass[0] = cEnchanter;	avClass[1] = -1;			avClass[2] = -1;		avClass[3] = -1;	numClasses = 1;		break;
	case cDiviner:		avClass[0] = cDiviner;		avClass[1] = -1;			avClass[2] = -1;		avClass[3] = -1;	numClasses = 1;		break;
	case cIllusionist:	avClass[0] = cIllusionist;	avClass[1] = -1;			avClass[2] = -1;		avClass[3] = -1;	numClasses = 1;		break;
	case cInvoker:		avClass[0] = cInvoker;		avClass[1] = -1;			avClass[2] = -1;		avClass[3] = -1;	numClasses = 1;		break;
	case cNecromancer:	avClass[0] = cNecromancer;	avClass[1] = -1;			avClass[2] = -1;		avClass[3] = -1;	numClasses = 1;		break;
	case cCleric:		avClass[0] = cCleric;		avClass[1] = -1;			avClass[2] = -1;		avClass[3] = -1;	numClasses = 1;		break;
	case cDruid:		avClass[0] = cDruid;		avClass[1] = -1;			avClass[2] = -1;		avClass[3] = -1;	numClasses = 1;		break;
	case cThief:		avClass[0] = cThief;		avClass[1] = -1;			avClass[2] = -1;		avClass[3] = -1;	numClasses = 1;		break;
	case cBard:			avClass[0] = cBard;			avClass[1] = -1;			avClass[2] = -1;		avClass[3] = -1;	numClasses = 1;		break;
	case cNinja:		avClass[0] = cNinja;		avClass[1] = -1;			avClass[2] = -1;		avClass[3] = -1;	numClasses = 1;		break;
	case cFM:			avClass[0] = cFighter;		avClass[1] = cWizard;		avClass[2] = -1;		avClass[3] = -1;	numClasses = 2;		break;
	case cFC:			avClass[0] = cFighter;		avClass[1] = cCleric;		avClass[2] = -1;		avClass[3] = -1;	numClasses = 2;		break;
	case cFD:			avClass[0] = cFighter;		avClass[1] = cDruid;		avClass[2] = -1;		avClass[3] = -1;	numClasses = 2;		break;
	case cFT:			avClass[0] = cFighter;		avClass[1] = cThief;		avClass[2] = -1;		avClass[3] = -1;	numClasses = 2;		break;
	case cRC:			avClass[0] = cRanger;		avClass[1] = cCleric;		avClass[2] = -1;		avClass[3] = -1;	numClasses = 2;		break;
	case cRD:			avClass[0] = cRanger;		avClass[1] = cDruid;		avClass[2] = -1;		avClass[3] = -1;	numClasses = 2;		break;
	case cMC:			avClass[0] = cWizard;		avClass[1] = cCleric;		avClass[2] = -1;		avClass[3] = -1;	numClasses = 2;		break;
	case cMD:			avClass[0] = cWizard;		avClass[1] = cDruid;		avClass[2] = -1;		avClass[3] = -1;	numClasses = 2;		break;
	case cMT:			avClass[0] = cWizard;		avClass[1] = cThief;		avClass[2] = -1;		avClass[3] = -1;	numClasses = 2;		break;
	case cTI:			avClass[0] = cThief;		avClass[1] = cIllusionist;	avClass[2] = -1;		avClass[3] = -1;	numClasses = 2;		break;
	case cFMC:			avClass[0] = cFighter;		avClass[1] = cWizard;		avClass[2] = cCleric;	avClass[3] = -1;	numClasses = 3;		break;
	case cFMD:			avClass[0] = cFighter;		avClass[1] = cWizard;		avClass[2] = cDruid;	avClass[3] = -1;	numClasses = 3;		break;
	case cFMT:			avClass[0] = cFighter;		avClass[1] = cWizard;		avClass[2] = cThief;	avClass[3] = -1;	numClasses = 3;		break;
	}
	AssignNumWeaPros();
}
int Avatar::GetClassRef() const
{
	return ClassShortCutRefIndex;
}
bool Avatar::CanBeTheseClasses(int index)
{
	if(index >= cZeroLvl && index < cMAX_CLASSES)
	{
		switch(Race)
		{
		case startDwarf:
			if(index == cZeroLvl || index == cFighter || index == cCleric || 
			   index == cThief || index == cFC || index == cFT || index == cCustom)
			{
				return true;
			}
			break;
		case startElf:
			if(index == cZeroLvl || index == cFighter || index == cRanger || 
			   index == cCleric || index == cWizard || index == cThief || 
			   index == cFM || index == cFT || index == cFMT || index == cMT || index == cCustom)
			{
				return true;
			}
			break;
		case startGnome:
			if(index == cZeroLvl || index == cFighter || index == cCleric || 
			   index == cThief || index == cIllusionist || index == cFT || index == cTI || index == cCustom)
			{
				return true;
			}
			break;
		case startHalfElf:
			if(index == cZeroLvl || index == cFighter || index == cRanger || index == cWizard ||
			   index == cAbjurer || index == cTransmuter || index ==  cConjurer || index == cEnchanter ||
			   index == cDiviner || index == cIllusionist || index == cInvoker || index ==  cNecromancer ||
			   index == cCleric || index == cDruid || index == cThief || index == cBard || index == cNinja ||
			   index == cFM || index == cFC || index == cFD || index == cFT || index == cRC || index == cRD ||
			   index == cMC || index == cMD || index == cMT || index == cFMC || index == cFMD || index == cFMT || index == cCustom)
			{
				return true;
			}
			break;
		case startHalfling:
			if(index == cZeroLvl || index == cFighter || index == cCleric || 
			   index == cThief   || index == cFT      || index == cCustom)
			{
				return true;
			}
			break;
		case startHuman:
			if(index == cZeroLvl || index == cFighter || index == cPaladin || index == cRanger || 
			   index == cWizard  || index == cAbjurer || index == cTransmuter || 
			   index == cConjurer || index == cEnchanter || index == cDiviner || 
			   index == cIllusionist || index == cInvoker || index == cNecromancer || 
			   index == cCleric || index == cDruid || 
			   index == cThief || index == cBard || index == cNinja || index == cCustom)
			{
				return true;
			}
			break;
		};
	}
	return false;
}
string Avatar::ShowClassComboStr(int index)
{
	string temp;

	if(index > -1 && index < cMAX_CLASSES)
	{
		switch(index)
		{
		case cZeroLvl:		temp = "0-Lvl Fighter";				break;
		case cFighter:		temp = "Fighter";					break;
		case cPaladin:		temp = "Paladin";					break;
		case cRanger:		temp = "Ranger";					break;
		case cWizard:		temp = "Wizard";					break;
		case cAbjurer:		temp = "Abjurer";					break;
		case cTransmuter:	temp = "Transmuter";				break;
		case cConjurer:		temp = "Conjurer";					break;
		case cEnchanter:	temp = "Enchanter";					break;
		case cDiviner:		temp = "Diviner";					break;
		case cIllusionist:	temp = "Illusionist";				break;
		case cInvoker:		temp = "Invoker";					break;
		case cNecromancer:	temp = "Necromancer";				break;
		case cCleric:		temp = "Cleric";					break;
		case cDruid:		temp = "Druid";						break;
		case cThief:		temp = "Thief";						break;
		case cBard:			temp = "Bard";						break;
		case cNinja:		temp = "Ninja";						break;
		case cFM:			temp = "Fighter / Mage";			break;
		case cFC:			temp = "Fighter / Cleric";			break;
		case cFD:			temp = "Fighter / Druid";			break;
		case cFT:			temp = "Fighter / Thief";			break;
		case cRC:			temp = "Ranger / Cleric";			break;
		case cRD:			temp = "Ranger / Druid";			break;
		case cMC:			temp = "Mage / Cleric";				break;
		case cMD:			temp = "Mage / Druid";				break;
		case cMT:			temp = "Mage / Thief";				break;
		case cTI:			temp = "Thief / Illusionst";		break;
		case cFMC:			temp = "Fighter / Mage / Cleric";	break;
		case cFMD:			temp = "Fighter / Mage / Druid";	break;
		case cFMT:			temp = "Fighter / Mage / Thief";	break;
		case cCustom:		temp = "Custom";					break;
		default:			temp = "Error in Classes";			break;
/*
	cZeroLvl = 0, cFighter, cPaladin, cRanger,
	cWizard, cAbjurer, cTransmuter, cConjurer, cEnchanter, cDiviner, cIllusionist, cInvoker, cNecromancer,
	cCleric, cDruid, 
	cThief, cBard, cNinja,
	cFM, cFC, cFD, cFT, cRC, cRD, cMC, cMD, cMT, cTI, cFMC, cFMD, cFMT, cCustom, cMAX_CLASSES
*/
		};
	}
	return temp;
}
int	Avatar::GetClass(int i) const
{
	if(i >= 0 && i < maxNumClasses)	return avClass[i];
	else return -1;
}
string Avatar::GetClassStr(int i) const
{
	string tmp; tmp = "";
	if(i >= 0 && i < maxNumClasses)
		tmp = GetClassNam(avClass[i]);
	return tmp;
}
string Avatar::GetClassNam(int i) const
{
	string tmp;
	switch(i)
	{
	/*
	case cZERO_LEVEL:		tmp = "0-lvl Fighter";		break;
	case cWARRIOR:			tmp = "Warrior";			break;
	case cPRIEST:			tmp = "Priest";				break;
	case cROGUE:			tmp = "Rogue";				break;
	case cWIZARD:			tmp = "Wizard";				break;
	case cCUSTOM:			tmp = "Custom";				break;
	case MAX_ClassCats:		tmp = "Pick";				break;
	*/
	case cZeroLvl:			tmp = "Fighter";			break;
	case cFighter:			tmp = "Fighter";			break;
	case cPaladin:			tmp = "Paladin";			break;
	case cRanger:			tmp = "Ranger";				break;
	case cWizard:			tmp = "Wizard";				break;
	case cAbjurer:			tmp = "Abjurer";			break;
	case cTransmuter:		tmp = "Transmuter";			break;
	case cConjurer:			tmp = "Conjurer";			break;
	case cEnchanter:		tmp = "Enchanter";			break;
	case cDiviner:			tmp = "Diviner";			break;
	case cIllusionist:		tmp = "Illusionist";		break;
	case cInvoker:			tmp = "Invoker";			break;
	case cNecromancer:		tmp = "Necromancer";		break;
	case cCleric:			tmp = "Cleric";				break;
	case cDruid:			tmp = "Druid";				break;
	case cThief:			tmp = "Thief";				break;
	case cBard:				tmp = "Bard";				break;
	case cNinja:			tmp = "Ninja";				break;
	}
	return tmp;
}
void Avatar::SetKit(int i, int data)
{
	if(i >= 0 && i < maxNumClasses)
	{
		if(data >= noKit && data < kitsMaxKits)
			avKit[i] = data;
		else
		{
			cout << "\n Kit number out of range.\n ";
			system("pause");
		}
	}
	else
	{
		cout << "\n Kit set index out of range.\n ";
		system("pause");
	}
}
int Avatar::GetKit(int i) const
{
	if(i >= 0 && i < maxNumClasses)
		return avKit[i];
	else
	{
		cout << "\n Kit index out of range\n ";
		system("pause");
		return -1;
	}
}
string Avatar::GetKitStr(int i) const
{
	string tmp;
	tmp = "";
	if(i >= 0 && i < maxNumClasses)	tmp = GetKitNam(avKit[i]);
	return tmp;
}
string Avatar::GetKitNam(int i) const
{
	string tmp;
	tmp = "";

	if(i >= noKit && i <= kitsMaxKits)
	{
		switch(i)
		{
		case noKit:					tmp = "";/* Empty */			break;
		case warAmazon:				tmp = "Amazon";					break;
		case warBarbarian:			tmp = "Barbarian";				break;
		case warBeastRider:			tmp = "Beast Rider";			break;
		case warBerserker:			tmp = "Berserker";				break;
		case warCavalier:			tmp = "Cavalier";				break;
		case warGladiator:			tmp = "Gladiator";				break;
		case warMyrmidon:			tmp = "Myrmidon";				break;
		case warNobleWarrior:		tmp = "Noble";					break;
		case warPeasantHero:		tmp = "Peasant Hero";			break;
		case warPirate:				tmp = "Pirate";					break;
		case warOutlaw:				tmp = "Outlaw";					break;
		case warSamurai:			tmp = "Samarai";				break;
		case warSavage:				tmp = "Savage";					break;
		case warSwashbuckler:		tmp = "Swahbuckler";			break;
		case warWildernessWarrior:	tmp = "Wilderness Warrior";		break;
		case palPaladin:			tmp = "Paladin";				break;
		case palChevalier:			tmp = "Chevalier";				break;
		case palDivinate:			tmp = "Divinate";				break;
		case palEnvoy:				tmp = "Envoy";					break;
		case palEquerry:			tmp = "Equerry";				break;
		case palErrant:				tmp = "Errant";					break;
		case palExpatriate:			tmp = "Expatriate";				break;
		case palGhosthunter:		tmp = "Ghost Hunter";			break;
		case palInquisitor:			tmp = "Inquisitor";				break;
		case palMedician:			tmp = "Medician";				break;
		case palMilitarist:			tmp = "Militarist";				break;
		case palSkyrider:			tmp = "Skyrider";				break;
		case palSquire:				tmp = "Squire";					break;
		case palVotary:				tmp = "Votary";					break;
		case palWyrmslayer:			tmp = "Wyrmslayer";				break;
		case ranBeastmaster:		tmp = "Beast Master";			break;
		case ranExplorer:			tmp = "Explorer";				break;
		case ranFalconer:			tmp = "Falconer";				break;
		case ranFeralan:			tmp = "Feralan";				break;
		case ranForestRunner:		tmp = "Forest Runner";			break;
		case ranGiantKiller:		tmp = "Giant Killer";			break;
		case ranGreenwoodRanger:	tmp = "Greenwood Ranger";		break;
		case ranGuardian:			tmp = "Guardian";				break;
		case ranJustifier:			tmp = "Justifier";				break;
		case ranMountainMan:		tmp = "Mountain";				break;
		case ranPathfinder:			tmp = "Pathfinder";				break;
		case ranSeaRanger:			tmp = "Sea Ranger";				break;
		case ranSeeker:				tmp = "Seeker";					break;
		case ranStalker:			tmp = "Stalker";				break;
		case ranWarden:				tmp = "Warden";					break;
		case priAmazonPriestess:	tmp = "Amazon Priestess";		break;
		case priBarbarian:			tmp = "Barbarian";				break;
		case priBerserker:			tmp = "Berserker";				break;
		case priFightingMonk:		tmp = "Fighting Monk";			break;
		case priNobleman:			tmp = "Nobleman";				break;
		case priOutlaw:				tmp = "Outlaw";					break;
		case priPacifist:			tmp = "Pacifist";				break;
		case priPeasant:			tmp = "Peasant";				break;
		case priProphet:			tmp = "Prophit";				break;
		case priSavage:				tmp = "Savage";					break;
		case priScholar:			tmp = "Scholar";				break;
		case druAdviser:			tmp = "Advisor";				break;
		case druAvenger:			tmp = "Avenger";				break;
		case druBeastfriend:		tmp = "Beast Friend";			break;
		case druGuardian:			tmp = "Guardian";				break;
		case druHivemaster:			tmp = "Hivemaster";				break;
		case druLost:				tmp = "Lost";					break;
		case druNaturalPhilosopher:	tmp = "Natural Philosopher";	break;
		case druOutlaw:				tmp = "Outlaw";					break;
		case druPacifist:			tmp = "Pacifist";				break;
		case druSavage:				tmp = "Savage";					break;
		case druShapeshifter:		tmp = "Shapeshifter";			break;
		case druTotemic:			tmp = "Totemic";				break;
		case druVillage:			tmp = "Village";				break;
		case druWanderer:			tmp = "Wanderer";				break;
		case rogAcrobat:			tmp = "Acrobat";				break;
		case rogAdventurer:			tmp = "Adventurer";				break;
		case rogAssassin:			tmp = "Assassin";				break;
		case rogBandit:				tmp = "Bandit";					break;
		case rogBeggar:				tmp = "Beggar";					break;
		case rogBountyHunter:		tmp = "Bounty Hunter";			break;
		case rogBuccaneer:			tmp = "Buccaneer";				break;
		case rogBurglar:			tmp = "Burglar";				break;
		case rogCutpurse:			tmp = "Cutpurse";				break;
		case rogFence:				tmp = "Fence";					break;
		case rogInvestigator:		tmp = "Investigator";			break;
		case rogScout:				tmp = "Scout";					break;
		case rogSmuggler:			tmp = "Smuggler";				break;
		case rogSpy:				tmp = "Spy";					break;
		case rogSwashbuckler:		tmp = "Swashbuckler";			break;
		case rogSwindler:			tmp = "Swindler";				break;
		case rogThug:				tmp = "Thug";					break;
		case rogTroubleshooter:		tmp = "Troubleshooter";			break;
		case barTrueBard:			tmp = "Bard";					break;
		case barBlade:				tmp = "Blade";					break;
		case barCharlatan:			tmp = "Charlatan";				break;
		case barGallant:			tmp = "Gallant";				break;
		case barGypsy:				tmp = "Gypsy";					break;
		case barHerald:				tmp = "Herald";					break;
		case barJester:				tmp = "Jester";					break;
		case barJongleur:			tmp = "Jongleur";				break;
		case barLoremaster:			tmp = "Loremaster";				break;
		case barMeistersinger:		tmp = "Meistersinger";			break;
		case barRiddlemaster:		tmp = "Riddlemaster";			break;
		case barSkald:				tmp = "Skald";					break;
		case barThespian:			tmp = "Thespian";				break;
		case ninStealerIn:			tmp = "Stealer In";				break;
		case ninShadowWarrior:		tmp = "Shadow Warrior";			break;
		case ninIntruder:			tmp = "Intruder";				break;
		case ninConsort:			tmp = "Consort";				break;
		case ninPathfinder:			tmp = "Pathfinder";				break;
		case ninLoneWolf:			tmp = "Lone Wolf";				break;
		case ninSpiritWarrior:		tmp = "Spirit Warrior";			break;
		case ninSpy:				tmp = "Spy";					break;
		case wizAcademician:		tmp = "Academician";			break;
		case wizAmazonSorceress:	tmp = "Amazon Sorceress";		break;
		case wizAnagakok:			tmp = "Anagakok";				break;
		case wizMilitantWizard:		tmp = "Militant Wizard";		break;
		case wizMystic:				tmp = "Mystic";					break;
		case wizPatrician:			tmp = "Patrician";				break;
		case wizPeasant:			tmp = "Peasant";				break;
		case wizSavage:				tmp = "Savage";					break;
		case wizWitch:				tmp = "Witch";					break;
		case wizWuJen:				tmp = "Wu Jen";					break;
		case kitsMaxKits:			tmp = "Pick";					break;
		}
	}
	return tmp;
}
void Avatar::SetNumClass(int i)
{
	//Verify that the range is allowed...
	if(i >= 0 && i < maxNumClasses)
		numClasses = i;
	//..if not, reset the classes, and declare no classes
	else
	{
		for(int k = 0; k < maxNumClasses; k++)
			avClass[k] = cMAX_CLASSES;
		numClasses = 0;
	}
}
int Avatar::GetNumClass() const
{
	return numClasses;
}
void Avatar::SetClassXP(int index, int value)
{
	if(index >= 0 && index < maxNumClasses)
	{
		avClassXP[index] = value;
	}
	else
	{
		avClassXP[0] = 0;
		avClassXP[1] = 0;
		avClassXP[2] = 0;
		avClassXP[3] = 0;
	}
}
int Avatar::GetClassXP(int index) const
{
	if(index >= 0 && index < maxNumClasses) return avClassXP[index];
	else return -1;
	//-1 because it will cause a character's level be '0' and this
	//output can be used as a test of data
}
void Avatar::AddXP(int adjusting)
{
	//A negative value might be passed if the Avatar got deducted because they 
	//did something against the expected play
	double dblTemp = 0.0;
	//How many xp per class?
	dblTemp = adjusting / double(numClasses);
	for(int i = 0; i < numClasses; i++)
		avClassXP[i] += int(dblTemp);
	//Make sure calling method modifies Avatar's level(s) after assigning xp.
}
void Avatar::SetClassLvl(int index, int level)
{
	if(index >= 0 && index < maxNumClasses)
		classLvl[index] = level;
	else
	{
		classLvl[0] = 0;
		classLvl[1] = 0;
		classLvl[2] = 0;
		classLvl[3] = 0;
	}
}
int Avatar::GetClassLvl(int index) const
{
	if(index >= 0 && index < maxNumClasses)	return classLvl[index];
	else									return 0;
}
//Attributes
void Avatar::SetSStr(int data)
{
	if(data > 0 && data <= 25)
	{
		sStr = data;
	}
	else sStr = 0;
}
int Avatar::GetSStr() const
{
	return sStr;
}
void Avatar::SetStrE(int data)
{
	if(data >= 0 && data <= 100)
	{
		sExStr = data;
	}
	else sExStr = 0;
}
int Avatar::GetStrE() const
{
	return sExStr;
}
void Avatar::SetSDex(int data)
{
	if(data > 0 && data <= 25)
	{
		sDex = data;
	}
	else sDex = 0;
}
int Avatar::GetSDex() const
{
	return sDex;
}
void Avatar::SetSCon(int data)
{
	if(data > 0 && data <= 25)
	{
		sCon = data;
	}
	else sCon = 0;
}
int Avatar::GetSCon() const
{
	return sCon;
}
void Avatar::SetSInt(int data)
{
	if(data > 0 && data <= 25)
	{
		sInt = data;
	}
	else sInt = 0;
}
int Avatar::GetSInt() const
{
	return sInt;
}
void Avatar::SetSWis(int data)
{
	if(data > 0 && data <= 25)
	{
		sWis = data;
	}
	else sWis = 0;
}
int Avatar::GetSWis() const
{
	return sWis;
}
void Avatar::SetSCha(int data)
{
	if(data > 0 && data <= 25)
	{
		sCha = data;
	}
	else sCha = 0;
}
int Avatar::GetSCha() const
{
	return sCha;
}
void Avatar::SetSCom(int data)
{
	if(data > 0 && data <= 25)
	{
		sCom = data;
	}
	else sCom = 0;
}
int Avatar::GetSCom() const
{
	return sCom;
}
void Avatar::ResetStartingStats()
{
	SetSStr(0);
	SetStrE(0);
	SetSDex(0);
	SetSCon(0);
	SetSInt(0);
	SetSWis(0);
	SetSCha(0);
	SetSCom(0);
}
void Avatar::SetAStr(float data)
{
	if(data > 0 && data <= 25)
	{
		aStr = data;
	}
	else aStr = 0.0;
}
float Avatar::GetAStr() const
{
	return aStr;
}
void Avatar::SetADex(float data)
{
	if(data > 0 && data <= 25)
	{
		aDex = data;
	}
	else aDex = 0;
}
float Avatar::GetADex() const
{
	return aDex;
}
void Avatar::SetACon(float data)
{
	if(data > 0 && data <= 25)
	{
		aCon = data;
	}
	else aCon = 0;
}
float Avatar::GetACon() const
{
	return aCon;
}
void Avatar::SetAInt(float data)
{
	if(data > 0 && data <= 25)
	{
		aInt = data;
	}
	else aInt = 0;
}
float Avatar::GetAInt() const
{
	return aInt;
}
void Avatar::SetAWis(float data)
{
	if(data > 0 && data <= 25)
	{
		aWis = data;
	}
	else aWis = 0;
}
float Avatar::GetAWis() const
{
	return aWis;
}
void Avatar::SetACha(float data)
{
	if(data > 0 && data <= 25)
	{
		aCha = data;
	}
	else aCha = 0;
}
float Avatar::GetACha() const
{
	return aCha;
}
void Avatar::SetACom(float data)
{
	if(data > 0 && data <= 25)
	{
		aCom = data;
	}
	else aCom = 0;
}
float Avatar::GetACom() const
{
	return aCom;
}
void Avatar::CheckStatsByRace()
{
	switch(Race)
	{
	case startDwarf:
		sCon += 1;
		sCha -= 1;
		if(sStr < 8)  sStr = 8;  if(sStr > 18) sStr = 18;
		if(sDex < 3)  sDex = 3;  if(sDex > 17) sDex = 17;
		if(sCon < 11) sCon = 11; if(sCon > 19) sCon = 19;
		if(sInt < 3)  sInt = 3;  if(sInt > 18) sInt = 18;
		if(sWis < 3)  sWis = 3;  if(sWis > 18) sWis = 18;
		if(sCha < 3)  sCha = 3;  if(sCha > 17) sCha = 17;
		break;
	case startElf:
		sDex += 1;
		sCon -= 1;
		if(sStr < 3)  sStr = 3;  if(sStr > 18) sStr = 18;
		if(sDex < 6)  sDex = 6;  if(sDex > 18) sDex = 18;
		if(sCon < 7)  sCon = 7;  if(sCon > 17) sCon = 17;
		if(sInt < 8)  sInt = 8;  if(sInt > 18) sInt = 18;
		if(sWis < 3)  sWis = 3;  if(sWis > 18) sWis = 18;
		if(sCha < 8)  sCha = 8;  if(sCha > 18) sCha = 18;
		break;
	case startGnome:
		sInt += 1;
		sWis -= 1;
		if(sStr < 6)  sStr = 6;  if(sStr > 18) sStr = 18;
		if(sDex < 3)  sDex = 3;  if(sDex > 18) sDex = 18;
		if(sCon < 8)  sCon = 8;  if(sCon > 18) sCon = 18;
		if(sInt < 6)  sInt = 6;  if(sInt > 18) sInt = 18;
		if(sWis < 3)  sWis = 3;  if(sWis > 18) sWis = 18;
		if(sCha < 3)  sCha = 3;  if(sCha > 18) sCha = 18;
		break;
	case startHalfElf:
		if(sStr < 3)  sStr = 3;  if(sStr > 18) sStr = 18;
		if(sDex < 6)  sDex = 6;  if(sDex > 18) sDex = 18;
		if(sCon < 6)  sCon = 6;  if(sCon > 18) sCon = 18;
		if(sInt < 4)  sInt = 4;  if(sInt > 18) sInt = 18;
		if(sWis < 3)  sWis = 3;  if(sWis > 18) sWis = 18;
		if(sCha < 3)  sCha = 3;  if(sCha > 18) sCha = 18;
		break;
	case startHalfling:
		sDex += 1;
		sStr -= 1;
		if(sStr < 7)  sStr =  7;  if(sStr > 18) sStr = 18;
		if(sDex < 7)  sDex =  7;  if(sDex > 18) sDex = 18;
		if(sCon < 10) sCon = 10;  if(sCon > 18) sCon = 18;
		if(sInt < 6)  sInt =  6;  if(sInt > 18) sInt = 18;
		if(sWis < 3)  sWis =  3;  if(sWis > 17) sWis = 17;
		if(sCha < 3)  sCha =  3;  if(sCha > 18) sCha = 18;
		break;
	default:
		break;
	}
}
//Custom Class
void Avatar::SetCmbtValue(int Index, double Data)
{
	if(Index >= 0 && Index < cmbtTOTAL_CmbtValues)
		CombatValues[Index] = Data;

	calTotalMult();
}
double Avatar::GetCmbtValue(int Index) const
{
	if(Index >= 0 && Index < cmbtTOTAL_CmbtValues)
		return CombatValues[Index];
	else return 0;
}
int Avatar::GetCustomCmbtValue() const
{
	int tmp;
	switch(int(GetCmbtValue(cmbtCombatValue)))
	{
	case -2:	tmp = cZERO_LEVEL;		break;
	case -1:	tmp = cWIZARD;			break;
	case 0:		tmp = cROGUE;			break;
	case 1:		tmp = cPRIEST;			break;
	case 2:		tmp = cWARRIOR;			break;
	case 3:		tmp = cMONSTER;			break;
	default:	tmp = cZERO_LEVEL;		break;
	};
	return tmp;
}
void Avatar::SetOptionalAbil(int Index, bool Data)
{
	if(Index >= 0 && Index < TOTAL_OptVals)
		OptionalAbilities[Index] = Data;
	calTotalMult();
}
void Avatar::ReverseOptional(int Index)
{
	if(Index >= 0 && Index < TOTAL_OptVals)
	{
		if(OptionalAbilities[Index] == true)	OptionalAbilities[Index] = false;
		else									OptionalAbilities[Index] = true;
	}
	calTotalMult();
}
bool Avatar::GetOptionalAbil(int Index) const
{
	if(Index >= 0 && Index < TOTAL_OptVals)
		return OptionalAbilities[Index];
	else
		return 0;
}
string Avatar::GetOptTF(int Index) const
{
	if(Index >= 0 && Index < TOTAL_OptVals)
	{
		if(OptionalAbilities[Index] == true)	return "yes";
		else									return "no";
	}
	else return "GotOptTF Fail";
}
void Avatar::SetRestriction(int Index, bool Data)
{
	if(Index >= 0 && Index < TOTAL_Restricts)
		Restrictions[Index] = Data;
	calTotalMult();
}
bool Avatar::GetRestriction(int Index) const
{
	if(Index >= 0 && Index < TOTAL_Restricts)
		return Restrictions[Index];
	else return false;
}
void Avatar::ReverseRestrict(int Index)
{
	if(Index >= 0 && Index < TOTAL_Restricts)
	{
		if(Restrictions[Index] == true)			Restrictions[Index] = false;
		else									Restrictions[Index] = true;
	}
	calTotalMult();
}
string Avatar::GetResTF(int Index) const//Get restriction Text Format - M. White 12 April, 2019
{
	if(Index >= 0 && Index < TOTAL_Restricts)
	{
		if(Restrictions[Index] == true)			return "yes";
		else									return "no";
	}
	else return "Error GetResTF";
}
double Avatar::GetTotalMult() const
{
	return TotalMult;
}
void Avatar::calTotalMult()
{
	//Rest to clear...
	TotalMult = 0.0;

	//Begin adding/subtracting of values...
	TotalMult = CombatValues[cmbtRace]		+ CombatValues[cmbtCombatValue]		+ CombatValues[cmbtSaveValue]		+
				CombatValues[cmbtHDLevel]	+ CombatValues[cmbtArmorAllowed]	+ CombatValues[cmbtWeaponsAllowed]	+
				CombatValues[cmbtHPAfter9th];

	if(OptionalAbilities[FighterCon]		== true) TotalMult +=  1.0;
	if(OptionalAbilities[FighterExStr]		== true) TotalMult +=  1.0; 
	if(OptionalAbilities[AnimalEmp]			== true) TotalMult +=  1.0;
	if(OptionalAbilities[BonusHitCreature]	== true) TotalMult +=  1.0;
	if(OptionalAbilities[ReadLang]			== true) TotalMult +=  0.5;
	if(OptionalAbilities[AuraOfPro]			== true) TotalMult +=  1.0;
	if(OptionalAbilities[Backstab]			== true) TotalMult +=  1.0;
	if(OptionalAbilities[CastAnyPriest]		== true) TotalMult +=  8.0;
	if(OptionalAbilities[ClimbWalls]		== true) TotalMult +=  1.0;
	if(OptionalAbilities[FindRemove]		== true) TotalMult +=  1.0;
	if(OptionalAbilities[HealAsPal]			== true) TotalMult +=  1.0;
	if(OptionalAbilities[HearNoise]			== true) TotalMult +=  0.5;
	if(OptionalAbilities[HideShadows]		== true) TotalMult +=  1.0;
	if(OptionalAbilities[AnyMageSpell]		== true) TotalMult += 16.0;
	if(OptionalAbilities[MoveSilent]		== true) TotalMult +=  1.0;
	if(OptionalAbilities[OpenLocks]			== true) TotalMult +=  1.0;
	if(OptionalAbilities[PickPockets]		== true) TotalMult +=  1.0;
	if(OptionalAbilities[FollowAsWarrior]	== true) TotalMult +=  2.0;
	if(OptionalAbilities[FollowAsCleric]	== true) TotalMult +=  1.5;
	if(OptionalAbilities[FollowAsMage]		== true) TotalMult +=  0.5;
	if(OptionalAbilities[FollowAsThief]		== true) TotalMult +=  1.0;

	if(Restrictions[CantKeepMuch]			== true) TotalMult += -0.5;
	if(Restrictions[MustDonate]				== true) TotalMult += -0.5;
	if(Restrictions[NonHuman9]				== true) TotalMult += -1.0;
	if(Restrictions[NonHuman12]				== true) TotalMult += -0.5;
	if(Restrictions[HasEthos]				== true) TotalMult += -1.0;
	if(Restrictions[Cant10Magic]			== true) TotalMult += -0.5;
	if(Restrictions[Cant6Magic]				== true) TotalMult += -1.0;
	if(Restrictions[CantClass]				== true) TotalMult += -1.0;
	if(Restrictions[CantAlign]				== true) TotalMult += -1.0;
}
void Avatar::ResetCustom()
{
	//Custom Class
	int i = 0;
	for(i = 0; i < cmbtTOTAL_CmbtValues;	i++) CombatValues[i]		= 0.0;
	CombatValues[cmbtSaveValue] = -2.0;
	for(i = 0; i < TOTAL_OptVals;			i++) OptionalAbilities[i]	= false;
	for(i = 0; i < TOTAL_Restricts;			i++) Restrictions[i]		= false;
	SaveAsClass = cZERO_LEVEL;
	calTotalMult();
}
void Avatar::SetSaveAsClass(int data)
{
	//c0LvlHuman = 0, cWarrior, cPriest , cRogue, cWizard, cCustom
	if(data >= cZERO_LEVEL && data < MAX_ClassCats)
		SaveAsClass = data;
	else SaveAsClass = cZERO_LEVEL;
}
int Avatar::GetSaveAsClass() const
{
	return SaveAsClass;
}
//Weapon Proficiencies
void Avatar::ResetWPs()
{
	MaxWeaponSlots = 1;//Default (required)
	numWPs = 0;
	for(int i = 0; i < MAX_WEAPONPRO; i++)
		weaponPros[i] = 0;
}
void Avatar::AssignNumWeaPros()
{
	//The user might pick a new class that requires weapon clean up...
	ResetWPs();
	switch(GetClass(0))
	{
	case cZeroLvl: case cZERO_LEVEL:							MaxWeaponSlots = 1;		break;
	case cFighter: case cPaladin: case cRanger: case cWARRIOR:	MaxWeaponSlots = 4;		break;
	case cCleric: case cDruid: case cPRIEST:					MaxWeaponSlots = 2;		break;
	case cThief: case cBard: case cNinja: case cROGUE:			MaxWeaponSlots = 2;		break;
	case cWizard: case cAbjurer: case cTransmuter: 
	case cConjurer: case cEnchanter: case cDiviner: 
	case cIllusionist: case cInvoker: case cNecromancer: 
	case cWIZARD:												MaxWeaponSlots = 1; 	break;
	default:													MaxWeaponSlots = 1;		break;
/*	case cCUSTOM:
		//Monster is assigned the same as Rogue for playability...
		if		(GetCmbtValue(cmbtCombatValue) == 3.0)	i = cMONSTER;	//Monster
		else if	(GetCmbtValue(cmbtCombatValue) == 2.0)	i = cWARRIOR;	//Warrior
		else if	(GetCmbtValue(cmbtCombatValue) == 1.0)	i = cPRIEST;	//Priest
		else if	(GetCmbtValue(cmbtCombatValue) == 0.0)	i = cROGUE;		//Rogue
		else											i = cWIZARD;	//Wizard
		switch(i)
		{
		case cMONSTER:		MaxWeaponSlots = 3;		break;
		case cWARRIOR:		MaxWeaponSlots = 4;		break;
		case cPRIEST:		MaxWeaponSlots = 2;		break;
		case cROGUE:		MaxWeaponSlots = 2;		break;
		case cWIZARD:		MaxWeaponSlots = 1;		break;
		}
		break; */
//	default:			MaxWeaponSlots = 0;		break;
	}
}
void Avatar::SetMaxNumWPs(int i)
{
	if(i > 0) MaxWeaponSlots = i;
}
int Avatar::GetNumMaxWPslots() const
{
	return MaxWeaponSlots;
}
void Avatar::AssignWeaponSlot(int index, int data)
{
	if(numWPs < MaxWeaponSlots)
	{
		//Majority of the time data is going to come from a data file with a total number...
		if(data >= 0 && data < MAX_WEAPONPRO)
		{
			weaponPros[index] = data;
			CalcWPsSlots();	//recalculate the total slots allowed...
		}
	}
	else
	{
	//	cout << "\n You've reached your maximum WP allocation.\n "
	//		 << "Reset your skills to start over.\n\n ";
	//	system("pause");
		//Tested and valid
	}
}
int Avatar::GetNumWPsUsed() const
{
	return numWPs;
}
void Avatar::ResetWPsUsed()
{
	numWPs = 0;
	for(int i = 0; i < MAX_WEAPONPRO; i++)
		weaponPros[i] = 0;
}
string Avatar::GetWProName(int i) const
{
	string tmp;

	switch(i)
	{
	case wpArquebus:			tmp = "Arquebus";				break;
	case wpAwlPike:				tmp = "Awl Pike";				break;
	case wpBardiche:			tmp = "Bardiche";				break;
	case wpAxeBattle:			tmp = "Axe, Battle";			break;
	case wpBecDeCorbin:			tmp = "Bed de Corbin";			break;
	case wpBillGuisarme:		tmp = "Bill-guisarme";			break;
	case wpBlowgun:				tmp = "Blowgun";				break;
	case wpBowCompLong:			tmp = "Bow, Long Composite";	break;
	case wpBowCompShort:		tmp = "Bow, Short Composite";	break;
	case wpBowLong:				tmp = "Bow, Long";				break;
	case wpBowShort:			tmp = "Bow, Short";				break;
	case wpClub:				tmp = "Club";					break;
	case wpCrossbowHand:		tmp = "Crossbow, Hand";			break;
	case wpCrossbowHeavy:		tmp = "Crossbow, Heavy";		break;
	case wpCrossbowLight:		tmp = "Crossbow, Light";		break;
	case wpDagger:				tmp = "Dagger";					break;
	case wpDirk:				tmp = "Dirk";					break;
	case wpDart:				tmp = "Dart";					break;
	case wpFauchard:			tmp = "Fauchard";				break;
	case wpFauchardFork:		tmp = "Fauchard-fork";			break;
	case wpFlailFoot:			tmp = "Flail, Footman's";		break;
	case wpFlailHorse:			tmp = "Flail, Horseman's";		break;
	case wpFlintLocks:			tmp = "Flint Locks";			break;
	case wpGlaiveGuisarme:		tmp = "Glaive-guisarme";		break;
	case wpGuisarme:			tmp = "Guisarme";				break;
	case wpGuisarmeVoulge:		tmp = "Guisarme-voulge";		break;
	case wpHalberd:				tmp = "Halberd";				break;
	case wpHookFauchard:		tmp = "Hoook-fauchard";			break;
	case wpJavelin:				tmp = "Javelin";				break;
	case wpKhopesh:				tmp = "Khopesh";				break;
	case wpKnife:				tmp = "Knife";					break;
	case wpLanceHvy:			tmp = "Lance, Heavy";			break;
	case wpLanceLgt:			tmp = "Lance, Light";			break;
	case wpLanceMed:			tmp = "Lance, Medium";			break;
	case wpLucernHammer:		tmp = "Lucern Hammer";			break;
	case wpMaceFoot:			tmp = "Mace, Footman's";		break;
	case wpMaceHorse:			tmp = "Mace, Horseman's";		break;
	case wpMancatcher:			tmp = "Man catcher";			break;
	case wpMilitaryFork:		tmp = "Military Fork";			break;
	case wpMorningStar:			tmp = "Morning star";			break;
	case wpPartisan:			tmp = "Partisan";				break;
	case wpPickFoot:			tmp = "Pick, Footman's";		break;
	case wpPickHorse:			tmp = "Pick, Horseman's";		break;
	case wpQuarterstaff:		tmp = "Quarterstaff";			break;
	case wpRansuer:				tmp = "Ransuer";				break;
	case wpScourge:				tmp = "Scourge";				break;
	case wpSickle:				tmp = "Sickle";					break;
	case wpSpectum:				tmp = "Spetum";					break;
	case wpSling:				tmp = "Sling";					break;
	case wpSpear:				tmp = "Spear";					break;
	case wpStaffSling:			tmp = "Staff Sling";			break;
	case wpSwordBastard:		tmp = "Sword, Bastard";			break;
	case wpSwordBroad:			tmp = "Sword, Broad";			break;
	case wpSwordLong:			tmp = "Sword, Long";			break;
	case wpSwordScimitar:		tmp = "Sword, Scimitar";		break;
	case wpSwordShort:			tmp = "Sword, Short";			break;
	case wpSwordTwoHanded:		tmp = "Sword, Two-handed";		break;
	case wpTrident:				tmp = "Trident";				break;
	case wpVoulge:				tmp = "Voulge";					break;
	case wpWarhammer:			tmp = "Warhammer";				break;
	case wpWhip:				tmp = "Whip";					break;
	default:					tmp = "Weapon WP Error";		break;
	}
	return tmp;
}
int Avatar::GetWPSlotCost(int index) const
{
	if(index >= 0 && index < MAX_WEAPONPRO)
		return weaponPros[index];
	else return 0;
}
void Avatar::CalcWPsSlots()
{
	numWPs = 0;
	for(int i = 0; i < MAX_WEAPONPRO; i++)
		numWPs += weaponPros[i];
}
//NWPs
void Avatar::ResetNWPs()
{
	MaxNWPSlots = AllocatedNWPs = 0;
	for(int i = 0; i < MAX_NWPs; i++)
		nwp[i] = 0;
}
void Avatar::AssignNumNWPs()
{
	int tmpNum1;
	int tmpNum2;
    
	tmpNum2 = 0;

	//If Avatar is multi-class...
	if(Statuses[asMultiClass] == true)
	{
		//With multi-class, we're temporarily using tmpNum1 as a storage
		//location to be able to make a comparison against what tmpNum2 
		//has. After we get a high vallue, we'll recycle tmpNum1 with an 
		//assignment in the next section where tmpNum1 and tmpNum2 are summed.

		//Search the classes to see if any is Wizard or Cleric
		for(int i = 0; i < cMAX_CLASSES; i++)
		{
			if(avClass[i] != cMAX_CLASSES)
			{
				switch(avClass[i])
				{
				case cPRIEST:	case cWIZARD:	tmpNum1 = 4;	break;
				case cROGUE:	case cWARRIOR:	tmpNum1 = 3;	break;
				case cZERO_LEVEL:				tmpNum1 = 2;	break;
				case cMONSTER:					tmpNum1 = 1;	break;
				case cCustom:
					switch(GetCustomCmbtValue())
					{
					case cPRIEST:	case cWIZARD:	tmpNum1 = 4;	break;
					case cROGUE:	case cWARRIOR:	tmpNum1 = 3;	break;
					case cZERO_LEVEL:				tmpNum1 = 2;	break;
					case cMONSTER:					tmpNum1 = 1;	break;
					}
					break;
				}
				//If we find a greater value, assign it instead...
				if(tmpNum1 > tmpNum2) tmpNum2 = tmpNum1;
			}
		}
	}
	else
	{
		//We don't have to search for high value,
		//as there is only one class to check.
		switch(avClass[0])
		{
		case cPRIEST:	case cWIZARD:	tmpNum2 = 4;	break;
		case cROGUE:	case cWARRIOR:	tmpNum2 = 3;	break;
		case cZERO_LEVEL:				tmpNum2 = 2;	break;
		case cMONSTER:					tmpNum2 = 1;	break;
		
		case cCustom:
			switch(GetCustomCmbtValue())
			{
			case cPRIEST:	case cWIZARD:	tmpNum2 = 4;	break;
			case cROGUE:	case cWARRIOR:	tmpNum2 = 3;	break;
			case cZERO_LEVEL:				tmpNum2 = 2;	break;
			case cMONSTER:					tmpNum2 = 1;	break;
			}
			break;
		}
	}
	
	//Add number of slots according to Intelligence...
	switch(sInt)
	{
	case 25:	tmpNum1 = 20;	break;
	case 24:	tmpNum1 = 15;	break;
	case 23:	tmpNum1 = 12;	break;
	case 22:	tmpNum1 = 11;	break;
	case 21:	tmpNum1 = 10;	break;
	case 20:	tmpNum1 = 9;	break;
	case 19:	tmpNum1 = 8;	break;
	case 18:	tmpNum1 = 7;	break;
	case 17:	tmpNum1 = 6;	break;
	case 16:	tmpNum1 = 5;	break;
	case 15:	tmpNum1 = 4;	break;
	case 14:	tmpNum1 = 4;	break;
	case 13:	tmpNum1 = 3;	break;
	case 12:	tmpNum1 = 3;	break;
	case 11:	tmpNum1 = 2;	break;
	case 10:	tmpNum1 = 2;	break;
	case 9:		tmpNum1 = 2;	break;
	case 8:		tmpNum1 = 1;	break;
	case 7:		tmpNum1 = 1;	break;
	case 6:		tmpNum1 = 1;	break;
	case 5:		tmpNum1 = 1;	break;
	case 4:		tmpNum1 = 1;	break;
	case 3:		tmpNum1 = 1;	break;
	case 2:		tmpNum1 = 1;	break;
	case 1:		tmpNum1 = 0;	break;
	}

	MaxNWPSlots = tmpNum1 + tmpNum2;
}
void Avatar::AssignNWPSlot(int index, int data)
{
	if(index >= 0 && index < MAX_NWPs)
	{
		nwp[index] = data;
		CalNWPslots();
	}
	else nwp[index] = 0;
}
void Avatar::CalNWPslots()
{
	AllocatedNWPs = 0;
	for(int i = 0; i < MAX_NWPs; i++)
		AllocatedNWPs += nwp[i];
}
int Avatar::GetNWPnumSlotsAll(int index) const
{
	if(index >= 0 && index < MAX_NWPs)
		return nwp[index];
	else return 0;
}
int Avatar::GetNumNWPSAllocated() const
{
	return AllocatedNWPs;
}
int Avatar::GetNumMaxNWPslots() const
{
	return MaxNWPSlots;
}
string Avatar::GetNWPStr(int index)
{
	string tmp;
	switch(index)
	{
	case nwpAlchemy:				tmp = "Alchemy";				break;
	case nwpAlertness:				tmp = "Alertness";				break;
	case nwpAnimalTraining:			tmp = "Animal Training";		break;
	case nwpAppraising:				tmp = "Appraising";				break;
	case nwpBalance:				tmp = "Balance";				break;
	case nwpBargain:				tmp = "Bargain";				break;
	case nwpBeeKeeping:				tmp = "Bee Keeping";			break;
	case nwpBegging:				tmp = "Begging";				break;
	case nwpBlacksmithing:			tmp = "Blacksmithing";			break;
	case nwpBlindFighting:			tmp = "Blind Fighting";			break;
	case nwpBoasting:				tmp = "Boasting";				break;
	case nwpBoating:				tmp = "Boating";				break;
	case nwpBoatwright:				tmp = "Boatwright";				break;
	case nwpBodyLang:				tmp = "Body Language";			break;
	case nwpBowyer:					tmp = "Bowyer";					break;
	case nwpBrewing:				tmp = "Brewing";				break;
	case nwpBribery:				tmp = "Bribery";				break;
	case nwpBureaucracy:			tmp = "Bureaucracy";			break;
	case nwpButcher:				tmp = "Butcher";				break;
	case nwpCamouflage:				tmp = "Camouflage";				break;
	case nwpCarpentry:				tmp = "Carpentry";				break;
	case nwpCandleMaker:			tmp = "Candle Making";			break;
	case nwpCartography:			tmp = "Cartography";			break;
	case nwpCartwright:				tmp = "Cartwright";				break;
	case nwpChanting:				tmp = "Chanting";				break;
	case nwpCharioteering:			tmp = "Charioteering";			break;
	case nwpCheeseMaking:			tmp = "CheeseMaking";			break;
	case nwpClayWorking:			tmp = "Clay Working";			break;
	case nwpClimbing:				tmp = "Climbing";				break;
	case nwpCloseQuarterFighting:	tmp = "Close Qtr Fight'";		break;
	case nwpCobbling:				tmp = "Cobbling";				break;
	case nwpCommerce:				tmp = "Commerce";				break;
	case nwpConcealment:			tmp = "Concealment";			break;
	case nwpCooking:				tmp = "Cooking";				break;
	case nwpDairyman:				tmp = "Dairyman";				break;
	case nwpDancing:				tmp = "Dancing";				break;
	case nwpDangerSense:			tmp = "Danger Sense";			break;
	case nwpDiagnostics:			tmp = "Diagnostics";			break;
	case nwpDiplomacy:				tmp = "Diplomacy";				break;
	case nwpDirectionSense:			tmp = "Direction Sense";		break;
	case nwpDisguise:				tmp = "Disguise";				break;
	case nwpDistanceSense:			tmp = "Distance Sense";			break;
	case nwpEavesdropping:			tmp = "Eaves Dropping";			break;
	case nwpEndurance:				tmp = "Endurance";				break;
	case nwpEngineering:			tmp = "Engineering";			break;
	case nwpEtiquette:				tmp = "Etiquette";				break;
	case nwpEvasion:				tmp = "Evasion";				break;
	case nwpFarming:				tmp = "Farming";				break;
	case nwpFieldOfStudy:			tmp = "Field Of Study";			break;
	case nwpFireBuilding:			tmp = "Fire Building";			break;
	case nwpFishing:				tmp = "Fishing";				break;
	case nwpFletcher:				tmp = "Fletcher";				break;
	case nwpForaging:				tmp = "Foraging";				break;
	case nwpForgery:				tmp = "Forgery";				break;
	case nwpGaming:					tmp = "Gaming";					break;
	case nwpGemCutting:				tmp = "Gem Cutting";			break;
	case nwpHerbalism:				tmp = "Herbalism";				break;
	case nwpHiding:					tmp = "Hiding";					break;
	case nwpHunting:				tmp = "Hunting";				break;
	case nwpIntimidation:			tmp = "Intimidation";			break;
	case nwpJumping:				tmp = "Jumping";				break;
	case nwpLangAncient:			tmp = "Language - Ancient";		break;
	case nwpLangModern:				tmp = "Language - Modern";		break;
	case nwpLeadership:				tmp = "Leadership";				break;
	case nwpLeatherworking:			tmp = "Leatherworking";			break;
	case nwpLockPicking:			tmp = "Lock Picking";			break;
	case nwpLocksmithing:			tmp = "Locksmithing";			break;
	case nwpManipulation:			tmp = "Manipulation";			break;
	case nwpMiller:					tmp = "Miller";					break;
	case nwpMining:					tmp = "Mining";					break;
	case nwpMusicalInstrument:		tmp = "Musical Instrument";		break;
	case nwpNavigation:				tmp = "Navigation";				break;
	case nwpNightsight:				tmp = "Nightsight";				break;
	case nwpObservation:			tmp = "Observation";			break;
	case nwpOrienteering:			tmp = "Orienteering";			break;
	case nwpPickPockets:			tmp = "Pick Pockets";			break;
	case nwpReadWrite:				tmp = "Reading/Writing";		break;
	case nwpRiding:					tmp = "Riding";					break;
	case nwpRopeNetMaking:			tmp = "Rope & Net Making";		break;
	case nwpRunning:				tmp = "Running";				break;
	case nwpSeamanship:				tmp = "Seamanship";				break;
	case nwpSeamstressTailor:		tmp = "Seamstress/Tailor";		break;
	case nwpSetSnaresAndTraps:		tmp = "Set Snares & Traps";		break;
	case nwpShadowing:				tmp = "Shadowing";				break;
	case nwpShepherd:				tmp = "Shepherd";				break;
	case nwpShipwright:				tmp = "Shipwright";				break;
	case nwpSignaling:				tmp = "Signaling";				break;
	case nwpSinging:				tmp = "Singing";				break;
	case nwpSoundAnalysis:			tmp = "Sound Analysis";			break;
	case nwpSpeedCasting:			tmp = "Speed Casting";			break;
	case nwpSpellcraft:				tmp = "Spellcraft";				break;
	case nwpStealth:				tmp = "Stealth";				break;
	case nwpStonemasonry:			tmp = "Stonemasonry";			break;
	case nwpStreetSense:			tmp = "Street Sense";			break;
	case nwpSurvival:				tmp = "Survival";				break;
	case nwpSwimming:				tmp = "Swimming";				break;
	case nwpTeaching:				tmp = "Teaching";				break;
	case nwpTightropeWalking:		tmp = "Tightrope Walking";		break;
	case nwpTrapDetect:				tmp = "Trap Detection";			break;
	case nwpTumbling:				tmp = "Tumbling";				break;
	case nwpVetHealing:				tmp = "Veteranarian Healing";	break;
	case nwpVentriloquism:			tmp = "Ventriloquism";			break;
	case nwpWaterDivine:			tmp = "Water Divining";			break;
	case nwpWeaving:				tmp = "Weaving";				break;
	case nwpWineMaking:				tmp = "Wine Making";			break;
	default:						tmp = "NWP Name Error";			break;
	}
	return tmp;
}
//Other data...
void Avatar::SetDataIndex(int index)
{
	if(index >= 0 && index< maxNumAvatars)
		dataIndex = index;
	else dataIndex = -1;
}
int Avatar::GetDataIndex() const
{
	return dataIndex;
}
void Avatar::SetWorldX(int x)
{
	if(x >= 0)	worldX = x;
	else		worldX = 0;
}
int Avatar::GetWorldX() const
{
	return worldX;
}
void Avatar::SetWorldY(int y)
{
	if(y >= 0)	worldY = y;
	else		worldY = 0;
}
int Avatar::GetWorldY() const
{
	return worldY;
}
void Avatar::SetWorldZ(int z)
{
	if(z >= 0)	worldZ = z;
	else		worldZ = 0;
}
int Avatar::GetWorldZ() const
{
	return worldZ;
}
void Avatar::SetFacing(int dir)
{
	if(dir >=0 && dir <= 7) facing = dir; else facing = 0;
}
int Avatar::GetFacing() const
{
	return facing;
}
void Avatar::SetDungeonX(int x)
{
	if(x >= 0) dungeonX = x; else dungeonX = 0;
}
int Avatar::GetDungeonX() const
{
	return dungeonX;
}
void Avatar::SetDungeonY(int y)
{
	if(y >= 0) dungeonY = y; else dungeonY = 0;
}
int Avatar::GetDungeonY() const
{
	return dungeonY;
}
void Avatar::SetDungeonZ(int z)
{
	if(z >= 0) dungeonZ = z; else dungeonZ = 0;
}
int Avatar::GetDungeonZ() const
{
	return dungeonZ;
}
void Avatar::setNumSRs(int data)
{
	// 1-roll, Perfect Roller Player, gets +10% xp bonus
	// 2 through 11 equals a -1% to the 10% xp bonus...
	// 12 through 21 no xp modifications...
	// 22 through 31, each represents a -1% to a max of -10% bonus...
	// - M. White 7 April, 2019
	if(data >= 0)
	{
		numStatRolls = data;

		if		(numStatRolls > 31)	{ intXP_BonusMod = -10;	dblXP_BonusMod = 0.90; }
		else if	(numStatRolls > 21)	{ intXP_BonusMod =  0 - (numStatRolls - 21); dblXP_BonusMod = double(1 - (intXP_BonusMod / 10)); }
		else if	(numStatRolls > 11)	{ intXP_BonusMod = 0; dblXP_BonusMod = 1.00; }
		else if	(numStatRolls > 1)	{ intXP_BonusMod = 10 - (numStatRolls - 1); dblXP_BonusMod = double(1.1 - (intXP_BonusMod / 10)); }
		else						{ intXP_BonusMod = 10; dblXP_BonusMod = 1.1; }
	}
}
int Avatar::getNumSRs() const
{
	return numStatRolls;
}
int Avatar::getStatRollB() const
{
	return intXP_BonusMod;
}
void Avatar::SetStatus(int index, bool data)
{
	if(index >= 0 && index < asMAX)
	{
		if(data == true) Statuses[index] = 1; else Statuses[index] = 0;
	}
}
bool Avatar::GetStatus(int index) const
{
	if(index >= 0 && index < asMAX) return Statuses[index];
	return false;
}
void Avatar::setPortrait(int index)
{
	if(index >= 0) PortraitIndex = index; else PortraitIndex = 0;
}
int Avatar::getPortrait() const
{
	return PortraitIndex;
}
bool Avatar::SetStartTown(string NickName, string Map)
{
	string test;
	if(Map.length() > 0)
	{
		//Check to see if the Avatar is currently on the map in question
		if(Map != StartMapName)
		{
			StartTownName	= NickName;//Used to tell starting screen that they have something else...
			StartMapName	= Map;

			//If there are other maps, search to see if they've been on this map before...
			if(int(mapsVisited.length()) > 0)
			{
				for(int i = 0; i < int(mapsVisited.length()); i++)
				{
					mapsVisited.getNodes(i, test);
					//We found a match...no need to continue, return True 
					//in case the calling method needed to know (Testing 
					//against StartMapName because local variables are faster)
					if(test == Map) return true;
				}
				//If the for-loop doesn't find it, then it's safe to add the name...
				mapsVisited.insertBack(Map);
			}
			//There's no maps, so add the name to visited list without checking anything else...
			else
			{
				mapsVisited.insertBack(Map);
			}
		}
	}
	else { StartTownName = "Pick Town"; StartMapName = "Pick_Town"; }

	//The above test proves that the Avatar has not been on the map, return false to say,
	//"No, I have not been here before."
	return false;
}
string Avatar::GetListOfVisited() const
{
	string list;
	string work;
	list = "";
	for(int i = 0; i < int(mapsVisited.length()); i++)
	{
		mapsVisited.getNodes(i, work);
		list += work;
		list += " ";
	}
	return list;
}
bool Avatar::HaveVisitedBefore(string Map)
{
	string test;
	if(Map.length() > 0)
	{
		//Check to see if the Avatar is currently on the map in question
		if(Map == StartMapName)
			return true;
		else
		{
			//If there are other maps, search to see if they've been on this map before...
			if(int(mapsVisited.length()) > 0)
			{
				for(int i = 0; i < int(mapsVisited.length()); i++)
				{
					mapsVisited.getNodes(i, test);
					//We found a match...no need to continue, return True 
					//in case the calling method needed to know (Testing 
					//against StartMapName because local variables are faster)
					if(test == Map) return true;
				}
				//If it gets past the loop, then it's false
				return false;
			}
		}
	}
	else return false;
	return false;
}
void Avatar::SetStartMapName(string Map)
{
	StartMapName = Map;
}
string Avatar::GetStartTownName() const
{
	return StartTownName;
}
string Avatar::GetStartMapName() const
{
	return StartMapName;
}
void Avatar::SetStartMapType(int type)
{
	if(type == 1)	MapType = 1;
	else			MapType = 0;
}
int Avatar::GetStartMapType() const
{
	return MapType;
}
void Avatar::AssignRaceViaString(string Data)
{
	string	Test;
	int		BackupRace = -1;
	if(Data.length() > 0)
	{
		//Save the old race in case of error - M. White 24 July, 2019
		BackupRace = Race;
		for(int i = 0; i < MAXMONS; i++)
		{
			Race = i;
			Test = GetRaceEnumName();
			if(Test == Data) return;
		}
		//if the above loop does not find a match, reset the old race...
		Race = BackupRace;
	}
	else Race = -1;
}
string Avatar::GetRaceEnumName()
{
	/*
	Note: Only certain case:'s are active for the first release of this project.
	Later on as individual Mobs are needed, they will get un-commented to become
	active. And because of this reason, that is why the individual line-comments 
	are used instead of block-comments - M. White 26 July, 2019	
	*/
	string Temp;
	switch(Race)
	{
//	case rAarakocra:						Temp = "rAarakocra";							break;
//	case rAboleth:							Temp = "rAboleth";								break;
//	case rAnkheg03:							Temp = "rAnkheg03";								break;
//	case rAnkheg04:							Temp = "rAnkheg04";								break;
//	case rAnkheg05:							Temp = "rAnkheg05";								break;
//	case rAnkheg06:							Temp = "rAnkheg06";								break;
//	case rAnkheg07:							Temp = "rAnkheg07";								break;
//	case rAnkheg08:							Temp = "rAnkheg08";								break;
//	case rArcane:							Temp = "rArcane";								break;
//	case rArgos05:							Temp = "rArgos05";								break;
//	case rArgos06:							Temp = "rArgos06";								break;
//	case rArgos07:							Temp = "rArgos07";								break;
//	case rArgos08:							Temp = "rArgos08";								break;
//	case rArgos09:							Temp = "rArgos09";								break;
//	case rArgos10:							Temp = "rArgos10";								break;
//	case rAurumvorax:						Temp = "rAurumvorax";							break;
//	case rBaatezu_BlackAbishai:				Temp = "rBaatezu_BlackAbishai";					break;
//	case rBaatezu_BlackAbishai:				Temp = "rBaatezu_BlackAbishai";					break;
//	case rBaatezu_GreenAbishai:				Temp = "rBaatezu_GreenAbishai";					break;
//	case rBaatezu_GreenAbishai:				Temp = "rBaatezu_GreenAbishai";					break;
//	case rBaatezu_PitFiend:					Temp = "rBaatezu_PitFiend";						break;
//	case rBaatezu_RedAbishai:				Temp = "rBaatezu_RedAbishai";					break;
//	case rBanshee:							Temp = "rBanshee";								break;
//	case rBasilisk_Lesser:					Temp = "rBasilisk_Lesser";						break;
//	case rBasilisk_Greater:					Temp = "rBasilisk_Greater";						break;
//	case rBasilisk_Dracolisk:				Temp = "rBasilisk_Dracolisk";					break;
	case rBat_Common:						Temp = "rBat_Common";							break;
//	case rBat_Large:						Temp = "rBat_Large";							break;
//	case rBat_Huge:							Temp = "rBat_Huge";								break;
//	case rBat_Azmyth:						Temp = "rBat_Azmyth";							break;
//	case rBat_NightHunter:					Temp = "rBat_NightHunter";						break;
//	case rBat_Sinister:						Temp = "rBat_Sinister";							break;
//	case rBear_Black:						Temp = "rBear_Black";							break;
//	case rBear_Brown:						Temp = "rBear_Brown";							break;
//	case rBear_Cave:						Temp = "rBear_Cave";							break;
//	case rBear_Polar:						Temp = "rBear_Polar";							break;
//	case rBeetleGiant_Bombardier:			Temp = "rBeetleGiant_Bombardier";				break;
//	case rBeetleGiant_BoringFire:			Temp = "rBeetleGiant_BoringFire";				break;
//	case rBeetleGiant_Rhinoceros:			Temp = "rBeetleGiant_Rhinoceros";				break;
//	case rBeetleGiant_Stag:					Temp = "rBeetleGiant_Stag";						break;
//	case rBeetleGiant_Water:				Temp = "rBeetleGiant_Water";					break;
//	case rBehir:							Temp = "rBehir";								break;
//	case rBeholder_Normal:					Temp = "rBeholder_Normal";						break;
//	case rBeholder_DeathKiss:				Temp = "rBeholder_DeathKiss";					break;
//	case rBeholder_EyeOfTheDeep:			Temp = "rBeholder_EyeOfTheDeep";				break;
//	case rBeholder_Gauth:					Temp = "rBeholder_Gauth";						break;
//	case rBeholder_Spectator:				Temp = "rBeholder_Spectator";					break;
//	case rBeholder_Undead:					Temp = "rBeholder_Undead";						break;
//	case rBeholder_HiveMother:				Temp = "rBeholder_HiveMother";					break;
//	case rBeholder_Director:				Temp = "rBeholder_Director";					break;
//	case rBeholder_Examiner:				Temp = "rBeholder_Examiner";					break;
//	case rBeholder_Lensman:					Temp = "rBeholder_Lensman";						break;
//	case rBeholder_Overseer:				Temp = "rBeholder_Overseer";					break;
//	case rBeholder_Watcher:					Temp = "rBeholder_Watcher";						break;
	case rBhut:								Temp = "rBhut";									break;
//	case rBird_rBloodHawk:					Temp = "rBird_rBloodHawk";						break;
//	case rBird_Boobrie:						Temp = "rBird_Boobrie";							break;
	case rBird_Chicken:						Temp = "rBird_Chicken";							break;
	case rBird_ChickenSuper:				Temp = "rBird_ChickenSuper";					break;
//	case rBird_Condor:						Temp = "rBird_Condor";							break;
//	case rBird_Crow:						Temp = "rBird_Crow";							break;
//	case rBird_EagleGiant:					Temp = "rBird_EagleGiant";						break;
//	case rBird_EagleWild:					Temp = "rBird_EagleWild";						break;
//	case rBird_Eblis:						Temp = "rBird_Eblis";							break;
//	case rBird_Falcon:						Temp = "rBird_Falcon";							break;
//	case rBird_Flightless:					Temp = "rBird_Flightless";						break;
//	case rBird_HawkLarge:					Temp = "rBird_HawkLarge";						break;
//	case rBird_Owl:							Temp = "rBird_Owl";								break;
//	case rBird_OwlGiant:					Temp = "rBird_OwlGiant";						break;
//	case rBird_OwlTalking:					Temp = "rBird_OwlTalking";						break;
//	case rBird_Raven:						Temp = "rBird_Raven";							break;
//	case rBird_RavenHuge:					Temp = "rBird_RavenHuge";						break;
//	case rBird_RavenGiant:					Temp = "rBird_RavenGiant";						break;
//	case rBird_Swan:						Temp = "rBird_Swan";							break;
//	case rBird_Vulture:						Temp = "rBird_Vulture";							break;
//	case rBird_VultureGiant:				Temp = "rBird_VultureGiant";					break;
//	case rBrainMole:						Temp = "rBrainMole";							break;
//	case rBrokenOne_Common:					Temp = "rBrokenOne_Common";						break;
//	case rBrokenOne_Greater:				Temp = "rBrokenOne_Greater";					break;
//	case rBrownie_Normal:					Temp = "rBrownie_Normal";						break;
//	case rBrownie_Killmoulis:				Temp = "rBrownie_Killmoulis";					break;
	case rBugbear_Normal:					Temp = "rBugbear_Normal";						break;
	case rBugbear_Young:					Temp = "rBugbear_Young";						break;
	case rBugbear_Guard:					Temp = "rBugbear_Guard";						break;
//	case rBugbear_Leader:					Temp = "rBugbear_Leader";						break;
//	case rBugbear_Chief:					Temp = "rBugbear_Chief";						break;
	case rBugbear_Shaman:					Temp = "rBugbear_Shaman";						break;
	case rBulette:							Temp = "rBulette";								break;
//	case rBullywug:							Temp = "rBullywug";								break;
//	case rCarrionCrawler:					Temp = "rCarrionCrawler";						break;
//	case rCatGreat_Cheetah:					Temp = "rCatGreat_Cheetah";						break;
//	case rCatGreat_Jaguar:					Temp = "rCatGreat_Jaguar";						break;
//	case rCatGreat_Leopard:					Temp = "rCatGreat_Leopard";						break;
//	case rCatGreat_CommonLion:				Temp = "rCatGreat_CommonLion";					break;
//	case rCatGreat_MountainLion:			Temp = "rCatGreat_MountainLion";				break;
//	case rCatGreat_SpottedLion:				Temp = "rCatGreat_SpottedLion";					break;
//	case rCatGreat_GiantLynx:				Temp = "rCatGreat_GiantLynx";					break;
//	case rCatGreat_WildTiger:				Temp = "rCatGreat_WildTiger";					break;
//	case rCatGreat_Smilodon:				Temp = "rCatGreat_Smilodon";					break;
//	case rCatSmall_Domestic:				Temp = "rCatSmall_Domestic";					break;
//	case rCatSmall_Wild:					Temp = "rCatSmall_Wild";						break;
//	case rCatSmall_Elven:					Temp = "rCatSmall_Elven";						break;
//	case rCatoblepas:						Temp = "rCatoblepas";							break;
//	case rCaveFisher:						Temp = "rCaveFisher";							break;
//	case rCentaur_Normal:					Temp = "rCentaur_Normal";						break;
//	case rCentaur_Leader:					Temp = "rCentaur_Leader";						break;
//	case rCentaur_Priest:					Temp = "rCentaur_Priest";						break;
//	case rCentipede_Giant:					Temp = "rCentipede_Giant";						break;
//	case rCentipede_Huge:					Temp = "rCentipede_Huge";						break;
//	case rCentipede_Megalo:					Temp = "rCentipede_Megalo";						break;
//	case rCentipede_Tunnel:					Temp = "rCentipede_Tunnel";						break;
//	case rChimera_Normal:					Temp = "rChimera_Normal";						break;
//	case rChimera_Gorgimera:				Temp = "rChimera_Gorgimera";					break;
//	case rCloaker:							Temp = "rCloaker";								break;
//	case rCockatrice_Normal:				Temp = "rCockatrice_Normal";					break;
//	case rCockatrice_Pyrolisk:				Temp = "rCockatrice_Pyrolisk";					break;
//	case rCouatl:							Temp = "rCouatl";								break;
//	case rCrabman:							Temp = "rCrabman";								break;
//	case rCrawlingClaw:						Temp = "rCrawlingClaw";							break;
//	case rCrocodile_Normal:					Temp = "rCrocodile_Normal";						break;
//	case rCrocodile_Giant:					Temp = "rCrocodile_Giant";						break;
//	case rCrustacean_GiantCrab:				Temp = "rCrustacean_GiantCrab";					break;
//	case rCrustacean_GiantCrayfish:			Temp = "rCrustacean_GiantCrayfish";				break;
//	case rCryptThing:						Temp = "rCryptThing";							break;
//	case rDeathKnight:						Temp = "rDeathKnight";							break;
//	case rDeepspawn:						Temp = "rDeepspawn";							break;
//	case rDinosaur_Ankylosaurus:			Temp = "rDinosaur_Ankylosaurus";				break;
//	case rDinosaur_Deinonychus:				Temp = "rDinosaur_Deinonychus";					break;
//	case rDinosaur_Diplodocus:				Temp = "rDinosaur_Diplodocus";					break;
//	case rDinosaur_Elasmosaurus:			Temp = "rDinosaur_Elasmosaurus";				break;
//	case rDinosaur_Lambeosaurus:			Temp = "rDinosaur_Lambeosaurus";				break;
//	case rDinosaur_Pteranodon:				Temp = "rDinosaur_Pteranodon";					break;
//	case rDinosaur_Stegosaurus:				Temp = "rDinosaur_Stegosaurus";					break;
//	case rDinosaur_Triceratops:				Temp = "rDinosaur_Triceratops";					break;
//	case rDinosaur_Tyrannosaurus:			Temp = "rDinosaur_Tyrannosaurus";				break;
//	case rDisplacerBeast:					Temp = "rDisplacerBeast";						break;
//	case rDog_Wild:							Temp = "rDog_Wild";								break;
//	case rDog_War:							Temp = "rDog_War";								break;
//	case rDog_Blink:						Temp = "rDog_Blink";							break;
//	case rDog_Death:						Temp = "rDog_Death";							break;
//	case rDog_Moon:							Temp = "rDog_Moon";								break;
//	case rDolphin:							Temp = "rDolphin";								break;
//	case rDoppleganger:						Temp = "rDoppleganger";							break;
//	case rDracolich_Black06:				Temp = "rDracolich_Black06";					break;
//	case rDracolich_Black08:				Temp = "rDracolich_Black08";					break;
//	case rDracolich_Black10:				Temp = "rDracolich_Black10";					break;
//	case rDracolich_Black12:				Temp = "rDracolich_Black12";					break;
//	case rDracolich_Black13:				Temp = "rDracolich_Black13";					break;
//	case rDracolich_Black14:				Temp = "rDracolich_Black14";					break;
//	case rDracolich_Black15:				Temp = "rDracolich_Black15";					break;
//	case rDracolich_Black16:				Temp = "rDracolich_Black16";					break;
//	case rDracolich_Black17:				Temp = "rDracolich_Black17";					break;
//	case rDracolich_Black18:				Temp = "rDracolich_Black18";					break;
//	case rDracolich_Black19:				Temp = "rDracolich_Black19";					break;
//	case rDracolich_Black20:				Temp = "rDracolich_Black20";					break;
//	case rDracolich_Blue08:					Temp = "rDracolich_Blue08";						break;
//	case rDracolich_Blue10:					Temp = "rDracolich_Blue10";						break;
//	case rDracolich_Blue12:					Temp = "rDracolich_Blue12";						break;
//	case rDracolich_Blue14:					Temp = "rDracolich_Blue14";						break;
//	case rDracolich_Blue15:					Temp = "rDracolich_Blue15";						break;
//	case rDracolich_Blue16:					Temp = "rDracolich_Blue16";						break;
//	case rDracolich_Blue17:					Temp = "rDracolich_Blue17";						break;
//	case rDracolich_Blue18:					Temp = "rDracolich_Blue18";						break;
//	case rDracolich_Blue19:					Temp = "rDracolich_Blue19";						break;
//	case rDracolich_Blue20:					Temp = "rDracolich_Blue20";						break;
//	case rDracolich_Blue21:					Temp = "rDracolich_Blue21";						break;
//	case rDracolich_Blue22:					Temp = "rDracolich_Blue22";						break;
//	case rDracolich_Green07:				Temp = "rDracolich_Green07";					break;
//	case rDracolich_Green09:				Temp = "rDracolich_Green09";					break;
//	case rDracolich_Green11:				Temp = "rDracolich_Green11";					break;
//	case rDracolich_Green13:				Temp = "rDracolich_Green13";					break;
//	case rDracolich_Green14:				Temp = "rDracolich_Green14";					break;
//	case rDracolich_Green15:				Temp = "rDracolich_Green15";					break;
//	case rDracolich_Green16:				Temp = "rDracolich_Green16";					break;
//	case rDracolich_Green17:				Temp = "rDracolich_Green17";					break;
//	case rDracolich_Green18:				Temp = "rDracolich_Green18";					break;
//	case rDracolich_Green19:				Temp = "rDracolich_Green19";					break;
//	case rDracolich_Green20:				Temp = "rDracolich_Green20";					break;
//	case rDracolich_Green21:				Temp = "rDracolich_Green21";					break;
//	case rDracolich_Red09:					Temp = "rDracolich_Red09";						break;
//	case rDracolich_Red11:					Temp = "rDracolich_Red11";						break;
//	case rDracolich_Red13:					Temp = "rDracolich_Red13";						break;
//	case rDracolich_Red15:					Temp = "rDracolich_Red15";						break;
//	case rDracolich_Red16:					Temp = "rDracolich_Red16";						break;
//	case rDracolich_Red17:					Temp = "rDracolich_Red17";						break;
//	case rDracolich_Red18:					Temp = "rDracolich_Red18";						break;
//	case rDracolich_Red19:					Temp = "rDracolich_Red19";						break;
//	case rDracolich_Red20:					Temp = "rDracolich_Red20";						break;
//	case rDracolich_Red21:					Temp = "rDracolich_Red21";						break;
//	case rDracolich_Red22:					Temp = "rDracolich_Red22";						break;
//	case rDracolich_Red23:					Temp = "rDracolich_Red23";						break;
//	case rDracolich_White05:				Temp = "rDracolich_White05";					break;
//	case rDracolich_White07:				Temp = "rDracolich_White07";					break;
//	case rDracolich_White09:				Temp = "rDracolich_White09";					break;
//	case rDracolich_White11:				Temp = "rDracolich_White11";					break;
//	case rDracolich_White12:				Temp = "rDracolich_White12";					break;
//	case rDracolich_White13:				Temp = "rDracolich_White13";					break;
//	case rDracolich_White14:				Temp = "rDracolich_White14";					break;
//	case rDracolich_White15:				Temp = "rDracolich_White15";					break;
//	case rDracolich_White16:				Temp = "rDracolich_White16";					break;
//	case rDracolich_White17:				Temp = "rDracolich_White17";					break;
//	case rDracolich_White18:				Temp = "rDracolich_White19";					break;
//	case rDracolich_Brown08:				Temp = "rDracolich_Brown08";					break;
//	case rDracolich_Brown10:				Temp = "rDracolich_Brown10";					break;
//	case rDracolich_Brown12:				Temp = "rDracolich_Brown12";					break;
//	case rDracolich_Brown14:				Temp = "rDracolich_Brown14";					break;
//	case rDracolich_Brown15:				Temp = "rDracolich_Brown15";					break;
//	case rDracolich_Brown16:				Temp = "rDracolich_Brown16";					break;
//	case rDracolich_Brown17:				Temp = "rDracolich_Brown17";					break;
//	case rDracolich_Brown18:				Temp = "rDracolich_Brown18";					break;
//	case rDracolich_Brown19:				Temp = "rDracolich_Brown19";					break;
//	case rDracolich_Brown20:				Temp = "rDracolich_Brown20";					break;
//	case rDracolich_Brown21:				Temp = "rDracolich_Brown21";					break;
//	case rDracolich_Brown22:				Temp = "rDracolich_Brown22";					break;
//	case rDracolich_Cloud08:				Temp = "rDracolich_Cloud08";					break;
//	case rDracolich_Cloud10:				Temp = "rDracolich_Cloud10";					break;
//	case rDracolich_Cloud12:				Temp = "rDracolich_Cloud12";					break;
//	case rDracolich_Cloud14:				Temp = "rDracolich_Cloud14";					break;
//	case rDracolich_Cloud15:				Temp = "rDracolich_Cloud15";					break;
//	case rDracolich_Cloud16:				Temp = "rDracolich_Cloud16";					break;
//	case rDracolich_Cloud17:				Temp = "rDracolich_Cloud17";					break;
//	case rDracolich_Cloud18:				Temp = "rDracolich_Cloud18";					break;
//	case rDracolich_Cloud19:				Temp = "rDracolich_Cloud19";					break;
//	case rDracolich_Cloud20:				Temp = "rDracolich_Cloud20";					break;
//	case rDracolich_Cloud21:				Temp = "rDracolich_Cloud21";					break;
//	case rDracolich_Cloud22:				Temp = "rDracolich_Cloud22";					break;
//	case rDracolich_Deep08:					Temp = "rDracolich_Deep08";						break;
//	case rDracolich_Deep10:					Temp = "rDracolich_Deep10";						break;
//	case rDracolich_Deep12:					Temp = "rDracolich_Deep12";						break;
//	case rDracolich_Deep14:					Temp = "rDracolich_Deep14";						break;
//	case rDracolich_Deep15:					Temp = "rDracolich_Deep15";						break;
//	case rDracolich_Deep16:					Temp = "rDracolich_Deep16";						break;
//	case rDracolich_Deep17:					Temp = "rDracolich_Deep17";						break;
//	case rDracolich_Deep18:					Temp = "rDracolich_Deep18";						break;
//	case rDracolich_Deep19:					Temp = "rDracolich_Deep19";						break;
//	case rDracolich_Deep20:					Temp = "rDracolich_Deep20";						break;
//	case rDracolich_Deep21:					Temp = "rDracolich_Deep21";						break;
//	case rDracolich_Deep22:					Temp = "rDracolich_Deep22";						break;
//	case rDracolich_Mercury05:				Temp = "rDracolich_Mercury05";					break;
//	case rDracolich_Mercury07:				Temp = "rDracolich_Mercury07";					break;
//	case rDracolich_Mercury09:				Temp = "rDracolich_Mercury09";					break;
//	case rDracolich_Mercury11:				Temp = "rDracolich_Mercury11";					break;
//	case rDracolich_Mercury12:				Temp = "rDracolich_Mercury12";					break;
//	case rDracolich_Mercury13:				Temp = "rDracolich_Mercury13";					break;
//	case rDracolich_Mercury14:				Temp = "rDracolich_Mercury14";					break;
//	case rDracolich_Mercury15:				Temp = "rDracolich_Mercury15";					break;
//	case rDracolich_Mercury16:				Temp = "rDracolich_Mercury16";					break;
//	case rDracolich_Mercury17:				Temp = "rDracolich_Mercury17";					break;
//	case rDracolich_Mercury18:				Temp = "rDracolich_Mercury18";					break;
//	case rDracolich_Mercury19:				Temp = "rDracolich_Mercury19";					break;
//	case rDracolich_Mist05:					Temp = "rDracolich_Mist05";						break;
//	case rDracolich_Mist07:					Temp = "rDracolich_Mist07";						break;
//	case rDracolich_Mist09:					Temp = "rDracolich_Mist09";						break;
//	case rDracolich_Mist11:					Temp = "rDracolich_Mist11";						break;
//	case rDracolich_Mist12:					Temp = "rDracolich_Mist12";						break;
//	case rDracolich_Mist13:					Temp = "rDracolich_Mist13";						break;
//	case rDracolich_Mist14:					Temp = "rDracolich_Mist14";						break;
//	case rDracolich_Mist15:					Temp = "rDracolich_Mist15";						break;
//	case rDracolich_Mist16:					Temp = "rDracolich_Mist16";						break;
//	case rDracolich_Mist17:					Temp = "rDracolich_Mist17";						break;
//	case rDracolich_Mist18:					Temp = "rDracolich_Mist18";						break;
//	case rDracolich_Mist19:					Temp = "rDracolich_Mist19";						break;
//	case rDracolich_Shadow06:				Temp = "rDracolich_Shadow06";					break;
//	case rDracolich_Shadow08:				Temp = "rDracolich_Shadow08";					break;
//	case rDracolich_Shadow10:				Temp = "rDracolich_Shadow10";					break;
//	case rDracolich_Shadow12:				Temp = "rDracolich_Shadow12";					break;
//	case rDracolich_Shadow13:				Temp = "rDracolich_Shadow13";					break;
//	case rDracolich_Shadow14:				Temp = "rDracolich_Shadow14";					break;
//	case rDracolich_Shadow15:				Temp = "rDracolich_Shadow15";					break;
//	case rDracolich_Shadow16:				Temp = "rDracolich_Shadow16";					break;
//	case rDracolich_Shadow17:				Temp = "rDracolich_Shadow17";					break;
//	case rDracolich_Shadow18:				Temp = "rDracolich_Shadow18";					break;
//	case rDracolich_Shadow19:				Temp = "rDracolich_Shadow19";					break;
//	case rDracolich_Shadow20:				Temp = "rDracolich_Shadow20";					break;
//	case rDracolich_Steel05:				Temp = "rDracolich_Steel05";					break;
//	case rDracolich_Steel07:				Temp = "rDracolich_Steel07";					break;
//	case rDracolich_Steel09:				Temp = "rDracolich_Steel09";					break;
//	case rDracolich_Steel11:				Temp = "rDracolich_Steel11";					break;
//	case rDracolich_Steel12:				Temp = "rDracolich_Steel12";					break;
//	case rDracolich_Steel13:				Temp = "rDracolich_Steel13";					break;
//	case rDracolich_Steel14:				Temp = "rDracolich_Steel14";					break;
//	case rDracolich_Steel15:				Temp = "rDracolich_Steel15";					break;
//	case rDracolich_Steel16:				Temp = "rDracolich_Steel16";					break;
//	case rDracolich_Steel17:				Temp = "rDracolich_Steel17";					break;
//	case rDracolich_Steel18:				Temp = "rDracolich_Steel18";					break;
//	case rDracolich_Steel19:				Temp = "rDracolich_Steel19";					break;
//	case rDracolich_Amethyst08:				Temp = "rDracolich_Amethyst08";					break;
//	case rDracolich_Amethyst10:				Temp = "rDracolich_Amethyst10";					break;
//	case rDracolich_Amethyst12:				Temp = "rDracolich_Amethyst12";					break;
//	case rDracolich_Amethyst14:				Temp = "rDracolich_Amethyst14";					break;
//	case rDracolich_Amethyst15:				Temp = "rDracolich_Amethyst15";					break;
//	case rDracolich_Amethyst16:				Temp = "rDracolich_Amethyst16";					break;
//	case rDracolich_Amethyst17:				Temp = "rDracolich_Amethyst17";					break;
//	case rDracolich_Amethyst18:				Temp = "rDracolich_Amethyst18";					break;
//	case rDracolich_Amethyst19:				Temp = "rDracolich_Amethyst19";					break;
//	case rDracolich_Amethyst20:				Temp = "rDracolich_Amethyst20";					break;
//	case rDracolich_Amethyst21:				Temp = "rDracolich_Amethyst21";					break;
//	case rDracolich_Amethyst22:				Temp = "rDracolich_Amethyst22";					break;
//	case rDracolich_Crystal04:				Temp = "rDracolich_Crystal04";					break;
//	case rDracolich_Crystal06:				Temp = "rDracolich_Crystal06";					break;
//	case rDracolich_Crystal08:				Temp = "rDracolich_Crystal08";					break;
//	case rDracolich_Crystal10:				Temp = "rDracolich_Crystal10";					break;
//	case rDracolich_Crystal11:				Temp = "rDracolich_Crystal11";					break;
//	case rDracolich_Crystal12:				Temp = "rDracolich_Crystal12";					break;
//	case rDracolich_Crystal13:				Temp = "rDracolich_Crystal13";					break;
//	case rDracolich_Crystal14:				Temp = "rDracolich_Crystal14";					break;
//	case rDracolich_Crystal15:				Temp = "rDracolich_Crystal15";					break;
//	case rDracolich_Crystal16:				Temp = "rDracolich_Crystal16";					break;
//	case rDracolich_Crystal17:				Temp = "rDracolich_Crystal17";					break;
//	case rDracolich_Crystal18:				Temp = "rDracolich_Crystal18";					break;
//	case rDracolich_Emerald06:				Temp = "rDracolich_Emerald06";					break;
//	case rDracolich_Emerald08:				Temp = "rDracolich_Emerald08";					break;
//	case rDracolich_Emerald10:				Temp = "rDracolich_Emerald10";					break;
//	case rDracolich_Emerald12:				Temp = "rDracolich_Emerald12";					break;
//	case rDracolich_Emerald13:				Temp = "rDracolich_Emerald13";					break;
//	case rDracolich_Emerald14:				Temp = "rDracolich_Emerald14";					break;
//	case rDracolich_Emerald15:				Temp = "rDracolich_Emerald15";					break;
//	case rDracolich_Emerald16:				Temp = "rDracolich_Emerald16";					break;
//	case rDracolich_Emerald17:				Temp = "rDracolich_Emerald17";					break;
//	case rDracolich_Emerald18:				Temp = "rDracolich_Emerald18";					break;
//	case rDracolich_Emerald19:				Temp = "rDracolich_Emerald19";					break;
//	case rDracolich_Emerald20:				Temp = "rDracolich_Emerald20";					break;
//	case rDracolich_Sapphire07:				Temp = "rDracolich_Sapphire07";					break;
//	case rDracolich_Sapphire09:				Temp = "rDracolich_Sapphire09";					break;
//	case rDracolich_Sapphire11:				Temp = "rDracolich_Sapphire11";					break;
//	case rDracolich_Sapphire13:				Temp = "rDracolich_Sapphire13";					break;
//	case rDracolich_Sapphire14:				Temp = "rDracolich_Sapphire14";					break;
//	case rDracolich_Sapphire15:				Temp = "rDracolich_Sapphire15";					break;
//	case rDracolich_Sapphire16:				Temp = "rDracolich_Sapphire16";					break;
//	case rDracolich_Sapphire17:				Temp = "rDracolich_Sapphire17";					break;
//	case rDracolich_Sapphire18:				Temp = "rDracolich_Sapphire18";					break;
//	case rDracolich_Sapphire19:				Temp = "rDracolich_Sapphire19";					break;
//	case rDracolich_Sapphire20:				Temp = "rDracolich_Sapphire20";					break;
//	case rDracolich_Sapphire21:				Temp = "rDracolich_Sapphire21";					break;
//	case rDracolich_Topaz05:				Temp = "rDracolich_Topaz05";					break;
//	case rDracolich_Topaz07:				Temp = "rDracolich_Topaz07";					break;
//	case rDracolich_Topaz09:				Temp = "rDracolich_Topaz09";					break;
//	case rDracolich_Topaz11:				Temp = "rDracolich_Topaz11";					break;
//	case rDracolich_Topaz12:				Temp = "rDracolich_Topaz12";					break;
//	case rDracolich_Topaz13:				Temp = "rDracolich_Topaz13";					break;
//	case rDracolich_Topaz14:				Temp = "rDracolich_Topaz14";					break;
//	case rDracolich_Topaz15:				Temp = "rDracolich_Topaz15";					break;
//	case rDracolich_Topaz16:				Temp = "rDracolich_Topaz16";					break;
//	case rDracolich_Topaz17:				Temp = "rDracolich_Topaz17";					break;
//	case rDracolich_Topaz18:				Temp = "rDracolich_Topaz18";					break;
//	case rDracolich_Topaz19:				Temp = "rDracolich_Topaz19";					break;
//	case rDracolich_Brass06:				Temp = "rDracolich_Brass06";					break;
//	case rDracolich_Brass08:				Temp = "rDracolich_Brass08";					break;
//	case rDracolich_Brass10:				Temp = "rDracolich_Brass10";					break;
//	case rDracolich_Brass12:				Temp = "rDracolich_Brass12";					break;
//	case rDracolich_Brass13:				Temp = "rDracolich_Brass13";					break;
//	case rDracolich_Brass14:				Temp = "rDracolich_Brass14";					break;
//	case rDracolich_Brass15:				Temp = "rDracolich_Brass15";					break;
//	case rDracolich_Brass16:				Temp = "rDracolich_Brass16";					break;
//	case rDracolich_Brass17:				Temp = "rDracolich_Brass17";					break;
//	case rDracolich_Brass18:				Temp = "rDracolich_Brass18";					break;
//	case rDracolich_Brass19:				Temp = "rDracolich_Brass19";					break;
//	case rDracolich_Brass20:				Temp = "rDracolich_Brass20";					break;
//	case rDracolich_Bronze08:				Temp = "rDracolich_Bronze08";					break;
//	case rDracolich_Bronze10:				Temp = "rDracolich_Bronze10";					break;
//	case rDracolich_Bronze12:				Temp = "rDracolich_Bronze12";					break;
//	case rDracolich_Bronze14:				Temp = "rDracolich_Bronze14";					break;
//	case rDracolich_Bronze15:				Temp = "rDracolich_Bronze15";					break;
//	case rDracolich_Bronze16:				Temp = "rDracolich_Bronze16";					break;
//	case rDracolich_Bronze17:				Temp = "rDracolich_Bronze17";					break;
//	case rDracolich_Bronze18:				Temp = "rDracolich_Bronze18";					break;
//	case rDracolich_Bronze19:				Temp = "rDracolich_Bronze19";					break;
//	case rDracolich_Bronze20:				Temp = "rDracolich_Bronze20";					break;
//	case rDracolich_Bronze21:				Temp = "rDracolich_Bronze21";					break;
//	case rDracolich_Bronze22:				Temp = "rDracolich_Bronze22";					break;
//	case rDracolich_Copper07:				Temp = "rDracolich_Copper07";					break;
//	case rDracolich_Copper09:				Temp = "rDracolich_Copper09";					break;
//	case rDracolich_Copper11:				Temp = "rDracolich_Copper11";					break;
//	case rDracolich_Copper13:				Temp = "rDracolich_Copper13";					break;
//	case rDracolich_Copper14:				Temp = "rDracolich_Copper14";					break;
//	case rDracolich_Copper15:				Temp = "rDracolich_Copper15";					break;
//	case rDracolich_Copper16:				Temp = "rDracolich_Copper16";					break;
//	case rDracolich_Copper17:				Temp = "rDracolich_Copper17";					break;
//	case rDracolich_Copper18:				Temp = "rDracolich_Copper18";					break;
//	case rDracolich_Copper19:				Temp = "rDracolich_Copper19";					break;
//	case rDracolich_Copper20:				Temp = "rDracolich_Copper20";					break;
//	case rDracolich_Copper21:				Temp = "rDracolich_Copper21";					break;
//	case rDracolich_Gold10:					Temp = "rDracolich_Gold10";						break;
//	case rDracolich_Gold12:					Temp = "rDracolich_Gold12";						break;
//	case rDracolich_Gold14:					Temp = "rDracolich_Gold14";						break;
//	case rDracolich_Gold16:					Temp = "rDracolich_Gold16";						break;
//	case rDracolich_Gold17:					Temp = "rDracolich_Gold17";						break;
//	case rDracolich_Gold18:					Temp = "rDracolich_Gold18";						break;
//	case rDracolich_Gold19:					Temp = "rDracolich_Gold19";						break;
//	case rDracolich_Gold20:					Temp = "rDracolich_Gold20";						break;
//	case rDracolich_Gold21:					Temp = "rDracolich_Gold21";						break;
//	case rDracolich_Gold22:					Temp = "rDracolich_Gold22";						break;
//	case rDracolich_Gold23:					Temp = "rDracolich_Gold23";						break;
//	case rDracolich_Gold24:					Temp = "rDracolich_Gold24";						break;
//	case rDracolich_Silver09:				Temp = "rDracolich_Silver09";					break;
//	case rDracolich_Silver11:				Temp = "rDracolich_Silver11";					break;
//	case rDracolich_Silver13:				Temp = "rDracolich_Silver13";					break;
//	case rDracolich_Silver15:				Temp = "rDracolich_Silver15";					break;
//	case rDracolich_Silver16:				Temp = "rDracolich_Silver16";					break;
//	case rDracolich_Silver17:				Temp = "rDracolich_Silver17";					break;
//	case rDracolich_Silver18:				Temp = "rDracolich_Silver18";					break;
//	case rDracolich_Silver19:				Temp = "rDracolich_Silver19";					break;
//	case rDracolich_Silver20:				Temp = "rDracolich_Silver20";					break;
//	case rDracolich_Silver21:				Temp = "rDracolich_Silver21";					break;
//	case rDracolich_Silver22:				Temp = "rDracolich_Silver22";					break;
//	case rDracolich_Silver23:				Temp = "rDracolich_Silver23";					break;
//	case rDragonChrom_Black06:				Temp = "rDragonChrom_Black06";					break;
//	case rDragonChrom_Black08:				Temp = "rDragonChrom_Black08";					break;
//	case rDragonChrom_Black10:				Temp = "rDragonChrom_Black10";					break;
//	case rDragonChrom_Black12:				Temp = "rDragonChrom_Black12";					break;
//	case rDragonChrom_Black13:				Temp = "rDragonChrom_Black13";					break;
//	case rDragonChrom_Black14:				Temp = "rDragonChrom_Black14";					break;
//	case rDragonChrom_Black15:				Temp = "rDragonChrom_Black15";					break;
//	case rDragonChrom_Black16:				Temp = "rDragonChrom_Black16";					break;
//	case rDragonChrom_Black17:				Temp = "rDragonChrom_Black17";					break;
//	case rDragonChrom_Black18:				Temp = "rDragonChrom_Black18";					break;
//	case rDragonChrom_Black19:				Temp = "rDragonChrom_Black19";					break;
//	case rDragonChrom_Black20:				Temp = "rDragonChrom_Black20";					break;
//	case rDragonChrom_Blue08:				Temp = "rDragonChrom_Blue08";					break;
//	case rDragonChrom_Blue10:				Temp = "rDragonChrom_Blue10";					break;
//	case rDragonChrom_Blue12:				Temp = "rDragonChrom_Blue12";					break;
//	case rDragonChrom_Blue14:				Temp = "rDragonChrom_Blue14";					break;
//	case rDragonChrom_Blue15:				Temp = "rDragonChrom_Blue15";					break;
//	case rDragonChrom_Blue16:				Temp = "rDragonChrom_Blue16";					break;
//	case rDragonChrom_Blue17:				Temp = "rDragonChrom_Blue17";					break;
//	case rDragonChrom_Blue18:				Temp = "rDragonChrom_Blue18";					break;
//	case rDragonChrom_Blue19:				Temp = "rDragonChrom_Blue19";					break;
//	case rDragonChrom_Blue20:				Temp = "rDragonChrom_Blue20";					break;
//	case rDragonChrom_Blue21:				Temp = "rDragonChrom_Blue21";					break;
//	case rDragonChrom_Blue22:				Temp = "rDragonChrom_Blue22";					break;
//	case rDragonChrom_Green07:				Temp = "rDragonChrom_Green07";					break;
//	case rDragonChrom_Green09:				Temp = "rDragonChrom_Green09";					break;
//	case rDragonChrom_Green11:				Temp = "rDragonChrom_Green11";					break;
//	case rDragonChrom_Green13:				Temp = "rDragonChrom_Green13";					break;
//	case rDragonChrom_Green14:				Temp = "rDragonChrom_Green14";					break;
//	case rDragonChrom_Green15:				Temp = "rDragonChrom_Green15";					break;
//	case rDragonChrom_Green16:				Temp = "rDragonChrom_Green16";					break;
//	case rDragonChrom_Green17:				Temp = "rDragonChrom_Green17";					break;
//	case rDragonChrom_Green18:				Temp = "rDragonChrom_Green18";					break;
//	case rDragonChrom_Green19:				Temp = "rDragonChrom_Green19";					break;
//	case rDragonChrom_Green20:				Temp = "rDragonChrom_Green20";					break;
//	case rDragonChrom_Green21:				Temp = "rDragonChrom_Green21";					break;
//	case rDragonChrom_Red09:				Temp = "rDragonChrom_Red09";					break;
//	case rDragonChrom_Red11:				Temp = "rDragonChrom_Red11";					break;
//	case rDragonChrom_Red13:				Temp = "rDragonChrom_Red13";					break;
//	case rDragonChrom_Red15:				Temp = "rDragonChrom_Red15";					break;
//	case rDragonChrom_Red16:				Temp = "rDragonChrom_Red16";					break;
//	case rDragonChrom_Red17:				Temp = "rDragonChrom_Red17";					break;
//	case rDragonChrom_Red18:				Temp = "rDragonChrom_Red18";					break;
//	case rDragonChrom_Red19:				Temp = "rDragonChrom_Red19";					break;
//	case rDragonChrom_Red20:				Temp = "rDragonChrom_Red20";					break;
//	case rDragonChrom_Red21:				Temp = "rDragonChrom_Red21";					break;
//	case rDragonChrom_Red22:				Temp = "rDragonChrom_Red22";					break;
//	case rDragonChrom_Red23:				Temp = "rDragonChrom_Red23";					break;
//	case rDragonChrom_White05:				Temp = "rDragonChrom_White05";					break;
//	case rDragonChrom_White07:				Temp = "rDragonChrom_White07";					break;
//	case rDragonChrom_White09:				Temp = "rDragonChrom_White09";					break;
//	case rDragonChrom_White11:				Temp = "rDragonChrom_White11";					break;
//	case rDragonChrom_White12:				Temp = "rDragonChrom_White12";					break;
//	case rDragonChrom_White13:				Temp = "rDragonChrom_White13";					break;
//	case rDragonChrom_White14:				Temp = "rDragonChrom_White14";					break;
//	case rDragonChrom_White15:				Temp = "rDragonChrom_White15";					break;
//	case rDragonChrom_White16:				Temp = "rDragonChrom_White16";					break;
//	case rDragonChrom_White17:				Temp = "rDragonChrom_White17";					break;
//	case rDragonChrom_White18:				Temp = "rDragonChrom_White18";					break;
//	case rDragonChrom_White19:				Temp = "rDragonChrom_White19";					break;
//	case rDragonChrom_Yellow07:				Temp = "rDragonChrom_Yellow07";					break;
//	case rDragonChrom_Yellow09:				Temp = "rDragonChrom_Yellow09";					break;
//	case rDragonChrom_Yellow11:				Temp = "rDragonChrom_Yellow11";					break;
//	case rDragonChrom_Yellow13:				Temp = "rDragonChrom_Yellow13";					break;
//	case rDragonChrom_Yellow14:				Temp = "rDragonChrom_Yellow14";					break;
//	case rDragonChrom_Yellow15:				Temp = "rDragonChrom_Yellow15";					break;
//	case rDragonChrom_Yellow16:				Temp = "rDragonChrom_Yellow16";					break;
//	case rDragonChrom_Yellow17:				Temp = "rDragonChrom_Yellow17";					break;
//	case rDragonChrom_Yellow18:				Temp = "rDragonChrom_Yellow18";					break;
//	case rDragonChrom_Yellow19:				Temp = "rDragonChrom_Yellow19";					break;
//	case rDragonChrom_Yellow20:				Temp = "rDragonChrom_Yellow20";					break;
//	case rDragonChrom_Yellow21:				Temp = "rDragonChrom_Yellow21";					break;
//	case rDragonElemental_Brown08:			Temp = "rDragonElemental_Brown08";				break;
//	case rDragonElemental_Brown10:			Temp = "rDragonElemental_Brown10";				break;
//	case rDragonElemental_Brown12:			Temp = "rDragonElemental_Brown12";				break;
//	case rDragonElemental_Brown14:			Temp = "rDragonElemental_Brown14";				break;
//	case rDragonElemental_Brown15:			Temp = "rDragonElemental_Brown15";				break;
//	case rDragonElemental_Brown16:			Temp = "rDragonElemental_Brown16";				break;
//	case rDragonElemental_Brown17:			Temp = "rDragonElemental_Brown17";				break;
//	case rDragonElemental_Brown18:			Temp = "rDragonElemental_Brown18";				break;
//	case rDragonElemental_Brown19:			Temp = "rDragonElemental_Brown19";				break;
//	case rDragonElemental_Brown20:			Temp = "rDragonElemental_Brown20";				break;
//	case rDragonElemental_Brown21:			Temp = "rDragonElemental_Brown21";				break;
//	case rDragonElemental_Brown22:			Temp = "rDragonElemental_Brown22";				break;
//	case rDragonElemental_Cloud08:			Temp = "rDragonElemental_Cloud08";				break;
//	case rDragonElemental_Cloud10:			Temp = "rDragonElemental_Cloud10";				break;
//	case rDragonElemental_Cloud12:			Temp = "rDragonElemental_Cloud12";				break;
//	case rDragonElemental_Cloud14:			Temp = "rDragonElemental_Cloud14";				break;
//	case rDragonElemental_Cloud15:			Temp = "rDragonElemental_Cloud15";				break;
//	case rDragonElemental_Cloud16:			Temp = "rDragonElemental_Cloud16";				break;
//	case rDragonElemental_Cloud17:			Temp = "rDragonElemental_Cloud17";				break;
//	case rDragonElemental_Cloud18:			Temp = "rDragonElemental_Cloud18";				break;
//	case rDragonElemental_Cloud19:			Temp = "rDragonElemental_Cloud19";				break;
//	case rDragonElemental_Cloud20:			Temp = "rDragonElemental_Cloud20";				break;
//	case rDragonElemental_Cloud21:			Temp = "rDragonElemental_Cloud21";				break;
//	case rDragonElemental_Cloud22:			Temp = "rDragonElemental_Cloud22";				break;
//	case rDragonElemental_Deep08:			Temp = "rDragonElemental_Deep08";				break;
//	case rDragonElemental_Deep10:			Temp = "rDragonElemental_Deep10";				break;
//	case rDragonElemental_Deep12:			Temp = "rDragonElemental_Deep12";				break;
//	case rDragonElemental_Deep14:			Temp = "rDragonElemental_Deep14";				break;
//	case rDragonElemental_Deep15:			Temp = "rDragonElemental_Deep15";				break;
//	case rDragonElemental_Deep16:			Temp = "rDragonElemental_Deep16";				break;
//	case rDragonElemental_Deep17:			Temp = "rDragonElemental_Deep17";				break;
//	case rDragonElemental_Deep18:			Temp = "rDragonElemental_Deep18";				break;
//	case rDragonElemental_Deep19:			Temp = "rDragonElemental_Deep19";				break;
//	case rDragonElemental_Deep20:			Temp = "rDragonElemental_Deep20";				break;
//	case rDragonElemental_Deep21:			Temp = "rDragonElemental_Deep21";				break;
//	case rDragonElemental_Deep22:			Temp = "rDragonElemental_Deep22";				break;
//	case rDragonElemental_Mercury05:		Temp = "rDragonElemental_Mercury05";			break;
//	case rDragonElemental_Mercury07:		Temp = "rDragonElemental_Mercury07";			break;
//	case rDragonElemental_Mercury09:		Temp = "rDragonElemental_Mercury09";			break;
//	case rDragonElemental_Mercury11:		Temp = "rDragonElemental_Mercury11";			break;
//	case rDragonElemental_Mercury12:		Temp = "rDragonElemental_Mercury12";			break;
//	case rDragonElemental_Mercury13:		Temp = "rDragonElemental_Mercury13";			break;
//	case rDragonElemental_Mercury14:		Temp = "rDragonElemental_Mercury14";			break;
//	case rDragonElemental_Mercury15:		Temp = "rDragonElemental_Mercury15";			break;
//	case rDragonElemental_Mercury16:		Temp = "rDragonElemental_Mercury16";			break;
//	case rDragonElemental_Mercury17:		Temp = "rDragonElemental_Mercury17";			break;
//	case rDragonElemental_Mercury18:		Temp = "rDragonElemental_Mercury18";			break;
//	case rDragonElemental_Mercury19:		Temp = "rDragonElemental_Mercury19";			break;
//	case rDragonElemental_Mist05:			Temp = "rDragonElemental_Mist05";				break;
//	case rDragonElemental_Mist07:			Temp = "rDragonElemental_Mist07";				break;
//	case rDragonElemental_Mist09:			Temp = "rDragonElemental_Mist09";				break;
//	case rDragonElemental_Mist11:			Temp = "rDragonElemental_Mist11";				break;
//	case rDragonElemental_Mist12:			Temp = "rDragonElemental_Mist12";				break;
//	case rDragonElemental_Mist13:			Temp = "rDragonElemental_Mist13";				break;
//	case rDragonElemental_Mist14:			Temp = "rDragonElemental_Mist14";				break;
//	case rDragonElemental_Mist15:			Temp = "rDragonElemental_Mist15";				break;
//	case rDragonElemental_Mist16:			Temp = "rDragonElemental_Mist16";				break;
//	case rDragonElemental_Mist17:			Temp = "rDragonElemental_Mist17";				break;
//	case rDragonElemental_Mist18:			Temp = "rDragonElemental_Mist18";				break;
//	case rDragonElemental_Mist19:			Temp = "rDragonElemental_Mist19";				break;
//	case rDragonElemental_Shadow06:			Temp = "rDragonElemental_Shadow06";				break;
//	case rDragonElemental_Shadow08:			Temp = "rDragonElemental_Shadow08";				break;
//	case rDragonElemental_Shadow10:			Temp = "rDragonElemental_Shadow10";				break;
//	case rDragonElemental_Shadow12:			Temp = "rDragonElemental_Shadow12";				break;
//	case rDragonElemental_Shadow13:			Temp = "rDragonElemental_Shadow13";				break;
//	case rDragonElemental_Shadow14:			Temp = "rDragonElemental_Shadow14";				break;
//	case rDragonElemental_Shadow15:			Temp = "rDragonElemental_Shadow15";				break;
//	case rDragonElemental_Shadow16:			Temp = "rDragonElemental_Shadow16";				break;
//	case rDragonElemental_Shadow17:			Temp = "rDragonElemental_Shadow17";				break;
//	case rDragonElemental_Shadow18:			Temp = "rDragonElemental_Shadow18";				break;
//	case rDragonElemental_Shadow19:			Temp = "rDragonElemental_Shadow19";				break;
//	case rDragonElemental_Shadow20:			Temp = "rDragonElemental_Shadow20";				break;
//	case rDragonElemental_Steel05:			Temp = "rDragonElemental_Steel05";				break;
//	case rDragonElemental_Steel07:			Temp = "rDragonElemental_Steel07";				break;
//	case rDragonElemental_Steel09:			Temp = "rDragonElemental_Steel09";				break;
//	case rDragonElemental_Steel11:			Temp = "rDragonElemental_Steel11";				break;
//	case rDragonElemental_Steel12:			Temp = "rDragonElemental_Steel12";				break;
//	case rDragonElemental_Steel13:			Temp = "rDragonElemental_Steel13";				break;
//	case rDragonElemental_Steel14:			Temp = "rDragonElemental_Steel14";				break;
//	case rDragonElemental_Steel15:			Temp = "rDragonElemental_Steel15";				break;
//	case rDragonElemental_Steel16:			Temp = "rDragonElemental_Steel16";				break;
//	case rDragonElemental_Steel17:			Temp = "rDragonElemental_Steel17";				break;
//	case rDragonElemental_Steel18:			Temp = "rDragonElemental_Steel18";				break;
//	case rDragonElemental_Steel19:			Temp = "rDragonElemental_Steel19";				break;
//	case rDragonGem_Amethyst08:				Temp = "rDragonGem_Amethyst08";					break;
//	case rDragonGem_Amethyst10:				Temp = "rDragonGem_Amethyst10";					break;
//	case rDragonGem_Amethyst12:				Temp = "rDragonGem_Amethyst12";					break;
//	case rDragonGem_Amethyst14:				Temp = "rDragonGem_Amethyst14";					break;
//	case rDragonGem_Amethyst15:				Temp = "rDragonGem_Amethyst15";					break;
//	case rDragonGem_Amethyst16:				Temp = "rDragonGem_Amethyst16";					break;
//	case rDragonGem_Amethyst17:				Temp = "rDragonGem_Amethyst17";					break;
//	case rDragonGem_Amethyst18:				Temp = "rDragonGem_Amethyst18";					break;
//	case ragonGem_Amethyst19:				Temp = "ragonGem_Amethyst19";					break;
//	case rDragonGem_Amethyst20:				Temp = "rDragonGem_Amethyst20";					break;
//	case rDragonGem_Amethyst21:				Temp = "rDragonGem_Amethyst21";					break;
//	case rDragonGem_Amethyst22:				Temp = "rDragonGem_Amethyst22";					break;
//	case rDragonGem_Crystal04:				Temp = "rDragonGem_Crystal04";					break;
//	case rDragonGem_Crystal06:				Temp = "rDragonGem_Crystal06";					break;
//	case rDragonGem_Crystal08:				Temp = "rDragonGem_Crystal08";					break;
//	case rDragonGem_Crystal10:				Temp = "rDragonGem_Crystal10";					break;
//	case rDragonGem_Crystal11:				Temp = "rDragonGem_Crystal11";					break;
//	case rDragonGem_Crystal12:				Temp = "rDragonGem_Crystal12";					break;
//	case rDragonGem_Crystal13:				Temp = "rDragonGem_Crystal13";					break;
//	case rDragonGem_Crystal14:				Temp = "rDragonGem_Crystal14";					break;
//	case rDragonGem_Crystal15:				Temp = "rDragonGem_Crystal15";					break;
//	case rDragonGem_Crystal16:				Temp = "rDragonGem_Crystal16";					break;
//	case rDragonGem_Crystal17:				Temp = "rDragonGem_Crystal17";					break;
//	case rDragonGem_Crystal18:				Temp = "rDragonGem_Crystal18";					break;
//	case rDragonGem_Emerald06:				Temp = "rDragonGem_Emerald06";					break;
//	case rDragonGem_Emerald08:				Temp = "rDragonGem_Emerald08";					break;
//	case rDragonGem_Emerald10:				Temp = "rDragonGem_Emerald10";					break;
//	case rDragonGem_Emerald12:				Temp = "rDragonGem_Emerald12";					break;
//	case rDragonGem_Emerald13:				Temp = "rDragonGem_Emerald13";					break;
//	case rDragonGem_Emerald14:				Temp = "rDragonGem_Emerald14";					break;
//	case rDragonGem_Emerald15:				Temp = "rDragonGem_Emerald15";					break;
//	case rDragonGem_Emerald16:				Temp = "rDragonGem_Emerald16";					break;
//	case rDragonGem_Emerald17:				Temp = "rDragonGem_Emerald17";					break;
//	case rDragonGem_Emerald18:				Temp = "rDragonGem_Emerald18";					break;
//	case rDragonGem_Emerald19:				Temp = "rDragonGem_Emerald19";					break;
//	case rDragonGem_Emerald20:				Temp = "rDragonGem_Emerald20";					break;
//	case rDragonGem_Sapphire07:				Temp = "rDragonGem_Sapphire07";					break;
//	case rDragonGem_Sapphire09:				Temp = "rDragonGem_Sapphire09";					break;
//	case rDragonGem_Sapphire11:				Temp = "rDragonGem_Sapphire11";					break;
//	case rDragonGem_Sapphire13:				Temp = "rDragonGem_Sapphire13";					break;
//	case rDragonGem_Sapphire14:				Temp = "rDragonGem_Sapphire14";					break;
//	case rDragonGem_Sapphire15:				Temp = "rDragonGem_Sapphire15";					break;
//	case rDragonGem_Sapphire16:				Temp = "rDragonGem_Sapphire16";					break;
//	case rDragonGem_Sapphire17:				Temp = "rDragonGem_Sapphire17";					break;
//	case rDragonGem_Sapphire18:				Temp = "rDragonGem_Sapphire18";					break;
//	case rDragonGem_Sapphire19:				Temp = "rDragonGem_Sapphire19";					break;
//	case rDragonGem_Sapphire20:				Temp = "rDragonGem_Sapphire20";					break;
//	case rDragonGem_Sapphire21:				Temp = "rDragonGem_Sapphire21";					break;
//	case rDragonGem_Topaz05:				Temp = "rDragonGem_Topaz05";					break;
//	case rDragonGem_Topaz07:				Temp = "rDragonGem_Topaz07";					break;
//	case rDragonGem_Topaz09:				Temp = "rDragonGem_Topaz09";					break;
//	case rDragonGem_Topaz11:				Temp = "rDragonGem_Topaz11";					break;
//	case rDragonGem_Topaz12:				Temp = "rDragonGem_Topaz12";					break;
//	case rDragonGem_Topaz13:				Temp = "rDragonGem_Topaz13";					break;
//	case rDragonGem_Topaz14:				Temp = "rDragonGem_Topaz14";					break;
//	case rDragonGem_Topaz15:				Temp = "rDragonGem_Topaz15";					break;
//	case rDragonGem_Topaz16:				Temp = "rDragonGem_Topaz16";					break;
//	case rDragonGem_Topaz17:				Temp = "rDragonGem_Topaz17";					break;
//	case rDragonGem_Topaz18:				Temp = "rDragonGem_Topaz18";					break;
//	case rDragonGem_Topaz19:				Temp = "rDragonGem_Topaz19";					break;
//	case rDragonMetallic_Brass06:			Temp = "rDragonMetallic_Brass06";				break;
//	case rDragonMetallic_Brass08:			Temp = "rDragonMetallic_Brass08";				break;
//	case rDragonMetallic_Brass10:			Temp = "rDragonMetallic_Brass10";				break;
//	case rDragonMetallic_Brass12:			Temp = "rDragonMetallic_Brass12";				break;
//	case rDragonMetallic_Brass13:			Temp = "rDragonMetallic_Brass13";				break;
//	case rDragonMetallic_Brass14:			Temp = "rDragonMetallic_Brass14";				break;
//	case rDragonMetallic_Brass15:			Temp = "rDragonMetallic_Brass15";				break;
//	case rDragonMetallic_Brass16:			Temp = "rDragonMetallic_Brass16";				break;
//	case rDragonMetallic_Brass17:			Temp = "rDragonMetallic_Brass17";				break;
//	case rDragonMetallic_Brass18:			Temp = "rDragonMetallic_Brass18";				break;
//	case rDragonMetallic_Brass19:			Temp = "rDragonMetallic_Brass19";				break;
//	case rDragonMetallic_Brass20:			Temp = "rDragonMetallic_Brass20";				break;
//	case rDragonMetallic_Bronze08:			Temp = "rDragonMetallic_Bronze08";				break;
//	case rDragonMetallic_Bronze10:			Temp = "rDragonMetallic_Bronze10";				break;
//	case rDragonMetallic_Bronze12:			Temp = "rDragonMetallic_Bronze12";				break;
//	case rDragonMetallic_Bronze14:			Temp = "rDragonMetallic_Bronze14";				break;
//	case rDragonMetallic_Bronze15:			Temp = "rDragonMetallic_Bronze15";				break;
//	case rDragonMetallic_Bronze16:			Temp = "rDragonMetallic_Bronze16";				break;
//	case rDragonMetallic_Bronze17:			Temp = "rDragonMetallic_Bronze17";				break;
//	case rDragonMetallic_Bronze18:			Temp = "rDragonMetallic_Bronze18";				break;
//	case rDragonMetallic_Bronze19:			Temp = "rDragonMetallic_Bronze19";				break;
//	case rDragonMetallic_Bronze20:			Temp = "rDragonMetallic_Bronze20";				break;
//	case rDragonMetallic_Bronze21:			Temp = "rDragonMetallic_Bronze21";				break;
//	case rDragonMetallic_Bronze22:			Temp = "rDragonMetallic_Bronze22";				break;
//	case rDragonMetallic_Copper07:			Temp = "rDragonMetallic_Copper07";				break;
//	case rDragonMetallic_Copper09:			Temp = "rDragonMetallic_Copper09";				break;
//	case rDragonMetallic_Copper11:			Temp = "rDragonMetallic_Copper11";				break;
//	case rDragonMetallic_Copper13:			Temp = "rDragonMetallic_Copper13";				break;
//	case rDragonMetallic_Copper14:			Temp = "rDragonMetallic_Copper14";				break;
//	case rDragonMetallic_Copper15:			Temp = "rDragonMetallic_Copper15";				break;
//	case rDragonMetallic_Copper16:			Temp = "rDragonMetallic_Copper16";				break;
//	case rDragonMetallic_Copper17:			Temp = "rDragonMetallic_Copper17";				break;
//	case rDragonMetallic_Copper18:			Temp = "rDragonMetallic_Copper18";				break;
//	case rDragonMetallic_Copper19:			Temp = "rDragonMetallic_Copper19";				break;
//	case rDragonMetallic_Copper20:			Temp = "rDragonMetallic_Copper20";				break;
//	case rDragonMetallic_Copper21:			Temp = "rDragonMetallic_Copper21";				break;
//	case rDragonMetallic_Gold10:			Temp = "rDragonMetallic_Gold10";				break;
//	case rDragonMetallic_Gold12:			Temp = "rDragonMetallic_Gold12";				break;
//	case rDragonMetallic_Gold14:			Temp = "rDragonMetallic_Gold14";				break;
//	case rDragonMetallic_Gold16:			Temp = "rDragonMetallic_Gold16";				break;
//	case rDragonMetallic_Gold17:			Temp = "rDragonMetallic_Gold17";				break;
//	case rDragonMetallic_Gold18:			Temp = "rDragonMetallic_Gold18";				break;
//	case rDragonMetallic_Gold19:			Temp = "rDragonMetallic_Gold19";				break;
//	case rDragonMetallic_Gold20:			Temp = "rDragonMetallic_Gold20";				break;
//	case rDragonMetallic_Gold21:			Temp = "rDragonMetallic_Gold21";				break;
//	case rDragonMetallic_Gold22:			Temp = "rDragonMetallic_Gold22";				break;
//	case rDragonMetallic_Gold23:			Temp = "rDragonMetallic_Gold23";				break;
//	case rDragonMetallic_Gold24:			Temp = "rDragonMetallic_Gold24";				break;
//	case rDragonMetallic_Silver09:			Temp = "rDragonMetallic_Silver09";				break;
//	case rDragonMetallic_Silver11:			Temp = "rDragonMetallic_Silver11";				break;
//	case rDragonMetallic_Silver13:			Temp = "rDragonMetallic_Silver13";				break;
//	case rDragonMetallic_Silver15:			Temp = "rDragonMetallic_Silver15";				break;
//	case rDragonMetallic_Silver16:			Temp = "rDragonMetallic_Silver16";				break;
//	case rDragonMetallic_Silver17:			Temp = "rDragonMetallic_Silver17";				break;
//	case rDragonMetallic_Silver18:			Temp = "rDragonMetallic_Silver18";				break;
//	case rDragonMetallic_Silver19:			Temp = "rDragonMetallic_Silver19";				break;
//	case rDragonMetallic_Silver20:			Temp = "rDragonMetallic_Silver20";				break;
//	case rDragonMetallic_Silver21:			Temp = "rDragonMetallic_Silver21";				break;
//	case rDragonMetallic_Silver22:			Temp = "rDragonMetallic_Silver22";				break;
//	case rDragonMetallic_Silver23:			Temp = "rDragonMetallic_Silver23";				break;
//	case rDragonTurtle12:					Temp = "rDragonTurtle12";						break;
//	case rDragonTurtle13:					Temp = "rDragonTurtle13";						break;
//	case rDragonTurtle14:					Temp = "rDragonTurtle14";						break;
//	case rDragonet_Faerie:					Temp = "rDragonet_Faerie";						break;
//	case rDragonet_Firedrake04:				Temp = "rDragonet_Firedrake04";					break;
//	case rDragonet_Pseudo:					Temp = "rDragonet_Pseudo";						break;
//	case rDragonne:							Temp = "rDragonne";								break;
//	case rDryad:							Temp = "rDryad";								break;
//	case rDwarf_Hill:						Temp = "rDwarf_Hill";							break;
//	case rDwarf_Mountain:					Temp = "rDwarf_Mountain";						break;
//	case rDwarf_Derro:						Temp = "rDwarf_Derro";							break;
//	case rDwarf_Duergar01:					Temp = "rDwarf_Duergar01";						break;
//	case rDwarf_Duergar02:					Temp = "rDwarf_Duergar02";						break;
//	case rDwarf_Duergar03:					Temp = "rDwarf_Duergar03";						break;
//	case rDwarf_Duergar04:					Temp = "rDwarf_Duergar04";						break;
//	case rElementalAir08:					Temp = "rElementalAir08";						break;
//	case rElementalAir12:					Temp = "rElementalAir12";						break;
//	case rElementalAir16:					Temp = "rElementalAir16";						break;
//	case rElementalEarth08:					Temp = "rElementalEarth08";						break;
//	case rElementalEarth12:					Temp = "rElementalEarth12";						break;
//	case rElementalEarth16:					Temp = "rElementalEarth16";						break;
//	case rElementalFire08:					Temp = "rElementalFire08";						break;
//	case rElementalFire12:					Temp = "rElementalFire12";						break;
//	case rElementalFire16:					Temp = "rElementalFire16";						break;
//	case rElementalWater08:					Temp = "rElementalWater08";						break;
//	case rElementalWater12:					Temp = "rElementalWater12";						break;
//	case rElementalWater16:					Temp = "rElementalWater16";						break;
//	case rElementalKin_Sylph:				Temp = "rElementalKin_Sylph";					break;
//	case rElementalKin_AerialServant:		Temp = "rElementalKin_AerialServant";			break;
//	case rElementalKin_Pech:				Temp = "rElementalKin_Pech";					break;
//	case rElementalKin_Sandling:			Temp = "rElementalKin_Sandling";				break;
//	case rElementalKin_Salamander:			Temp = "rElementalKin_Salamander";				break;
//	case rElementalKin_FireSnake:			Temp = "rElementalKin_FireSnake";				break;
//	case rElementalKin_Nereid:				Temp = "rElementalKin_Nereid";					break;
//	case rElementalKin_WaterWeird:			Temp = "rElementalKin_WaterWeird";				break;
//	case rElementalComposite_Tempest09:		Temp = "rElementalComposite_Tempest09";			break;
//	case rElementalComposite_Tempest10:		Temp = "rElementalComposite_Tempest10";			break;
//	case rElementalComposite_Tempest11:		Temp = "rElementalComposite_Tempest11";			break;
//	case rElementalComposite_Tempest12:		Temp = "rElementalComposite_Tempest12";			break;
//	case rElementalComposite_Skriaxit16:	Temp = "rElementalComposite_Skriaxit16";		break;
//	case rElementalComposite_Skriaxit24:	Temp = "rElementalComposite_Skriaxit24";		break;
//	case rElephant_African:					Temp = "rElephant_African";						break;
//	case rElephant_Mammoth:					Temp = "rElephant_Mammoth";						break;
//	case rElephant_Mastodon:				Temp = "rElephant_Mastodon";					break;
//	case rElephant_Oliphant:				Temp = "rElephant_Oliphant";					break;
//	case rElf_High:							Temp = "rElf_High";								break;
//	case rElf_Aquatic:						Temp = "rElf_Aquatic";							break;
//	case rElf_Drow:							Temp = "rElf_Drow";								break;
//	case rElf_DrowPriest:					Temp = "rElf_DrowPriest";						break;
//	case rElf_Drider:						Temp = "rElf_Drider";							break;
//	case rElf_DriderMage:					Temp = "rElf_DriderMage";						break;
//	case rElf_DriderPriest:					Temp = "rElf_DriderPriest";						break;
//	case rEttercap:							Temp = "rEttercap";								break;
//	case rEyewing:							Temp = "rEyewing";								break;
//	case rFeyr_Normal:						Temp = "rFeyr_Normal";							break;
//	case rFeyr_GreatFeyr:					Temp = "rFeyr_GreatFeyr";						break;
//	case rFish_Barracuda01:					Temp = "rFish_Barracuda01";						break;
//	case rFish_Barracuda02:					Temp = "rFish_Barracuda02";						break;
//	case rFish_Barracuda03:					Temp = "rFish_Barracuda03";						break;
//	case rFish_CarpGiant09:					Temp = "rFish_CarpGiant09";						break;
//	case rFish_CarpGiant10:					Temp = "rFish_CarpGiant10";						break;
//	case rFish_CarpGiant11:					Temp = "rFish_CarpGiant11";						break;
//	case rFish_CarpGiant12:					Temp = "rFish_CarpGiant12";						break;
//	case rFish_CatfishGiant07:				Temp = "rFish_CatfishGiant07";					break;
//	case rFish_CatfishGiant08:				Temp = "rFish_CatfishGiant08";					break;
//	case rFish_CatfishGiant09:				Temp = "rFish_CatfishGiant09";					break;
//	case rFish_CatfishGiant10:				Temp = "rFish_CatfishGiant10";					break;
//	case rFish_Dragonfish:					Temp = "rFish_Dragonfish";						break;
//	case rFish_EelElectric:					Temp = "rFish_EelElectric";						break;
//	case rFish_EelGiant:					Temp = "rFish_EelGiant";						break;
//	case rFish_EelMarine06:					Temp = "rFish_EelMarine06";						break;
//	case rFish_EelMarine07:					Temp = "rFish_EelMarine07";						break;
//	case rFish_EelMarine08:					Temp = "rFish_EelMarine08";						break;
//	case rFish_EelWeed:						Temp = "rFish_EelWeed";							break;
//	case rFish_GarGiant:					Temp = "rFish_GarGiant";						break;
//	case rFish_Lamprey:						Temp = "rFish_Lamprey";							break;
//	case rFish_LampreyGiant:				Temp = "rFish_LampreyGiant";					break;
//	case rFish_LampreyLand:					Temp = "rFish_LampreyLand";						break;
//	case rFish_MantaRay08:					Temp = "rFish_MantaRay08";						break;
//	case rFish_MantaRay09:					Temp = "rFish_MantaRay09";						break;
//	case rFish_MantaRay10:					Temp = "rFish_MantaRay10";						break;
//	case rFish_MantaRay11:					Temp = "rFish_MantaRay11";						break;
//	case rFish_PikeGiant:					Temp = "rFish_PikeGiant";						break;
//	case rFish_Piranha:						Temp = "rFish_Piranha";							break;
//	case rFish_PiranhaGiant:				Temp = "rFish_PiranhaGiant";					break;
//	case rFish_PungiRay:					Temp = "rFish_PungiRay";						break;
//	case rFish_Quipper:						Temp = "rFish_Quipper";							break;
//	case rFish_SeaHorseGiant02:				Temp = "rFish_SeaHorseGiant02";					break;
//	case rFish_SeaHorseGiant03:				Temp = "rFish_SeaHorseGiant03";					break;
//	case rFish_SeaHorseGiant04:				Temp = "rFish_SeaHorseGiant04";					break;
//	case rFish_Shark03:						Temp = "rFish_Shark03";							break;
//	case rFish_Shark04:						Temp = "rFish_Shark04";							break;
//	case rFish_Shark05:						Temp = "rFish_Shark05";							break;
//	case rFish_Shark06:						Temp = "rFish_Shark06";							break;
//	case rFish_Shark07:						Temp = "rFish_Shark07";							break;
//	case rFish_Shark08:						Temp = "rFish_Shark08";							break;
//	case rFish_SharkGiant10:				Temp = "rFish_SharkGiant10";					break;
//	case rFish_SharkGiant11:				Temp = "rFish_SharkGiant11";					break;
//	case rFish_SharkGiant12:				Temp = "rFish_SharkGiant12";					break;
//	case rFish_SharkGiant13:				Temp = "rFish_SharkGiant13";					break;
//	case rFish_SharkGiant14:				Temp = "rFish_SharkGiant14";					break;
//	case rFish_SharkGiant15:				Temp = "rFish_SharkGiant15";					break;
//	case rFish_StingRay:					Temp = "rFish_StingRay";						break;
//	case rFrog_Giant01:						Temp = "rFrog_Giant01";							break;
//	case rFrog_Giant02:						Temp = "rFrog_Giant02";							break;
	case rFrog_Giant03:						Temp = "rFrog_Giant03";							break;
//	case rFrog_Killer:						Temp = "rFrog_Killer";							break;
//	case rFrog_Poisonous:					Temp = "rFrog_Poisonous";						break;
	case rFungus_Violet:					Temp = "rFungus_Violet";						break;
	case rFungus_Shrieker:					Temp = "rFungus_Shrieker";						break;
//	case rFungus_Phycomid:					Temp = "rFungus_Phycomid";						break;
//	case rFungus_Ascomoid:					Temp = "rFungus_Ascomoid";						break;
	case rFungus_GasSpore:					Temp = "rFungus_GasSpore";						break;
//	case rGalebDuhr08:						Temp = "rGalebDuhr08";							break;
//	case rGalebDuhr09:						Temp = "rGalebDuhr09";							break;
//	case rGalebDuhr10:						Temp = "rGalebDuhr10";							break;
//	case rGargantua_Reptilian:				Temp = "rGargantua_Reptilian";					break;
//	case rGargantua_Humanoid:				Temp = "rGargantua_Humanoid";					break;
//	case rGargantua_Insectoid20:			Temp = "rGargantua_Insectoid20";				break;
//	case rGargantua_Insectoid21:			Temp = "rGargantua_Insectoid21";				break;
//	case rGargantua_Insectoid22:			Temp = "rGargantua_Insectoid22";				break;
//	case rGargantua_Insectoid23:			Temp = "rGargantua_Insectoid23";				break;
//	case rGargantua_Insectoid24:			Temp = "rGargantua_Insectoid24";				break;
//	case rGargantua_Insectoid25:			Temp = "rGargantua_Insectoid25";				break;
//	case rGargantua_Insectoid26:			Temp = "rGargantua_Insectoid26";				break;
//	case rGargantua_Insectoid27:			Temp = "rGargantua_Insectoid27";				break;
//	case rGargantua_Insectoid28:			Temp = "rGargantua_Insectoid28";				break;
//	case rGargantua_Insectoid29:			Temp = "rGargantua_Insectoid29";				break;
//	case rGargantua_Insectoid30:			Temp = "rGargantua_Insectoid30";				break;
//	case rGargoyle_Gargoyle:				Temp = "rGargoyle_Gargoyle";					break;
//	case rGargoyle_Margoyle:				Temp = "rGargoyle_Margoyle";					break;
//	case rGenie_Djinni:						Temp = "rGenie_Djinni";							break;
//	case rGenie_DjinniNoble:				Temp = "rGenie_DjinniNoble";					break;
//	case rGenie_Dao:						Temp = "rGenie_Dao";							break;
//	case rGenie_Efreet:						Temp = "rGenie_Efreet";							break;
//	case rGenie_Marid:						Temp = "rGenie_Marid";							break;
//	case rGenie_Jann:						Temp = "rGenie_Jann";							break;
//	case rGhost:							Temp = "rGhost";								break;
//	case rGhoul_rGhoul:						Temp = "rGhoul_rGhoul";							break;
//	case rGhoul_Lacedon:					Temp = "rGhoul_Lacedon";						break;
//	case rGhoul_Ghast:						Temp = "rGhoul_Ghast";							break;
//	case rGiant_CloudAdult:					Temp = "rGiant_CloudAdult";						break;
//	case rGiant_CloudInfant:				Temp = "rGiant_CloudInfant";					break;
//	case rGiant_CloudJuv01:					Temp = "rGiant_CloudJuv01";						break;
//	case rGiant_CloudJuv02:					Temp = "rGiant_CloudJuv02";						break;
//	case rGiant_CloudJuv03:					Temp = "rGiant_CloudJuv03";						break;
//	case rGiant_Cloud_SpellCaster01:		Temp = "rGiant_Cloud_SpellCaster01";			break;
//	case rGiant_Cloud_SpellCaster02:		Temp = "rGiant_Cloud_SpellCaster02";			break;
//	case rGiant_CloudSpellCaster03:			Temp = "rGiant_CloudSpellCaster03";				break;
//	case rGiant_Cloud_SpellCaster04:		Temp = "rGiant_Cloud_SpellCaster04";			break;
//	case rGiant_Cyclopskin:					Temp = "rGiant_Cyclopskin";						break;
//	case rGiant_Cyclops:					Temp = "rGiant_Cyclops";						break;
//	case rGiant_Desert:						Temp = "rGiant_Desert";							break;
//	case rGiant_Ettin:						Temp = "rGiant_Ettin";							break;
//	case rGiant_Firbolg:					Temp = "rGiant_Firbolg";						break;
//	case rGiant_FirbolgShaman:				Temp = "rGiant_FirbolgShaman";					break;
//	case rGiant_Fire:						Temp = "rGiant_Fire";							break;
//	case rGiant_FireInfant:					Temp = "rGiant_FireInfant";						break;
//	case rGiant_FireJuv01:					Temp = "rGiant_FireJuv01";						break;
//	case rGiant_FireJuv02:					Temp = "rGiant_FireJuv02";						break;
//	case rGiant_FireJuv03:					Temp = "rGiant_FireJuv03";						break;
//	case rGiant_FireShaman01:				Temp = "rGiant_FireShaman01";					break;
//	case rGiant_FireShaman02:				Temp = "rGiant_FireShaman02";					break;
//	case rGiant_FireShaman03:				Temp = "rGiant_FireShaman03";					break;
//	case rGiant_FireShaman04:				Temp = "rGiant_FireShaman04";					break;
//	case rGiant_Fog:						Temp = "rGiant_Fog";							break;
//	case rGiant_Fomorian:					Temp = "rGiant_Fomorian";						break;
//	case rGiant_Frost:						Temp = "rGiant_Frost";							break;
//	case rGiant_FrostInfant:				Temp = "rGiant_FrostInfant";					break;
//	case rGiant_FrostJuv01:					Temp = "rGiant_FrostJuv01";						break;
//	case rGiant_FrostJuv02:					Temp = "rGiant_FrostJuv02";						break;
//	case rGiant_FrostJuv03:					Temp = "rGiant_FrostJuv03";						break;
//	case rGiant_FrostShaman01:				Temp = "rGiant_FrostShaman01";					break;
//	case rGiant_FrostShaman02:				Temp = "rGiant_FrostShaman02";					break;
//	case rGiant_FrostShaman03:				Temp = "rGiant_FrostShaman03";					break;
//	case rGiant_FrostShaman04:				Temp = "rGiant_FrostShaman04";					break;
//	case rGiant_Hill:						Temp = "rGiant_Hill";							break;
//	case rGiant_HillInfant:					Temp = "rGiant_HillInfant";						break;
//	case rGiant_HillJuv01:					Temp = "rGiant_HillJuv01";						break;
//	case rGiant_HillJuv02:					Temp = "rGiant_HillJuv02";						break;
//	case rGiant_HillJuv03:					Temp = "rGiant_HillJuv03";						break;
//	case rGiant_Jungle:						Temp = "rGiant_Jungle";							break;
//	case rGiant_Mountain:					Temp = "rGiant_Mountain";						break;
//	case rGiant_MountainInfant:				Temp = "rGiant_MountainInfant";					break;
//	case rGiant_MountainJuv:				Temp = "rGiant_MountainJuv";					break;
//	case rGiant_MountainShaman02:			Temp = "rGiant_MountainShaman02";				break;
//	case rGiant_MountainShaman03:			Temp = "rGiant_MountainShaman03";				break;
//	case rGiant_Reef:						Temp = "rGiant_Reef";							break;
//	case rGiant_Stone:						Temp = "rGiant_Stone";							break;
//	case rGiant_StoneInfant:				Temp = "rGiant_StoneInfant";					break;
//	case rGiant_StoneJuv01:					Temp = "rGiant_StoneJuv01";						break;
//	case rGiant_StoneJuv02:					Temp = "rGiant_StoneJuv02";						break;
//	case rGiant_StoneJuv03:					Temp = "rGiant_StoneJuv03";						break;
//	case rGiant_StoneElder:					Temp = "rGiant_StoneElder";						break;
//	case rGiant_StoneSpellCaster:			Temp = "rGiant_StoneSpellCaster";				break;
//	case rGiant_Storm:						Temp = "rGiant_Storm";							break;
//	case rGiant_StormInfant:				Temp = "rGiant_StormInfant";					break;
//	case rGiant_StormJuv01:					Temp = "rGiant_StormJuv01";						break;
//	case rGiant_StormJuv02:					Temp = "rGiant_StormJuv02";						break;
//	case rGiant_StormJuv03:					Temp = "rGiant_StormJuv03";						break;
//	case rGiant_StormSpellCaster01:			Temp = "rGiant_StormSpellCaster01";				break;
//	case rGiant_StormSpellCaster02:			Temp = "rGiant_StormSpellCaster02";				break;
//	case rGiant_StormSpellCaster03:			Temp = "rGiant_StormSpellCaster03";				break;
//	case rGiant_StormSpellCaster04:			Temp = "rGiant_StormSpellCaster04";				break;
//	case rGiant_Verbeeg:					Temp = "rGiant_Verbeeg";						break;
//	case rGiant_Wood:						Temp = "rGiant_Wood";							break;
//	case rGibberling:						Temp = "rGibberling";							break;
//	case rGiff:								Temp = "rGiff";									break;
//	case rGith_Normal:						Temp = "rGith_Normal";							break;
//	case rGith_Pirate07:					Temp = "rGith_Pirate07";						break;
//	case rGith_Pirate08:					Temp = "rGith_Pirate08";						break;
//	case rGith_Pirate09:					Temp = "rGith_Pirate09";						break;
//	case rGith_Pirate10:					Temp = "rGith_Pirate10";						break;
//	case rGith_Pirate11:					Temp = "rGith_Pirate11";						break;
//	case rGithyanki:						Temp = "rGithyanki";							break;
//	case rGithzerai:						Temp = "rGithzerai";							break;
//	case rGloomwing_Moth:					Temp = "rGloomwing_Moth";						break;
//	case rGloomwing_TenebrousWorm:			Temp = "rGloomwing_TenebrousWorm";				break;
//	case :			Temp = "";				break;
	case rGnoll_Normal:						Temp = "rGnoll_Normal";							break;
	case rGnoll_Guard:						Temp = "rGnoll_Guard";							break;
//	case rGnoll_Leader:						Temp = "rGnoll_Leader";							break;
//	case rGnoll_Chieftan:					Temp = "rGnoll_Chieftan";						break;
	case rGnoll_Flind:						Temp = "rGnoll_Flind";							break;
	case rGnome_Rock:						Temp = "rGnome_Rock";							break;
//	case rGnome_Svirfneblin:				Temp = "rGnome_Svirfneblin";					break;
//	case rGnome_Tinker:						Temp = "rGnome_Tinker";							break;
//	case rGnome_Forest:						Temp = "rGnome_Forest";							break;
//	case rGnome_SprigganMale:				Temp = "rGnome_SprigganMale";					break;
//	case rGnome_SprigganFemale:				Temp = "rGnome_SprigganFemale";					break;
	case rGoblin_Normal:					Temp = "rGoblin_Normal";						break;
	case rGoblin_SubChief:					Temp = "rGoblin_SubChief";						break;
	case rGoblin_Chief:						Temp = "rGoblin_Chief";							break;
//	rGolem_Stone, rGolem_Iron, rGolem_Flesh, rGolem_Clay, rGolem_Bone, rGolem_Doll, rGolem_rGargoyle, rGolem_rGlass, 
//	rGolem_Necrophidius, rGolem_Scarecrow, rGolem_CaryatidColumn, rGolem_Juggernaut, rGolem_StoneGuardian, 
//	rGorgon, 
//	rGrell_Worker, rGrell_Philosopher, rGrell_Patriarch, 
//	rGremlin_rGremlin, rGremlin_Fremlin, rGremlin_Galltrit, rGremlin_Mite, rGremlin_Snyad, rGremlin_Jermlaine, 
//	rGriffon, 
//	rGrimlock_Normal, rGrimlock_Leader, rGrimlock_Champion, 
//	rGrippli_Normal, rGrippli_Mates, rGrippli_TribeMother,
//	rHag_Annis, rHag_Green, rHag_Sea,
	case rHalfling_Hairfoot:				Temp = "rHalfling_Hairfoot";					break; 
//	case rHalfling_Tallfellow:				Temp = "rHalfling_Tallfellow";					break;
//	case rHalfling_Stout:					Temp = "rHalfling_Stout";						break;
	case rHarpy:							Temp = "rHarpy";								break;
//	case :			Temp = "";				break;
//	rHatori_Lesser01, rHatori_Lesser02, rHatori_Lesser03, rHatori_Lesser04, rHatori_Lesser05, rHatori_Greater06,
//	rHatori_Greater07, rHatori_Greater08, rHatori_Greater09, rHatori_Greater10, rHatori_Greater11,				//
//	rHatori_Greater12, rHatori_Greater13, rHatori_Greater14, rHatori_Greater15, rHatori_Greater16,				//
//	rHatori_Greater17, rHatori_Greater18, rHatori_Greater19, rHatori_Greater20, 
//	rHaunt, 
//	rHellrHound04, rHellHound05, rHellHound06, rHellHound07, 
//	rHeucuva, 
//	rHippocampus, 
//	rHippogriff, 
	case rHobgoblin_Normal:					Temp = "rHobgoblin_Normal";						break;
	case rHobgoblin_Stripling:				Temp = "rHobgoblin_Stripling";					break;
//	case rHobgoblin_SubChief:				Temp = "rHobgoblin_SubChief";					break;
//	case rHobgoblin_Chief:					Temp = "rHobgoblin_Chief";						break;
//	rHomonculous, 
//	rHookHorror, 
	case rHorse_Draft:						Temp = "rHorse_Draft";							break;
	case rHorse_HeavyWar:					Temp = "rHorse_HeavyWar";						break;
	case rHorse_MediumWar:					Temp = "rHorse_MediumWar";						break;
	case rHorse_LightWar:					Temp = "rHorse_LightWar";						break;
	case rHorse_Pony:						Temp = "rHorse_Pony";							break;
	case rHorse_Wild:						Temp = "rHorse_Wild";							break;
	case rHorse_Riding:						Temp = "rHorse_Riding";							break;
	case rHorse_Mule:						Temp = "rHorse_Mule";							break;
	case rHuman:							Temp = "rHuman";								break;
//	rHydra_Hydra05, rHydra_Hydra06, rHydra_Hydra07, rHydra_Hydra08, rHydra_Hydra09, rHydra_Hydra10,	rHydra_Hydra11, 
//	rHydra_Hydra12, rHydra_Lernaean05, rHydra_Lernaean06, rHydra_Lernaean07, rHydra_Lernaean08, rHydra_Lernaean09, 
//	rHydra_Lernaean10, rHydra_Lernaean11, rHydra_Lernaean12, rHydra_Pyrohydra07, rHydra_Pyrohydra08, rHydra_Cryohydra05, 
//	rHydra_Cryohydra06, rHydra_Cryohydra07, rHydra_Cryohydra08,
	case rHyena:							Temp = "rHyena";								break;
//	rImp_Normal, rImp_Quasit, rImp_MephitFire, rImp_MephitIce, rImp_MephitLava, rImp_MephitMist, rImp_MephitSmoke, 
//	rImp_MephitSteam, 
//	rInsect_AntGiant02, rInsect_AntGiant03, rInsect_AntLionGiant, rInsect_Aratha, rInsect_AspisCow, rInsect_AspisDrone, 
//	rInsect_AspisLarva02, rInsect_AspisLarva03, rInsect_AspisLarva04, rInsect_AspisLarva05, rInsect_AssassinBug, 
//	rInsect_BeeWorker, rInsect_BeeSoldier, rInsect_Bumblebee, rInsect_CaveCricket, rInsect_DragonflyGiant, 
//	rInsect_DragonflyLarva, rInsect_EarSeeker, rInsect_Firefriend, rInsect_FlyBluebottle, rInsect_Horsefly, rInsect_Fyrefly, 
//	rInsect_Horax, rInsect_HornetGiant, rInsect_Pernicon, rInsect_PrayingMantis02, rInsect_PrayingMantis03,
//	rInsect_PrayingMantis04, rInsect_PrayingMantis05, rInsect_PrayingMantis06, rInsect_PrayingMantis07,
//	rInsect_PrayingMantis08, rInsect_PrayingMantis09, rInsect_PrayingMantis10, rInsect_PrayingMantis11,
//	rInsect_PrayingMantis12, rInsect_TermiteGiant, rInsect_TermiteHarvester, rInsect_TermiteKing,
//	rInsect_TermiteQueen, rInsect_TermiteSoldier, rInsect_TermiteWorker, rInsect_TickGiant, rInsect_WaspGiant,
//	rInsect_SwarmVelvetAnts, rInsect_SwarmGrasshoppers, rInsect_SwarmLocusts, 
//	rIntellectDevourer_Adult, rIntellectDevourer_Larva, 
//	rInvisibleStalker, 
//	rIxitxachitl01, rIxitxachitl02, rIxitxachitl03, rIxitxachitl04, rIxitxachitl08,
//	rJackalwere,
//	rKenku02, rKenku03, rKenku04, rKenku05,
//	case rKiRin:							Temp = "rKiRin";								break;
//	case rKirre:							Temp = "rKirre";								break;
	case rKobold_Normal:					Temp = "rKobold_Normal";						break;
	case rKobold_Guard:						Temp = "rKobold_Guard";							break;
	case rKobold_Chief:						Temp = "rKobold_Chief";							break;
	//rKobold_Urd02, rKobold_Urd03, rKobold_Urd04, rKobold_Urd05, 
//	rKuoToa_Normal, rKuoToa_Captain, rKuoToa_Lieutenant, rKuoToa_Whip, rKuoToa_Monitor,
//	rLamia_Normal, rLamia_Noble, 
//	rLammasu_Lesser, rLammasu_Greater, 
//	rLeech_Giant01, rLeech_Giant02, rLeech_Giant03,	rLeech_Giant04, rLeech_Throat, rLeech_Swarm, 
//	rLeprechaun, 
	case rLeucrotta:						Temp = "rLeucrotta";							break;
//	case rLich_Normal:						Temp = "rLich_Normal";							break;
//	case rLich_Demilich:					Temp = "";										break;
//	rLivingWall, 
//	rLizard_Fire, rLizard_Giant, rLizard_Minotaur, rLizard_Subterranean,
	case rLizardMan_Normal:					Temp = "rLizardMan_Normal";						break;
	case rLizardMan_Juve:					Temp = "rLizardMan_Juve";						break;
//	rLizardMan_PatrolLeader, rLizardMan_SubLeader, rLizardMan_WarLeader, 
//	rLizardMan_Shaman03, rLizardMan_Shaman05, rLizardMan_Shaman07, rLizardMan_King, 
//	rLocathah
	case rLurker_Normal:					Temp = "rLurker_Normal";						break;
//	case rLurker_Trapper:					Temp = "rLurker_Trapper";				break;
//	case rLurker_Forest:					Temp = "rLurker_Forest";				break;
//	rLycanthrope_SeawolfLesser, rLycanthrope_SeawolfGreater, rLycanthrope_Werebat, rLycanthrope_Werebear, 
//	rLycanthrope_Wereboar, rLycanthrope_Werefox,
	case rLycanthrope_Wererat:				Temp = "rLycanthrope_Wererat";					break;
	//rLycanthrope_Wereraven, rLycanthrope_Weretiger, rLycanthrope_Werewolf,
//	rMammal_ApeCarnivorous, rMammal_BaboonWild, rMammal_Badger, rMammal_Banderlog, rMammal_Bhaergala, rMammal_BoarWild, 
//	rMammal_Chattur, rMammal_Cooshee, rMammal_Dakon, rMammal_Debbi, rMammal_Goat, rMammal_Gorilla, rMammal_HsingSing, 
//	rMammal_Hyena, rMammal_Jackal, rMammal_Losel, rMammal_MonkeySpider,	rMammal_PorcupineBlack,	rMammal_PorcupineBrown, 
//	rMammal_Rothe, rMammal_Skunk, rMammal_Sleek, rMammal_StagWild, rMammal_StenchKow, rMammal_Taer, rMammal_Tyrg05, 
//	rMammal_Tyrg06, rMammal_Tyrg07, rMammal_Tyrg08, rMammal_Warthog, rMammal_Weasel, rMammal_Wolverine, rMammalHerd_Camel, 
	case rMammalHerd_Cattle01:				Temp = "rMammalHerd_Cattle01";					break;
//	rMammalHerd_Cattle02, rMammalHerd_Cattle03, rMammalHerd_Cattle04, rMammalHerd_Buffalo, 
//	rMammalHerd_Antelope, rMammalHerd_Sheep, rMammalSmall_Beaver01, rMammalSmall_Beaver02, rMammalSmall_Beaver03,
//	rMammalSmall_Beaver04, rMammalSmall_Chipmunk, rMammalSmall_Ermine, rMammalSmall_Ferret, rMammalSmall_Fox, 
//	rMammalSmall_Gopher, rMammalSmall_Hedgehog, rMammalSmall_Mink, rMammalSmall_Mole, rMammalSmall_Monkey, 
//	rMammalSmall_Mouse, rMammalSmall_Muskrat, rMammalSmall_Opossum, rMammalSmall_Otter, rMammalSmall_OtterSea, 
//	rMammalSmall_OtterGiant, rMammalSmall_Pig, rMammalSmall_PigWild, rMammalSmall_Rabbit, rMammalSmall_Raccoon, 
//	rMammalSmall_Squirrel, rMammalSmall_SquirrelFlying, rMammalSmall_SquirrelGliding, rMammalSmall_SquirrelGiantBlack, 
//	rMammalSmall_Woodchuck, 
//	rManscorpion08, rManscorpion09SquadLeader, rManscorpion09SpellCaster, rManscorpion10SwarmLeader, 
//	rManscorpion10SpellCaster, rManscorpion11Noble, rManscorpion11Sorcerer, rManscorpion12King, rManscorpion12Queen, 
//	rManscorpion12Cleric, 
//	rManticore,
	case rMedusa_Normal:					Temp = "rMedusa_Normal";						break;
//	case rMedusa_Greater:					Temp = "rMedusa_Greater";						break;
//	case rMedusa_rMaedar:					Temp = "rMedusa_rMaedar";						break;
//	case rMedusa_Glyptar:					Temp = "rMedusa_Glyptar";						break;
//	rMerman01, rMerman02, rMerman03, rMerman04, rMerman05, rMerman06, rMerman07, rMermanShaman, 
//	rMimic_Common07, rMimic_Common08, rMimic_Killer09, rMimic_Killer10, 
//	rMindFlayer_SpellVersion, rMindFlater_PsionicVersion, 
	case rMinotaur_Normal:					Temp = "rMinotaur_Normal";						break;
//	case rMinotaur_Elder:					Temp = "rMinotaur_Elder";						break;
//	rMist_CrimsonDeath, rMist_Vampiric, 
//	rMold_Brown, rMold_Russet,
	case rMold_Yellow:						Temp = "rMold_Yellow";							break; 
//	rMoldMan01, rMoldMan02, rMoldMan03, rMoldMan04, rMoldMan05, rMoldMan06, 
//	rMongrelman01, rMongrelman02, rMongrelman03, rMongrelman04, rMongrelman_Leader, 
//	rMorkoth, 
//	rMuckdweller, 
//	case rMudman:							Temp = "rMudman";								break;
//	case rMummy_Normal:						Temp = "rMummy_Normal";							break;
	case rMummy_Cat:						Temp = "rMummy_Cat";							break;
//	case rMummy_Greater:					Temp = "rMummy_Greater";						break;
//	rMyconid01, rMyconid02, rMyconid03, rMyconid04, rMyconid05, rMyconid06,
//	rNaga_Guardian11, rNaga_Guardian12, rNaga_Spirit09, rNaga_Spirit10, rNaga_Water07, rNaga_Water08, rNaga_Dark, 
//	rNeogi_Normal, rNeogi_GreatOldMaster, 
//	rNightmare, rNymph,
//	rOctopus_Giant, 
//	rOgre_Normal, rOgre_Leader, rOgre_Chieftan, rOgre_Mage, rOgre_MageChieftan, rOgre_Merrow, rOgre_MerrowLeader, 
//	rOgre_MerrowChieftan, rOgre_Half, rOgre_Ogrillon, 
//	rOSJ_OliveSlime, rOSJ_OliveSlimeCreature, rOSJ_MustardJelly, rOSJ_JellyStun, rOSJ_rOchreJelly, rOSJ_GrayOoze,
//	rOSJ_CrystalOoze,
	case rOSJ_GelatinousCube:				Temp = "rOSJ_GelatinousCube";					break;
	case rOSJ_GreenSlime:					Temp = "rOSJ_GreenSlime";						break;
	case rOSJ_SlitheringTracker:			Temp = "rOSJ_SlitheringTracker";				break;
//	rOrc_Normal, rOrc_SubChief, rOrc_Leader, rOrc_Guards, rOrc_Chief, rOrc_BodyGuard, rOrc_Shaman01, rOrc_Shaman03, 
//	rOrc_Shaman05, rOrc_Orog, rOrc_OrogSubChief, rOrc_OrogLeader, rOrc_OrogChief, 
	//rOtyugh_Normal06, rOtyugh_Normal07
	case rOtyugh_Normal08:					Temp = "rOtyugh_Normal08";						break;
//	rOtyugh_NeoOtyugh09, rOtyugh_NeoOtyugh10, rOtyugh_NeoOtyugh11,
//	rOtyugh_NeoOtyugh12, 
	case rOwlbear:							Temp = "rOwlbear";								break;
//	rPegasus_Normal, rPegasus_Greater, 
//	rPeryton, 
//	rPhantom, 
//	rPhoenix, 
//	rPiercer01, rPiercer02, rPiercer03, rPiercer04, 
//	rPlantD_ChokeCreeper, rPlantD_Mantrap04, rPlantD_Mantrap05, rPlantD_Mantrap06, rPlantD_Mantrap07, rPlantD_Mantrap08, 
//	rPlantD_Mantrap09, rPlantD_RetchPlant05, rPlantD_RetchPlant06, rPlantD_RetchPlant07, rPlantD_RetchPlant08, 
//	rPlantD_Snappersaw, rPlantD_ThornSlinger, rPlantD_TriFlowerFrond, rPlantD_YellowMuskCreeper, rPlantD_YellowMuskZombie, 
//	rPlantI_HangmanTree, rPlantI_Kelpie, rPlantI_Obliviax, rPlantI_Quickwood05, rPlantI_Quickwood06, rPlantI_Quickwood07, 
//	rPlantI_Quickwood08, rPlantI_Quickwood09, rPlantI_Quickwood10,
	case rPlantI_ShamblingMound08:			Temp = "rPlantI_ShamblingMound08";				break;
//	rPlantI_ShamblingMound09,
//	rPlantI_ShamblingMound10, rPlantI_ShamblingMound11, rPlantI_Strangleweed02, rPlantI_Strangleweed03, rPlantI_Strangleweed04, 
//	rPlantI_SundewGiant, rPlantI_Thorny, 
//	rPoltergeist,
//	rPuddingDeadly_Black, rPuddingDeadly_White, rPuddingDeadly_Dun, rPuddingDeadly_Brown,
//	rQuaggoth_Normal, rQuaggoth_Jald, rQuaggoth_Thonot,
//	rRakshasa_Normal, rRakshasa_Ruhk, rRakshasa_Rajah, rRakshasa_Maharajah, rRakshasa_Greater,
	case rRat_Normal:						Temp = "rRat_Normal";							break;
	case rRat_Giant:						Temp = "rRat_Giant";							break;
//	rRat_Osquip, rRemorhaz07, rRemorhaz08, rRemorhaz09, rRemorhaz10, rRemorhaz11, rRemorhaz12, 
//	rRemorhaz13, rRemorhaz14, rRevenant, rRoc, rRoper10, rRoper11, rRoper12, 
	case rRustMonster:						Temp = "rRustMonster";							break;
//	rSahuagin_Normal, rSahuagin_Lieutenant, rSahuagin_Chieftain, rSahuagin_Priestess, rSahuagin_Baron, rSahuagin_Prince, 
//	rSatyr_Normal, rSatyr_Korred, rScorpion_Large, rScorpion_Huge, rScorpion_Giant, rSeaLion, rSelkie_Normal, rSelkie_Leader, 
	case rShadow:							Temp = "rShadow";								break;
//	rShedu_Lesser, rShedu_Greater, rSirine04, rSirine05, rSirine06, rSirine07, 
	case rSkeleton_Normal:					Temp = "rSkeleton_Normal";						break;
//	rSkeleton_Animal, rSkeleton_Monster, rSkeleton_Giant, rSkeleton_Warrior, rSlaad_Red, rSlaad_Blue, 
//	rSlug_Giant, rSnake_Amphisbaena, rSnake_AmphisbaenaElder, rSnake_AmphisbaenaJaculi, rSnake_Boalisk, 
//	rSnake_BoaliskElder, rSnake_BoaliskJaculi, rSnake_ConstrictorNormal, rSnake_ConstrictorNormalElder, 
//	rSnake_ConstrictorNormalJaculi, rSnake_ConstrictorGiant, rSnake_ConstrictorGiantElder, 
//	rSnake_ConstrictorGiantJaculi, rSnake_Heway, rSnake_HewayElder, rSnake_HewayJaculi, 
//	rSnake_PoisonNormal, rSnake_PoisonNormalElder, rSnake_PoisonNormalJaculi, rSnake_PoisonGiant, 
//	rSnake_PoisonGiantElder, rSnake_PoisonGiantJaculi, rSnake_GiantSea, rSnake_GiantSeaElder, 
//	rSnake_GiantSeaJaculi, rSnake_Spitting, rSnake_SpittingElder, rSnake_SpittingJaculi, rSnake_Winged, 
//	rSpectre, rSphinx_Androsphinx, rSphinx_Criosphinx, rSphinx_Gynosphinx, rSphinx_Hieracosphinx, rSpider_Hairy
	case rSpider_Large:						Temp = "rSpider_Large";							break;
	//rSpider_Huge, rSpider_Giant01, rSpider_Giant02, rSpider_Giant03, rSpider_Giant04, 
	//rSpider_Giant03Flying,  rSpider_Giant04Steeder, rSpider_Giant04TrapDoor, rSpider_Phase, rSpider_Sword
	case rSpider_Wolf:						Temp = "rSpider_Wolf";							break;
//	rSpider_Gargantuan07, rSpider_Gargantuan08, rSprite_Normal, rSprite_Sea, rSprite_Pixie, 
//	rSprite_Nixie, rSprite_Atomie, rSprite_Grig, rSquid_Giant, rSquid_Kraken, 
	case rStirge:							Temp = "rStirge";								break;
//	rStirge_Jungle, rSuMonster, 
//	rSwanmay_Normal02, rSwanmay_Normal03, rSwanmay_Normal04, rSwanmay_Normal05, rSwanmay_Normal06, rSwanmay_Normal07, 
//	rSwanmay_Normal08, rSwanmay_Normal09, rSwanmay_Normal10, rSwanmay_Normal11, rSwanmay_Normal12, rSwanmay_BirdMaiden02, 
//	rSwanmay_BirdMaiden03, rSwanmay_BirdMaiden04, rSwanmay_BirdMaiden05, rSwanmay_BirdMaiden06, rSwanmay_BirdMaiden07, 
//	rSwanmay_BirdMaiden08, Tabaxi_Normal, Tabaxi_ClanLeader, Tabaxi_Shaman03, Tabaxi_Shaman05, Tabaxi_Lord,
//	Tako_Male, Tako_Female,	Tanari_Balor, Tanari_Marilith, Tarrasque, Tasloi_Normal, Tasloi_Chieftain, Tasloi_Shaman, 
//	ThoughtEater, ThriKreen, Titan, ToadGiant_Normal, ToadGiant_Fire, ToadGiant_Ice, ToadGiant_Poisonous, 
//	Treant07, Treant08, Treant09, Treant10, Treant11, Treant12, Triton03, Triton04, Triton05, Triton06, Triton07,
//	Triton08, Triton08Mage, Triton08Priest, TritonLeader, Troglodyte_Normal, Troglodyte_Leader, Troglodyte_Guard, 
//	Troglodyte_Subchieftain, Troglodyte_Chieftain, 
	case rTroll_Normal:						Temp = "rTroll_Normal";							break;
//	rTroll_TwoHeaded, rTroll_Freshwater, rTroll_Saltwater, rTroll_Desert, rTroll_Spectral, rTroll_Giant,
//	rTroll_Ice, rUmberHulk_Normal, rUmberHulk_Vodyanoi,
//	rUnicorn, rUrchin_Black, rUrchin_Green, rUrchin_Land, rUrchin_Red, rUrchin_Silver, rUrchin_Yellow,
//	rVampire_Western, rVampire_Eastern, rWemic_Normal, rWemic_Chief, rWemic_WitchDoctor, rWemic_King,  
//	rWhale_Common12, rWhale_Common13, rWhale_Common14, rWhale_Common15, rWhale_Common16, rWhale_Common17, rWhale_Common18, 
//	rWhale_Common19, rWhale_Common20, rWhale_Common21, rWhale_Common22, rWhale_Common23, rWhale_Common24, rWhale_Common25,
//	rWhale_Common26, rWhale_Common27, rWhale_Common28, rWhale_Common29, rWhale_Common30, rWhale_Common31, rWhale_Common32, 
//	rWhale_Common33, rWhale_Common34, rWhale_Common35, rWhale_Common36, 
//	rWhale_Giant18, rWhale_Giant19, rWhale_Giant20, rWhale_Giant21, rWhale_Giant22, rWhale_Giant23, rWhale_Giant24, 
//	rWhale_Giant25, rWhale_Giant26, rWhale_Giant27, rWhale_Giant28, rWhale_Giant29, rWhale_Giant30, rWhale_Giant31, 
//	rWhale_Giant32, rWhale_Giant33, rWhale_Giant34, rWhale_Giant35, rWhale_Giant36, rWhale_Giant37, rWhale_Giant38, 
//	rWhale_Giant39, rWhale_Giant40, rWhale_Giant41, rWhale_Giant42, rWhale_Giant43, rWhale_Giant44, rWhale_Giant45, 
//	rWhale_Giant46, rWhale_Giant47, rWhale_Giant48, rWhale_Giant49, rWhale_Giant50, rWhale_Giant51, rWhale_Giant52, 
//	rWhale_Giant53, rWhale_Giant54, 
//	rWhale_Leviathan36, rWhale_Leviathan37, rWhale_Leviathan38, rWhale_Leviathan39, rWhale_Leviathan40, rWhale_Leviathan41, 
//	rWhale_Leviathan42, rWhale_Leviathan43, rWhale_Leviathan44, rWhale_Leviathan45, rWhale_Leviathan46, rWhale_Leviathan47, 
//	rWhale_Leviathan48, rWhale_Leviathan49, rWhale_Leviathan50, rWhale_Leviathan51, rWhale_Leviathan52, rWhale_Leviathan53, 
//	rWhale_Leviathan54, rWhale_Leviathan55, rWhale_Leviathan56, rWhale_Leviathan57, rWhale_Leviathan58, rWhale_Leviathan59,
//	rWhale_Leviathan60, rWhale_Leviathan61, rWhale_Leviathan62, rWhale_Leviathan63, rWhale_Leviathan64, rWhale_Leviathan65, 
//	rWhale_Leviathan66, rWhale_Leviathan67, rWhale_Leviathan68, rWhale_Leviathan69,	rWhale_Leviathan70, rWhale_Leviathan71, 
//	rWhale_Leviathan72, rWhale_Killer09, rWhale_Killer10, rWhale_Killer11, rWhale_Killer12, rWhale_Narwhal04, 
//	rWhale_Narwhal05, rWhale_Narwhal06, rWight, 
	case rWill_O_Wisp:						Temp = "rWill_O_Wisp";							break; 
//	case rWolf_Normal:						Temp = "rWolf_Normal";							break; 
	case rWolf_Worg:						Temp = "rWolf_Worg";							break;
//	rWolf_Dire, rWolf_Winter, rWolfwere, rWorm_Purple, rWorm_GiantBloodworm, rWorm_Bookworm
	case rWorm_RotGrub:						Temp = "rWorm_RotGrub";							break; 
//	rWraith, rWyvern, rXorn_Normal, rXorn_Xaren, rYeti, rYuanTi_Normal06, rYuanTi_Normal07, 
//	rYuanTi_Normal08, rYuanTi_Normal09, rYuanTi_Abominations, rYuanTi_Histachii, rYugolothGuardian_Least, 
//	rYugolothGuardian_Lesser, rYugolothGuardian_Greater,
//	rZaratan51, rZaratan52, rZaratan53, rZaratan54, rZaratan55, rZaratan56, rZaratan57, rZaratan58, 
//	rZaratan59, rZaratan60, rZaratan61, rZaratan62, rZaratan63, rZaratan64, rZaratan65, rZaratan66, 
//	rZaratan67, rZaratan68, rZaratan69, rZaratan70, 
	case rZombie_Common:					Temp = "rZombie_Common";						break;
//	case rZombie_Monster:					Temp = "rZombie_Monster";						break;
//	case rZombie_JuJu:						Temp = "rZombie_JuJu";							break;
//	case rZombie_Lord:						Temp = "rZombie_Lord";							break;
//	case rZombie_Sea:						Temp = "rZombie_Sea";							break;
	};
	return Temp;
}
void Avatar::SetConditionStatus(int CS)
{
	ConditionStatus = CS;
}
int Avatar::GetConditionStatus() const
{
	return ConditionStatus;
}
void Avatar::SetActionsStatus(int AS)
{
	ActionsStatus = AS;
}
int Avatar::GetActionsStatus() const
{
	return ActionsStatus;
}
void Avatar::SetSpeachMsg(string msg)
{
	if(int(msg.length() > 0))
	{
		SpeachMsg	= msg;
		SpeachTimer	= int(msg.length() * 0.50);
		ShowSpeach	= true;
	}
	else
	{
		SpeachMsg	= "";
		SpeachTimer	= 0;
		ShowSpeach	= false;
	}
}
string Avatar::GetSpeachMsg() const
{
	return SpeachMsg;
}
void Avatar::SetSpeachTimer(int count)
{
	if(count > 0)	SpeachTimer = count;
	else			SpeachTimer = 0;
}
int Avatar::GetSpeachTimer() const
{
	return SpeachTimer;
}
void Avatar::DecSpeachTimer()
{
	if(SpeachTimer > 0)	SpeachTimer--;
	if(SpeachTimer == 0)
	{
		SpeachMsg	= "";
		ShowSpeach	= false;
		//If it timed out and the player was not near the 
		//Avatar, we want to reset it so it doesn't show up
		InTextBox	= true;
	}
}
bool Avatar::GetShowSpeach() const
{
	return ShowSpeach;
}
void Avatar::SetInTextBox(bool data)
{
	InTextBox = data;
}
bool Avatar::GetInTextBox() const
{
	return InTextBox;
}
void Avatar::SetUI(int IDnum)
{
	UniqueIdentifier = IDnum;
}
int Avatar::GetUI() const
{
	return UniqueIdentifier;
}
void Avatar::SetAggress(bool value)
{
	if(value == true)	Aggressive = true;
	else				Aggressive = false;
}
bool Avatar::GetAggress() const
{
	return Aggressive;
}
void Avatar::SetHP(int data)
{
	avHitPoints = data;
}
int Avatar::GetHP() const
{
	return avHitPoints;
}
void Avatar::SetCurHP(int data)
{
	avCurrentHitPoints = data;
}
int Avatar::GetCurHP() const
{
	return avCurrentHitPoints;
}
void Avatar::SetAC(int data)
{
	ArmorClass = data;
}
int Avatar::GetAC() const
{
	return ArmorClass;
}
void Avatar::SetHPRoll(int index, int Level, int value)
{
	double	dblLocal = 0.0;
	int		intLocal = 0;
	avClassHPRolls[index][Level] = value;

	//Get Averages...
	for(int y = 0; y < maxNumClasses; y++)
	{
		for(int x = 0; x < maxHpRolls; x++)
		{
			if(x <= classLvl[y]) dblLocal += (avClassHPRolls[y][x] / double(numClasses));
		}
	}
	avHitPoints = int(dblLocal);
}
//Need this for when saving files
int Avatar::GetHPRoll(int index, int Level)
{
	return avClassHPRolls[index][Level];
}
/*
Racial Ability Score 
		Str		Dex		Con		Int		Wis		Cha
Human	3/18	3/18	3/18	3/18	3/18	3/18
Dwarf	8/18	3/17	11/18	3/18	3/18	3/17
Elf		3/18	6/18	7/18	8/18	3/18	8/18
Gnome	6/18	3/18	8/18	6/18	3/18	3/18
HalfE	3/18	6/18	3/18	4/18	3/18	3/18
HalfL	7/18*	7/18	10/18	6/18	3/18	3/18

Modifiers
		Str		Dex		Con		Int		Wis		Cha
Dwarf					+1						-1
Elf				+1		-1
Gnome							+1		-1
HalfL	-1		+1

enum
Name			Value	Actual
cZeroLvl		0		0-Lvl Fighter
cFighter		1		Fighter
cPaladin		2		Paladin
cRanger			3		Ranger
cWizard			4		Wizard
cAbjurer		5		Specialist Mage - Abjuration
cTransmuter		6		Specialist Mage - Alteration
cConjurer		7		Specialist Mage - Conjuration/Summoning
cEnchanter		8		Specialist Mage - Enchantment/Charm
cDiviner		9		Specialist Mage - Greater Divination
cIllusionist	10		Specialist Mage - Illusion
cInvoker		11		Specialist Mage - Invocation/Evocation
cNecromancer	12		Specialist Mage - Necromancy
cCleric			13		Cleric
cDruid			14		Druid
cThief			15		Thief
cBard			16		Bard
cNinja			17		Ninja (Spy)
cFM				18		Fighter / Mage
cFC				19		Fighter / Cleric
cFD				20		Fighter / Druid
cFT				21		Fighter / Thief
cRC				22		Ranger / Cleric
cRD				23		Ranger / Druid
cMC				24		Mage / Cleric
cMD				25		Mage / Druid
cMT				26		Mage / Thief
cTI				27		Thief / Specialist Mage - Illusionst
cFMC			28		Fighter / Mage / Cleric
cFMD			29		Fighter / Mage / Druid
cFMT			30		Fighter / Mage / Thief
*/