#include "weaponProficiency.h"
weaponProficiency::weaponProficiency()
{
	Reset();
}
weaponProficiency::~weaponProficiency()
{
}
void weaponProficiency::Reset()
{
	Proficiency	= MAX_WEAPONPRO;
	NumOfSlots	= 0;
}
void weaponProficiency::SetProficiency(int data)
{
	if(data >= 0 && data < MAX_WEAPONPRO)
		Proficiency = data;
	else Proficiency = MAX_WEAPONPRO;
}
int	weaponProficiency::GetProficiency() const
{
	return Proficiency;
}
void weaponProficiency::SetNumSlots(int data)
{
	if(data > 0) NumOfSlots = data;
	else NumOfSlots = 0;
}
int	weaponProficiency::GetNumSlots() const
{
	return NumOfSlots;
}
string weaponProficiency::GetProAsString() const
{
	string tmp;
	switch(Proficiency)
	{
	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;
}
string weaponProficiency::GetProName(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;
}
const weaponProficiency& weaponProficiency::operator= (const weaponProficiency &other)
{
	if(this != &other)
	{
		Proficiency = other.Proficiency;
		NumOfSlots	= other.NumOfSlots;
	}
	return *this;
}
const weaponProficiency* weaponProficiency::operator= (const weaponProficiency *other)
{
	if(this != other)
	{
		Proficiency	= other->Proficiency;
		NumOfSlots	= other->NumOfSlots;
	}
	return this;
}
void weaponProficiency::Copy(weaponProficiency wp)
{
	Proficiency = wp.Proficiency;
	NumOfSlots	= wp.NumOfSlots;
}