#ifndef __INC_METIN2_ITEM_LENGTH_H__ #define __INC_METIN2_ITEM_LENGTH_H__ #include "CommonDefines.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_NORM_NUM = 5, ITEM_ATTRIBUTE_RARE_NUM = 2, ITEM_ATTRIBUTE_NORM_START = 0, ITEM_ATTRIBUTE_NORM_END = ITEM_ATTRIBUTE_NORM_START + ITEM_ATTRIBUTE_NORM_NUM, ITEM_ATTRIBUTE_RARE_START = ITEM_ATTRIBUTE_NORM_END, ITEM_ATTRIBUTE_RARE_END = ITEM_ATTRIBUTE_RARE_START + ITEM_ATTRIBUTE_RARE_NUM, ITEM_ATTRIBUTE_MAX_NUM = ITEM_ATTRIBUTE_RARE_END, // 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, ITEM_ARMOR, ITEM_USE, ITEM_AUTOUSE, //4 ITEM_MATERIAL, //5 ITEM_SPECIAL, ITEM_TOOL, //7 ITEM_LOTTERY, ITEM_ELK, ITEM_METIN, //10 ITEM_CONTAINER, //11 ITEM_FISH, ITEM_ROD, //13 ITEM_RESOURCE, //14 ITEM_CAMPFIRE, //15 ITEM_UNIQUE, //16 ITEM_SKILLBOOK, //17 ITEM_QUEST, //18 ITEM_POLYMORPH, //19 ITEM_TREASURE_BOX, ITEM_TREASURE_KEY, ITEM_SKILLFORGET, //22 ITEM_GIFTBOX, //23 ITEM_PICK, //24 ITEM_HAIR, ITEM_TOTEM, ITEM_BLEND, ITEM_COSTUME, ITEM_DS, ITEM_SPECIAL_DS, ITEM_EXTRACT, ITEM_SECONDARY_COIN, ITEM_RING, ITEM_BELT, ITEM_PET, }; 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, #ifdef ENABLE_WOLFMAN_CHARACTER WEAPON_CLAW = 8, #endif #ifdef ENABLE_QUIVER_SYSTEM WEAPON_QUIVER = 9, #endif WEAPON_NUM_TYPES, }; enum EArmorSubTypes { ARMOR_BODY, ARMOR_HEAD, ARMOR_SHIELD, ARMOR_WRIST, ARMOR_FOOTS, ARMOR_NECK, ARMOR_EAR, ARMOR_PENDANT, //7 ARMOR_GLOVE, //8 ARMOR_NUM_TYPES }; enum ECostumeSubTypes { COSTUME_BODY = ARMOR_BODY, COSTUME_HAIR = ARMOR_HEAD, #ifdef ENABLE_MOUNT_COSTUME_SYSTEM COSTUME_MOUNT = 2, #endif #ifdef ENABLE_ACCE_COSTUME_SYSTEM COSTUME_ACCE = 3, #endif #ifdef ENABLE_WEAPON_COSTUME_SYSTEM COSTUME_WEAPON = 4, #endif COSTUME_NUM_TYPES, }; #ifdef ENABLE_ACCE_COSTUME_SYSTEM enum EAcceInfo { ACCE_GRADE_VALUE_FIELD = 0, ACCE_ABSORPTION_SOCKET = 0, ACCE_ABSORBED_SOCKET = 1, ACCE_GRADE_1_ABS = 1, ACCE_GRADE_2_ABS = 5, ACCE_GRADE_3_ABS = 10, ACCE_GRADE_4_ABS_MIN = 11, ACCE_GRADE_4_ABS_MAX = 25, ACCE_GRADE_4_ABS_MAX_COMB = 19, ACCE_GRADE_4_ABS_RANGE = 5, ACCE_EFFECT_FROM_ABS = 19, ACCE_CLEAN_ATTR_VALUE0 = 7, ACCE_WINDOW_MAX_MATERIALS = 2, ACCE_GRADE_1_PRICE = 100000, ACCE_GRADE_2_PRICE = 200000, ACCE_GRADE_3_PRICE = 300000, ACCE_GRADE_4_PRICE = 500000, ACCE_COMBINE_GRADE_1 = 80, ACCE_COMBINE_GRADE_2 = 70, ACCE_COMBINE_GRADE_3 = 50, ACCE_COMBINE_GRADE_4 = 30, ACCE_REVERSAL_VNUM_1 = 39046, ACCE_REVERSAL_VNUM_2 = 90000, ACCE_BASE_VNUM = 85000, ACCE_EFFECT_VNUM = 500, }; #endif 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, USE_PUT_INTO_RING_SOCKET, USE_CHANGE_COSTUME_ATTR, // 31 USE_RESET_COSTUME_ATTR, // 32 }; 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), #ifdef ENABLE_WOLFMAN_CHARACTER ITEM_ANTIFLAG_WOLFMAN = (1 << 18), #endif }; 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_PENDANT = (1 << 12), WEARABLE_GLOVE = (1 << 13), }; enum ELimitTypes { LIMIT_NONE, LIMIT_LEVEL, LIMIT_STR, LIMIT_DEX, LIMIT_INT, LIMIT_CON, LIMIT_PCBANG, //reserved for backwards compatibility LIMIT_REAL_TIME, LIMIT_REAL_TIME_START_FIRST_USE, 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, }; enum EPetType { PET_EGG, //0 PET_UPBRINGING, //1 PET_BAG, //2 PET_FEEDSTUFF, //3 PET_SKILL, //4 PET_SKILL_DEL_BOOK, //5 PET_NAME_CHANGE, //6 PET_EXPFOOD, //7 PET_SKILL_ALL_DEL_BOOK, //8 PET_EXPFOOD_PER, //9 PET_ATTR_DETERMINE, //10 PET_ATTR_CHANGE, //11 PET_PAY, //12 PET_PRIMIUM_FEEDSTUFF, //13 }; #endif //martysama0134's 623a0779c74cb7565145d45548376308