448 lines
8.5 KiB
C
448 lines
8.5 KiB
C
#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
|