#ifndef _SOLAR_SLOT_ITEMOPTIONHEADER_H #define _SOLAR_SLOT_ITEMOPTIONHEADER_H #pragma once //================================================================================================== /// 物品选项处理部分通用标题 /** @author Kim Min Wook < taiyo@webzen.co.kr > @since 2004. 12. 29 @remark - @note - @history - 09.09.06 | waverix | code rearrangement */ //================================================================================================== // NOTE: f101221.3L, add new namespace 'ns_formula' to group calculation logic namespace ns_formula {}; using namespace ns_formula; // to compatible custom logic //-------------------------------------------------------------------------------------------------- // 选项相关结构体 //------------------------------------------------------------------------- enum eENCHANTLEVEL { ENCHANT_LOW, //< 0 ~ 6 ENCHANT_MIDDLE, //< 7 ~ 9 ENCHANT_HIGH, //< 10 ~ 12 #ifdef _NA_003966_20111227_ADD_ENCHANT ENCHANT_HIGHEST, // 13~15 #endif //_NA_003966_20111227_ADD_ENCHANT ENCHANT_MAX, }; enum eRANK { RANK_F = -1, //< 稀有物品等级时使用 RANK_E = 0, RANK_D, RANK_C, RANK_B, RANK_MA, RANK_A, RANK_PA, RANK_MS, RANK_S, RANK_PS, RANK_MAX, }; enum eRANK_LEVEL { RANK_LOW = 0, //< E ~ B RANK_MIDDLE = 1, //< -A ~ +A RANK_HIGH = 2, //< -S ~ +S }; // _NA_000251_20100727_SOCKET_SYSTEM // 贾德等级(为了以后增加等级也容易添加名称,以数字形式命名) enum eSOCKET_LEVEL { kZardGradeUnused = 0, // 禁用贾德等级 kZardGrade1 = 1, // 下级 kZardGrade2 = 2, // 中级 kZardGrade3 = 3, // 上级 kZardGrade4 = 4, // 最高级 kZardGradeMax, }; enum eSOCKET { SOCKET_1 = 0, SOCKET_2, SOCKET_3, #ifdef _NA_0_20100727_SOCKET_SYSTEM_CONVERT SOCKET_4, SOCKET_5, #endif // _NA_0_20100727_SOCKET_SYSTEM_CONVERT SOCKET_MAX, }; enum { SOCKET_MAX_V8 = 5 }; enum { SOCKET_MAX_V7 = 3 }; // _NA_0_20100727_SOCKET_SYSTEM_CONVERT // db 2位信息 enum eSOCKET_IDENTIFY_TYPE { eSOCKET_IDENTIFY_NOT_PROCESS = 0, // 非插口道具(一般道具),尚未决定(掉落等) eSOCKET_UNIDENTIFIED_ITEM, // 未确认插口道具(1次成功) eSOCKET_FAIL_IDENTIFY_PROCESS, // 未成为插口道具的物品(在第一次未确认插口生成过程中失败) eSOCKET_IDENTIFIED_ITEM, // 确认插口个数的道具 }; enum sLIMITED_NUM { LIMITED_1 = 0, LIMITED_2, LIMITED_3, LIMITED_MAX, }; // _NA_003740_20111122_RANDOM_ITEM // 随机物品值种类等级 struct RandomValueTypeGrade { enum Value { kGrade1 = 1, kGrade2 = 2 }; enum Boundary { kMinGrade = kGrade1, kMaxGrade = kGrade2 }; }; // RandomValueTypeGrade // 随机物品值等级 struct RandomValueGrade { #ifdef _NA_003740_20210624_ADDITEMRANDOM_ITEM6 enum Value { kNone = 0, // 无等级 kGrade1 = 1, kGrade2 = 2, kGrade3 = 3, kGrade4 = 4, kGrade5 = 5, kGrade6 = 6, kGrade7 = 7 }; enum Boundary { kMinGrade = kGrade1, kMaxGrade = kGrade7 }; #else enum Value { kNone = 0, // 无等级 kGrade1 = 1, kGrade2 = 2, kGrade3 = 3, kGrade4 = 4, kGrade5 = 5, kGrade6 = 6 }; enum Boundary { kMinGrade = kGrade1, kMaxGrade = kGrade6 }; #endif }; // RandomValueGrade //-------------------------------------------------------------------------------------------------- //基本选项信息 //eATTRTYPE的许多属性中,只删除了道具中使用的。 //技能中使用所有属性。 //------------------------------------------------------------------------------- //注意:不要打折扣。 //由于不同的调试工作,索引错误 //------------------------------------------------------------------------------- // NOTE: [V]=value type, [R]=ratio type //------------------------------------------------------------------------------- const eATTR_TYPE g_ITEM_OPTION[] = { eATTR_TYPE_INVALID, //[ 0] 不存在(初始值) eATTR_ATTACK_SPEED, //[ 1] 增加总攻击速度 eATTR_PHYSICAL_ATTACK_SUCCESS_RATIO, //[ 2] 全体攻击成功率增加率 eATTR_MAGICAL_FIRE_ATTACK_POWER, //[ 3] [V]元素(火)攻击力 eATTR_MAGICAL_WATER_ATTACK_POWER, //[ 4] [V]元素(水)攻击力 eATTR_MAGICAL_EARTH_ATTACK_POWER, //[ 5] [V]元素(风)攻击力 eATTR_MAGICAL_WIND_ATTACK_POWER, //[ 6] [V]元素(土)攻击力 eATTR_MAGICAL_DARKNESS_ATTACK_POWER, //[ 7] [V]元素(黑暗)攻击力 eATTR_DEL_PHYSICAL_TARGET_DEFENSE_RATIO, //[ 8] [R]攻击目标物理防御力减少率 eATTR_DEL_FIRE_TARGET_DEFENSE_RATIO, //[ 9] [R]攻击目标元素(火)防御力减少率 eATTR_DEL_WATER_TARGET_DEFENSE_RATIO, //[ 10] [R]攻击目标元素(水)防御力减少率 eATTR_DEL_EARTH_TARGET_DEFENSE_RATIO, //[ 11] [R]攻击目标元素(风)防御力减少率 eATTR_DEL_WIND_TARGET_DEFENSE_RATIO, //[ 12] [R]攻击目标元素(大地)防御力减少率 eATTR_DEL_DARKNESS_TARGET_DEFENSE_RATIO, //[ 13] [R]攻击目标元素(黑暗)防御力减少率 eATTR_MOVE_SPEED, //[ 14] 增加移动速度 eATTR_PHYSICAL_ATTACK_BLOCK_RATIO, //[ 15] [R]攻击防御率增加率 #ifdef _NA001605_EP2_ATTRIBUTES_RENEWAL_ eATTR_DEL_FIRE_DAMAGE, //[ 16] [R]EP2:元素(火)伤害减率 eATTR_DEL_WATER_DAMAGE, //[ 17] [R]EP2:对元素(水)的伤害减免率 eATTR_DEL_WIND_DAMAGE, //[ 18] [R]EP2:元素(风)伤害减率 eATTR_DEL_EARTH_DAMAGE, //[ 19] [R]EP2:对元素(大地)的伤害减免率 eATTR_DEL_DARKNESS_DAMAGE, //[ 20] [R]EP2:对元素(黑暗)的伤害减免率 #else eATTR_MAGICAL_FIRE_DEFENSE_POWER, //[ 16] EP2:未使用,[V]魔法属性抵抗(火) eATTR_MAGICAL_WATER_DEFENSE_POWER, //[ 17] EP2:未使用,[V]魔法属性抵抗(水) eATTR_MAGICAL_EARTH_DEFENSE_POWER, //[ 18] EP2:未使用,[V]魔法属性抵抗(土) eATTR_MAGICAL_WIND_DEFENSE_POWER, //[ 19] EP2:未使用,[V]魔法属性抵抗(风) eATTR_MAGICAL_DARKNESS_DEFENSE_POWER, //[ 20] EP2:未使用,[V]魔法属性抵抗(黑暗) #endif eATTR_OPTION_ALL_ATTACK_POWER, //[ 21] EP2:未使用,选项整体物理攻击力,EP2:47相同 eATTR_OPTION_ALL_DEFENSE_POWER, //[ 22] EP2:未使用,选项整体物理防御力,EP2:49相同 eATTR_STR, //[ 23] 属性(力量) eATTR_DEX, //[ 24] 属性(敏捷) eATTR_INT, //[ 25] 属性(智力) eATTR_VIT, //[ 26] 属性(体力) eATTR_SPR, //[ 27] 属性(精神力) eATTR_MAX_HP, //[ 28] 最大HP eATTR_MAX_MP, //[ 29] 最大MP/SP eATTR_ADD_SKILL_ATTACK_POWER, //[ 30] 技能追加攻击力 eATTR_ADD_SKILL_DAMAGE_RATIO, //[ 31] 技能伤害加成率 eATTR_INCREASE_STAT_POINT, //[ 32] 五重奏 eATTR_DECREASE_LIMIT_STAT, //[ 33] 五重奏限制数值减少 eATTR_MP_SPEND_INCREASE, //[ 34] MP消耗增减 eATTR_MAGICAL_ALL_ATTACK_POWER, //[ 35] 全部元素攻击力 #ifdef _NA001605_EP2_ATTRIBUTES_RENEWAL_ eATTR_DEL_MAGICAL_ALL_DAMAGE, //[ 36] [R]EP2:元素(所有)伤害减率 #else eATTR_MAGICAL_ALL_DEFENSE_POWER, //[ 36] EP1:所有元素防御力 #endif eATTR_ABSORB_HP, //[ 37] HP吸收 eATTR_ABSORB_MP, //[ 38] MP/SP吸收 eATTR_RECOVERY_HP, //[ 39] HP恢复量 eATTR_RECOVERY_MP, //[ 40] MP恢复量 eATTR_ADD_ALL_CRITICAL_RATIO, //[ 41] 整体概率 eATTR_CRITICAL_DAMAGE_CHANGE, //[ 42] 暴击伤害 eATTR_REFLECT_DAMAGE_RATIO, //[ 43] 伤害反射 eATTR_BONUS_MONEY_RATIO, //[ 44] 增加游戏币 eATTR_BONUS_EXP_RATIO, //[ 45] 增加经验值 eATTR_AREA_ATTACK_RATIO, //[ 46] 多重攻击概率 eATTR_OPTION_PHYSICAL_ATTACK_POWER, //[ 47] 物理攻击力 eATTR_OPTION_MAGICAL_ATTACK_POWER, //[ 48] EP2:未使用,魔法攻击力 eATTR_OPTION_PHYSICAL_DEFENSE_POWER, //[ 49] 物理防御力 eATTR_OPTION_MAGICAL_DEFENSE_POWER, //[ 50] EP2:未使用,魔法防御力 eATTR_DECREASE_DAMAGE, //[ 51] 伤害减少(适用时间:减少适用伤害本身.) eATTR_RESURRECTION_RATIO, //[ 52] 死亡时自身复活的几率 eATTR_DOUBLE_DAMAGE_RATIO, //[ 53] 伤害的两倍几率 eATTR_LUCKMON_INC_DAMAGE, //[ 54] 攻击幸运怪时追加伤害 eATTR_COPOSITE_INC_RATIO, //[ 55] 组合成功率增加 eATTR_BYPASS_DEFENCE_RATIO, //[ 56] 防御无视率 eATTR_INCREASE_MIN_DAMAGE, //[ 57] 增加最小伤害 eATTR_INCREASE_MAX_DAMAGE, //[ 58] 最大伤害增加 eATTR_DECREASE_ITEMDURA_RATIO, //[ 59] 道具耐久力减少无视确认率 eATTR_RESISTANCE_BADSTATUS_RATIO, //[ 60] 技能效果无视率 eATTR_INCREASE_SKILLDURATION, //[ 61] 技能持续时间增加(Buff系列) eATTR_DECREASE_SKILL_SKILLDURATION, //[ 62] 技能持续时间增减(Debuff系列)= _countof(g_ITEM_OPTION))) { return false; }; bool result = CheckAttrValidity(g_ITEM_OPTION[option_index], option_type, option_value); return result; } //================================================================================================== #endif //_SOLAR_SLOT_ITEMOPTIONHEADER_H