#pragma once
// itNegOne represents 'nothing'
#define	itNegOne -1
enum BROW
{
    itBrow = 0, LAST_BROW
};
enum EAR
{
	itEar = LAST_BROW, LAST_EAR
};
enum PENDANTS
{
	itPend = LAST_EAR, itPend_01, itPend_02, itPend_03, itPend_04, itPend_05, 
	itPend_06, itPend_07, itPend_08, itPend_09, LAST_PENDANT
};
enum NAVAL
{
	itNaval = LAST_PENDANT, LAST_NAVAL
};
enum WRIST
{
	itWrist = LAST_NAVAL, LAST_WRIST
};
enum RING
{
	itRing = LAST_WRIST, itRing_01, itRing_02, itRing_03, itRing_04, itRing_05,
	itRing_06, itRing_07, itRing_08, itRing_09, itRing_10, itRing_11, itRing_12, 
	itRing_13, itRing_14, itRing_15, itRing_16, itRing_17, itRing_18, itRing_19, 
	itRing_20, itRing_21, itRing_22, itRing_23, LAST_RING
};
enum PANTS
{
	itPants = LAST_RING, itPants_01, itPants_02, itPants_03, itBreech, 
	itHose, LAST_PANTS
};
enum SHIRT
{
    itShirt = LAST_PANTS, itShirt_01, itShirt_02, itShirt_03, itGown, itRobe, 
	itToga, itTunic, LAST_SHIRT
};
enum LEGS
{
    itLegs = LAST_SHIRT, itHiLegs, itLeLegs, itStLegs, itRiLegs, itChLegs, itScLegs, 
	itBaLegs, itLPLegs, itHPLegs, LAST_LEGS
};
enum WAIST
{
	itWaist = LAST_LEGS, itPaWst, itHiWst, itLeWst, itStWst, itRiWst, itChWst, itScWst,
	itBaWst, itLPWst, itHPWst, LAST_WAIST
};
enum BELT
{
    itBelt = LAST_WAIST, LAST_BELT
};
enum SHOES
{
    itShoes = LAST_BELT, itSandals, itStBoots, itLeBoots, itRdBoots, itCavBoots,
	LAST_SHOE
};
enum CHEST
{
    itChest = LAST_SHOE, itHiChest, itLeChest, itStChest, itRiChest, itChChest, 
	itScChest, itBaChest, itLPChest, itHPChest, LAST_CHEST
};
enum ARMS
{
	itArms = LAST_CHEST, itHiArms, itLeArms, itStArms, itRiArms, itChArms, 
	itScArms, itBaArms, itLPArms, itHPArms, LAST_ARM
};
enum GLOVE
{
	itGlove = LAST_ARM, itMitten, itPaGlove, itHiGlove, itLeGlove, itStGlove,
	itChGlove, itLPGlove, itHPGlove, LAST_GLOVE
};
enum HELD
{
	//RightHand (Held)/ LeftHand (Held)
	//itHeld represents hands as 'tool' or 'weapon'
	itHeld = LAST_GLOVE, itBastSw, itBattAxe, itLgBow, itStBow, itBrdSw, itClub,
	itCLgBow, itCStBow, itCBow, itDagger, itFlail, itHandAxe, itLance, itLgSw,
	itMace, itMoStar, itPick, itQrStaff, itScim, itScourge, itStSw, itSickle,
	itSpear, itTrident, itWarHam, itWhip, itSWoSh, itMWoSh, itLWoSh, itSMeSh,
	itMMeSh, itLMeSh, LAST_HELD
};
enum SHOULDER
{
	itShould = LAST_HELD, itHiShoul, itLeShoul, itStShoul, itRiShoul, itChShoul,
	itScShoul, itBaShoul, itLPShoul, itHPShoul, LAST_SHOULDER
};
enum SASH
{
	itSash = LAST_SHOULDER, itSurcoat, itVest, itTabbard, LAST_SASH
};
enum NECK
{
	itNeck = LAST_SASH, itHiNeck, itLeNeck, itStNeck, itRiNeck,
	itChNeck, itBaNeck, itLPNeck, itHPNeck, LAST_NECK
};
enum CLOAK
{
	itCloak = LAST_NECK, itCloak_01, itCloak_02, LAST_CLOAK
};
enum BACK
{
	itBack = LAST_CLOAK, itBP_01, itBP_02, LAST_BACK
};
enum HEAD
{
	itHead = LAST_BACK, itCap, itWizHat, itPaHead, itHiHead, itLeHead, itStHead,
	itRiHead, itChHead, itBaHead, itLPHead, itHPHead, LAST_HEAD
};
enum TRANSPORT
{
	itTrans = LAST_HEAD, itSmCart01, itSmCart02, itLgCart01, itLgCart02,
	itSmWag01, itSmWag02, itLgWag01, itLgWag02, LAST_TRANS
};
enum POUCH
{
    itPouch = LAST_TRANS, itPo_01, itPo_02, LAST_POUCH
};
enum OTHER
{
	//Other
	itOther = LAST_POUCH, itCoinS, itCoinG, itCoinP,			// Copper, Silver, Gold, Platinum				 - 
	itAnteHorn, itAnteHide, itAnteMeat,							// rAntelope	– Horn / Hide / Meat			 - 
    itBadgClaw,	itBadgHide,	itBadgMeat,							// rBadger		– Claws / Hide / Meat			 - 
	itBasiClaw,	itBasiHide,	itBasiTeet,	itBasiMeat,				// rBasilisk	– Claws / Hide / Teeth / Meat	 - 
    itBatWing,	itBatHide,	itBatEar,							// rBat			– Wings / Hide / Ears			 - 
    itBearClaw,	itBearHide,	itBearMeat,							// rBear		– Claws / Hide /  Meat			 - 
    itBeavTail,	itBeavHide,	itBeavMeat,							// rBeaver		– Tail / Hide / Meat			 - 
	itBirdBeak,	itBirFeath,	itBirdMeat,							// rBird		– Beak / Feather / Meat			 - 
    itBrowHair,	itBrowEar,										// rBrownie		– Hair / Ears					 - 
	itBuffHorn,	itBuffHide,	itBuffMeat,							// rBuffalo		– Horn / Hide / Meat			 - 
	itBugbHair,	itBugbEar,										// rBugbear		– Hair / Ears					 - 
	itCatHide,	itCatMeat,	itCatEye,	itCatEar,				// rCat			– Hide / Meat / Eyes / Ears		 - 
	itCattHorn,	itCattHide,	itCattMeat,							// rCattle		– Horn / Hide / Meat			 - 
	itCentHair,	itCentEar,	itCentTail,	itCentHide,				// rCentaur		- Hair / Ears / Tail / Hide		 - 
	itChimWing,	itChimHide,	itChimTail,							// rChimera		– Wing / Hide / Tail			 - 
    itChipHide,	itChipMeat,										// rChipmunk	– Hide / Meat					 - 
	itCocFeath,	itCockMeat,	itCockBeak,							// rCockatrice	– Feather / Meat / Beak			 - 
	itCrocTeet,	itCrocHide,	itCrocMeat,							// rCrocodile	– Teeth / Hide / Meat			 - 
    itDogHide,	itDogMeat,										// rDog			– Hide / Meat					 - 
    itDolpHide,	itDolpSnout,itDolpMeat,							// rDolphin		– Hide / Snout / Meat			 - 
    itDragClaw,	itDragHide,	itDragHorn,	 itDragEye,				// rDragon		– Claws / Hide / Horn / Eyes	 - 
	itDryadHai,	itWoodSpir,										// rDryad		– Hair / Wood-spirit			 - 
	itDwarfHai,	itDwarfEar,	itDwarfArm,							// rDwarf		– Hair / Ear / Arms				 - 
	itElfHair,	itElfEar,	itElfEye,	itElfArms,	itElfLeg,	// rElf			– Hair / Ear / Eye / Arm / Leg	
	itErmiHide,	itErmiMeat,										// rErmine		– Hide / Meat					
	itFerrHide,	itFerrMeat,										// rFerret		– Hide / Meat					
	itFoxHide,	itFoxMeat,										// rFox			– Hide / Meat					
	itGargHide,	itGargWing,										// rGargoyle	– Hide / Wing					
	itAirEssen,													// rGenie		– Essence						
	itGhouHair,	itGhouHide,										// rGhoul		– Hair / Hide					
	itGianHair,	itGianEar,	itGianHide,							// rGiant		– Hair / Ear / Hide				
	itGnomHair,	itGnomNose,										// rGnome		– Hair / Nose					
	itGoatHorn,	itGoatHide,	itGoatMeat,							// rGoat		– Horn / Hide / Meat			
	itGoblHair,	itGoblEar,										// rGoblin		– Hair / Ear					
    itGophHide,	itGophMea,										// rGopher		– Hide / Meat					
	itGoriArm,	itGoriHide,	itGoriHair,	itGoriMeat,				// rGorilla		– Arm / Hide / Hair / Meat		
	itGremHide,	itGremClaw,										// rGremlin		– Hide / Claw					
	itGrifHide,	itGrifFeath,itGrifTail,							// rGriffon		– Hide / Feather / Tail			
	itHagHand,													// rHag			– Crone Hand					
	itHarpFeath,itHarpyClaw,itHarpyHead,						// rHarpy		– Feather / Claw / Head			
	itHedgeHide,itHedgeMeat,									// rHedgehog	– Hide / Meat					
	itHobgoHair,itHobgoEar,										// rHobgoblin	– Hair / Ear					
	itHorseHide,itHorseMeat,itHorseTail,						// rHorse		– Hide / Meat / Tail			
	itHumanHair,itHumanEar,	itHumanHead,						// rHuman		– Hair / Ear / Head				
	itHydraHide,itHydraTail,									// rHydra		– Hide / Tail					
	itImpHide,	itImpWing,										// rImp			– Hide / Wing					
	itLepreHair,												// rLeprechaun	– Hair							
	itMermaHair,itMermaScal,									// rMermaid		– Hair / Scale					
	itMinkHide,	itMinkMeat,										// rMink		– Hide / Meat					
	itMinotHorn,itMinotHead,									// rMinotaur	– Horn / Head					
	itMoleHide,													// rMole		– Hide							
	itMouseHide,itMouseTail,									// rMouse		– Hide / Tail					
	itMummyRag,	itMummyFles,									// rMummy		– Rags / Rotten Hide			
	itMuskrHide,												// rMuskrat		– Hide							
	itNymphHair,itNymphHear,									// rNymph		– Hair / Heart					
	itOctopTent,												// rOctopus		– Tentacles						
	itOgreHide,	itOgreHair,	itOgreEar,							// rOgre		– Hide / Hair / Ear				
	itOposHide,													// rOpossum		– Hide							
    itOtteHide,	itOtteMeat,										// rOtter		– Hide / Meat					
	itOttSeHide,itOttSeMeat,									// rOtterSea	– Hide / Meat					
	itFireCoal,													// rPhoenix		– Fire-coal						
	itPigDoHide,itPigDoMeat,									// rPigDom		– Hide / Meat					
	itPigWiHide,itPigWiMeat,									// rPigWild		– Hide / Meat					
	itPorcQuill,												// rPorcupine	– Quill							
	itRabbiHide,itRabbiMeat,									// rRabbit		– Hide / Meat					
	itRaccoHide,itRaccoMeat,									// rRaccoon		– Hide / Meat					
	itRatHide,	itRatMeat,	itRatTail,							// rRat			– Hide / Meat / Tail			
	itScorpStin,												// rScorpion	– Stinger						
	itSheepHide,itSheepWool,itSheepMeat,						// rSheep		– Hide / Wool / Meat			
	itSirenHair,												// rSiren		– Hair							
	itWaterSpir,												// rSiren		– Water-Spirit					
	itSkeleBone,												// rSkeleton	– Bones							
	itSkunkHide,itSkunGland,									// rSkunk		– Hide / Glands					
	itSnakeHide,itSnakeMeat,itSnakeFang,						// rSnake		– Hide / Meat / Fang			
	itSphinHide,itSphinWing,itSphinTail,						// rSphinx		– Hide / Wing / Tail			
	itSpiderLeg,itSpideFang,									// rSpider		– Legs / Fangs					
	itSpritHair,itSpriteEar,itSpriteEye,						// rSprite		– Hair / Ear / Eye				
	itSquidTent,												// rSquid		– Tentacles						
	itSquirHide,itSquirMeat,									// rSquirrel	– Hide / Meat					
	itSqFlyHide,itSqFlyMeat,									// rSquirrelFly – Hide / Meat					
	itTitanHair,itTitanEye,	itTitanEar,	itTitanArm,	itTitanLeg,	// rTitan		– Hair / Eye / Ear / Arm / Leg	
	itTrolHead,	itTrolHair,	itTrolHide,	itTrolClaw,				// rTroll		– Head / Hair / Hide Claw		
	itUnicHorn,	itUnicHide,	itUnicMeat,							// rUnicorn		– Horn / Hide / Meat			
	itVampFang,	itVampHair,										// rVampire		– Fang / Hair					
	itWartHide,	itWartMeat,										// rWarthog		– Hide / Meat					
	itWeasHide,	itWeasMeat,										// rWeasel		– Hide / Meat					
	itWBoaHide,	itWBoaMeat,	itWBoaTusk,							// rWildBoar	– Hide / Meat / Tusk			
	itWStaHorn,	itWStaHide,	itWStaMeat,							// rWildStag	– Horn / Hide / Meat			
	itSwampEss,													// rWillWisp	– Essence of Swamps				
	itWolvHide,	itWolvMeat,	itWolvClaw,							// rWolverine	– Hide / Meat / Claw			
	itWdchHide,	itWdchMeat,										// rWoodchuck	– Hide / Meat					
	itWolfHide,	itWolfMeat,										// rWolf		– Hide / Meat					
	itYetiHide,													// rYeti		– Hide							
	itZomFlesh, 												// rZombie		– Rotten flesh					

	itLog, itLumber, itPole, itStick,							//
	itStoneBlock, itStoneRock, itGravel, itCement, itClay,		//
	itIronOre, itIronStock, itIronBar,							//
	itPlatOre, itPlatBar,										//
	itGoldOre, itGoldBar,										//
	itSilvOre, itSilvBar,										//
	itCoppOre, itCoppBar,										//
	itNail,														//
	itRope25, itRope50, itRope100,								//
	itLongArrow, itShortArrow, itBolt,							//

	//Tools that gather Resources
	itShuval, itPickAxe, itScyth, itWoodAxe,

	//Tools that are used to manipulate other Items
	itConHammer, itSledgeHammer, itHandSaw, itBluePrint,

	//Any new Items, add before these here as they will not be allowed in the 24 x 24 .bmp file
	homeStone, conChest_0, conChest_1, conChest_2,				/*Definitely more here - by Item*/							
	TOTAL_ITEMS	
};
//itBoulder1, itBoulder2, itBoulder3, 
enum Arches
{
	TentDoor_F04 = TOTAL_ITEMS,
	TentDoor_F26, TentDoorDark_F04, TentDoorDark_F26,
    WallWoodDoor_F04, WallWoodDoor_F26,
	WallWoodDoorDark_F04, WallWoodDoorDark_F26,
	WallStoneDoor_F04, WallStoneDoor_F26,
	WallStoneDoorDark_F04, WallStoneDoorDark_F26,
	LAST_DOOR
};
enum Walls
{
	//F* == Facings, where two numbers, is two directions: 0, 1, 2, 3, 4, 5, 6, 7
	WallTent_F04 = LAST_DOOR, WallTent_F26, WallTent_F04_wWin, WallTent_F26_wWin, 
	WallTentDark_F04, WallTentDark_F26, WallTentDark_F04_wWin, WallTentDark_F26_wWin,
    WallWood_F04, WallWood_F26, WallWood_F04_wWin, WallWood_F26_wWin,
	WallWoodDark_F04, WallWoodDark_F26, WallWoodDark_F04_wWin, WallWoodDark_F26_wWin,
	WallStone_F04, WallStone_F26, WallStone_F04_wWin, WallStone_F26_wWin,
	WallStoneDark_F04, WallStoneDark_F26, WallStoneDark_F04_wWin, WallStoneDark_F26_wWin,

	CornerTent_F5, CornerTent_F1, CornerTentDark_F5, CornerTentDark_F1,
	WallWoodCorner_F5, WallWoodCorner_F1, WallWoodCornerDark_F5, WallWoodCornerDark_F1,
	WallStoneCorner_F5, WallStoneCorner_F1, WallStoneCornerDark_F5, WallStoneCornerDark_F1,

	QuadCorLightWood, QuadCorDarkWood, QuadCorLightStone, QuadCorDarkStone,
	TriCorLightWood_0, TriCorDarkWood_0, TriCorLightStone_0, TriCorDarkStone_0,
	TriCorLightWood_1, TriCorDarkWood_1, TriCorLightStone_1, TriCorDarkStone_1,
	TriCorLightWood_2, TriCorDarkWood_2, TriCorLightStone_2, TriCorDarkStone_2,
	TriCorLightWood_3, TriCorDarkWood_3, TriCorLightStone_3, TriCorDarkStone_3,

	CornerTent_F7, CornerTent_F3, CornerTentDark_7, CornerTentDark_3,
	WallWoodCorner_F7, WallWoodCorner_F3, WallWoodCornerDark_F7, WallWoodCornerDark_F3,
	WallStoneCorner_F7, WallStoneCorner_F3, WallStoneCornerDark_F7, WallStoneCornerDark_F3,

	LAST_WALL
};
//Reources
const int grdDirtMax = 15;
#define resNothing -1
enum SmallFoilage
{
	resGrassMin = 0, resGrassMax = resGrassMin + 15, LAST_SMFOILAGE
};
enum LargeFoilage
{
	resBigPine = LAST_SMFOILAGE, resLittlePine, resBulbTree, resAppleTree_w, LAST_LGFOILAGE
};
//Consideration
const int NoPassFly		= LAST_LGFOILAGE;
const int NoPassSwim	= NoPassFly + 1;
enum Regions	
{ 
	//In Town
	rg_Home, rgGuild, rgAlche, rgBlack, rgCandl, rgCarpe, rgCartw,						//00 - 06
	rgCarto, rgChees, rgChurc, rgDocks, rg_Farm, rgGuard, rg_Inn_, rgJewel,				//07 - 14
	rgLeath, rgLiver, rgLocks, rgMarke, rgMason, rgMinor, rgPotte,						//15 - 21
	rgRopeM, rgSchoo, rgTailo, rgTheat, rgThiev, rgTreas, rgWeapo, rgWiner, rgWizar,	//22 - 30

	//Out of Town
	rg_Road, rgLwHil, rgHgHil, rgMount, rg_Cave, rg_Mine, rgStrea, rgRiver, rg_Lake, 	//31 - 39
	rgOcean, rgLtFor, rgDnsFr, rgSylFr, rgMarsh, rgSwamp, rgPlain, rgTundr,				//40 - 47
	rgDeser, rgWaste, rgMaxRe															//48 - 49 (50)
};
const int COMBAT_ITEMS = int(itHPHead + 1);
/*
OTHER items TO ADD IN THE FUTURE

#define	itChestCedar 						
#define	itChestOak 					
#define	itChestMetal 					
#define	itSmallBarrel 				
#define	itSack 						
#define	itBasket

#define	Quiver 			Container + 7
#define	Scabbard 		Container + 8
#define	Bolt case 		Container + 9
#define	IronPot 		Container + 10
#define	Bucket 			Container + 11
#define	Water skin 		Container + 12
#define	Bottle 			Container + 13
#define	ScrollCase 		Container + 14
#define	KnifeSheath 	Container + 15
#define	BeltPouch 		Container + 16

#define	Shovel			Weapons + 31
#define	WoodAxe			Weapons + 33
#define	FishingNet 		Weapons + 34
#define	Arquebus		Weapons + 35
#define	Dart			Weapons + 36
#define	Dirk			Weapons + 37
#define	Harpoon			Weapons + 38
#define	Javelin			Weapons + 39
#define	Knife			Weapons + 40

const 	int Food = FinalWeapons + 1;
#define	Ale				Food + 0
#define	Bread			Food + 1
#define	Butter			Food + 2
#define	Cheese			Food + 3
#define	Cider			Food + 4
#define	DryRations		Food + 5
#define	Eggs			Food + 6
#define	Figs			Food + 7
#define	Herbs			Food + 8
#define	Honey			Food + 9
#define	Meat			Food + 10
#define	Nuts			Food + 11
#define	Raisins			Food + 12
#define	Rice			Food + 13
#define	Salt			Food + 14
#define	SaltedFish		Food + 15
#define	Soup			Food + 16
#define	Spice			Food + 17
#define	Sugar			Food + 18
#define	Vegetables		Food + 19
#define	Wine			Food + 20
#define	FinalFood		Food + 21

const 	int Misc = FinalFood + 1;
#define	Baldric			Misc + 0
#define	Bell			Misc + 1
#define	Blanket			Misc + 2
#define	BlockAndTackle	Misc + 3
#define	Brooch			Misc + 4
#define	Candelabra		Misc + 5
#define	Candle			Misc + 6
#define	Chalk			Misc + 7
#define	H_Chain			Misc + 8
#define	L_Chain			Misc + 9
#define	Cloth			Misc + 10
#define	Firewood		Misc + 11
#define	Fishhook		Misc + 12
#define	Flint			Misc + 13
#define	Grappling hook	Misc + 14
#define	Hanger			Misc + 15
#define	Holy item		Misc + 16
#define	Hourglass		Misc + 17
#define	Ladder			Misc + 18
#define	Lamp Oil		Misc + 19
#define	Lantern			Misc + 20
#define	Lock			Misc + 21
#define	Magnifying glass	Misc + 22
#define	Merchant's scale	Misc + 23
#define	Metal Mirror	Misc + 24
#define	Musical instrument	Misc + 25
#define	Naval Ring		Misc + 26
#define	Oar				Misc + 27
#define	Parchment		Misc + 28
#define	Piton			Misc + 29
#define	Pendants		Misc + 30
#define	Pin				Misc + 31
#define	Rope (Hemp / Silk)	Misc + 32
#define	Sail			Misc + 33
#define	Sealing/candle wax	Misc + 34
#define	Sewing needle	Misc + 35
#define	Signal whistle	Misc + 36
#define	Soap			Misc + 37
#define	Spyglass		Misc + 38
#define	Small Tent		Misc + 39
#define	Thieves' tools	Misc + 40
#define	Torch			Misc + 41
#define	Water clock		Misc + 42
#define	Whetstone		Misc + 43
#define	Writing ink		Misc + 44
#define	Quill			Misc + 45
#define	FinalMisc		Misc + 46

const 	int Transport = FinalMisc + 1;
#define	Barge			ransport + 0
#define	Canoe			Transport + 1
#define	Caravel			Transport + 2
#define	Carriage		Transport + 3
#define	Chariot			Transport + 4
#define	Coaster			Transport + 5
#define	Cog				Transport + 6
#define	Curragh			Transport + 7
#define	Drakkar			Transport + 8
#define	Dromond			Transport + 9
#define	Galleon			Transport + 10
#define	Great galley	Transport + 11
#define	Longship 		Transport + 12
#define	Raft			Transport + 13
#define	Keelboat		Transport + 14
#define	Sedan chair		Transport + 15
#define	Wagon			Transport + 16
#define	FinalTransport	Transport + 17

const 	int MtMisc = FinalTransport + 1;
#define	BardingLeather	MtMisc + 0
#define	BardingChain	MtMisc + 1
#define	BardingPlate	MtMisc + 2
#define	BitBridle		MtMisc + 3
#define	Halter			MtMisc + 4
#define	Horseshoes		MtMisc + 5
#define	SaddlePack		MtMisc + 6
#define	SaddleRiding	MtMisc + 7
#define	SaddleBags		MtMisc + 8
#define	SaddleBlanket	MtMisc + 9
#define	YokeHorse		MtMisc + 10
#define	YokeOx			MtMisc + 11
#define	FinalMtMisc		MtMisc + 12

40 - Berry Bush (Empty)
41 - Berry Bush
42 - Wheat (Unhavested)
43 - Wheat (Acculuated)
44 - Wheat (Stacked flat)
45 - Tomato Bush (Empty)
46 - Tomato Bush 

100 - Large Pine Tree (Standing)
101 - Large Pine Tree (Felled)
102 - Medium Pine Tree (Standing)
103 - Medium Pine Tree (Felled)
104 - Bulb Tree (Standing)
105 - Bulb Tree (Felled)
106 - Apple Tree (Empty)
107 - Apple Tree
108 - Apple Tree (Felled)
109 - Large Log (Facing 1)
110 - Large Log (Facing 2)
111 - Large Log (Facing 3)
112 - Large Log (Facing 4)
113 - Small Log (Facing 1)
114 - Small Log (Facing 2)
115 - Small Log (Facing 3)
116 - Small Log (Facing 4)
117 - Lumber (Single Piece - Facing 1)
118 - Lumber (Single Piece - Facing 2)
119 - Lumber (Single Piece - Facing 3)
120 - Lumber (Single Piece - Facing 4)
121 - Lumber (Small Stack - Facing 1)
122 - Lumber (Small Stack - Facing 2)
123 - Lumber (Small Stack - Facing 3)
124 - Lumber (Small Stack - Facing 4)
121 - Lumber (Large Stack - Facing 1)
122 - Lumber (Large Stack - Facing 2)
123 - Lumber (Large Stack - Facing 3)
124 - Lumber (Large Stack - Facing 4)

200 - Pebbles (Scatter)
201 - Pebbles (Thick Scatter)
202 - Pebbles (Small Pile)
203 - Pebbles (Layered over tile)
*/
//Assume max number ever will be 9999 with a max number of items
//per stack to be 100. Max any Container can have would then be
//28 slots.
//-------------------------------------------------------------
enum itCmbtProperties
{
	itWGHT, itHAND, itBluntDEF, itSlashDEF, itPiercDEF,
	itATT0, itATT1, itATT2, itVALU, IT_MAX_DATA
};
//Weight - units of Pounds (whole numbers)
//0-RightHand, 1-LeftHand, 2-BothHand, 3-EitherHand
//Blunt Defense Value
//Slash Defense Value
//Pierce Defense Value
//Attack Type 0-Blunt, 1-Slash, 2-Pierce
//Damage Min
//Damage Max
//Total value in Copper coins (Game value - players will determine their own)
//+ 1 to make correct size of array
class Item
{
public:
	Item();
	~Item();
	void		SetWhat		(int w)				{ What = w;			};
	int			GetWhat		() const			{ return What;		};
	void		SetFacing	(int f)				{ Facing = f;		};
	int			GetFacing	() const			{ return Facing;	};
	void		SetNumber	(int i)				{ Number = i;		};
	int			GetNumber	() const			{ return Number;	};
	void		SetState	(bool data)			{ State = data;		};
	int			GetState	() const			{ return State;		};
	void		SetStTime	(int data)			{ StateTime = data;	};
	int			GetStTime	() const			{ return StateTime;	};
	void		DecStTime	()					{ if(StateTime > 0) --StateTime; };
	void		Reset		();

	int			GetMaxRange	(int What);

	void		Increment	(int i);
	void		Decrement	(int i);

	const Item&	operator=	(const Item &newData);
	const Item*	operator=	(const Item *newData);

	Item*		getThis		()					{ return this;		};

private:
	int			What;		//What it is.
	int			Facing;		//Which way is it facing.
	int			Number;		//How many there are.
	int			State;		//0 == 'Normal', 1 == 'Alternate' view with timer, 2 == 'Alternate' until changed
	int			StateTime;	
};
/*
Idea for managing what can be placed in a tile according to what is there already:

Before something is placed on the tile, check the current item list to see if the top 
most position is something that naturally doe not allow something else in the same space. 
Like a solid wall, door, etc. Other items which could hold something else and are not 
a container of sorts, add it to the linked list and have it hidden 'under' the other 
larger object. This will allow people to hide stuff in trees, bushes, under chairs, 
tables, etc. If the person is using the 'search' mode, then have the visual change if 
something was detected during their search.
*/

/*
Considerations for adding data members to this class:

Volume
Weight

Idea: How about loading a Master List telling what the values are for items by their
number, and from the tile do a getData() call using the number as a reference number 
from the data array and the Amount member as a multiplier showing how much it weighs.
The specific weights can be loaded onto the player computer to show how much the 
Avatar is carrying.
*/

/*
Items List...
Clothing
Belt, Boots (Riding, Soft), Breeches, Cap, Hat, Cloak (Good cloth, Fine fur),
Girdle, Gloves, Gown, Hose, Knife sheath, Mittens, Pin, Plain brooch,
Robe (Common, Embroidered), Sandals, Sash, Shoes, Silk jacket, Surcoat,
Sword scabbard (hanger, baldric), Tabard, Toga, Tunic, Vest

Transport							
Barge, Canoe (Small, War), Caravel, Carriage, Coach, Chariot (Riding, War), Coaster,
Cog, Curragh, Drakkar, Dromond, Galleon, Great galley, Knarr, Longship, 
Oar (Common, Galley), Raft, Small keelboat, Sail, Sedan chair, Wagon or cart wheel	

Tack and Harness							
Barding (Chain, Full plate, Full scale, Half brigandine, Half padded, Half scale,
Leather, padded), Bit and bridle, Cart harness, Halter, Horseshoes & shoeing,
Saddle (Pack, Riding), Saddle bags (Large, Small), Saddle blanket, Yoke (Horse, Ox)

Miscellaneous Equipment						

Backpack, Barrel, Basket (Large, Small), Bell, Belt pouch (Large, Small), 
Block and tackle, Bolt case, Bucket, 
Chain (per ft.)	
   Heavy
   Light
Chest
   Large
   Small
Cloth (per 10 sq. yds.)
   Common
   Fine	
   Rich
Candle
Canvas (per sq. yard)
Chalk
Crampons
Fishhook
Fishing net, 10 ft. sq.
Flint and steel
Glass bottle	
Grappling hook	
Holy item (symbol, water, etc.)		25 gp		*
Hourglass				25 gp		1 lbs.
Iron pot					5 sp		2 lbs.
Ladder, 10 ft. 				5 cp		20 lbs.
Lantern					--		--
   Beacon				150 gp		50 lbs.
   Bullseye				12 gp		3 lbs.
   Hooded				7 gp		2 lbs.
Lock					--		--
   Good					100 gp		1 lbs.
   Poor					20 gp		1 lbs.
Magnifying glass				100 gp		*
Map or scroll case			8 sp		½ lbs.
Merchant's scale				2 gp		1 lbs.
Mirror, small metal			10 gp		*
Musical instrument			5-100 gp		½-3 lbs.
Oil (per flask)				--		--
   Greek fire				10 gp		2 lbs.
   Lamp					6 cp		1 lbs.
Paper (per sheet)				2 gp		**
Papyrus (per sheet)			8 sp		**
Parchment (per sheet)			1 gp		**
Perfume (per vial)			5 gp		*
Piton					3 cp		½ lbs.
Quiver					8 sp		1 lbs.
Rope (per 50 ft.)				--		--
   Hemp					1 gp		20 lbs.
   Silk					10 gp		8 lbs.
Sack					--		--
   Large					2 sp		½ lbs.
   Small					5 cp		*
Sealing/candle wax (per lb.)		1 gp		1 lbs.
Sewing needle				5 sp*		*
Signal whistle				8 sp		*
Signet ring or personal seal		5 gp		*
Soap (per lb.)				5 sp		1 lbs.
Spyglass					1,000 gp		1 lbs.
   Tent					--		--
   Large					25 gp		20 lbs.
   Pavilion				100 gp		50 lbs.
   Small					5 gp		10 lbs.
Thieves' picks				30 gp		1 lbs.
Torch					1 cp		1 lbs.
Water clock				1,000 gp		200 lbs.
Whetstone				2 cp		1 lbs.
Wineskin				8 sp		1 lbs.
Winter blanket				5 sp		3 lbs.
Writing ink (per vial)			8 gp		*

Armor *								

Banded mail				200 gp		35 lbs.
Brigandine				120 gp		35 lbs.
Bronze plate mail				400 gp		45 lbs.
Chain mail				75 gp		40 lbs.
Field plate				2000 gp		60 lbs.
Full plate				4,000-10,000 gp	70 lbs.
Helmet					--		--
   Great helm				30 gp		10 lbs.
   Basinet				8 gp		5 lbs.
Hide					15 gp		30 lbs.
Leather					5 gp		15 lbs.
Padded					4 gp		10 lbs.
Plate mail				600 gp		50 lbs.
Ring mail				100 gp		30 lbs.
Scale mail				120 gp		40 lbs.
Shield					--		--
   Body					10 gp		15 lbs.
   Buckler				1 gp		3 lbs.
   Medium				7 gp		10 lbs.
   Small					3 gp		5 lbs.
Splint mail				80 gp		40 lbs.
Studded leather				20 gp		25 lbs.

Weapons								 

Weight			Speed	    Damage
Item			Cost	(lb.)	Size	Type6	Factor	S-M	L
Arquebus 3		500 gp	10	M	P	15	1d10	1d10
Battle axe		5 gp	7	M	S	7	1d8	1d8
Blowgun		5 gp	2	L	--	5	--	--
   Barbed Dart		1 sp	*	S	P	--	1d3	1d2
   Needle			2 cp	*	S	P	--	1	1
Bow			--	--	--	--	--	--	--
   Composite long bow	100 gp	3	L	--	7	--	--
   Composite short bow	75 gp	2	M	--	6	--	--
   Flight arrow		3sp/12	*	S	P	--	1d6	1d6
   Long bow		75 gp	3	L	--	8	--	--
   Sheaf arrow		3 sp/6	*	S	P	--	1d8	1d8
   Short bow		30 gp	2	M	--	7	--	--
Club			--	3	M	B	4	1d6	1d3
Crossbow		--	--	--	--	--	--	--
   Hand quarrel		1 gp	*	S	P	--	1d3	1d2
   Hand crossbow		300 gp	3	S	--	5	--	--
   Heavy quarrel		2 sp	*	S	P	--	1d4+1	1d6+1
   Heavy crossbow	50 gp	14	M	--	10	--	--
   Light quarrel		1 sp	*	S	P	--	1d4	1d4
   Light crossbow		35 gp	7	M	--	7	--	--
   Dagger or dirk		2 gp	1	S	P	2	1d4	1d3
Dart			5 sp	½	S	P	2	1d3	1d2
Footman's flail		15 gp	15	M	B	7	1d6+1	2d4
Footman's mace		8 gp	10	M	B	7	1d6+1	1d6
Footman's pick		8 gp	6	M	P	7	1d6+1	2d4
Hand or throwing axe	1 gp	5	M	S	4	1d6	1d4
Harpoon			20 gp	6	L	P	7	2d4	2d6
Horseman's flail		8 gp	5	M	B	6	1d4+1	1d4+1
Horseman's mace		5 gp	6	M	B	6	1d6	1d4
Horseman's pick		7 gp	4	M	P	5	1d4+1	1d4
Javelin			5 sp	2	M	P	4	1d6	1d6
Knife			5 sp	½	S	P/S	2	1d3	1d2
Lance 4			--	--	--	--	--	--	--
   Heavy horse lance	15 gp	15	L	P	8	1d8+1	3d6
   Light horse lance	6 gp	5	L	P	6	1d6	1d8
   Jousting lance		20 gp	20	L	P	10	1d3-1	1d2-1
   Medium horse lance	10 gp	10	L	P	7	1d6+1	2d6
Mancatcher 2		30 gp	8	L	--	7	--	--
Morning star		10 gp	12	M	B	7	2d4	1d6+1
Polearm	--	--	--	--	--	--	--
   Awl pike 5		5 gp	12	L	P	13	1d6	1d12
   Bardiche		7 gp	12	L	S	9	2d4	2d6
   Bec de corbin		8 gp	10	L	P/B	9	1d8	1d6
   Bill-guisarme		7 gp	15	L	P/S	10	2d4	1d10
   Fauchard		5 gp	7	L	P/S	8	1d6	1d8
   Fauchard-fork		8 gp	9	L	P/S	8	1d8	1d10
   Glaive 1		6 gp	8	L	S	8	1d6	1d10
   Glaive-guisarme 1	10 gp	10	L	P/S	9	2d4	2d6
   Guisarme		5 gp	8	L	S	8	2d4	1d8
   Guisarme-voulge	8 gp	15	L	P/S	10	2d4	2d4
   Halberd 		10 gp	15	L	P/S	9	1d10	2d6
   Hook fauchard		10 gp	8	L	P/S	9	1d4	1d4
   Lucern hammer 5	7 gp	15	L	P/B	9	2d4	1d6
   Military fork 1		5 gp	7	L	P	7	1d8	2d4
   Partisan 5		10 gp	8	L	P	9	1d6	1d6+1
   Ranseur 5		6 gp	7	L	P	8	2d4	2d4
   Spetum 5		5 gp	7	L	P	8	1d6+1	2d6
   Voulge		5 gp	12	L	S	10	2d4	2d4
Quarterstaff		--	4	L	B	4	1d6	1d6
Scourge			1 gp	2	S	--	5	1d4	1d2
Sickle			6 sp	3	S	S	4	1d4+1	1d4
Sling			5 cp.	*	S	--	6	--	--
   Sling bullet		1 cp.	½	S	B	--	1d4+1	1d6+1
   Sling stone		--	½	S	B	--	1d4	1d4
Spear			8 sp	5	M	P	6	1d6	1d8
Staff sling		2 sp	2	M	--	11	--	--
Sword			--	--	--	--	--	--	--
   Bastard sword		--	--	--	--	--	--	--
     One-handed		25 gp	10	M	S	6	1d8	1d12
     Two-handed		25 gp	10	M	S	8	2d4	2d8
   Broad sword		10 gp	4	M	S	5	2d4	1d6+1
   Khopesh		10 gp	7	M	S	9	2d4	1d6
   Long sword		15 gp	4	M	S	5	1d8	1d12
   Scimitar		15 gp	4	M	S	5	1d8	1d8
   Short sword		10 gp	3	S	P	3	1d6	1d8
   Two-hand. sword	50 gp	15	L	S	10	1d10	3d6
Trident			15 gp	5	L	P	7	1d6+1	3d4
Warhammer		2 gp	6	M	B	4	1d4+1	1d4
Whip			1 sp	2	M	--	8	1d2	1
*/