- #ifndef __INC_METIN2_ITEM_LENGTH_H__
- #define __INC_METIN2_ITEM_LENGTH_H__
- enum EItemMisc
- {
- ITEM_NAME_MAX_LEN = 24,
- ITEM_VALUES_MAX_NUM = 6,
- ITEM_SMALL_DESCR_MAX_LEN = 256,
- ITEM_LIMIT_MAX_NUM = 2,
- ITEM_APPLY_MAX_NUM = 3,
- ITEM_SOCKET_MAX_NUM = 4,
- ITEM_MAX_COUNT = 200,
- ITEM_ATTRIBUTE_MAX_NUM = 15,
- ITEM_ATTRIBUTE_MAX_LEVEL = 5,
- ITEM_AWARD_WHY_MAX_LEN = 50,
- REFINE_MATERIAL_MAX_NUM = 5,
- ITEM_ELK_VNUM = 50026,
- #ifdef ENABLE_ENCHANT_SYSTEM
- COSTUME_ATTRIBUTE_MAX_NUM = 3,
- #endif
- };
- const BYTE ITEM_SOCKET_REMAIN_SEC = 0;
- enum EItemValueIdice
- {
- ITEM_VALUE_DRAGON_SOUL_POLL_OUT_BONUS_IDX = 0,
- ITEM_VALUE_CHARGING_AMOUNT_IDX = 0,
- ITEM_VALUE_SECONDARY_COIN_UNIT_IDX = 0,
- };
- enum EItemDragonSoulSockets
- {
- ITEM_SOCKET_DRAGON_SOUL_ACTIVE_IDX = 2,
- ITEM_SOCKET_CHARGING_AMOUNT_IDX = 2,
- };
- // 헐 이거 미친거 아니야?
- // 나중에 소켓 확장하면 어쩌려고 이지랄 -_-;;;
- enum EItemUniqueSockets
- {
- ITEM_SOCKET_UNIQUE_SAVE_TIME = ITEM_SOCKET_MAX_NUM - 2,
- ITEM_SOCKET_UNIQUE_REMAIN_TIME = ITEM_SOCKET_MAX_NUM - 1
- };
- enum EItemTypes
- {
- ITEM_NONE, //0
- ITEM_WEAPON, //1//무기
- ITEM_ARMOR, //2//갑옷
- ITEM_USE, //3//아이템 사용
- ITEM_AUTOUSE, //4
- ITEM_MATERIAL, //5
- ITEM_SPECIAL, //6 //스페셜 아이템
- ITEM_TOOL, //7
- ITEM_LOTTERY, //8//복권
- ITEM_ELK, //9//돈
- ITEM_METIN, //10
- ITEM_CONTAINER, //11
- ITEM_FISH, //12//낚시
- ITEM_ROD, //13
- ITEM_RESOURCE, //14
- ITEM_CAMPFIRE, //15
- ITEM_UNIQUE, //16
- ITEM_SKILLBOOK, //17
- ITEM_QUEST, //18
- ITEM_POLYMORPH, //19
- ITEM_TREASURE_BOX, //20//보물상자
- ITEM_TREASURE_KEY, //21//보물상자 열쇠
- ITEM_SKILLFORGET, //22
- ITEM_GIFTBOX, //23
- ITEM_PICK, //24
- ITEM_HAIR, //25//머리
- ITEM_TOTEM, //26//토템
- ITEM_BLEND, //27//생성될때 랜덤하게 속성이 붙는 약물
- ITEM_COSTUME, //28//코스츔 아이템 (2011년 8월 추가된 코스츔 시스템용 아이템)
- ITEM_DS, //29 //용혼석
- ITEM_SPECIAL_DS, //30 // 특수한 용혼석 (DS_SLOT에 착용하는 UNIQUE 아이템이라 생각하면 됨)
- ITEM_EXTRACT, //31 추출도구.
- ITEM_SECONDARY_COIN, //32 ?? 명도전??
- ITEM_RING, //33 반지
- ITEM_BELT, //34 벨트
- ITEM_PET, //36
- #ifdef __ATTR_TRANSFER_SYSTEM__
- ITEM_TRANSFER_SCROLL, //37
- #endif
- ITEM_GACHA, //35
- #ifdef AHMET_TILSIM_SYSTEM
- ITEM_TALISMAN, //38
- #endif
- };
- enum EMetinSubTypes
- {
- METIN_NORMAL,
- METIN_GOLD,
- };
- enum EWeaponSubTypes
- {
- WEAPON_SWORD,
- WEAPON_DAGGER,
- WEAPON_BOW,
- WEAPON_TWO_HANDED,
- WEAPON_BELL,
- WEAPON_FAN,
- WEAPON_ARROW,
- WEAPON_MOUNT_SPEAR,
- WEAPON_CLAW,
- WEAPON_NUM_TYPES,
- };
- enum EArmorSubTypes
- {
- ARMOR_BODY,
- ARMOR_HEAD,
- ARMOR_SHIELD,
- ARMOR_WRIST,
- ARMOR_FOOTS,
- ARMOR_NECK,
- ARMOR_EAR,
- ARMOR_NUM_TYPES
- };
- enum ECostumeSubTypes
- {
- COSTUME_BODY = ARMOR_BODY, // [중요!!] ECostumeSubTypes enum value는 종류별로 EArmorSubTypes의 그것과 같아야 함.
- COSTUME_HAIR = ARMOR_HEAD, // 이는 코스츔 아이템에 추가 속성을 붙이겠다는 사업부의 요청에 따라서 기존 로직을 활용하기 위함임.
- COSTUME_ACCE,
- #ifdef __WEAPON_COSTUME_SYSTEM__
- COSTUME_WEAPON,
- #endif
- COSTUME_NUM_TYPES,
- };
- enum EDragonSoulSubType
- {
- DS_SLOT1,
- DS_SLOT2,
- DS_SLOT3,
- DS_SLOT4,
- DS_SLOT5,
- DS_SLOT6,
- DS_SLOT_MAX,
- };
- enum EDragonSoulGradeTypes
- {
- DRAGON_SOUL_GRADE_NORMAL,
- DRAGON_SOUL_GRADE_BRILLIANT,
- DRAGON_SOUL_GRADE_RARE,
- DRAGON_SOUL_GRADE_ANCIENT,
- DRAGON_SOUL_GRADE_LEGENDARY,
- #ifdef ENABLE_DS_GRADE_MYTH
- DRAGON_SOUL_GRADE_MYTH,
- #endif
- DRAGON_SOUL_GRADE_MAX,
- };
- enum EDragonSoulStepTypes
- {
- DRAGON_SOUL_STEP_LOWEST,
- DRAGON_SOUL_STEP_LOW,
- DRAGON_SOUL_STEP_MID,
- DRAGON_SOUL_STEP_HIGH,
- DRAGON_SOUL_STEP_HIGHEST,
- DRAGON_SOUL_STEP_MAX,
- };
- #define DRAGON_SOUL_STRENGTH_MAX 7
- enum EDSInventoryMaxNum
- {
- DRAGON_SOUL_INVENTORY_MAX_NUM = DS_SLOT_MAX * DRAGON_SOUL_GRADE_MAX * DRAGON_SOUL_BOX_SIZE,
- };
- enum EFishSubTypes
- {
- FISH_ALIVE,
- FISH_DEAD,
- };
- enum EResourceSubTypes
- {
- RESOURCE_FISHBONE,
- RESOURCE_WATERSTONEPIECE,
- RESOURCE_WATERSTONE,
- RESOURCE_BLOOD_PEARL,
- RESOURCE_BLUE_PEARL,
- RESOURCE_WHITE_PEARL,
- RESOURCE_BUCKET,
- RESOURCE_CRYSTAL,
- RESOURCE_GEM,
- RESOURCE_STONE,
- RESOURCE_METIN,
- RESOURCE_ORE,
- };
- enum EUniqueSubTypes
- {
- UNIQUE_NONE,
- UNIQUE_BOOK,
- UNIQUE_SPECIAL_RIDE,
- UNIQUE_SPECIAL_MOUNT_RIDE,
- };
- enum EUseSubTypes
- {
- USE_POTION, // 0
- USE_TALISMAN,
- USE_TUNING,
- USE_MOVE,
- USE_TREASURE_BOX,
- USE_MONEYBAG,
- USE_BAIT,
- USE_ABILITY_UP,
- USE_AFFECT,
- USE_CREATE_STONE,
- USE_SPECIAL, // 10
- USE_POTION_NODELAY,
- USE_CLEAR,
- USE_INVISIBILITY,
- USE_DETACHMENT,
- USE_BUCKET,
- USE_POTION_CONTINUE,
- USE_CLEAN_SOCKET,
- USE_CHANGE_ATTRIBUTE,
- USE_ADD_ATTRIBUTE,
- USE_ADD_ACCESSORY_SOCKET, // 20
- USE_PUT_INTO_ACCESSORY_SOCKET,
- USE_ADD_ATTRIBUTE2,
- USE_RECIPE,
- USE_CHANGE_ATTRIBUTE2,
- USE_BIND,
- USE_UNBIND,
- USE_TIME_CHARGE_PER,
- USE_TIME_CHARGE_FIX, // 28
- USE_PUT_INTO_BELT_SOCKET, // 29 벨트 소켓에 사용할 수 있는 아이템
- USE_PUT_INTO_RING_SOCKET,
- #ifdef __NEW_ENCHANT_ATTR__
- USE_CHANGE_ATTRIBUTE3,
- #endif
- USE_ADD_ATTRIBUTE_COSTUME,
- USE_CHANGE_ATTRIBUTE_COSTUME, // 30 반지 소켓에 사용할 수 있는 아이템 (유니크 반지 말고, 새로 추가된 반지 슬롯)
- #ifdef ENABLE_ENCHANT_SYSTEM
- USE_CHANGE_COSTUME_ATTR, // 31
- USE_RESET_COSTUME_ATTR, // 32
- #endif
- #ifdef __MOUNT_SYSTEM__
- USE_MOUNT,
- #endif
- #ifdef WJ_EXTENDED_PET_SYSTEM
- USE_PET,
- #endif
- #ifdef __COSTUME_ATTR_SYSTEM__
- USE_COSTUME_ENCHANT,
- USE_COSTUME_TRANSFORM,
- #endif
- };
- enum EExtractSubTypes
- {
- EXTRACT_DRAGON_SOUL,
- EXTRACT_DRAGON_HEART,
- };
- enum EAutoUseSubTypes
- {
- AUTOUSE_POTION,
- AUTOUSE_ABILITY_UP,
- AUTOUSE_BOMB,
- AUTOUSE_GOLD,
- AUTOUSE_MONEYBAG,
- AUTOUSE_TREASURE_BOX
- };
- enum EMaterialSubTypes
- {
- MATERIAL_LEATHER,
- MATERIAL_BLOOD,
- MATERIAL_ROOT,
- MATERIAL_NEEDLE,
- MATERIAL_JEWEL,
- MATERIAL_DS_REFINE_NORMAL,
- MATERIAL_DS_REFINE_BLESSED,
- MATERIAL_DS_REFINE_HOLLY,
- };
- enum ESpecialSubTypes
- {
- SPECIAL_MAP,
- SPECIAL_KEY,
- SPECIAL_DOC,
- SPECIAL_SPIRIT,
- };
- enum EToolSubTypes
- {
- TOOL_FISHING_ROD
- };
- enum ELotterySubTypes
- {
- LOTTERY_TICKET,
- LOTTERY_INSTANT
- };
- enum EItemFlag
- {
- ITEM_FLAG_REFINEABLE = (1 << 0),
- ITEM_FLAG_SAVE = (1 << 1),
- ITEM_FLAG_STACKABLE = (1 << 2), // 여러개 합칠 수 있음
- ITEM_FLAG_COUNT_PER_1GOLD = (1 << 3),
- ITEM_FLAG_SLOW_QUERY = (1 << 4),
- ITEM_FLAG_UNUSED01 = (1 << 5), // UNUSED
- ITEM_FLAG_UNIQUE = (1 << 6),
- ITEM_FLAG_MAKECOUNT = (1 << 7),
- ITEM_FLAG_IRREMOVABLE = (1 << 8),
- ITEM_FLAG_CONFIRM_WHEN_USE = (1 << 9),
- ITEM_FLAG_QUEST_USE = (1 << 10),
- ITEM_FLAG_QUEST_USE_MULTIPLE = (1 << 11),
- ITEM_FLAG_QUEST_GIVE = (1 << 12),
- ITEM_FLAG_LOG = (1 << 13),
- ITEM_FLAG_APPLICABLE = (1 << 14),
- };
- enum EItemAntiFlag
- {
- ITEM_ANTIFLAG_FEMALE = (1 << 0),
- ITEM_ANTIFLAG_MALE = (1 << 1),
- ITEM_ANTIFLAG_WARRIOR = (1 << 2),
- ITEM_ANTIFLAG_ASSASSIN = (1 << 3),
- ITEM_ANTIFLAG_SURA = (1 << 4),
- ITEM_ANTIFLAG_SHAMAN = (1 << 5),
- ITEM_ANTIFLAG_GET = (1 << 6),
- ITEM_ANTIFLAG_DROP = (1 << 7),
- ITEM_ANTIFLAG_SELL = (1 << 8),
- ITEM_ANTIFLAG_EMPIRE_A = (1 << 9),
- ITEM_ANTIFLAG_EMPIRE_B = (1 << 10),
- ITEM_ANTIFLAG_EMPIRE_C = (1 << 11),
- ITEM_ANTIFLAG_SAVE = (1 << 12),
- ITEM_ANTIFLAG_GIVE = (1 << 13),
- ITEM_ANTIFLAG_PKDROP = (1 << 14),
- ITEM_ANTIFLAG_STACK = (1 << 15),
- ITEM_ANTIFLAG_MYSHOP = (1 << 16),
- ITEM_ANTIFLAG_SAFEBOX = (1 << 17),
- ITEM_ANTIFLAG_WOLFMAN = (1 << 18),
- };
- enum EItemWearableFlag
- {
- WEARABLE_BODY = (1 << 0),
- WEARABLE_HEAD = (1 << 1),
- WEARABLE_FOOTS = (1 << 2),
- WEARABLE_WRIST = (1 << 3),
- WEARABLE_WEAPON = (1 << 4),
- WEARABLE_NECK = (1 << 5),
- WEARABLE_EAR = (1 << 6),
- WEARABLE_UNIQUE = (1 << 7),
- WEARABLE_SHIELD = (1 << 8),
- WEARABLE_ARROW = (1 << 9),
- WEARABLE_HAIR = (1 << 10),
- WEARABLE_ABILITY = (1 << 11),
- WEARABLE_COSTUME_BODY = (1 << 12),
- WEARABLE_COSTUME_HAIR = (1 << 13),
- WEARABLE_COSTUME_ACCE = (1 << 14),
- #ifdef __WEAPON_COSTUME_SYSTEM__
- WEARABLE_COSTUME_WEAPON = (1 << 15),
- #endif
- #ifdef __MOUNT_SYSTEM__
- WEARABLE_COSTUME_MOUNT = (1 << 16),
- #endif
- #ifdef WJ_EXTENDED_PET_SYSTEM
- WEARABLE_PET = (1 << 17),
- #endif
- };
- enum ELimitTypes
- {
- LIMIT_NONE,
- LIMIT_LEVEL,
- LIMIT_STR,
- LIMIT_DEX,
- LIMIT_INT,
- LIMIT_CON,
- LIMIT_PCBANG,
- /// 착용 여부와 상관 없이 실시간으로 시간 차감 (socket0에 소멸 시간이 박힘: unix_timestamp 타입)
- LIMIT_REAL_TIME,
- /// 아이템을 맨 처음 사용(혹은 착용) 한 순간부터 리얼타임 타이머 시작
- /// 최초 사용 전에는 socket0에 사용가능시간(초단위, 0이면 프로토의 limit value값 사용) 값이 쓰여있다가
- /// 아이템 사용시 socket1에 사용 횟수가 박히고 socket0에 unix_timestamp 타입의 소멸시간이 박힘.
- LIMIT_REAL_TIME_START_FIRST_USE,
- /// 아이템을 착용 중일 때만 사용 시간이 차감되는 아이템
- /// socket0에 남은 시간이 초단위로 박힘. (아이템 최초 사용시 해당 값이 0이면 프로토의 limit value값을 socket0에 복사)
- LIMIT_TIMER_BASED_ON_WEAR,
- LIMIT_MAX_NUM
- };
- enum EAttrAddonTypes
- {
- ATTR_ADDON_NONE,
- // positive values are reserved for set
- ATTR_DAMAGE_ADDON = -1,
- };
- enum ERefineType
- {
- REFINE_TYPE_NORMAL,
- REFINE_TYPE_NOT_USED1,
- REFINE_TYPE_SCROLL,
- REFINE_TYPE_HYUNIRON,
- REFINE_TYPE_MONEY_ONLY,
- REFINE_TYPE_MUSIN,
- REFINE_TYPE_BDRAGON,
- };
- #endif
Item_length.h