2022-03-05 12:44:06 +02:00
|
|
|
|
#ifndef __INC_METIN_II_LENGTH_H__
|
|
|
|
|
#define __INC_METIN_II_LENGTH_H__
|
|
|
|
|
|
|
|
|
|
#define WORD_MAX 0xffff
|
|
|
|
|
enum EMisc
|
|
|
|
|
{
|
2022-03-09 21:30:51 +02:00
|
|
|
|
MAX_HOST_LENGTH = 253,
|
|
|
|
|
IP_ADDRESS_LENGTH = INET6_ADDRSTRLEN > INET_ADDRSTRLEN ? INET6_ADDRSTRLEN : INET_ADDRSTRLEN,
|
2022-03-05 12:44:06 +02:00
|
|
|
|
LOGIN_MAX_LEN = 30,
|
|
|
|
|
PASSWD_MAX_LEN = 16,
|
|
|
|
|
PLAYER_PER_ACCOUNT = 4,
|
|
|
|
|
ACCOUNT_STATUS_MAX_LEN = 8,
|
|
|
|
|
CHARACTER_NAME_MAX_LEN = 24,
|
|
|
|
|
SHOP_SIGN_MAX_LEN = 32,
|
|
|
|
|
INVENTORY_MAX_NUM = 90,
|
|
|
|
|
ABILITY_MAX_NUM = 50,
|
|
|
|
|
EMPIRE_MAX_NUM = 4,
|
|
|
|
|
BANWORD_MAX_LEN = 24,
|
|
|
|
|
SMS_MAX_LEN = 80,
|
|
|
|
|
MOBILE_MAX_LEN = 32,
|
|
|
|
|
SOCIAL_ID_MAX_LEN = 18,
|
|
|
|
|
|
|
|
|
|
GUILD_NAME_MAX_LEN = 12,
|
|
|
|
|
|
|
|
|
|
SHOP_HOST_ITEM_MAX_NUM = 40, /* ȣ<><C8A3>Ʈ<EFBFBD><C6AE> <20>ִ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> */
|
|
|
|
|
SHOP_GUEST_ITEM_MAX_NUM = 18, /* <20>Խ<EFBFBD>Ʈ<EFBFBD><C6AE> <20>ִ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> */
|
|
|
|
|
|
|
|
|
|
SHOP_PRICELIST_MAX_NUM = 40, ///< <20><><EFBFBD>λ<EFBFBD><CEBB><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ִ<EFBFBD> <20><><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
CHAT_MAX_LEN = 512,
|
|
|
|
|
|
|
|
|
|
QUICKSLOT_MAX_NUM = 36,
|
|
|
|
|
|
|
|
|
|
JOURNAL_MAX_NUM = 2,
|
|
|
|
|
|
|
|
|
|
QUERY_MAX_LEN = 8192,
|
|
|
|
|
|
|
|
|
|
FILE_MAX_LEN = 128,
|
|
|
|
|
|
|
|
|
|
PLAYER_EXP_TABLE_MAX = 120,
|
|
|
|
|
PLAYER_MAX_LEVEL_CONST = 120,
|
|
|
|
|
|
|
|
|
|
GUILD_MAX_LEVEL = 20,
|
|
|
|
|
MOB_MAX_LEVEL = 100,
|
|
|
|
|
|
|
|
|
|
ATTRIBUTE_MAX_VALUE = 20,
|
|
|
|
|
CHARACTER_PATH_MAX_NUM = 64,
|
|
|
|
|
SKILL_MAX_NUM = 255,
|
|
|
|
|
SKILLBOOK_DELAY_MIN = 64800,
|
|
|
|
|
SKILLBOOK_DELAY_MAX = 108000,
|
|
|
|
|
SKILL_MAX_LEVEL = 40,
|
|
|
|
|
|
|
|
|
|
APPLY_NAME_MAX_LEN = 32,
|
|
|
|
|
EVENT_FLAG_NAME_MAX_LEN = 32,
|
|
|
|
|
|
|
|
|
|
MOB_SKILL_MAX_NUM = 5,
|
|
|
|
|
|
|
|
|
|
POINT_MAX_NUM = 255,
|
|
|
|
|
DRAGON_SOUL_BOX_SIZE = 32,
|
|
|
|
|
DRAGON_SOUL_BOX_COLUMN_NUM = 8,
|
|
|
|
|
DRAGON_SOUL_BOX_ROW_NUM = DRAGON_SOUL_BOX_SIZE / DRAGON_SOUL_BOX_COLUMN_NUM,
|
|
|
|
|
DRAGON_SOUL_REFINE_GRID_SIZE = 15,
|
|
|
|
|
MAX_AMOUNT_OF_MALL_BONUS = 20,
|
|
|
|
|
|
|
|
|
|
WEAR_MAX_NUM = 32,
|
|
|
|
|
|
|
|
|
|
//LIMIT_GOLD
|
|
|
|
|
GOLD_MAX = 2000000000,
|
|
|
|
|
|
|
|
|
|
//END_LIMIT_GOLD
|
|
|
|
|
|
|
|
|
|
SHOP_TAB_NAME_MAX = 32,
|
|
|
|
|
SHOP_TAB_COUNT_MAX = 3,
|
|
|
|
|
|
|
|
|
|
BELT_INVENTORY_SLOT_WIDTH = 4,
|
|
|
|
|
BELT_INVENTORY_SLOT_HEIGHT= 4,
|
|
|
|
|
|
|
|
|
|
BELT_INVENTORY_SLOT_COUNT = BELT_INVENTORY_SLOT_WIDTH * BELT_INVENTORY_SLOT_HEIGHT,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
**** <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>Ҵ<EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> (DB<EFBFBD><EFBFBD> Item Position) ****
|
|
|
|
|
+------------------------------------------------------+ 0
|
|
|
|
|
| ij<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>⺻ <EFBFBD>κ<EFBFBD><EFBFBD>丮 (45ĭ * 2<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) 90ĭ |
|
|
|
|
|
+------------------------------------------------------+ 90 = INVENTORY_MAX_NUM(90)
|
|
|
|
|
| ij<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> â (<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) 32ĭ |
|
|
|
|
|
+------------------------------------------------------+ 122 = INVENTORY_MAX_NUM(90) + WEAR_MAX_NUM(32)
|
|
|
|
|
| <EFBFBD><EFBFBD>ȥ<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> â (<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ȥ<EFBFBD><EFBFBD>) 12ĭ |
|
|
|
|
|
+------------------------------------------------------+ 134 = 122 + DS_SLOT_MAX(6) * DRAGON_SOUL_DECK_MAX_NUM(2)
|
|
|
|
|
| <EFBFBD><EFBFBD>ȥ<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> â <EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>̻<EFBFBD><EFBFBD><EFBFBD>) 18ĭ |
|
|
|
|
|
+------------------------------------------------------+ 152 = 134 + DS_SLOT_MAX(6) * DRAGON_SOUL_DECK_RESERVED_MAX_NUM(3)
|
|
|
|
|
| <EFBFBD><EFBFBD>Ʈ <EFBFBD>κ<EFBFBD><EFBFBD>丮 (<EFBFBD><EFBFBD>Ʈ <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ÿ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>Ʈ <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ȱ<EFBFBD><EFBFBD>)|
|
|
|
|
|
+------------------------------------------------------+ 168 = 152 + BELT_INVENTORY_SLOT_COUNT(16) = INVENTORY_AND_EQUIP_CELL_MAX
|
|
|
|
|
| <EFBFBD>̻<EFBFBD><EFBFBD><EFBFBD> |
|
|
|
|
|
+------------------------------------------------------+ ??
|
|
|
|
|
*/
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
enum EMatrixCard
|
|
|
|
|
{
|
|
|
|
|
MATRIX_CODE_MAX_LEN = 192,
|
|
|
|
|
MATRIX_ANSWER_MAX_LEN = 8,
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
enum EWearPositions
|
|
|
|
|
{
|
|
|
|
|
WEAR_BODY, // 0
|
|
|
|
|
WEAR_HEAD, // 1
|
|
|
|
|
WEAR_FOOTS, // 2
|
|
|
|
|
WEAR_WRIST, // 3
|
|
|
|
|
WEAR_WEAPON, // 4
|
|
|
|
|
WEAR_NECK, // 5
|
|
|
|
|
WEAR_EAR, // 6
|
|
|
|
|
WEAR_UNIQUE1, // 7
|
|
|
|
|
WEAR_UNIQUE2, // 8
|
|
|
|
|
WEAR_ARROW, // 9
|
|
|
|
|
WEAR_SHIELD, // 10
|
|
|
|
|
WEAR_ABILITY1, // 11
|
|
|
|
|
WEAR_ABILITY2, // 12
|
|
|
|
|
WEAR_ABILITY3, // 13
|
|
|
|
|
WEAR_ABILITY4, // 14
|
|
|
|
|
WEAR_ABILITY5, // 15
|
|
|
|
|
WEAR_ABILITY6, // 16
|
|
|
|
|
WEAR_ABILITY7, // 17
|
|
|
|
|
WEAR_ABILITY8, // 18
|
|
|
|
|
WEAR_COSTUME_BODY, // 19
|
|
|
|
|
WEAR_COSTUME_HAIR, // 20
|
|
|
|
|
|
|
|
|
|
WEAR_RING1, // 21 : <20>ű<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1 (<28><><EFBFBD><EFBFBD>)
|
|
|
|
|
WEAR_RING2, // 22 : <20>ű<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2 (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
|
|
|
|
|
|
|
|
|
WEAR_BELT, // 23 : <20>ű<EFBFBD> <20><>Ʈ<EFBFBD><C6AE><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
WEAR_MAX = 32 //
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
enum EDragonSoulDeckType
|
|
|
|
|
{
|
|
|
|
|
DRAGON_SOUL_DECK_0,
|
|
|
|
|
DRAGON_SOUL_DECK_1,
|
|
|
|
|
DRAGON_SOUL_DECK_MAX_NUM = 2,
|
|
|
|
|
|
|
|
|
|
DRAGON_SOUL_DECK_RESERVED_MAX_NUM = 3, // NOTE: <20>߿<EFBFBD>! <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, 3<><33><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>з<EFBFBD><D0B7><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><>. DS DECK<43><4B> <20>ø<EFBFBD> <20><><EFBFBD><EFBFBD> <20>ݵ<EFBFBD><DDB5><EFBFBD> <20><> <20><><EFBFBD><EFBFBD>ŭ RESERVED<45><44><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ؾ<EFBFBD> <20><>!
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
enum ESex
|
|
|
|
|
{
|
|
|
|
|
SEX_MALE,
|
|
|
|
|
SEX_FEMALE
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
enum EDirection
|
|
|
|
|
{
|
|
|
|
|
DIR_NORTH,
|
|
|
|
|
DIR_NORTHEAST,
|
|
|
|
|
DIR_EAST,
|
|
|
|
|
DIR_SOUTHEAST,
|
|
|
|
|
DIR_SOUTH,
|
|
|
|
|
DIR_SOUTHWEST,
|
|
|
|
|
DIR_WEST,
|
|
|
|
|
DIR_NORTHWEST,
|
|
|
|
|
DIR_MAX_NUM
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
#define ABILITY_MAX_LEVEL 10 /* <20><><EFBFBD><EFBFBD> <20>ִ<EFBFBD> <20><><EFBFBD><EFBFBD> */
|
|
|
|
|
|
|
|
|
|
enum EAbilityDifficulty
|
|
|
|
|
{
|
|
|
|
|
DIFFICULTY_EASY,
|
|
|
|
|
DIFFICULTY_NORMAL,
|
|
|
|
|
DIFFICULTY_HARD,
|
|
|
|
|
DIFFICULTY_VERY_HARD,
|
|
|
|
|
DIFFICULTY_NUM_TYPES
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
enum EAbilityCategory
|
|
|
|
|
{
|
|
|
|
|
CATEGORY_PHYSICAL, /* <20><>ü<EFBFBD><C3BC> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƽ */
|
|
|
|
|
CATEGORY_MENTAL, /* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƽ */
|
|
|
|
|
CATEGORY_ATTRIBUTE, /* <20>ɷ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƽ */
|
|
|
|
|
CATEGORY_NUM_TYPES
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
enum EJobs
|
|
|
|
|
{
|
|
|
|
|
JOB_WARRIOR,
|
|
|
|
|
JOB_ASSASSIN,
|
|
|
|
|
JOB_SURA,
|
|
|
|
|
JOB_SHAMAN,
|
|
|
|
|
JOB_MAX_NUM
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
enum ESkillGroups
|
|
|
|
|
{
|
|
|
|
|
SKILL_GROUP_MAX_NUM = 2,
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
enum ERaceFlags
|
|
|
|
|
{
|
|
|
|
|
RACE_FLAG_ANIMAL = (1 << 0),
|
|
|
|
|
RACE_FLAG_UNDEAD = (1 << 1),
|
|
|
|
|
RACE_FLAG_DEVIL = (1 << 2),
|
|
|
|
|
RACE_FLAG_HUMAN = (1 << 3),
|
|
|
|
|
RACE_FLAG_ORC = (1 << 4),
|
|
|
|
|
RACE_FLAG_MILGYO = (1 << 5),
|
|
|
|
|
RACE_FLAG_INSECT = (1 << 6),
|
|
|
|
|
RACE_FLAG_FIRE = (1 << 7),
|
|
|
|
|
RACE_FLAG_ICE = (1 << 8),
|
|
|
|
|
RACE_FLAG_DESERT = (1 << 9),
|
|
|
|
|
RACE_FLAG_TREE = (1 << 10),
|
|
|
|
|
RACE_FLAG_ATT_ELEC = (1 << 11),
|
|
|
|
|
RACE_FLAG_ATT_FIRE = (1 << 12),
|
|
|
|
|
RACE_FLAG_ATT_ICE = (1 << 13),
|
|
|
|
|
RACE_FLAG_ATT_WIND = (1 << 14),
|
|
|
|
|
RACE_FLAG_ATT_EARTH = (1 << 15),
|
|
|
|
|
RACE_FLAG_ATT_DARK = (1 << 16),
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
enum ELoads
|
|
|
|
|
{
|
|
|
|
|
LOAD_NONE,
|
|
|
|
|
LOAD_LIGHT,
|
|
|
|
|
LOAD_NORMAL,
|
|
|
|
|
LOAD_HEAVY,
|
|
|
|
|
LOAD_MASSIVE
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
enum
|
|
|
|
|
{
|
|
|
|
|
QUICKSLOT_TYPE_NONE,
|
|
|
|
|
QUICKSLOT_TYPE_ITEM,
|
|
|
|
|
QUICKSLOT_TYPE_SKILL,
|
|
|
|
|
QUICKSLOT_TYPE_COMMAND,
|
|
|
|
|
QUICKSLOT_TYPE_MAX_NUM,
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
enum EParts
|
|
|
|
|
{
|
|
|
|
|
PART_MAIN,
|
|
|
|
|
PART_WEAPON,
|
|
|
|
|
PART_HEAD,
|
|
|
|
|
PART_HAIR,
|
|
|
|
|
|
|
|
|
|
PART_MAX_NUM,
|
|
|
|
|
PART_WEAPON_SUB,
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
enum EChatType
|
|
|
|
|
{
|
|
|
|
|
CHAT_TYPE_TALKING, /* <20>׳<EFBFBD> ä<><C3A4> */
|
|
|
|
|
CHAT_TYPE_INFO, /* <20><><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD>ġ<EFBFBD><C4A1> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><>) */
|
|
|
|
|
CHAT_TYPE_NOTICE, /* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
|
|
|
|
CHAT_TYPE_PARTY, /* <20><>Ƽ<EFBFBD><C6BC> */
|
|
|
|
|
CHAT_TYPE_GUILD, /* <20><><EFBFBD>帻 */
|
|
|
|
|
CHAT_TYPE_COMMAND, /* <20>Ϲ<EFBFBD> <20><><EFBFBD><EFBFBD> */
|
|
|
|
|
CHAT_TYPE_SHOUT, /* <20><>ġ<EFBFBD><C4A1> */
|
|
|
|
|
CHAT_TYPE_WHISPER,
|
|
|
|
|
CHAT_TYPE_BIG_NOTICE,
|
|
|
|
|
CHAT_TYPE_MONARCH_NOTICE,
|
|
|
|
|
CHAT_TYPE_MAX_NUM
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
enum EWhisperType
|
|
|
|
|
{
|
|
|
|
|
WHISPER_TYPE_NORMAL = 0,
|
|
|
|
|
WHISPER_TYPE_NOT_EXIST = 1,
|
|
|
|
|
WHISPER_TYPE_TARGET_BLOCKED = 2,
|
|
|
|
|
WHISPER_TYPE_SENDER_BLOCKED = 3,
|
|
|
|
|
WHISPER_TYPE_ERROR = 4,
|
|
|
|
|
WHISPER_TYPE_GM = 5,
|
|
|
|
|
WHISPER_TYPE_SYSTEM = 0xFF
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
enum ECharacterPosition
|
|
|
|
|
{
|
|
|
|
|
POSITION_GENERAL,
|
|
|
|
|
POSITION_BATTLE,
|
|
|
|
|
POSITION_DYING,
|
|
|
|
|
POSITION_SITTING_CHAIR,
|
|
|
|
|
POSITION_SITTING_GROUND,
|
|
|
|
|
POSITION_INTRO,
|
|
|
|
|
POSITION_MAX_NUM
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
enum EGMLevels
|
|
|
|
|
{
|
|
|
|
|
GM_PLAYER,
|
|
|
|
|
GM_LOW_WIZARD,
|
|
|
|
|
GM_WIZARD,
|
|
|
|
|
GM_HIGH_WIZARD,
|
|
|
|
|
GM_GOD,
|
|
|
|
|
GM_IMPLEMENTOR
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
enum EMobRank
|
|
|
|
|
{
|
|
|
|
|
MOB_RANK_PAWN,
|
|
|
|
|
MOB_RANK_S_PAWN,
|
|
|
|
|
MOB_RANK_KNIGHT,
|
|
|
|
|
MOB_RANK_S_KNIGHT,
|
|
|
|
|
MOB_RANK_BOSS,
|
|
|
|
|
MOB_RANK_KING,
|
|
|
|
|
MOB_RANK_MAX_NUM
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
enum ECharType
|
|
|
|
|
{
|
|
|
|
|
CHAR_TYPE_MONSTER,
|
|
|
|
|
CHAR_TYPE_NPC,
|
|
|
|
|
CHAR_TYPE_STONE,
|
|
|
|
|
CHAR_TYPE_WARP,
|
|
|
|
|
CHAR_TYPE_DOOR,
|
|
|
|
|
CHAR_TYPE_BUILDING,
|
|
|
|
|
CHAR_TYPE_PC,
|
|
|
|
|
CHAR_TYPE_POLYMORPH_PC,
|
|
|
|
|
CHAR_TYPE_HORSE,
|
|
|
|
|
CHAR_TYPE_GOTO
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
enum EBattleType
|
|
|
|
|
{
|
|
|
|
|
BATTLE_TYPE_MELEE,
|
|
|
|
|
BATTLE_TYPE_RANGE,
|
|
|
|
|
BATTLE_TYPE_MAGIC,
|
|
|
|
|
BATTLE_TYPE_SPECIAL,
|
|
|
|
|
BATTLE_TYPE_POWER,
|
|
|
|
|
BATTLE_TYPE_TANKER,
|
|
|
|
|
BATTLE_TYPE_SUPER_POWER,
|
|
|
|
|
BATTLE_TYPE_SUPER_TANKER,
|
|
|
|
|
BATTLE_TYPE_MAX_NUM
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
enum EApplyTypes
|
|
|
|
|
{
|
|
|
|
|
APPLY_NONE, // 0
|
|
|
|
|
APPLY_MAX_HP, // 1
|
|
|
|
|
APPLY_MAX_SP, // 2
|
|
|
|
|
APPLY_CON, // 3
|
|
|
|
|
APPLY_INT, // 4
|
|
|
|
|
APPLY_STR, // 5
|
|
|
|
|
APPLY_DEX, // 6
|
|
|
|
|
APPLY_ATT_SPEED, // 7
|
|
|
|
|
APPLY_MOV_SPEED, // 8
|
|
|
|
|
APPLY_CAST_SPEED, // 9
|
|
|
|
|
APPLY_HP_REGEN, // 10
|
|
|
|
|
APPLY_SP_REGEN, // 11
|
|
|
|
|
APPLY_POISON_PCT, // 12
|
|
|
|
|
APPLY_STUN_PCT, // 13
|
|
|
|
|
APPLY_SLOW_PCT, // 14
|
|
|
|
|
APPLY_CRITICAL_PCT, // 15
|
|
|
|
|
APPLY_PENETRATE_PCT, // 16
|
|
|
|
|
APPLY_ATTBONUS_HUMAN, // 17
|
|
|
|
|
APPLY_ATTBONUS_ANIMAL, // 18
|
|
|
|
|
APPLY_ATTBONUS_ORC, // 19
|
|
|
|
|
APPLY_ATTBONUS_MILGYO, // 20
|
|
|
|
|
APPLY_ATTBONUS_UNDEAD, // 21
|
|
|
|
|
APPLY_ATTBONUS_DEVIL, // 22
|
|
|
|
|
APPLY_STEAL_HP, // 23
|
|
|
|
|
APPLY_STEAL_SP, // 24
|
|
|
|
|
APPLY_MANA_BURN_PCT, // 25
|
|
|
|
|
APPLY_DAMAGE_SP_RECOVER, // 26
|
|
|
|
|
APPLY_BLOCK, // 27
|
|
|
|
|
APPLY_DODGE, // 28
|
|
|
|
|
APPLY_RESIST_SWORD, // 29
|
|
|
|
|
APPLY_RESIST_TWOHAND, // 30
|
|
|
|
|
APPLY_RESIST_DAGGER, // 31
|
|
|
|
|
APPLY_RESIST_BELL, // 32
|
|
|
|
|
APPLY_RESIST_FAN, // 33
|
|
|
|
|
APPLY_RESIST_BOW, // 34
|
|
|
|
|
APPLY_RESIST_FIRE, // 35
|
|
|
|
|
APPLY_RESIST_ELEC, // 36
|
|
|
|
|
APPLY_RESIST_MAGIC, // 37
|
|
|
|
|
APPLY_RESIST_WIND, // 38
|
|
|
|
|
APPLY_REFLECT_MELEE, // 39
|
|
|
|
|
APPLY_REFLECT_CURSE, // 40
|
|
|
|
|
APPLY_POISON_REDUCE, // 41
|
|
|
|
|
APPLY_KILL_SP_RECOVER, // 42
|
|
|
|
|
APPLY_EXP_DOUBLE_BONUS, // 43
|
|
|
|
|
APPLY_GOLD_DOUBLE_BONUS, // 44
|
|
|
|
|
APPLY_ITEM_DROP_BONUS, // 45
|
|
|
|
|
APPLY_POTION_BONUS, // 46
|
|
|
|
|
APPLY_KILL_HP_RECOVER, // 47
|
|
|
|
|
APPLY_IMMUNE_STUN, // 48
|
|
|
|
|
APPLY_IMMUNE_SLOW, // 49
|
|
|
|
|
APPLY_IMMUNE_FALL, // 50
|
|
|
|
|
APPLY_SKILL, // 51
|
|
|
|
|
APPLY_BOW_DISTANCE, // 52
|
|
|
|
|
APPLY_ATT_GRADE_BONUS, // 53
|
|
|
|
|
APPLY_DEF_GRADE_BONUS, // 54
|
|
|
|
|
APPLY_MAGIC_ATT_GRADE, // 55
|
|
|
|
|
APPLY_MAGIC_DEF_GRADE, // 56
|
|
|
|
|
APPLY_CURSE_PCT, // 57
|
|
|
|
|
APPLY_MAX_STAMINA, // 58
|
|
|
|
|
APPLY_ATTBONUS_WARRIOR, // 59
|
|
|
|
|
APPLY_ATTBONUS_ASSASSIN, // 60
|
|
|
|
|
APPLY_ATTBONUS_SURA, // 61
|
|
|
|
|
APPLY_ATTBONUS_SHAMAN, // 62
|
|
|
|
|
APPLY_ATTBONUS_MONSTER, // 63
|
|
|
|
|
APPLY_MALL_ATTBONUS, // 64 <20><><EFBFBD>ݷ<EFBFBD> +x%
|
|
|
|
|
APPLY_MALL_DEFBONUS, // 65 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> +x%
|
|
|
|
|
APPLY_MALL_EXPBONUS, // 66 <20><><EFBFBD><EFBFBD>ġ +x%
|
|
|
|
|
APPLY_MALL_ITEMBONUS, // 67 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> x/10<31><30>
|
|
|
|
|
APPLY_MALL_GOLDBONUS, // 68 <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> x/10<31><30>
|
|
|
|
|
APPLY_MAX_HP_PCT, // 69 <20>ִ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> +x%
|
|
|
|
|
APPLY_MAX_SP_PCT, // 70 <20>ִ<EFBFBD> <20><><EFBFBD>ŷ<EFBFBD> +x%
|
|
|
|
|
APPLY_SKILL_DAMAGE_BONUS, // 71 <20><>ų <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> * (100+x)%
|
|
|
|
|
APPLY_NORMAL_HIT_DAMAGE_BONUS, // 72 <20><>Ÿ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> * (100+x)%
|
|
|
|
|
APPLY_SKILL_DEFEND_BONUS, // 73 <20><>ų <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> * (100-x)%
|
|
|
|
|
APPLY_NORMAL_HIT_DEFEND_BONUS, // 74 <20><>Ÿ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> * (100-x)%
|
|
|
|
|
APPLY_PC_BANG_EXP_BONUS, // 75 PC<50><43> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> EXP <20><><EFBFBD>ʽ<EFBFBD>
|
|
|
|
|
APPLY_PC_BANG_DROP_BONUS, // 76 PC<50><43> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ʽ<EFBFBD>
|
|
|
|
|
|
|
|
|
|
APPLY_EXTRACT_HP_PCT, // 77 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> HP <20>Ҹ<EFBFBD>
|
|
|
|
|
|
|
|
|
|
APPLY_RESIST_WARRIOR, // 78 <20><><EFBFBD>翡<EFBFBD><E7BFA1> <20><><EFBFBD><EFBFBD>
|
|
|
|
|
APPLY_RESIST_ASSASSIN, // 79 <20>ڰ<EFBFBD><DAB0><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
|
|
|
|
APPLY_RESIST_SURA, // 80 <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
|
|
|
|
APPLY_RESIST_SHAMAN, // 81 <20><><EFBFBD>翡<EFBFBD><E7BFA1> <20><><EFBFBD><EFBFBD>
|
|
|
|
|
APPLY_ENERGY, // 82 <20><><EFBFBD><EFBFBD>
|
|
|
|
|
APPLY_DEF_GRADE, // 83 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. DEF_GRADE_BONUS<55><53> Ŭ<><EFBFBD> <20>ι<EFBFBD><CEB9><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ǵ<EFBFBD><C7B5><EFBFBD> <20><><EFBFBD><EFBFBD>(...)<29><> <20>ִ<EFBFBD>.
|
|
|
|
|
APPLY_COSTUME_ATTR_BONUS, // 84 <20>ڽ<EFBFBD>Ƭ <20><><EFBFBD><EFBFBD><EFBFBD>ۿ<EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ӽ<EFBFBD>ġ <20><><EFBFBD>ʽ<EFBFBD>
|
|
|
|
|
APPLY_MAGIC_ATTBONUS_PER, // 85 <20><><EFBFBD><EFBFBD> <20><><EFBFBD>ݷ<EFBFBD> +x%
|
|
|
|
|
APPLY_MELEE_MAGIC_ATTBONUS_PER, // 86 <20><><EFBFBD><EFBFBD> + <20>и<EFBFBD> <20><><EFBFBD>ݷ<EFBFBD> +x%
|
|
|
|
|
|
|
|
|
|
APPLY_RESIST_ICE, // 87 <20>ñ<EFBFBD> <20><><EFBFBD><EFBFBD>
|
|
|
|
|
APPLY_RESIST_EARTH, // 88 <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
|
|
|
|
APPLY_RESIST_DARK, // 89 <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
APPLY_ANTI_CRITICAL_PCT, //90 ũ<><C5A9>Ƽ<EFBFBD><C6BC> <20><><EFBFBD><EFBFBD>
|
|
|
|
|
APPLY_ANTI_PENETRATE_PCT, //91 <20><><EFBFBD><EFBFBD>Ÿ<EFBFBD><C5B8> <20><><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
MAX_APPLY_NUM, //
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
enum EOnClickEvents
|
|
|
|
|
{
|
|
|
|
|
ON_CLICK_NONE,
|
|
|
|
|
ON_CLICK_SHOP,
|
|
|
|
|
ON_CLICK_TALK,
|
|
|
|
|
ON_CLICK_MAX_NUM
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
enum EOnIdleEvents
|
|
|
|
|
{
|
|
|
|
|
ON_IDLE_NONE,
|
|
|
|
|
ON_IDLE_GENERAL,
|
|
|
|
|
ON_IDLE_MAX_NUM
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
enum EWindows
|
|
|
|
|
{
|
|
|
|
|
RESERVED_WINDOW,
|
|
|
|
|
INVENTORY,
|
|
|
|
|
EQUIPMENT,
|
|
|
|
|
SAFEBOX,
|
|
|
|
|
MALL,
|
|
|
|
|
DRAGON_SOUL_INVENTORY,
|
|
|
|
|
BELT_INVENTORY,
|
|
|
|
|
#ifdef __AUCTION__
|
|
|
|
|
AUCTION,
|
|
|
|
|
#endif
|
|
|
|
|
GROUND
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
enum EMobSizes
|
|
|
|
|
{
|
|
|
|
|
MOBSIZE_RESERVED,
|
|
|
|
|
MOBSIZE_SMALL,
|
|
|
|
|
MOBSIZE_MEDIUM,
|
|
|
|
|
MOBSIZE_BIG
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
enum EAIFlags
|
|
|
|
|
{
|
|
|
|
|
AIFLAG_AGGRESSIVE = (1 << 0),
|
|
|
|
|
AIFLAG_NOMOVE = (1 << 1),
|
|
|
|
|
AIFLAG_COWARD = (1 << 2),
|
|
|
|
|
AIFLAG_NOATTACKSHINSU = (1 << 3),
|
|
|
|
|
AIFLAG_NOATTACKJINNO = (1 << 4),
|
|
|
|
|
AIFLAG_NOATTACKCHUNJO = (1 << 5),
|
|
|
|
|
AIFLAG_ATTACKMOB = (1 << 6 ),
|
|
|
|
|
AIFLAG_BERSERK = (1 << 7),
|
|
|
|
|
AIFLAG_STONESKIN = (1 << 8),
|
|
|
|
|
AIFLAG_GODSPEED = (1 << 9),
|
|
|
|
|
AIFLAG_DEATHBLOW = (1 << 10),
|
|
|
|
|
AIFLAG_REVIVE = (1 << 11),
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
enum EMobStatType
|
|
|
|
|
{
|
|
|
|
|
MOB_STATTYPE_POWER,
|
|
|
|
|
MOB_STATTYPE_TANKER,
|
|
|
|
|
MOB_STATTYPE_SUPER_POWER,
|
|
|
|
|
MOB_STATTYPE_SUPER_TANKER,
|
|
|
|
|
MOB_STATTYPE_RANGE,
|
|
|
|
|
MOB_STATTYPE_MAGIC,
|
|
|
|
|
MOB_STATTYPE_MAX_NUM
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
enum EImmuneFlags
|
|
|
|
|
{
|
|
|
|
|
IMMUNE_STUN = (1 << 0),
|
|
|
|
|
IMMUNE_SLOW = (1 << 1),
|
|
|
|
|
IMMUNE_FALL = (1 << 2),
|
|
|
|
|
IMMUNE_CURSE = (1 << 3),
|
|
|
|
|
IMMUNE_POISON = (1 << 4),
|
|
|
|
|
IMMUNE_TERROR = (1 << 5),
|
|
|
|
|
IMMUNE_REFLECT = (1 << 6),
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
enum EMobEnchants
|
|
|
|
|
{
|
|
|
|
|
MOB_ENCHANT_CURSE,
|
|
|
|
|
MOB_ENCHANT_SLOW,
|
|
|
|
|
MOB_ENCHANT_POISON,
|
|
|
|
|
MOB_ENCHANT_STUN,
|
|
|
|
|
MOB_ENCHANT_CRITICAL,
|
|
|
|
|
MOB_ENCHANT_PENETRATE,
|
|
|
|
|
MOB_ENCHANTS_MAX_NUM
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
enum EMobResists
|
|
|
|
|
{
|
|
|
|
|
MOB_RESIST_SWORD,
|
|
|
|
|
MOB_RESIST_TWOHAND,
|
|
|
|
|
MOB_RESIST_DAGGER,
|
|
|
|
|
MOB_RESIST_BELL,
|
|
|
|
|
MOB_RESIST_FAN,
|
|
|
|
|
MOB_RESIST_BOW,
|
|
|
|
|
MOB_RESIST_FIRE,
|
|
|
|
|
MOB_RESIST_ELECT,
|
|
|
|
|
MOB_RESIST_MAGIC,
|
|
|
|
|
MOB_RESIST_WIND,
|
|
|
|
|
MOB_RESIST_POISON,
|
|
|
|
|
MOB_RESISTS_MAX_NUM
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
enum
|
|
|
|
|
{
|
|
|
|
|
SKILL_ATTR_TYPE_NORMAL = 1,
|
|
|
|
|
SKILL_ATTR_TYPE_MELEE,
|
|
|
|
|
SKILL_ATTR_TYPE_RANGE,
|
|
|
|
|
SKILL_ATTR_TYPE_MAGIC
|
|
|
|
|
/*
|
|
|
|
|
SKILL_ATTR_TYPE_FIRE,
|
|
|
|
|
SKILL_ATTR_TYPE_ICE,
|
|
|
|
|
SKILL_ATTR_TYPE_ELEC,
|
|
|
|
|
SKILL_ATTR_TYPE_DARK,
|
|
|
|
|
*/
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
enum
|
|
|
|
|
{
|
|
|
|
|
SKILL_NORMAL,
|
|
|
|
|
SKILL_MASTER,
|
|
|
|
|
SKILL_GRAND_MASTER,
|
|
|
|
|
SKILL_PERFECT_MASTER,
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
enum EGuildWarType
|
|
|
|
|
{
|
|
|
|
|
GUILD_WAR_TYPE_FIELD,
|
|
|
|
|
GUILD_WAR_TYPE_BATTLE,
|
|
|
|
|
GUILD_WAR_TYPE_FLAG,
|
|
|
|
|
GUILD_WAR_TYPE_MAX_NUM
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
enum EGuildWarState
|
|
|
|
|
{
|
|
|
|
|
GUILD_WAR_NONE,
|
|
|
|
|
GUILD_WAR_SEND_DECLARE,
|
|
|
|
|
GUILD_WAR_REFUSE,
|
|
|
|
|
GUILD_WAR_RECV_DECLARE,
|
|
|
|
|
GUILD_WAR_WAIT_START,
|
|
|
|
|
GUILD_WAR_CANCEL,
|
|
|
|
|
GUILD_WAR_ON_WAR,
|
|
|
|
|
GUILD_WAR_END,
|
|
|
|
|
GUILD_WAR_OVER,
|
|
|
|
|
GUILD_WAR_RESERVE,
|
|
|
|
|
|
|
|
|
|
GUILD_WAR_DURATION = 30*60, // 1<>ð<EFBFBD>
|
|
|
|
|
GUILD_WAR_WIN_POINT = 1000,
|
|
|
|
|
GUILD_WAR_LADDER_HALF_PENALTY_TIME = 12*60*60,
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
enum EAttributeSet
|
|
|
|
|
{
|
|
|
|
|
ATTRIBUTE_SET_WEAPON,
|
|
|
|
|
ATTRIBUTE_SET_BODY,
|
|
|
|
|
ATTRIBUTE_SET_WRIST,
|
|
|
|
|
ATTRIBUTE_SET_FOOTS,
|
|
|
|
|
ATTRIBUTE_SET_NECK,
|
|
|
|
|
ATTRIBUTE_SET_HEAD,
|
|
|
|
|
ATTRIBUTE_SET_SHIELD,
|
|
|
|
|
ATTRIBUTE_SET_EAR,
|
|
|
|
|
ATTRIBUTE_SET_MAX_NUM
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
enum EPrivType
|
|
|
|
|
{
|
|
|
|
|
PRIV_NONE,
|
|
|
|
|
PRIV_ITEM_DROP,
|
|
|
|
|
PRIV_GOLD_DROP,
|
|
|
|
|
PRIV_GOLD10_DROP,
|
|
|
|
|
PRIV_EXP_PCT,
|
|
|
|
|
MAX_PRIV_NUM,
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
enum EMoneyLogType
|
|
|
|
|
{
|
|
|
|
|
MONEY_LOG_RESERVED,
|
|
|
|
|
MONEY_LOG_MONSTER,
|
|
|
|
|
MONEY_LOG_SHOP,
|
|
|
|
|
MONEY_LOG_REFINE,
|
|
|
|
|
MONEY_LOG_QUEST,
|
|
|
|
|
MONEY_LOG_GUILD,
|
|
|
|
|
MONEY_LOG_MISC,
|
|
|
|
|
MONEY_LOG_MONSTER_KILL,
|
|
|
|
|
MONEY_LOG_DROP,
|
|
|
|
|
MONEY_LOG_TYPE_MAX_NUM,
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
enum EPremiumTypes
|
|
|
|
|
{
|
|
|
|
|
PREMIUM_EXP, // <20><><EFBFBD><EFBFBD>ġ<EFBFBD><C4A1> 1.2<EFBFBD><EFBFBD>
|
|
|
|
|
PREMIUM_ITEM, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 2<><32>
|
|
|
|
|
PREMIUM_SAFEBOX, // â<><C3A2><EFBFBD><EFBFBD> 1ĭ<31><C4AD><EFBFBD><EFBFBD> 3ĭ
|
|
|
|
|
PREMIUM_AUTOLOOT, // <20><> <20>ڵ<EFBFBD> <20>ݱ<EFBFBD>
|
|
|
|
|
PREMIUM_FISH_MIND, // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> Ȯ<><C8AE> <20><><EFBFBD><EFBFBD>
|
|
|
|
|
PREMIUM_MARRIAGE_FAST, // <20>ݽ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>մϴ<D5B4>.
|
|
|
|
|
PREMIUM_GOLD, // <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1.5<EFBFBD><EFBFBD>
|
|
|
|
|
PREMIUM_MAX_NUM = 9
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
enum SPECIAL_EFFECT
|
|
|
|
|
{
|
|
|
|
|
SE_NONE,
|
|
|
|
|
|
|
|
|
|
SE_HPUP_RED,
|
|
|
|
|
SE_SPUP_BLUE,
|
|
|
|
|
SE_SPEEDUP_GREEN,
|
|
|
|
|
SE_DXUP_PURPLE,
|
|
|
|
|
SE_CRITICAL,
|
|
|
|
|
SE_PENETRATE,
|
|
|
|
|
SE_BLOCK,
|
|
|
|
|
SE_DODGE,
|
|
|
|
|
SE_CHINA_FIREWORK,
|
|
|
|
|
SE_SPIN_TOP,
|
|
|
|
|
SE_SUCCESS,
|
|
|
|
|
SE_FAIL,
|
|
|
|
|
SE_FR_SUCCESS,
|
|
|
|
|
SE_LEVELUP_ON_14_FOR_GERMANY,
|
|
|
|
|
SE_LEVELUP_UNDER_15_FOR_GERMANY,
|
|
|
|
|
SE_PERCENT_DAMAGE1,
|
|
|
|
|
SE_PERCENT_DAMAGE2,
|
|
|
|
|
SE_PERCENT_DAMAGE3,
|
|
|
|
|
|
|
|
|
|
SE_AUTO_HPUP,
|
|
|
|
|
SE_AUTO_SPUP,
|
|
|
|
|
|
|
|
|
|
SE_EQUIP_RAMADAN_RING, // <20><EFBFBD> <20>ʽ´<CABD><C2B4><EFBFBD> <20><><EFBFBD><EFBFBD>(71135) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD>Ʈ (<28>ߵ<EFBFBD><DFB5><EFBFBD><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ <20>ƴ<EFBFBD>)
|
|
|
|
|
SE_EQUIP_HALLOWEEN_CANDY, // <20>ҷ<EFBFBD><D2B7><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>(-_-;)<29><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ߵ<EFBFBD><DFB5>ϴ<EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ
|
|
|
|
|
SE_EQUIP_HAPPINESS_RING, // ũ<><C5A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ູ<EFBFBD><E0BAB9> <20><><EFBFBD><EFBFBD>(71143) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD>Ʈ (<28>ߵ<EFBFBD><DFB5><EFBFBD><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ <20>ƴ<EFBFBD>)
|
|
|
|
|
SE_EQUIP_LOVE_PENDANT, // <20>߷<EFBFBD>Ÿ<EFBFBD><C5B8> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>Ҵ<EFBFBD>Ʈ(71145) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD>Ʈ (<28>ߵ<EFBFBD><DFB5><EFBFBD><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ <20>ƴ<EFBFBD>)
|
|
|
|
|
} ;
|
|
|
|
|
|
|
|
|
|
enum ETeenFlags
|
|
|
|
|
{
|
|
|
|
|
TEENFLAG_NONE = 0,
|
|
|
|
|
TEENFLAG_1HOUR,
|
|
|
|
|
TEENFLAG_2HOUR,
|
|
|
|
|
TEENFLAG_3HOUR,
|
|
|
|
|
TEENFLAG_4HOUR,
|
|
|
|
|
TEENFLAG_5HOUR,
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
#include "item_length.h"
|
|
|
|
|
|
|
|
|
|
// inventory<72><79> position<6F><6E> <20><>Ÿ<EFBFBD><C5B8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ü
|
|
|
|
|
// int<6E><74><EFBFBD><EFBFBD> <20>Ͻ<EFBFBD><CFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ȯ<EFBFBD><C8AF> <20>ִ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
|
|
|
|
|
// <20>κ<EFBFBD> <20><><EFBFBD>õ<EFBFBD> <20><><EFBFBD><EFBFBD> <20>Լ<EFBFBD><D4BC><EFBFBD> window_type<70><65> <20><><EFBFBD><EFBFBD> <20>ʰ<EFBFBD>, cell <20>ϳ<EFBFBD><CFB3><EFBFBD> <20>ұ<DEBE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>κ<EFBFBD><CEBA><EFBFBD> <20>ϳ<EFBFBD> <20><><EFBFBD>̾ inventory type<70>̶<EFBFBD><CCB6><EFBFBD> <20>ʿ<EFBFBD><CABF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,)
|
2022-03-06 17:36:43 +02:00
|
|
|
|
// <20>κ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Լ<EFBFBD> ȣ<><C8A3><EFBFBD>κ<EFBFBD><CEBA><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD> ??<3F><><EFBFBD>̴<EFBFBD>.
|
2022-03-05 12:44:06 +02:00
|
|
|
|
|
|
|
|
|
enum EDragonSoulRefineWindowSize
|
|
|
|
|
{
|
|
|
|
|
DRAGON_SOUL_REFINE_GRID_MAX = 15,
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
enum EMisc2
|
|
|
|
|
{
|
|
|
|
|
DRAGON_SOUL_EQUIP_SLOT_START = INVENTORY_MAX_NUM + WEAR_MAX_NUM,
|
|
|
|
|
DRAGON_SOUL_EQUIP_SLOT_END = DRAGON_SOUL_EQUIP_SLOT_START + (DS_SLOT_MAX * DRAGON_SOUL_DECK_MAX_NUM),
|
|
|
|
|
DRAGON_SOUL_EQUIP_RESERVED_SLOT_END = DRAGON_SOUL_EQUIP_SLOT_END + (DS_SLOT_MAX * DRAGON_SOUL_DECK_RESERVED_MAX_NUM),
|
|
|
|
|
|
|
|
|
|
BELT_INVENTORY_SLOT_START = DRAGON_SOUL_EQUIP_RESERVED_SLOT_END,
|
|
|
|
|
BELT_INVENTORY_SLOT_END = BELT_INVENTORY_SLOT_START + BELT_INVENTORY_SLOT_COUNT,
|
|
|
|
|
|
|
|
|
|
INVENTORY_AND_EQUIP_SLOT_MAX = BELT_INVENTORY_SLOT_END,
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
#pragma pack(push, 1)
|
|
|
|
|
|
|
|
|
|
typedef struct SItemPos
|
|
|
|
|
{
|
|
|
|
|
BYTE window_type;
|
|
|
|
|
WORD cell;
|
|
|
|
|
SItemPos ()
|
|
|
|
|
{
|
|
|
|
|
window_type = INVENTORY;
|
|
|
|
|
cell = WORD_MAX;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
SItemPos (BYTE _window_type, WORD _cell)
|
|
|
|
|
{
|
|
|
|
|
window_type = _window_type;
|
|
|
|
|
cell = _cell;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
bool IsValidItemPosition() const
|
|
|
|
|
{
|
|
|
|
|
switch (window_type)
|
|
|
|
|
{
|
|
|
|
|
case RESERVED_WINDOW:
|
|
|
|
|
return false;
|
|
|
|
|
case INVENTORY:
|
|
|
|
|
case EQUIPMENT:
|
|
|
|
|
case BELT_INVENTORY:
|
|
|
|
|
return cell < INVENTORY_AND_EQUIP_SLOT_MAX;
|
|
|
|
|
case DRAGON_SOUL_INVENTORY:
|
|
|
|
|
return cell < (DRAGON_SOUL_INVENTORY_MAX_NUM);
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ũ<>Ⱑ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> window<6F><77> valid üũ<C3BC><C5A9> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>.
|
|
|
|
|
case SAFEBOX:
|
|
|
|
|
case MALL:
|
|
|
|
|
return false;
|
|
|
|
|
default:
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
bool IsEquipPosition() const
|
|
|
|
|
{
|
|
|
|
|
return ((INVENTORY == window_type || EQUIPMENT == window_type) && cell >= INVENTORY_MAX_NUM && cell < INVENTORY_MAX_NUM + WEAR_MAX_NUM)
|
|
|
|
|
|| IsDragonSoulEquipPosition();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
bool IsDragonSoulEquipPosition() const
|
|
|
|
|
{
|
|
|
|
|
return (DRAGON_SOUL_EQUIP_SLOT_START <= cell) && (DRAGON_SOUL_EQUIP_SLOT_END > cell);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
bool IsBeltInventoryPosition() const
|
|
|
|
|
{
|
|
|
|
|
return (BELT_INVENTORY_SLOT_START <= cell) && (BELT_INVENTORY_SLOT_END > cell);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
bool IsDefaultInventoryPosition() const
|
|
|
|
|
{
|
|
|
|
|
return INVENTORY == window_type && cell < INVENTORY_MAX_NUM;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
bool operator==(const struct SItemPos& rhs) const
|
|
|
|
|
{
|
|
|
|
|
return (window_type == rhs.window_type) && (cell == rhs.cell);
|
|
|
|
|
}
|
|
|
|
|
bool operator<(const struct SItemPos& rhs) const
|
|
|
|
|
{
|
|
|
|
|
return (window_type < rhs.window_type) || ((window_type == rhs.window_type) && (cell < rhs.cell));
|
|
|
|
|
}
|
|
|
|
|
} TItemPos;
|
|
|
|
|
|
|
|
|
|
const TItemPos NPOS (RESERVED_WINDOW, WORD_MAX);
|
|
|
|
|
|
|
|
|
|
typedef enum
|
|
|
|
|
{
|
|
|
|
|
SHOP_COIN_TYPE_GOLD, // DEFAULT VALUE
|
|
|
|
|
SHOP_COIN_TYPE_SECONDARY_COIN,
|
|
|
|
|
} EShopCoinType;
|
|
|
|
|
|
|
|
|
|
#pragma pack(pop)
|
|
|
|
|
|
|
|
|
|
#endif
|