#include <string>
using std::string;

enum NWPs
{
	nwpAlchemy = 0, nwpAlertness, nwpAnimalTraining, nwpAppraising,										//	4
	nwpBalance, nwpBargain, nwpBeeKeeping, nwpBegging, nwpBlacksmithing, nwpBlindFighting,				//	10
	nwpBoasting, nwpBoating, nwpBoatwright, nwpBodyLang, nwpBowyer, nwpBrewing, nwpBribery,				//	17
	nwpBureaucracy, nwpButcher,																			//	19
	//WP 'Canon' (large guns)
	nwpCamouflage, nwpCarpentry, nwpCandleMaker, nwpCartography, nwpCartwright, nwpChanting,			//	25
	nwpCharioteering, nwpCheeseMaking, nwpClayWorking, nwpClimbing, nwpCloseQuarterFighting,			//	30
	nwpCobbling, nwpCommerce, nwpConcealment, nwpCooking,												//	34
	nwpDairyman, nwpDancing, nwpDangerSense, nwpDiagnostics, nwpDiplomacy, nwpDirectionSense,			//	40
	nwpDisguise, nwpDistanceSense,																		//	42
	nwpEavesdropping, nwpEndurance, nwpEngineering, nwpEtiquette, nwpEvasion,							//	47
	nwpFarming, nwpFieldOfStudy, nwpFireBuilding, nwpFishing, nwpFletcher, nwpForaging, nwpForgery,		//	54
	nwpGaming, nwpGemCutting, nwpHerbalism, nwpHiding, nwpHunting,										//	59
	nwpIntimidation,																					//	60
	nwpJumping,																							//	61
	nwpLangAncient, nwpLangModern, nwpLeadership, nwpLeatherworking, nwpLockPicking, nwpLocksmithing,	//	67
	nwpManipulation, nwpMiller, nwpMining, nwpMusicalInstrument,										//	71
	nwpNavigation, nwpNightsight,																		//	73
	nwpObservation, nwpOrienteering,																	//	75
	nwpPickPockets,																						//	76
	nwpReadWrite, nwpRiding, nwpRopeNetMaking, nwpRunning,												//	80
	nwpSeamanship, nwpSeamstressTailor, nwpSetSnaresAndTraps, nwpShadowing, nwpShepherd,				//	85
	nwpShipwright, nwpSignaling, nwpSinging, nwpSoundAnalysis, nwpSpeedCasting, nwpSpellcraft,			//	91
	nwpStealth, nwpStonemasonry, nwpStreetSense, nwpSurvival, nwpSwimming,								//	96
	nwpTeaching, nwpTightropeWalking, nwpTrapDetect, nwpTumbling,										//	100
	nwpVetHealing, nwpVentriloquism,																	//	102
	nwpWaterDivine, nwpWeaving, nwpWineMaking,															//	105
	MAX_NWPs
};

class nwps
{
public:
	nwps();
	~nwps();

	void	SetID			(int ID);
	int		GetID			() const;
	void	SetNumSlots		(int slots);
	int		GetNumSlots		() const;
	void	SetXP			(int xpTotal);
	int		GetXP			() const;
	void	SetLevel		(int level);
	int		GetLevel		() const;

	void	ModXP			(int plusMinusVal);

	string	getNWPName		(int which) const;
	string	getAssignedNWP	() const;
	void	Reset			();
	
	const nwps&	operator=	(const nwps &newData);
	const nwps*	operator=	(const nwps *newData);

private:
	int	nwpID;
	int numSlots;
	int xp;
	int level;
};