177 lines
7.5 KiB
C
177 lines
7.5 KiB
C
#pragma once
|
|
|
|
enum
|
|
{
|
|
MIX_CHECK_ITEM_GROUP = 1, // 아이템 대분류가 지정 수치와 동일
|
|
MIX_CHECK_ITEM_CLASS = 2,
|
|
MIX_CHECK_ITEM_ID = 3,
|
|
MIX_CHECK_ITEM_RANK = 4,
|
|
MIX_CHECK_ITEM_LEVEL = 5,
|
|
MIX_CHECK_INSTANCE_FLAG_ON = 6,
|
|
MIX_CHECK_INSTANCE_FLAG_OFF = 7,
|
|
|
|
MIX_CHECK_ENHANCE_MATCH = 8,
|
|
MIX_CHECK_ENHANCE_DISMATCH = 9,
|
|
MIX_CHECK_ITEM_COUNT = 10,
|
|
MIX_CHECK_ELEMENTAL_EFFECT_MATCH = 11,
|
|
MIX_CHECK_ELEMENTAL_EFFECT_MISMATCH = 12,
|
|
MIX_CHECK_ITEM_WEAR_POSITION_MATCH = 13,
|
|
MIX_CHECK_ITEM_WEAR_POSITION_MISMATCH = 14,
|
|
MIX_CHECK_ITEM_COUNT_GE = 15, // 아이템 개수가 지정 수량 이상
|
|
|
|
MIX_CHECK_ITEM_ETHEREAL_DURABILITY_E = 16, // 에테리얼 내구도가 지정 수치와 동일
|
|
MIX_CHECK_ITEM_ETHEREAL_DURABILITY_NE = 17, // 에테리얼 내구도가 지정 수치와 다름
|
|
MIX_CHECK_ITEM_GRADE = 18, // 아이템 등급이 지정 수치와 동일
|
|
|
|
MIX_CHECK_SAME_ITEM_ID = 19, // 지정된 슬롯의 아이템과 동일한 아이템 코드(보조 재료 상호 참조형)
|
|
MIX_CHECK_SAME_SUMMON_CODE = 20, // 지정된 슬롯의 아이템과 동일한 소환수 코드(보조 재료 상호 참조형)
|
|
MIX_CHECK_ITEM_EXPIRED_TIME_GE = 21, // 기간제 아이템의 남은 시간이 지정 수치보다 크거나 같음
|
|
MIX_CHECK_ITEM_EXPIRED_TIME_LE = 22, // 기간제 아이템의 남은 시간이 지정 수치보다 작거나 같음
|
|
MIX_CHECK_ITEM_FIRST_SOCKET_CODE_MATCH = 23, // 첫번째 소켓의 코드가 지정 수치와 동일
|
|
MIX_CHECK_SAME_ITEM_ENHANCE = 24, // 지정된 슬롯의 아이템과 동일한 강화(보조 재료 상호 참조형)
|
|
MIX_CHECK_SAME_SKILL_ID = 25, // 지정된 슬롯의 아이템과 동일한 스킬 ID(보조 재료 상호 참조형)
|
|
|
|
MIX_CHECK_ITEM_MAX_ETHEREAL_DURABILITY_E = 26, // 최대 에테리얼 내구도가 지정 수치와 동일
|
|
MIX_CHECK_ITEM_MAX_ETHEREAL_DURABILITY_NE = 27, // 최대 에테리얼 내구도가 지정 수치와 다름
|
|
|
|
MIX_CHECK_ITEM_FIRST_SOCKET_CODE_G = 28, // 첫번째 소켓의 코드가 지정 수치보다 작음(보조 재료 상호 참조형, 소켓의 코드에는 일반적으로 대소 비교의 의미가 없지만 벨트 소켓 비교를 위해 추가)
|
|
MIX_CHECK_ITEM_FIRST_SOCKET_CODE_L = 29, // 첫번째 소켓의 코드가 지정 수치보다 작음(보조 재료 상호 참조형, 소켓의 코드에는 일반적으로 대소 비교의 의미가 없지만 벨트 소켓 비교를 위해 추가)
|
|
MIX_CHECK_ITEM_TYPE = 30, // 아이템 타입이 지정 수치와 동일
|
|
MIX_CHECK_SAME_ITEM_CLASS = 31, // 지정된 슬롯의 아이템과 동일한 중분류(보조 재료 상호 참조형)
|
|
MIX_CHECK_ITEM_GROUP_NE = 32, // 아이템 대분류가 지정 수치와 다름
|
|
MIX_CHECK_INCLUDE_RACE_LIMIT = 33, // 지정된 슬롯의 아이템의 직업 제한에 포함 관계(허용되는 직업 제한의 예. 아수라⊂아수라, 아수라⊂전종족, 아수라⊂(아수라 or 데바))
|
|
MIX_CHECK_AWAKEN_ITEM = 34, // 각성 대상 아이템의 상태 확인
|
|
|
|
MIX_CHECK_SAME_SUMMON_RATE = 35, // 지정된 슬롯의 아이템과 동일한 소환수 등급
|
|
MIX_CHECK_BASE_FLAG_ON = 36,
|
|
MIX_CHECK_DESIGNER_DEFIEND_TYPE = 37, // 기획자가 지정한 룰에 만족하는지 체크
|
|
MIX_CHECK_BASE_FLAG_OFF = 38,
|
|
MIX_CHECK_ENHANCE_GE = 39,
|
|
MIX_CHECK_ENHANCE_LE = 40,
|
|
MIX_CHECK_SAME_ITEM_GROUP = 41,
|
|
|
|
// Fraun Sky Accessories 7/16/2025
|
|
MIX_CHECK_ADDITIONAL_ITEM_EFFECT = 42,
|
|
MIX_CHECK_ADDITIONAL_ITEM_EFFECT_AWAKEN = 43,
|
|
MIX_CHECK_ADDITIONAL_ITEM_EFFECT_ERASER = 44,
|
|
MIX_CHECK_ITEM_GRADE_HIGHER = 58,
|
|
|
|
MIX_CHECK_ITEM_WEAR_TYPE = 72,
|
|
MIX_CHECK_ITEMID_EQUAL_OR_MORE = 73,
|
|
MIX_CHECK_ITEMID_EQUAL_OR_LESS = 74,
|
|
MIX_CHECK_IDENTIFIED_ITEM = 75,
|
|
};
|
|
|
|
enum
|
|
{
|
|
DESIGNER_TYPE_WEAPON = 0, // 무기류
|
|
DESIGNER_TYPE_ARMOR = 1, // 방어구류 (강화 가능한 모든 방어구)
|
|
DESIGNER_TYPE_DURABILITY = 2, // 방어구류 (강화 가능한 모든 방어구)
|
|
};
|
|
|
|
struct MaterialInfo
|
|
{
|
|
static const int MATERIAL_INFO_COUNT = 5;
|
|
|
|
int type[ MATERIAL_INFO_COUNT ];
|
|
int value[ MATERIAL_INFO_COUNT ];
|
|
};
|
|
|
|
struct MixBase
|
|
{
|
|
enum
|
|
{
|
|
MIX_ENHANCE = 101,
|
|
MIX_ENHANCE_SKILL_CARD = 102,
|
|
MIX_ENHANCE_WITHOUT_FAIL = 103,
|
|
MIX_ENHANCE_CREATURE_CARD = 104,
|
|
MIX_ENHANCE_CREATURE_CARD_WITH_JOKER = 105,
|
|
MIX_ENHANCE_SKILL_CARD_WITHOUT_FAIL = 106,
|
|
MIX_ULTIMATE_ENHANCE = 111,
|
|
MIX_SET_LEVEL = 201,
|
|
MIX_SET_LEVEL_CREATE_ITEM = 202,
|
|
MIX_SET_LEVEL_WITH_FAIL = 203,
|
|
MIX_SET_LEVEL_SET_FLAG = 211,
|
|
MIX_SET_LEVEL_SET_FLAG_CREATE_ITEM = 212,
|
|
MIX_SET_LEVEL_SET_FLAG_CREATE_ITEM_WITH_MAIN_MATERIAL_LEVEL = 213,
|
|
MIX_SET_LEVEL_ON_SUB_MATERIAL_LEVEL_SET_FLAG = 214,
|
|
MIX_SET_LEVEL_SET_FLAG_CREATE_ITEM_WITH_MAIN_MATERIAL_LEVEL_SET_ZERO = 215,
|
|
MIX_ADD_LEVEL = 301,
|
|
MIX_ADD_LEVEL_CREATE_ITEM = 302,
|
|
MIX_ADD_LEVEL_SET_FLAG = 311,
|
|
MIX_ADD_LEVEL_SET_FLAG_CREATE_ITEM = 312,
|
|
MIX_RECYCLE = 401,
|
|
MIX_RECYCLE_ENHANCE = 402,
|
|
MIX_RESTORE_ENHANCE_SET_FLAG = 501,
|
|
MIX_CREATE_ITEM = 601,
|
|
MIX_REPLACE_WITH = 602,
|
|
MIX_CHANGE_APPEARANCE_CODE = 603,
|
|
MIX_CHANGE_USABLE_PERIOD = 604,
|
|
MIX_CREATE_ITEM_IN_MASS = 605,
|
|
MIX_CHANGE_CODE_ADD = 606,
|
|
MIX_REMOVE_APPEARANCE_CODE = 607,
|
|
MIX_REPLACE_WITH_RANDOM = 608,
|
|
MIX_ADD_ADDITIONAL_ITEMEFFECT = 610, // Fraun Sky Accessories 7/12/2025
|
|
MIX_SET_ELEMENTAL_EFFECT = 701,
|
|
MIX_SET_ELEMENTAL_EFFECT_PARAMETER = 702,
|
|
MIX_SET_SOCKET = 703,
|
|
MIX_REPLACE_SOCKET_WITH = 704,
|
|
MIX_SACRIFICE_ITEM_FOR_ETHEREAL_DURABILITY_WITH_MESSAGE = 801,
|
|
MIX_TRANSMIT_ETHEREAL_DURABILITY = 802,
|
|
MIX_RECOVER_EXHAUSTED_ETHEREAL_DURABILITY = 803,
|
|
MIX_SACRIFICE_ITEM_FOR_ETHEREAL_DURABILITY = 804,
|
|
MIX_SACRIFICE_ITEM_FOR_ETHEREAL_STONE_DURABILITY = 805,
|
|
MIX_TRANSMIT_ETHEREAL_DURABILITY_FROM_ETHEREAL_STONE = 806,
|
|
MIX_AWAKEN_ITEM = 807, // 아이템 각성
|
|
MIX_DELETE_AWAKEN_OPTION = 808, // 아이템 각성 해제
|
|
MIX_ITEM_IDENTIFY_FOR_RANDOM_OPTION = 901, // 아이템 랜덤화
|
|
|
|
// AziaMafia MIX_
|
|
MIX_RE_AWAKEN_OPTION = 809,
|
|
MIX_DELETE_RANDOM_OPTION = 902,
|
|
MIX_ITEM_RE_IDENTIFY_FOR_RANDOM_OPTION = 903,
|
|
MIX_RANDOM_SOCKET_SCRIPT = 904,
|
|
MIX_AWAKEN_ITEM_BY_RANDOM_OPTION = 905,
|
|
|
|
MIX_REPLACE_WITH_AND_SCRIPT = 906, // NOT CODED
|
|
MIX_SCRIPT_LUA = 907,
|
|
MIX_REAWAKEN_ITEM_BY_RANDOM_OPTION = 908,
|
|
};
|
|
|
|
// 소켓과 관련된 조합의 후 처리 정책
|
|
enum
|
|
{
|
|
RESULT_SOCKET_DO_NOTHING = 0,
|
|
RESULT_SOCKET_ERASE = 1,
|
|
RESULT_SOCKET_RESET = 2,
|
|
};
|
|
|
|
static const int VALUE_COUNT = 6;
|
|
static const int MAX_SUB_MATERIAL_COUNT = 9;
|
|
static const int MAX_CREATABLE_ITEM = 1000;
|
|
|
|
int id;
|
|
int type;
|
|
int value[ VALUE_COUNT ];
|
|
int sub_material_cnt;
|
|
|
|
MaterialInfo main_material;
|
|
MaterialInfo sub_material[ MAX_SUB_MATERIAL_COUNT ];
|
|
};
|
|
|
|
struct DecomposeBase
|
|
{
|
|
enum
|
|
{
|
|
DECOMPOSE_CREATE_ITEM = 101,
|
|
};
|
|
|
|
int id; // 분해식 ID
|
|
int type; // 유형 ID
|
|
int neededPrice; // 필요돈
|
|
|
|
int value[ MixBase::VALUE_COUNT ]; // 조합유형에 따른 값
|
|
|
|
MaterialInfo material; // 재료 식별 형태
|
|
};
|