Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #pragma once
- #define WORD_MAX 0xffff
- enum EMisc
- {
- MAX_HOST_LENGTH = 15,
- IP_ADDRESS_LENGTH = 15,
- LOGIN_MAX_LEN = 30,
- PASSWD_MAX_LEN = 16,
- PLAYER_PER_ACCOUNT = 4,
- ACCOUNT_STATUS_MAX_LEN = 8,
- CHARACTER_NAME_MAX_LEN = 48,
- SHOP_SIGN_MAX_LEN = 32,
- INVENTORY_MAX_NUM = 180,
- 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,
- LANGUAGE_MAX_LEN = 2,
- LANGUAGE_MAX_NUM = 5,
- GUILD_NAME_MAX_LEN = 12,
- SHOP_HOST_ITEM_MAX_NUM = 40, /* 호스트의 최대 아이템 개수 */
- SHOP_GUEST_ITEM_MAX_NUM = 18, /* 게스트의 최대 아이템 개수 */
- SHOP_PRICELIST_MAX_NUM = 40, ///< 개인상점 가격정보 리스트에서 유지할 가격정보의 최대 갯수
- CHAT_MAX_LEN = 512,
- QUICKSLOT_MAX_NUM = 36,
- JOURNAL_MAX_NUM = 2,
- QUERY_MAX_LEN = 8192,
- FILE_MAX_LEN = 128,
- PLAYER_EXP_TABLE_MAX = 150,
- PLAYER_MAX_LEVEL_CONST = 150,
- 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 = 35,
- //LIMIT_GOLD
- GOLD_MAX = 1000000000000001LL,
- MAX_PASSPOD = 8 ,
- //END_LIMIT_GOLD
- OPENID_AUTHKEY_LEN = 32,
- 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,
- /**
- **** 현재까지 할당 된 아이템 영역 정리 (DB상 Item Position) ****
- +------------------------------------------------------+ 0
- | 캐릭터 기본 인벤토리 (45칸 * 2페이지) 90칸 |
- +------------------------------------------------------+ 90 = INVENTORY_MAX_NUM(90)
- | 캐릭터 장비 창 (착용중인 아이템) 32칸 |
- +------------------------------------------------------+ 122 = INVENTORY_MAX_NUM(90) + WEAR_MAX_NUM(32)
- | 용혼석 장비 창 (착용중인 용혼석) 12칸 |
- +------------------------------------------------------+ 134 = 122 + DS_SLOT_MAX(6) * DRAGON_SOUL_DECK_MAX_NUM(2)
- | 용혼석 장비 창 예약 (아직 미사용) 18칸 |
- +------------------------------------------------------+ 152 = 134 + DS_SLOT_MAX(6) * DRAGON_SOUL_DECK_RESERVED_MAX_NUM(3)
- | 벨트 인벤토리 (벨트 착용시에만 벨트 레벨에 따라 활성)|
- +------------------------------------------------------+ 168 = 152 + BELT_INVENTORY_SLOT_COUNT(16) = INVENTORY_AND_EQUIP_CELL_MAX
- | 미사용 |
- +------------------------------------------------------+ ??
- */
- };
- 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_COSTUME_MOUNT, // 21
- #ifdef __WEAPON_COSTUME_SYSTEM__
- WEAR_COSTUME_WEAPON, //22
- #endif
- #ifdef __ACCE_SYSTEM__
- WEAR_COSTUME_ACCE, // 23
- #endif
- #ifdef ERBE_DES_DRACHENGOTTES
- WEAR_COSTUME_ERBE, //24
- #endif
- WEAR_RING1, // 25 : 신규 반지슬롯1 (왼쪽)
- WEAR_RING2, // 26 : 신규 반지슬롯2 (오른쪽)
- WEAR_BELT, // 27 : 신규 벨트슬롯
- #ifdef __ITEM_SHINING__
- WEAR_SHINING_WEAPON_1, //28
- WEAR_SHINING_WEAPON_2, //29
- WEAR_SHINING_WEAPON_3, //30
- WEAR_SHINING_ARMOR_1, //31
- WEAR_SHINING_ARMOR_2, //32
- WEAR_SHINING_SPECIAL, //33
- #endif
- WEAR_MAX = 35 //
- };
- enum EDragonSoulDeckType
- {
- DRAGON_SOUL_DECK_0,
- DRAGON_SOUL_DECK_1,
- DRAGON_SOUL_DECK_MAX_NUM = 2,
- DRAGON_SOUL_DECK_RESERVED_MAX_NUM = 3, // NOTE: 중요! 아직 사용중이진 않지만, 3페이지 분량을 예약 해 둠. DS DECK을 늘릴 경우 반드시 그 수만큼 RESERVED에서 차감해야 함!
- };
- 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 /* 기술 최대 레벨 */
- enum EAbilityDifficulty
- {
- DIFFICULTY_EASY,
- DIFFICULTY_NORMAL,
- DIFFICULTY_HARD,
- DIFFICULTY_VERY_HARD,
- DIFFICULTY_NUM_TYPES
- };
- enum EAbilityCategory
- {
- CATEGORY_PHYSICAL, /* 신체적 어빌리티 */
- CATEGORY_MENTAL, /* 정신적 어빌리티 */
- CATEGORY_ATTRIBUTE, /* 능력 어빌리티 */
- 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),
- RACE_FLAG_BOSS = (1 << 17),
- RACE_FLAG_METIN = (1 << 18),
- };
- 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,
- //#ifdef __ACCE_SYSTEM__ [remove manually in-case you disable them]
- PART_ACCE,
- //#endif
- PART_ARROW_TYPE,
- PART_MAX_NUM,
- PART_WEAPON_SUB,
- };
- enum EChatType
- {
- CHAT_TYPE_TALKING, /* 그냥 채팅 */
- CHAT_TYPE_INFO, /* 정보 (아이템을 집었다, 경험치를 얻었다. 등) */
- CHAT_TYPE_NOTICE, /* 공지사항 */
- CHAT_TYPE_PARTY, /* 파티말 */
- CHAT_TYPE_GUILD, /* 길드말 */
- CHAT_TYPE_COMMAND, /* 일반 명령 */
- CHAT_TYPE_SHOUT, /* 외치기 */
- 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 공격력 +x%
- APPLY_MALL_DEFBONUS, // 65 방어력 +x%
- APPLY_MALL_EXPBONUS, // 66 경험치 +x%
- APPLY_MALL_ITEMBONUS, // 67 아이템 드롭율 x/10배
- APPLY_MALL_GOLDBONUS, // 68 돈 드롭율 x/10배
- APPLY_MAX_HP_PCT, // 69 최대 생명력 +x%
- APPLY_MAX_SP_PCT, // 70 최대 정신력 +x%
- APPLY_SKILL_DAMAGE_BONUS, // 71 스킬 데미지 * (100+x)%
- APPLY_NORMAL_HIT_DAMAGE_BONUS, // 72 평타 데미지 * (100+x)%
- APPLY_SKILL_DEFEND_BONUS, // 73 스킬 데미지 방어 * (100-x)%
- APPLY_NORMAL_HIT_DEFEND_BONUS, // 74 평타 데미지 방어 * (100-x)%
- APPLY_PC_BANG_EXP_BONUS, // 75 PC방 아이템 EXP 보너스
- APPLY_PC_BANG_DROP_BONUS, // 76 PC방 아이템 드롭율 보너스
- APPLY_EXTRACT_HP_PCT, // 77 사용시 HP 소모
- APPLY_RESIST_WARRIOR, // 78 무사에게 저항
- APPLY_RESIST_ASSASSIN, // 79 자객에게 저항
- APPLY_RESIST_SURA, // 80 수라에게 저항
- APPLY_RESIST_SHAMAN, // 81 무당에게 저항
- APPLY_ENERGY, // 82 기력
- APPLY_DEF_GRADE, // 83 방어력. DEF_GRADE_BONUS는 클라에서 두배로 보여지는 의도된 버그(...)가 있다.
- APPLY_COSTUME_ATTR_BONUS, // 84 코스튬 아이템에 붙은 속성치 보너스
- APPLY_MAGIC_ATTBONUS_PER, // 85 마법 공격력 +x%
- APPLY_MELEE_MAGIC_ATTBONUS_PER, // 86 마법 + 밀리 공격력 +x%
- APPLY_RESIST_ICE, // 87 냉기 저항
- APPLY_RESIST_EARTH, // 88 대지 저항
- APPLY_RESIST_DARK, // 89 어둠 저항
- APPLY_ANTI_CRITICAL_PCT, //90 크리티컬 저항
- APPLY_ANTI_PENETRATE_PCT, //91 관통타격 저항
- APPLY_ATTBONUS_BOSS,
- APPLY_ATTBONUS_METIN,
- 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시간
- 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, // 경험치가 1.2배
- PREMIUM_ITEM, // 아이템 드롭율이 2배
- PREMIUM_SAFEBOX, // 창고가 1칸에서 3칸
- PREMIUM_AUTOLOOT, // 돈 자동 줍기
- PREMIUM_FISH_MIND, // 고급 물고기 낚일 확률 상승
- PREMIUM_MARRIAGE_FAST, // 금실 증가 양을 빠르게합니다.
- PREMIUM_GOLD, // 돈 드롭율이 1.5배
- 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,
- SE_EQUIP_HALLOWEEN_CANDY,
- SE_EQUIP_HAPPINESS_RING,
- SE_EQUIP_LOVE_PENDANT,
- #ifdef __ACCE_SYSTEM__
- SE_EFFECT_ACCE_SUCCEDED,
- SE_EFFECT_ACCE_EQUIP,
- #endif
- } ;
- enum ETeenFlags
- {
- TEENFLAG_NONE = 0,
- TEENFLAG_1HOUR,
- TEENFLAG_2HOUR,
- TEENFLAG_3HOUR,
- TEENFLAG_4HOUR,
- TEENFLAG_5HOUR,
- };
- #include "item_length.h"
- 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);
- // 동적으로 크기가 정해지는 window는 valid 체크를 할 수가 없다.
- 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);
- return (window_type == INVENTORY) && (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;
- #ifdef __SKILL_COLOR_SYSTEM__
- namespace ESkillColorLength
- {
- enum ESkillColorLength
- {
- MAX_SKILL_COUNT = 6,
- MAX_EFFECT_COUNT = 5,
- MAX_BUFF_COUNT = 5,
- BUFF_BEGIN = MAX_SKILL_COUNT,
- };
- }
- #endif
- #pragma pack(pop)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement