/* ====================================================================
 * 파    일 :	
 * 목    적 :	
 * 작 성 자 :	곽철중
 * 작 성 일 :	2007.06.25
 * 주의사항 :	
 * =================================================================== */
#pragma once
#pragma pack(push,1)

#include "CommonDefines.h"
//#include "CommonNetworkMsgStruct.h"


#ifndef __ITEM_TYPE__
#define __ITEM_TYPE__

enum ITEM_TYPE
{
	ITEM_WEAPON    = 0,
		ITEM_WEAPON_SWORD = 0,			// 한손검
		ITEM_WEAPON_BLADE,				// 양손검
		ITEM_WEAPON_DUAL,				// 이도류
		ITEM_WEAPON_CUTTER,				// 단  검
		ITEM_WEAPON_GUN,				// 총,
		ITEM_WEAPON_STAFF,				// 지팡이
		ITEM_WEAPON_SHIELD,				// 방패

	ITEM_WEAR      = 1,
		ITEM_WEAR_HEAD = 0,				// 머리
		ITEM_WEAR_UPPER,				// 상의
		ITEM_WEAR_LOWER,				// 하의
		ITEM_WEAR_HANDS,				// 손
		ITEM_WEAR_FEET,					// 발
		ITEM_WEAR_ONEPIECE,				// 원피스

	ITEM_ACCESSORY = 2,
		ITEM_ACCESSORY_EARRING = 0,		// 귀걸이
		ITEM_ACCESSORY_NECKLACE,		// 목걸이
		ITEM_ACCESSORY_BROOCH,			// 브로치
		ITEM_ACCESSORY_BRACELET,		// 팔찌
		ITEM_ACCESSORY_RING,			// 반지

	ITEM_ETC1      = 3,					// 소모잡화
		ITEM_ETC1_POTION = 0,			// 물약
		ITEM_ETC1_MISC,					// 잡화

	ITEM_MATERIAL  = 4,					// 재료
		ITEM_MATERIAL_SKILL = 0,		// 스킬
		ITEM_MATERIAL_CLOTH,			// 옷감
		ITEM_MATERIAL_LEATHER,			// 가죽
		ITEM_MATERIAL_METAL,			// 금속
		ITEM_MATERIAL_JEWEL,			// 보석
		ITEM_MATERIAL_MISC,				// 잡화

	ITEM_QUEST     = 5,					// 퀘스트
	ITEM_ETC2      = 6,					// 일반잡화
	ITEM_SPREAD    = 7,					// 스프레드

	ITEM_CARD      = 8,					// 카드
		ITEM_CARD_TAROT = 0,			// 카드 타로
		ITEM_CARD_COMMON,				// 카드 일반

	ITEM_UNKNOWN   = 9,
};

#endif // __ITEM_TYPE__


#ifndef __ITEM_TARGET_TYPE__

#define ITEM_TARGET_NONE		0x00	// 사용불가
#define ITEM_TARGET_MYSELF		0x01	// 플레이어 자신
#define ITEM_TARGET_MONSTER		0x02	// 적
#define ITEM_TARGET_PLAYER		0x04	// 다른 플레이어
#define ITEM_TARGET_PARTY		0x08	// 파티구성원

#endif // __ITEM_TARGET_TYPE__

#ifndef __ITEM_TOOLTIP__

/// 툴팁컬러 ( 레어도 관련
enum eTooltipType
{
	eTOOLTIP_MALL,		/// 몰
	eTOOLTIP_ETC,		/// 잡화
	eTOOLTIP_NORMAL,	/// 일반
	eTOOLTIP_MAGIC,		/// 매직
	eTOOLTIP_RARE,		/// 레어
	eTOOLTIP_UNIQUE,	/// 유니크
	eTOOLTIP_EPIC,		/// 에픽
	eTOOLTIP_REGEND,	/// 레젼드

	eTOOLTIP_NONE, 
};

#endif __ITEM_TOOLTIP__


#ifndef __ITEM_LIMIT__

enum ITEM_RACE
{
	ITEM_RACE_HUMAN = 0,				// 인간
	ITEM_RACE_BEAST,					// 수인
	ITEM_RACE_ELF,						// 정령
	ITEM_RACE_ALL,						// 모두
};

enum ITEM_GENDER
{
	ITEM_GENDER_MALE = 0,				// 남자
	ITEM_GENDER_FEMALE,					// 여자
	ITEM_GENDER_ALL,					// 모두
};

enum ITEM_JOB
{
	ITEM_JOB_FIGHTER = 1000,			// 파이터 군
	ITEM_JOB_MAGE    = 2000,			// 메이지 군
	ITEM_JOB_RANGER  = 3000,			// 레인져 군
	ITEM_JOB_SHAMAN  = 4000,			// 샤  먼 군
	ITEM_JOB_WARRIOR = 5000,			// 워리어 군
	ITEM_JOB_THIEF   = 6000,			// 씨  프 군
	ITEM_JOB_ALL     = 0,				// 모  두 - (제한없음)
};

#endif __ITEM_LIMIT__


#ifndef __INVENTORY_NUMBER__
#define __INVENTORY_NUMBER__

#define MIN_INVENTORY				0

enum INVENTORY_NUMBER
{
	// INVENTORY_WEAR_TYPE
	INVENTORY_WEAR_BEGIN = MIN_INVENTORY,

		INVENTORY_WEAR_HAT = INVENTORY_WEAR_BEGIN,
		INVENTORY_WEAR_BODY1,
		INVENTORY_WEAR_BODY2,
		INVENTORY_WEAR_HAND,
		INVENTORY_WEAR_FOOT,

		INVENTORY_WEAR_EARRING,
		INVENTORY_WEAR_NECKLACE,
		INVENTORY_WEAR_BROOCH,
		INVENTORY_WEAR_BRACELET,
		INVENTORY_WEAR_RING,

		INVENTORY_WEAR_CARD1,
		INVENTORY_WEAR_CARD2,
		INVENTORY_WEAR_CARD3,

	INVENTORY_WEAR_END = INVENTORY_WEAR_CARD3,

	// INVENTORY_HAND_TYPE
	INVENTORY_HAND_BEGIN,

		INVENTORY_HAND_LEFT1 = INVENTORY_HAND_BEGIN,
		INVENTORY_HAND_RIGHT1,

		INVENTORY_HAND_LEFT2,
		INVENTORY_HAND_RIGHT2,

	INVENTORY_HAND_END = INVENTORY_HAND_RIGHT2,

	// INVENTORY_AVATAR - 예약번호(아직 내용없음)
	INVENTORY_AVATAR_BEGIN,
	INVENTORY_AVATAR_END = INVENTORY_AVATAR_BEGIN + 15,

	// INVENTORY_BAG_TYPE
	INVENTORY_BAG0_BEGIN,
	INVENTORY_BAG0_END = INVENTORY_BAG0_BEGIN + 24,

	INVENTORY_BAG1_BEGIN,
	INVENTORY_BAG1_END = INVENTORY_BAG1_BEGIN + 24,

	INVENTORY_BAG2_BEGIN,
	INVENTORY_BAG2_END = INVENTORY_BAG2_BEGIN + 24,

	INVENTORY_BAG3_BEGIN,
	INVENTORY_BAG3_END = INVENTORY_BAG3_BEGIN + 24,

	// INVENTORY_MALL_TYPE
	INVENTORY_MALL_BEGIN,
	INVENTORY_MALL_END = INVENTORY_MALL_BEGIN + 24,

	// INVENTORY_QUEST_TYPE
	INVENTORY_QUEST_BEGIN,
	INVENTORY_QUEST_END = INVENTORY_QUEST_BEGIN + 24,

	// INVENTORY_WAREHOUSE_TYPE - 일반
	INVENTORY_WAREHOUSE0_BEGIN,
	INVENTORY_WAREHOUSE0_END = INVENTORY_WAREHOUSE0_BEGIN + 49,

	INVENTORY_WAREHOUSE1_BEGIN,
	INVENTORY_WAREHOUSE1_END = INVENTORY_WAREHOUSE1_BEGIN + 49,

	// INVENTORY_WAREHOUSE_TYPE - 몰 전용
	INVENTORY_WAREHOUSE2_BEGIN,
	INVENTORY_WAREHOUSE2_END = INVENTORY_WAREHOUSE2_BEGIN + 49,

	INVENTORY_WAREHOUSE3_BEGIN,
	INVENTORY_WAREHOUSE3_END = INVENTORY_WAREHOUSE3_BEGIN + 49,

	// INVENTORY_COLLECTION_TYPE - 예약번호(아직 내용없음)
	INVENTORY_COLLECTION_BEGIN,
	INVENTORY_COLLECTION_END = INVENTORY_COLLECTION_BEGIN + 99
};

#define INVENTORY_EQUIP_NONE		(-1)
#define INVENTORY_EQUIP_BEGIN		INVENTORY_WEAR_BEGIN
#define INVENTORY_EQUIP_END			INVENTORY_HAND_END

#define INVENTORY_BAG_NONE          (-1)
#define INVENTORY_BAG_BEGIN			INVENTORY_BAG0_BEGIN
#define INVENTORY_BAG_END			INVENTORY_BAG3_END

#define INVENTORY_CHARACTER_BEGIN	INVENTORY_WEAR_BEGIN
#define INVENTORY_CHARACTER_END		INVENTORY_BAG3_END

#define INVENTORY_WAREHOUSE_NONE     (-1)
#define INVENTORY_WAREHOUSE_BEGIN	INVENTORY_WAREHOUSE0_BEGIN
#define INVENTORY_WAREHOUSE_END		INVENTORY_WAREHOUSE1_END

#define INVENTORY_TAROT_BEGIN		INVENTORY_BAG2_BEGIN
#define INVENTORY_TAROT_END			INVENTORY_BAG2_END

#define INVENTORY_SPREAD_BEGIN      INVENTORY_BAG3_BEGIN
#define INVENTORY_SPREAD_END        INVENTORY_BAG3_END

#define MAX_INVENTORY				INVENTORY_COLLECTION_END

#endif // __INVENTORY_NUMBER__


struct sInventory
{
	unsigned long  idx;							// 인벤토리 고유번호
	unsigned long  ItemIndex;					// 아이템 정의 인덱스
	unsigned short number;						// 아이템 번호 (슬롯인덱스)
	unsigned short count;						// 아이템 수량
	unsigned char  enhanced;					// 아이템 강화단계 (0~15까지)
	unsigned char  lock;						// 아이템 봉인
};

struct sInventoryCooltime
{
	unsigned long ItemIndex;					// 아이템 정의 인덱스
	unsigned long cooltime2;					// 그룹 쿨타임 인덱스
	unsigned long cooltime;						// 쿨타임 남은시간
};

/// 장착한 아이템의 총합 어빌리티
struct sEquipAbility
{
	short mPhysicDefense;						/// 물리:방어력
	short mMagicDefense;						/// 마법:방어력
	short mAttackRange;							/// 공격 거리
	float mAttackSpeed;							/// 공격 속도
	short mPhysicMinAttack;						/// 물리:최소공격력
	short mPhysicMaxAttack;						/// 물리:최대공격력
	short mMagicMinAttack;						/// 마법:최소공격력
	short mMagicMaxAttack;						/// 마법:최대공격력
	short mPhysicAttackRate;					/// 물리:공격률
	short mMagicAttackRate;						/// 마법:공격률
	short mPhysicCritical;						/// 물리:크리티컬
	short mMagicCritical;						/// 마법:크리티컬
	short mPlusStr;								/// 증가:힘
	short mPlusDex;								/// 증가:민첩
	short mPlusCon;								/// 증가:체력
	short mPlusInt;								/// 증가:지능
	short mPlusWis;								/// 증가:지혜
	short mPlusDod;								/// 증가:회피
	short mMaxWeight;							/// 증가:최대무게
	short mPlusWei;								/// 증가:무게%
	short mPlusMov;								/// 증가:이동속도
	short mMaxHP;								/// 증가:최대HP 
	short mPlusHP;								/// 증가:회복HP%
	short mMaxMP;								/// 증가:최대MP 
	short mPlusMP;								/// 증가:회복MP%

	sEquipAbility() 
	{
		::memset( this, 0, sizeof(sEquipAbility) );
	}
};


//struct MSG_REQ_INVENTORY : public MSGROOT
//{};
//struct MSG_RES_INVENTORY : public MSGROOT
//{
//	long       RowCount;						// 갯수
//	sInventory Inventory[1];					// 인벤토리
//};
//
//struct MSG_REQ_INVENTORY_COOLTIME : public MSGROOT
//{};
//struct MSG_RES_INVENTORY_COOLTIME : public MSGROOT
//{
//	long               RowCount;				// 갯수
//	sInventoryCooltime InventoryCooltime[1];	// 인벤토리 쿨타임
//};
//
///*-- 아이템 이동(인벤토리)
//*/
//#define ERROR_ITEM_MOV_INVENTORY_SUCCESS	0	// 성공
//#define ERROR_ITEM_MOV_INVENTORY_FAIL		1   // 실패
//#define ERROR_ITEM_MOV_INVENTORY_NOTYET		2   // DB처리중
//#define ERROR_ITEM_MOV_INVENTORY_MERGE		3	// 병합중
//
//struct MSG_REQ_ITEM_MOV_INVENTORY : public MSGROOT
//{
//	unsigned short number1;						// [in] 이동 전
//	unsigned short number2;						// [in] 이동 후
//};
//struct MSG_RES_ITEM_MOV_INVENTORY : public MSG_ERROR
//{};
//
//
//#define ERROR_ITEM_MERGE_INVENTORY_SUCCESS	0	// 성공
//#define ERROR_ITEM_MERGE_INVENTORY_FAIL		1   // 실패
//
//struct MSG_RES_ITEM_MERGE_INVENTORY : public MSG_ERROR
//{};
//
///*-- 아이템 사용(인벤토리)
//*/
//#define ERROR_ITEM_USE_INVENTORY_SUCCESS	0	// 성공
//#define ERROR_ITEM_USE_INVENTORY_FAIL		1	// 실패
//#define ERROR_ITEM_USE_INVENTORY_NOTYET		2   // DB처리중
//#define ERROR_ITEM_USE_INVENTORY_COOLTIME   3	// 쿨타임 적용중
//
//struct MSG_REQ_ITEM_USE_INVENTORY : public MSGROOT
//{
//	unsigned long  targetType;					// 대상 타  입 'sObject 참조'
//	unsigned long  targetIndex;					// 대상 인덱스 "
//	unsigned short number;						// 인벤토리 번호
//};
//struct MSG_RES_ITEM_USE_INVENTORY : public MSG_ERROR
//{};
//
//
///*-- 아이템 삭제(인벤토리)
//*/
//#define ERROR_ITEM_DEL_INVENTORY_SUCCESS	0	// 성공
//#define ERROR_ITEM_DEL_INVENTORY_FAIL		1   // 실패
//#define ERROR_ITEM_DEL_INVENTORY_NOTYET		2   // DB처리중
//
//struct MSG_REQ_ITEM_DEL_INVENTORY : public MSGROOT
//{
//	unsigned short number;						// 인벤토리 번호
//};
//struct MSG_RES_ITEM_DEL_INVENTORY : public MSG_ERROR
//{};
//
//
///*-- 아이템 스위칭/착용무기만 적용(인벤토리)
//*/
//#define ERROR_ITEM_SWI_INVENTORY_SUCCESS	0	// 성공
//#define ERROR_ITEM_SWI_INVENTORY_FAIL		1   // 실패
//#define ERROR_ITEM_SWI_INVENTORY_NOTYET		2   // DB처리중
//
//struct MSG_REQ_ITEM_SWI_INVENTORY : MSGROOT
//{};
//struct MSG_RES_ITEM_SWI_INVENTORY : MSG_ERROR
//{};
//
//
///*-- 아이템 나누기(인벤토리)
//*/
//#define ERROR_ITEM_DIVIDE_INVENTORY_SUCCESS	0	// 성공
//#define ERROR_ITEM_DIVIDE_INVENTORY_FAIL	1	// 실패
//#define ERROR_ITEM_DIVIDE_INVENTORY_NOTYET	2   // DB처리중
//
//struct MSG_REQ_ITEM_DIVIDE_INVENTORY : MSGROOT
//{
//	unsigned short number1;						// 인벤토리 번호(원본)
//	unsigned short number2;						// 인벤토리 번호(대상)
//	unsigned short divide;						// 누눌수량
//};
//
//struct MSG_RES_ITEM_DIVIDE_INVENTORY : MSG_ERROR
//{
//	unsigned long RowCount;						// 영향받은 행 수
//	sInventory    Inventory[1];					// 인벤토리
//
//	// 실제보내는 메세지 크기
//	unsigned long GetMsgLength( ) { return sizeof(MSG_RES_ITEM_DIVIDE_INVENTORY) - sizeof(Inventory) + (RowCount * sizeof(sInventory)); }
//};
//
//
///*-- 아이템 인벤 -> 창고
//*/
//#define ERROR_ITEM_MOV2_INVENTORY_SUCCESS	0	// 성공
//#define ERROR_ITEM_MOV2_INVENTORY_MONEY		1	// 금액부족
//#define ERROR_ITEM_MOV2_INVENTORY_FAIL		2	// 실패
//#define ERROR_ITEM_MOV2_INVENTORY_NOTYET	3	// DB처리중
//
//struct MSG_REQ_ITEM_MOV2_INVENTORY : MSGROOT
//{
//	unsigned short number1;						// 인벤토리 번호(원본)
//	unsigned short number2;						// 인벤토리 번호(대상)
//	unsigned short count;						// 수량
//};
//struct MSG_RES_ITEM_MOV2_INVENTORY : MSG_ERROR
//{
//	unsigned long RowCount;						// 영향받은 행 수
//	sInventory    Inventory[1];					// 인벤토리
//
//	// 실제보내는 메세지 크기
//	unsigned long GetMsgLength( ) { return sizeof(MSG_RES_ITEM_MOV2_INVENTORY) - sizeof(Inventory) + (RowCount * sizeof(sInventory)); }
//};
//
//
///*-- 아이템 팔기(인벤토리)
//*/
//#define ERROR_ITEM_SELL_SUCCESS				0	// 성공
//#define ERROR_ITEM_SELL_FAIL				1	// 실패
//#define ERROR_ITEM_SELL_NOTYET				2   // DB처리중
//
//struct MSG_REQ_ITEM_SELL : MSGROOT
//{
//	unsigned long  npcIdx;						// NPC 고유번호
//	unsigned short inventoryNumber;				// 인벤토리 번호
//	unsigned short count;						// 수량
//};
//
//struct MSG_RES_ITEM_SELL : MSG_ERROR
//{};
//
//
///*-- 아이템 사기(인벤토리)
//*/
//#define ERROR_ITEM_BUY_SUCCESS				0	// 성공
//#define ERROR_ITEM_BUY_MONEY				1	// 금액부족
//#define ERROR_ITEM_BUY_FAIL					2	// 실패
//#define ERROR_ITEM_BUY_NOTYET				3	// DB처리중
//
//struct MSG_REQ_ITEM_BUY : MSGROOT
//{
//	unsigned long  npcIdx;						// NPC 고유번호
//	unsigned long  itemDefineIndex;				// 아이템 인덱스
//	unsigned short count;						// 수량
//};
//
//struct MSG_RES_ITEM_BUY : MSG_ERROR
//{
//	BYTE       rowCount;						// 영향받은 행 수
//	sInventory inventory[1];					// 인벤토리
//
//	// 실제보내는 메세지 크기
//	unsigned long GetMsgLength( ) { return sizeof(MSG_RES_ITEM_BUY) - sizeof(inventory) + (rowCount * sizeof(sInventory)); }
//};
//
//
///*-- 노점-판매
//*/
//#define ERROR_ITEM_STALL_SEL_SEARCH_SUCCESS	0	// 성공
//#define ERROR_ITEM_STALL_SEL_SEARCH_FAIL	1	// 실패
//#define ERROR_ITEM_STALL_SEL_SEARCH_NOTYET	2   // DB처리중
//
//struct MSG_REQ_ITEM_STALL_SEL_SEARCH : MSGROOT
//{
//	unsigned long itemDefineIndex;				// 아이템 인덱스
//	unsigned char enhanced;						// 강화단계
//};
//struct MSG_RES_ITEM_STALL_SEL_SEARCH : MSG_ERROR
//{
//	long rowCount;								// 영향받은 행 수
//	struct {
//		unsigned long idx;						// 고유번호
//		wchar_t	      characterName[ 17 ];		// 판매 캐릭터 이름
//		unsigned long price;					// 판매가격
//	} table[ 1 ];
//};
//
//
//#define ERROR_ITEM_STALL_SEL_INSERT_SUCCESS	0	// 성공
//#define ERROR_ITEM_STALL_SEL_INSERT_FAIL	1	// 실패
//#define ERROR_ITEM_STALL_SEL_INSERT_NOTYET	2   // DB처리중
//
//struct MSG_REQ_ITEM_STALL_SEL_INSERT : MSGROOT
//{
//	unsigned short number;
//	unsigned long  price;
//};
//struct MSG_RES_ITEM_STALL_SEL_INSERT : MSG_ERROR
//{};
//struct MSG_SYN_ITEM_STALL_SEL_INSERT : MSGROOT
//{
//	unsigned long itemDefineIndex;				// 아이템 정의 인덱스
//	unsigned char enhanced;						// 강화단계
//	unsigned long price;						// 판매가격
//};
//
//
//#define ERROR_ITEM_STALL_SEL_REMOVE_SUCCESS	0	// 성공
//#define ERROR_ITEM_STALL_SEL_REMOVE_FAIL	1	// 실패
//#define ERROR_ITEM_STALL_SEL_REMOVE_NOTYET	2   // DB처리중
//
//struct MSG_REQ_ITEM_STALL_SELL_REMOVE : MSGROOT
//{
//	unsigned short number;
//};
//struct MSG_RES_ITEM_STALL_SELL_REMOVE : MSG_ERROR
//{};
//struct MSG_SYN_ITEM_STALL_SELL_REMOVE : MSGROOT
//{
//	unsigned long itemDefineIndex;				// 아이템 정의 인덱스
//	unsigned char enhanced;						// 강화단계
//	unsigned long price;						// 판매가격
//};
//
///*-- 아이템 드롭&습득
//*/
//struct sItemDrop
//{
//	unsigned long idx;							// 고유번호
//	float         xPos;							// X 위치
//	float         yPos;							// Y 위치
//};
//struct sItemData
//{
//	unsigned long  itemDefineIndex;				// 아이템 정의 인덱스
//	unsigned short count;						// 수량
//};
//
//// NM_ITEM_DROP_IN_SYN & NM_ITEM_SIGHT_IN_RES 참조
//struct MSG_ITEM_INFO : MSGROOT
//{
//	unsigned long rowCount;                     // 영향받은 행 수
//	sItemDrop     itemDrop[1];                  // 아이템 드롭 정보
//
//	// 실제보내는 메세지 크기
//	unsigned long GetMsgLength() { return sizeof(MSG_ITEM_INFO) - sizeof(itemDrop) + (rowCount * sizeof(sItemDrop)); }
//};
//// NM_ITEM_DROP_OUT_SYN & NM_ITEM_SIGHT_OUT_RES 참조
//struct MSG_ITEMIDX : MSGROOT
//{
//	unsigned long idx;							// 고유번호
//};
//
//
//#define ERROR_ITEM_GET_OPEN_SUCCESS		0		// 성공
//#define ERROR_ITEM_GET_OPEN_FAIL		1		// 실패
//#define ERROR_ITEM_GET_OPEN_OWN         2       // 실패 - 소유권 오류
//#define ERROR_ITEM_GET_OPEN_DISTANCE    3       // 실패 - 거  리 오류
//#define ERROR_ITEM_GET_OPEN_EXIST       4       // 실패 - 열람중 오류
//
//// NM_ITEM_GET_OPEN_REQ 참조
//struct MSG_REQ_ITEM_GET_OPEN : public MSGROOT
//{
//	unsigned long idx;							// 고유번호
//};
//// NM_ITEM_GET_OPEN_RES 참조
//struct MSG_RES_ITEM_GET_OPEN : public MSG_ERROR
//{
//	BYTE          rowCount;						// 영향받은 행 수
//	sItemData     itemData[1];                  // 아이템 정보
//
//	// 실제보내는 메세지 크기
//	unsigned long GetMsgLength() { return sizeof(MSG_RES_ITEM_GET_OPEN) - sizeof(itemData) + (rowCount * sizeof(sItemData)); }
//};
//// MSG_SYN_ITEM_GET_OPEN 참조
//struct MSG_SYN_ITEM_GET_OPEN : public MSGROOT
//{
//	unsigned long characterIdx;					// 캐릭터 고유번호
//};
//
//
//#define ERROR_ITEM_GET_CLOSE_SUCCESS	0		// 성공
//#define ERROR_ITEM_GET_CLOSE_FAIL       1       // 실패
//
//// NM_ITEM_GET_CLOSE_REQ 참조
//struct MSG_REQ_ITEM_GET_CLOSE : public MSGROOT
//{};
//// NM_ITEM_GET_CLOSE_RES 참조
//struct MSG_RES_ITEM_GET_CLOSE : public MSG_ERROR
//{};
//// NM_ITEM_GET_CLOSE_SYN 참조
//struct MSG_SYN_ITEM_GET_CLOSE : public MSGROOT
//{
//	unsigned long characterIdx;					// 캐릭터 고유번호
//};
//
//
//#define ITEM_GET_ALL                    (-1)    // 모두줍기
//#define ERROR_ITEM_GET_SUCCESS			0		// 성공
//#define ERROR_ITEM_GET_FAIL				1		// 실패
//
//// NM_ITEM_GET_REQ 참조
//struct MSG_REQ_ITEM_GET : public MSGROOT
//{
//	unsigned long itemIndexOrInd;				// 아이템 정의 인덱스 또는 모두줍기
//};
//// NM_ITEM_GET_RES
//struct MSG_RES_ITEM_GET : public MSG_ERROR
//{
//	BYTE       RowCount;						// 영향받은 행 수
//	sInventory Inventory[1];					// 인벤토리
//
//	// 실제보내는 메세지 크기
//	unsigned long GetMsgLength( ) { return sizeof(MSG_RES_ITEM_GET) - sizeof(Inventory) + (RowCount * sizeof(sInventory)); }
//};
//
//// NM_ITEM_GET_LEAVE_RES 참조
//struct MSG_RES_ITEM_GET_LEAVE : public MSGROOT
//{
//	BYTE          rowCount;						// 영향받은 행 수
//	sItemData     itemData[1];                  // 아이템 정보
//
//	// 실제보내는 메세지 크기
//	unsigned long GetMsgLength() { return sizeof(MSG_RES_ITEM_GET_LEAVE) - sizeof(itemData) + (rowCount * sizeof(sItemData)); }
//};
//
//
//// NM_ITEM_USE_RES 참고
//struct MSG_RES_ITEM_USE : public MSGROOT
//{
//	sInventory inventory;						// 인벤토리
//};

#pragma pack(pop)
