#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 = 3, ITEM_MAX_COUNT = 200, ITEM_ATTRIBUTE_MAX_NUM = 7, ITEM_ATTRIBUTE_MAX_LEVEL = 5, ITEM_AWARD_WHY_MAX_LEN = 50, REFINE_MATERIAL_MAX_NUM = 5, ITEM_ELK_VNUM = 50026, }; 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 º§Æ® }; 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_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_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, 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, // 30 ¹ÝÁö ¼ÒÄÏ¿¡ »ç¿ëÇÒ ¼ö ÀÖ´Â ¾ÆÀÌÅÛ (À¯´ÏÅ© ¹ÝÁö ¸»°í, »õ·Î Ãß°¡µÈ ¹ÝÁö ½½·Ô) }; 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), // A Á¦±¹ »ç¿ë ºÒ°¡ ITEM_ANTIFLAG_EMPIRE_B = (1 << 10), // B Á¦±¹ »ç¿ë ºÒ°¡ ITEM_ANTIFLAG_EMPIRE_C = (1 << 11), // C Á¦±¹ »ç¿ë ºÒ°¡ ITEM_ANTIFLAG_SAVE = (1 << 12), // ÀúÀåµÇÁö ¾ÊÀ½ ITEM_ANTIFLAG_GIVE = (1 << 13), // °Å·¡ ºÒ°¡ ITEM_ANTIFLAG_PKDROP = (1 << 14), // PK½Ã ¶³¾îÁöÁö ¾ÊÀ½ ITEM_ANTIFLAG_STACK = (1 << 15), // ÇÕÄ¥ ¼ö ¾øÀ½ ITEM_ANTIFLAG_MYSHOP = (1 << 16), // °³ÀÎ »óÁ¡¿¡ ¿Ã¸± ¼ö ¾øÀ½ ITEM_ANTIFLAG_SAFEBOX = (1 << 17), // â°í¿¡ ³ÖÀ» ¼ö ¾øÀ½ }; 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), }; 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