535 lines
17 KiB
C
535 lines
17 KiB
C
#pragma once
|
|
#pragma pack( 1 )
|
|
|
|
// Difference between ItemCode and ItemUID:
|
|
// 1) The ItemCode of a Bastard Sword is 1, and the ItemCode of a Leather Armor is 2
|
|
// 2) If there are two Bastard Swords, each one will have a different ItemUID
|
|
// Since the server and source are not shared, you must check whenever the Item DB is changed.
|
|
|
|
#include <windows.h>
|
|
#include <toolkit/XFlag.h>
|
|
|
|
#define JOKER_CARD_ID 540070
|
|
|
|
|
|
// Item content information
|
|
struct ItemBase
|
|
{
|
|
typedef int ItemCode;
|
|
typedef XFlag<int> BaseFlag;
|
|
|
|
enum
|
|
{
|
|
MAX_COOLTIME_GROUP = 20,
|
|
MAX_OPTION_NUMBER = 4, // Maximum number of options
|
|
MAX_SOCKET_NUMBER = 4, // Maximum number of soulstone sockets
|
|
MAX_ITEM_NAME_LENGTH = 32, // Maximum item name length
|
|
MAX_ITEM_WEAR_LOGIN = 28, // When receiving character information (character info at login), the server sends 24
|
|
MAX_ITEM_SPARE_WEAR = 28,
|
|
MAX_ITEM_WEAR = 32, // From ZONE source; dual crossbows
|
|
|
|
MAX_AWAKENING_OPTION = 5, // Maximum number of awakening options
|
|
MAX_RANDOM_OPTION_NUMBER = 10, // Maximum number of random options
|
|
MAX_ENHANCE_NUMBER = 25, // Maximum enhancement
|
|
};
|
|
|
|
enum
|
|
{
|
|
CODE_BASE_BOOSTER = 603000,
|
|
CODE_BASE_BACKBOARD = 603100,
|
|
};
|
|
|
|
ItemCode nCode; // Item code (ID)
|
|
int nNameId; // Name ID
|
|
|
|
int nType; // Item Type
|
|
enum ITEM_TYPE
|
|
{
|
|
TYPE_ETC = 0, ///< 일반
|
|
TYPE_ARMOR = 1, ///< 장비
|
|
TYPE_CARD = 2, ///< 카드
|
|
TYPE_USEABLE = 3, ///< 소모품
|
|
TYPE_CUBE = 4, ///< 큐브
|
|
TYPE_CHARM = 5, ///< 부적
|
|
TYPE_USE = 6, ///< 사용형 - 소모되지 않고 쿨타임만
|
|
TYPE_SOULSTONE = 7, ///< 소울스톤
|
|
TYPE_CREATURE = 8, ///< 크리처 servantes 2010.11.24
|
|
TYPE_COLLECTION = 9
|
|
};
|
|
|
|
int nGroup; ///< 그룹 ID
|
|
enum ITEM_GROUP
|
|
{
|
|
GROUP_ETC = 0,
|
|
GROUP_WEAPON = 1,
|
|
GROUP_ARMOR = 2,
|
|
GROUP_SHIELD = 3,
|
|
GROUP_HELM = 4,
|
|
GROUP_GLOVE = 5,
|
|
GROUP_BOOTS = 6,
|
|
GROUP_BELT = 7,
|
|
GROUP_MANTLE = 8,
|
|
GROUP_ACCESSORY = 9,
|
|
GROUP_SKILLCARD = 10,
|
|
GROUP_ITEMCARD = 11,
|
|
GROUP_SPELLCARD = 12,
|
|
GROUP_SUMMONCARD = 13,
|
|
// [3.1.3] Auction House server integration
|
|
GROUP_FACE = 15, ///< 가면
|
|
GROUP_UNDERWEAR = 16, ///< 속옷
|
|
GROUP_BAG = 17, ///< 가방
|
|
GROUP_PETCAGE = 18, // Cage for lootpet
|
|
|
|
GROUP_STRIKE_CUBE = 21,
|
|
GROUP_DEFENCE_CUBE = 22,
|
|
GROUP_SKILL_CUBE = 23,
|
|
GROUP_CASH_ITEM = 80,
|
|
GROUP_SOULSTONE = 93,
|
|
GROUP_BULLET = 98,
|
|
GROUP_USEABLE = 99,
|
|
GROUP_DECO = 110,
|
|
GROUP_RIDING = 120,
|
|
GROUP_ARTIFACT = 130, // 2010.08.18 아이템 엑셀 파일에는 있는 여기에 없어서 추가함 - prodongi
|
|
GROUP_BOSSCARD = 140, // 2010.08.18 - prodongi
|
|
|
|
|
|
GROUP_SKIN1 = 150,
|
|
GROUP_SKIN2 = 151,
|
|
};
|
|
|
|
enum ItemClass
|
|
{
|
|
CLASS_ETC = 0, ///< 미분류
|
|
|
|
// 무기
|
|
<<<<<<< HEAD
|
|
=======
|
|
//CLASS_DOUBLE_CROSSBOW = 94, // AziaMafia Double Crossbow
|
|
>>>>>>> a34328224e914a577b99c79ec6e8ffbcea554a05
|
|
CLASS_DOUBLE_AXE = 95, ///< 쌍도끼
|
|
CLASS_DOUBLE_SWORD = 96,
|
|
CLASS_DOUBLE_DAGGER = 98,
|
|
CLASS_EVERY_WEAPON = 99,
|
|
CLASS_ETCWEAPON = 100, ///< 기타무기
|
|
CLASS_ONEHAND_SWORD = 101, ///< 한손검
|
|
CLASS_TWOHAND_SWORD = 102, ///< 한손검
|
|
CLASS_DAGGER = 103, ///< 단검
|
|
CLASS_TWOHAND_SPEAR = 104, ///< 창
|
|
CLASS_TWOHAND_AXE = 105, ///< 도끼
|
|
CLASS_ONEHAND_MACE = 106, ///< 한손메이스
|
|
CLASS_TWOHAND_MACE = 107, ///< 양손메이스
|
|
CLASS_HEAVY_BOW = 108, ///< 헤비 보우 <- 이거 숏보우/롱보우가 맞는것 같은데.. -.-;;
|
|
CLASS_LIGHT_BOW = 109, ///< 라이트 보우
|
|
CLASS_CROSSBOW = 110, ///< 석궁
|
|
CLASS_ONEHAND_STAFF = 111, ///< 한손 지팡이
|
|
CLASS_TWOHAND_STAFF = 112, ///< 양손 지팡이
|
|
CLASS_ONEHAND_AXE = 113, ///< 한손 도끼
|
|
<<<<<<< HEAD
|
|
CLASS_DOUBLE_CROSSBOW = 114, ///< Double Crossbow
|
|
=======
|
|
CLASS_DOUBLE_CROSSBOW = 114, // From ZONE source; dual crossbows
|
|
|
|
>>>>>>> a34328224e914a577b99c79ec6e8ffbcea554a05
|
|
//CLASS_DOUBLE_WEAPON = 199,
|
|
|
|
// 방어구
|
|
CLASS_ARMOR = 200, ///< 공용의상
|
|
CLASS_FIGHTER_ARMOR = 201, ///< 전사용
|
|
CLASS_HUNTER_ARMOR = 202, ///< 헌터용
|
|
CLASS_MAGICIAN_ARMOR = 203, ///< 마법사용
|
|
CLASS_SUMMONER_ARMOR = 204, ///< 소환사용
|
|
|
|
//
|
|
CLASS_SHIELD = 210, ///< 공용방패
|
|
CLASS_HELM = 220, ///< 공용투구
|
|
|
|
CLASS_BOOTS = 230, ///< 공용부츠
|
|
/// 2011.01.19 - prodongi
|
|
CLASS_FIGHTER_BOOTS = 231, ///< 전사부츠
|
|
CLASS_HUNTER_BOOTS = 232, ///< 헌터부츠
|
|
CLASS_MAGICIAN_BOOTS = 233, ///< 법사부츠
|
|
CLASS_SUMMONER_BOOTS = 234, ///< 소환사부츠
|
|
|
|
CLASS_GLOVE = 240, ///< 공용장갑
|
|
/// 2011.01.19 - prodongi
|
|
CLASS_FIGHTER_GLOVE = 241, ///< 전사장갑
|
|
CLASS_HUNTER_GLOVE = 242, ///< 헌터장갑
|
|
CLASS_MAGICIAN_GLOVE = 243, ///< 법사장갑
|
|
CLASS_SUMMONER_GLOVE = 244, ///< 소환사장갑
|
|
|
|
CLASS_BELT = 250, ///< 공용벨트
|
|
/// 2011.01.19 - prodongi
|
|
CLASS_FIGHTER_BELT = 251, ///< 전사벨트
|
|
CLASS_HUNTER_BELT = 252, ///< 헌터벨트
|
|
CLASS_MAGICIAN_BELT = 253, ///< 법사벨트
|
|
CLASS_SUMMONER_BELT = 254, ///< 소환사벨트
|
|
|
|
CLASS_MANTLE = 260, ///< 공용망토
|
|
/// 2011.01.19 - prodongi
|
|
CLASS_FIGHTER_MANTLE = 261, ///< 전사망토
|
|
CLASS_HUNTER_MANTLE = 262, ///< 헌터망토
|
|
CLASS_MAGICIAN_MANTLE = 263, ///< 법사망토
|
|
CLASS_SUMMONER_MANTLE = 264, ///< 소환사망토
|
|
|
|
CLASS_QUIVER = 265, // 화살통
|
|
CLASS_BOOSTER = 266, // 화살통
|
|
|
|
// 악세사리
|
|
CLASS_ETC_ACCESSORY = 300, ///< 기타악세사리
|
|
CLASS_RING = 301, ///< 링
|
|
CLASS_EARRING = 302, ///< 귀걸이
|
|
CLASS_ARMULET = 303, ///< 목걸이
|
|
CLASS_EYEGLASS = 304, ///< 안경
|
|
CLASS_MASK = 305, ///< 수염
|
|
CLASS_CUBE = 306, ///< 큐브
|
|
|
|
// 포스칩, 소울칩, 루나칩
|
|
CLASS_BOOST_CHIP = 400, ///< 칩
|
|
|
|
CLASS_SOULSTONE = 401, ///< 소울스톤
|
|
CLASS_CRACKER = 402, ///< 쑥쑥크래커
|
|
CLASS_FARM_TICKET = 403, ///< 농장이용권 2011.03.15 servantes
|
|
CLASS_USE_CASH_ITEM = 502, ///< 사용형 캐쉬템
|
|
|
|
// Deco
|
|
CLASS_DECO_WEAPON = 600, // deprecated!
|
|
CLASS_DECO_SHIELD = 601,
|
|
CLASS_DECO_ARMOR = 602,
|
|
CLASS_DECO_HELM = 603,
|
|
CLASS_DECO_GLOVE = 604,
|
|
CLASS_DECO_BOOTS = 605,
|
|
CLASS_DECO_MALTLE = 606,
|
|
CLASS_DECO_SHOULDER = 607,
|
|
CLASS_DECO_HAIR = 608,
|
|
|
|
CLASS_DECO_ONEHAND_SWORD = 609,
|
|
CLASS_DECO_TWOHAND_SWORD = 610,
|
|
CLASS_DECO_DAGGER = 611,
|
|
CLASS_DECO_TWOHAND_SPEAR = 612,
|
|
CLASS_DECO_TWOHAND_AXE = 613,
|
|
CLASS_DECO_ONEHAND_MACE = 614, ///< 한손메이스
|
|
CLASS_DECO_TWOHAND_MACE = 615, ///< 양손메이스
|
|
CLASS_DECO_HEAVY_BOW = 616, ///< 헤비 보우 <- 이거 숏보우/롱보우가 맞는것 같은데.. -.-;;
|
|
CLASS_DECO_LIGHT_BOW = 617, ///< 라이트 보우
|
|
CLASS_DECO_CROSSBOW = 618, ///< 석궁
|
|
CLASS_DECO_ONEHAND_STAFF = 619, ///< 한손 지팡이
|
|
CLASS_DECO_TWOHAND_STAFF = 620, ///< 양손 지팡이
|
|
CLASS_DECO_ONEHAND_AXE = 621, ///< 한손 도끼
|
|
};
|
|
ItemClass nClass; ///< 계열
|
|
|
|
int set_id; ///< 소속 세트 아이디 // #2.1.2.6.1
|
|
int set_part_flag; //
|
|
|
|
int nRank; ///< 등급
|
|
int level; ///< INT NOT NULL, -- 레벨 9
|
|
int enhance; ///< INT NOT NULL, -- 강화 10
|
|
int socket; ///< INT NOT NULL, -- 소켓 11
|
|
int status_flag; ///< INT NOT NULL, -- 아이템 생성시 적용 flag 12
|
|
|
|
// Usage restriction level
|
|
int nMinLevel; // Above level
|
|
int nMaxLevel; // Below level
|
|
|
|
// Target level restriction
|
|
// int nTargetMinLevel; ///< Lv 이상
|
|
// int nTargetMaxLevel; ///< Lv 이하
|
|
|
|
int nRange; ///< 사정거리
|
|
float fWeight; ///< 무게 DECIMAL( 10, 2 ) NOT NULL
|
|
int nPrice; ///< 기준가격
|
|
int nHuntaholicPoint; ///< INT NOT NULL, -- 상점 판매가 - 헌터홀릭 포인트 // #2.1.2.11.1
|
|
|
|
int nEthereal_durability; // 에테리얼 내구도. kappamind, 2010.01.13
|
|
|
|
int nEndurance; ///< 내구성
|
|
|
|
enum ItemWearType
|
|
{
|
|
WEAR_CANTWEAR = -1, ///< 장비불가
|
|
WEAR_NONE = -1, ///< 장비 하지 않음
|
|
WEAR_STORAGE = -2, ///< 창고 저장품
|
|
|
|
WEAR_WEAPON = 0, ///< 오른손전용 (방패라던가)
|
|
WEAR_SHIELD = 1, ///< 왼손전용
|
|
WEAR_ARMOR = 2, ///< 갑옷
|
|
WEAR_HELM = 3, ///< 투구
|
|
WEAR_GLOVE = 4, ///< 장갑
|
|
WEAR_BOOTS = 5, ///< 부츠
|
|
WEAR_BELT = 6, ///< 벨트
|
|
WEAR_MANTLE = 7, ///< 망토
|
|
WEAR_ARMULET = 8, ///< 목걸이
|
|
WEAR_RING = 9, ///< 반지
|
|
WEAR_SECOND_RING = 10, // Second ring
|
|
|
|
WEAR_EAR = 11, ///< 귀걸이
|
|
WEAR_FACE = 12, ///< 얼굴
|
|
WEAR_BACKPACK = 13, ///< 치장용헤어
|
|
WEAR_DECO_WEAPON = 14, ///< 치장용무기
|
|
WEAR_DECO_SHIELD = 15, ///< 치장용방패
|
|
WEAR_DECO_ARMOR = 16, ///< 치장용의상
|
|
WEAR_DECO_HELM = 17, ///< 치장용투구
|
|
WEAR_DECO_GLOVE = 18, ///< 치장용장갑
|
|
WEAR_DECO_BOOTS = 19, ///< 치장용부츠
|
|
WEAR_DECO_MANTLE = 20, ///< 치장용망토
|
|
WEAR_DECO_SHOULDER = 21, ///< 치장용어깨
|
|
WEAR_RIDE_ITEM = 22, ///< 라이딩슬롯
|
|
WEAR_BAG_SLOT = 23, ///< 가방 장착 슬롯 인덱스 추가
|
|
|
|
WEAR_BOOSTER = 24, // 부스터
|
|
WEAR_BACKBOARD = 25, // 부스터
|
|
WEAR_SECOND_EAR = 26,
|
|
WEAR_CHAOS_STONE = 27,
|
|
|
|
//--- SWAP --//
|
|
WEAR_SWAP_WEAPON = 28, // 무기.
|
|
WEAR_SWAP_SHIELD = 29, // 방패.
|
|
WEAR_SWAP_DECO_WEAPON = 30, // 치장용무기.
|
|
WEAR_SWAP_DECO_SHIELD = 31, // 치장용방패.
|
|
//-----------//
|
|
|
|
WEAR_BELT_SLOT = 198, // 2010.08.20 - prodongi
|
|
WEAR_DECO_TWOHAND = 199, ///< 치장용무기+방패
|
|
|
|
WEAR_EAR_EYE = 90, ///< 귀+눈
|
|
WEAR_EAR_MOUTH = 91, ///< 귀+입
|
|
WEAR_EYE_MOUTH = 92, // Eyes + Mouth
|
|
WEAR_EYE_EAR_MOUTH = 93, // Eyes + Ears + Mouth
|
|
WEAR_TWOFINGER_RING = 94, ///< 반지 두칸 소모
|
|
WEAR_TWOHAND = 99, ///< 투핸드
|
|
|
|
WEAR_SKILL = 100, ///< 스킬
|
|
WEAR_SUMMON_ONLY = 200, // 크리처 전용 장비
|
|
|
|
|
|
|
|
WEAR_RIGHTHAND = WEAR_WEAPON, // Right hand only
|
|
WEAR_LEFTHAND = WEAR_SHIELD, // Left hand only (e.g., shield)
|
|
WEAR_BULLET = WEAR_SHIELD, // Ammo (Arrows)
|
|
|
|
// Belt slots (Not existing on the server)
|
|
WEAR_BELT00 = 1000,
|
|
WEAR_BELT01 = 1001,
|
|
WEAR_BELT02 = 1002,
|
|
WEAR_BELT03 = 1003,
|
|
WEAR_BELT04 = 1004,
|
|
WEAR_BELT05 = 1005,
|
|
WEAR_BELT06 = 1006,
|
|
WEAR_BELT07 = 1007,
|
|
};
|
|
ItemWearType WearType;
|
|
|
|
enum LIMIT_FLAG
|
|
{
|
|
LIMIT_DEVA = (1 << 2), ///< 데바
|
|
LIMIT_ASURA = (1 << 3), ///< 아수라
|
|
LIMIT_GAIA = (1 << 4), ///< 가이아
|
|
|
|
LIMIT_FIGHTER = (1 << 10), ///< 전사
|
|
LIMIT_HUNTER = (1 << 11), ///< 헌터
|
|
LIMIT_MAGICIAN = (1 << 12), ///< 마법사
|
|
LIMIT_SUMMONER = (1 << 13), ///< 소환사
|
|
};
|
|
int nLimit; ///< 사용제한
|
|
|
|
BaseFlag Flag;
|
|
|
|
enum ITEM_FLAG
|
|
{
|
|
FLAG_WEARABLE = 0, // 표준장비
|
|
FLAG_CANT_STORAGE = 1, // 창고 집어넣을 수 있는지 없는지 여부
|
|
FLAG_ENHANCE = 2, // 강화여부
|
|
FLAG_USE = 3, // 소모성 사용 가능 여부
|
|
FLAG_CARD = 4, // 카드화 가능여부
|
|
FLAG_SOCKET = 5, // 소켓삽입가능여부
|
|
FLAG_JOIN = 6, // 중첩 가능 여부
|
|
FLAG_TARGET_USE = 7, // 타겟 지정 사용 여부
|
|
FLAG_WARP = 8, // 사용시 워프하는 아이템임
|
|
FLAG_CANT_TRADE = 9, // 트레이드가능여부 (1이면 불가인듯)
|
|
FLAG_CANT_SELL = 10, // 상점 매각 가능 여부
|
|
FLAG_QUEST = 11, // 퀘스트 아이템 여부
|
|
FLAG_CANT_USE_OVERWEIGHT = 12, // 무게 초과시 사용 불가 여부
|
|
FLAG_CASHITEM = 13, // 캐쉬 아이템
|
|
FLAG_RIDING = 14, // CHAR NOT NULL, -- 라이딩시 가능 37
|
|
FLAG_CANT_DROP = 15, // 드랍 불가 : 0가능, 1불가능
|
|
FLAG_MOVE = 16, // 이동중 사용 가능, 불가능
|
|
FLAG_QUEST_DISTRIBUTE = 17, // 퀘스트 분배 아이템
|
|
FLAG_SIT = 18, // 앉은 상태 사용 가능, 불가능
|
|
FLAG_RAID = 19, // 레이드/시즈 시 사용불가
|
|
FLAG_SECROUTE = 20, // 시크루트에서 사용 불가 필드 추가
|
|
FLAG_EVENTMAP = 21, // 이벤트 지역에서 사용 불가
|
|
FLAG_HUNTAHOLIC = 22, // 헌터홀릭 로비/던전에서 사용 불가 // #2.2.4.1
|
|
FLAG_HUNTAHOLIC_USEABLE_ONLY = 23, // 헌터홀릭 로비/던전에서만 사용 // #2.2.4.1
|
|
FLAG_DEATHMATCH = 24, // 데스매치 사용 불가 ( 1이면 사용 불가 )
|
|
FLAG_DEATHMATCH_USEABLE_ONLY = 25, // 데스매치에서만 사용 ( 1이면 데스매치에서만 사용 )
|
|
FLAG_CANT_DESTRUCTION = 26, // 아이템 파괴 불가.
|
|
FLAG_USABLE_ON_ONLY_SIT = 27, // 앉아서만 사용 가능
|
|
FLAG_CANT_USE_IN_SECRET_DUNGEON = 28, // 숨겨진 던전 내에서 사용 불가(0:사용 가능, 1: 사용 불가)
|
|
FLAG_CANT_USE_IN_BATTLE_ARENA = 29, // 배틀 아레나 내에서 사용 불가(0:사용 가능, 1: 사용 불가)
|
|
FLAG_CANT_DECOMPOSE = 30, // 분해 불가능 여부 (0:분해 가능, 1:분해 불가)
|
|
FLAG_RANDOMIZABLE = 31, // 랜덤화 가능 ( 0:불가, 1: 가능 )
|
|
};
|
|
|
|
// char distribute_type; ///< CHAR NOT NULL, -- 분배 타입 45
|
|
// int item_use_flag; // 09.08.27, kappamind
|
|
bool CheckFlag( ITEM_FLAG flag ) const
|
|
{
|
|
return Flag.IsOn( flag );
|
|
}
|
|
|
|
|
|
int nMaterial;
|
|
int nSummonId;
|
|
int nThrowRange;
|
|
|
|
short nBaseType[MAX_OPTION_NUMBER];
|
|
float dBaseVar1[MAX_OPTION_NUMBER];
|
|
float dBaseVar2[MAX_OPTION_NUMBER];
|
|
|
|
short nOptType[MAX_OPTION_NUMBER];
|
|
float dOptVar1[MAX_OPTION_NUMBER];
|
|
float dOptVar2[MAX_OPTION_NUMBER];
|
|
|
|
int nEffectId; ///< 아이템 특수 성능
|
|
|
|
int nEnhanceID;
|
|
|
|
int nSkillID;
|
|
|
|
int nStateCode;
|
|
int nStateLevel;
|
|
int nStateTime;
|
|
int nCoolTime;
|
|
|
|
int available_time;
|
|
|
|
short nCoolTimeGroup;
|
|
|
|
enum
|
|
{
|
|
PERMANENT = 0,
|
|
DECREASE_ON_GAME = 1,
|
|
DECREASE_ALWAYS = 2
|
|
};
|
|
short decrease_type;
|
|
|
|
enum
|
|
{
|
|
JOB_DEPTH_0 = (1 << 0),
|
|
JOB_DEPTH_1 = (1 << 1),
|
|
JOB_DEPTH_2 = (1 << 2),
|
|
JOB_DEPTH_MASTER = (1 << 3),
|
|
JOB_DEPTH_ALL = JOB_DEPTH_0 | JOB_DEPTH_1 | JOB_DEPTH_2 | JOB_DEPTH_MASTER,
|
|
};
|
|
short job_depth; /// 2011.03.30 직업 전직 여부 - prodongi
|
|
|
|
short nGrade; // 아이템 등급. kappamind, 2010.01.13
|
|
|
|
/* 이하 클라이언트 정보
|
|
char szModel[61][6];
|
|
char szDropModel[61];
|
|
int nIconId;
|
|
*/
|
|
|
|
// 2010.05.19 hide equip info - prodongi
|
|
enum
|
|
{
|
|
HIDE_EQUIP_WEAPON = ( 1 << 0 ), ///< 오른손전용 (방패라던가)
|
|
HIDE_EQUIP_SHIELD = ( 1 << 1 ), ///< 왼손전용
|
|
HIDE_EQUIP_ARMOR = ( 1 << 2 ), ///< 갑옷
|
|
HIDE_EQUIP_HELM = ( 1 << 3 ), ///< 투구
|
|
HIDE_EQUIP_GLOVE = ( 1 << 4 ), ///< 장갑
|
|
HIDE_EQUIP_BOOTS = ( 1 << 5 ), ///< 부츠
|
|
HIDE_EQUIP_BELT = ( 1 << 6 ), ///< 벨트
|
|
HIDE_EQUIP_MANTLE = ( 1 << 7 ), ///< 망토
|
|
HIDE_EQUIP_ARMULET = ( 1 << 8 ), ///< 목걸이
|
|
HIDE_EQUIP_RING = ( 1 << 9 ), ///< 반지
|
|
HIDE_EQUIP_EAR = ( 1 << 10), ///< 귀걸이
|
|
HIDE_EQUIP_FACE = ( 1 << 11), ///< 얼굴
|
|
|
|
HIDE_EQUIP_SHOULDER = ( 1 << 13), // Wings probably
|
|
|
|
// 꾸미기 //
|
|
DECO_HIDE_EQUIP_WEAPON = ( 1 << 14 ), ///< Right-hand only (e.g. shield)
|
|
DECO_HIDE_EQUIP_SHIELD = ( 1 << 15 ), ///< 왼손전용
|
|
DECO_HIDE_EQUIP_ARMOR = ( 1 << 16 ), ///< 갑옷
|
|
DECO_HIDE_EQUIP_HELM = ( 1 << 17 ), ///< 투구
|
|
DECO_HIDE_EQUIP_GLOVE = ( 1 << 18 ), ///< 장갑
|
|
DECO_HIDE_EQUIP_BOOTS = ( 1 << 19 ), ///< 부츠
|
|
DECO_HIDE_EQUIP_CLOAK = ( 1 << 20 ), ///< 망토
|
|
DECO_HIDE_EQUIP_SHOULDER= ( 1 << 21 ), ///< 어깨
|
|
|
|
};
|
|
|
|
ItemBase()
|
|
: nCode( -1 )
|
|
, nNameId( 690000075 /*존재하지 않는 아이템*/ )
|
|
, nType( -1 )
|
|
, nGroup( -1 )
|
|
, nClass( ItemBase::ItemClass( -1 ) )
|
|
, set_id( NULL )
|
|
, set_part_flag( NULL )
|
|
, nGrade( 0 )
|
|
, nRank( 0 )
|
|
, level( 0 )
|
|
, enhance( 0 )
|
|
, socket( 0 )
|
|
, status_flag( 0 )
|
|
, job_depth( -1 )
|
|
, nMinLevel( 0 )
|
|
, nMaxLevel( 0 )
|
|
, nRange( 0 )
|
|
, fWeight( 0.0f )
|
|
, nPrice( 0 )
|
|
, nHuntaholicPoint( 0 )
|
|
, nEthereal_durability( 0 )
|
|
, nEndurance( 0 )
|
|
, WearType( ItemBase::WEAR_CANTWEAR )
|
|
, nMaterial( 0 )
|
|
, nSummonId( 0 )
|
|
, nEffectId( 0 )
|
|
, nEnhanceID( 0 )
|
|
, nSkillID( 0 )
|
|
, nStateCode( 0 )
|
|
, nStateLevel( 0 )
|
|
, nStateTime( 0 )
|
|
, nCoolTime( 0 )
|
|
, nCoolTimeGroup( 0 )
|
|
, available_time( 0 )
|
|
, decrease_type( -1 )
|
|
{
|
|
ZeroMemory( nBaseType, sizeof( nBaseType ) );
|
|
ZeroMemory( dBaseVar1, sizeof( dBaseVar1 ) );
|
|
ZeroMemory( dBaseVar2, sizeof( dBaseVar2 ) );
|
|
|
|
ZeroMemory( nOptType, sizeof( nOptType ) );
|
|
ZeroMemory( dOptVar1, sizeof( dOptVar1 ) );
|
|
ZeroMemory( dOptVar2, sizeof( dOptVar2 ) );
|
|
}
|
|
|
|
};
|
|
|
|
|
|
/// 아이템 강화 정보
|
|
struct ItemEnhanceEffectBase
|
|
{
|
|
int sid;
|
|
int sub_id;
|
|
int effect_id;
|
|
float value[ItemBase::MAX_ENHANCE_NUMBER];
|
|
};
|
|
|
|
// 꾸미기아이템용 비트마스크. bintitle. 08.12.
|
|
#define DECO_EQUIPMENT_MASK ( ItemBase::DECO_HIDE_EQUIP_WEAPON | \
|
|
ItemBase::DECO_HIDE_EQUIP_SHIELD| \
|
|
ItemBase::DECO_HIDE_EQUIP_ARMOR |\
|
|
ItemBase::DECO_HIDE_EQUIP_HELM |\
|
|
ItemBase::DECO_HIDE_EQUIP_GLOVE |\
|
|
ItemBase::DECO_HIDE_EQUIP_BOOTS |\
|
|
ItemBase::DECO_HIDE_EQUIP_CLOAK |\
|
|
ItemBase::DECO_HIDE_EQUIP_SHOULDER )
|
|
|
|
|
|
|
|
#pragma pack()
|