/** * 属性 id */ import { JOB_TYPE } from ".."; export enum ABI_TYPE{ /**生命 */ ABI_HP = 1, /**物攻 */ ABI_ATK = 2, /**策攻 */ ABI_MATK = 3, /**物防 */ ABI_DEF = 4, /**策防 */ ABI_MDEF = 5, /**敏捷 */ ABI_AGI = 6, /**幸运 */ ABI_LUK = 7, /**移动 */ ABI_SPEED = 8, //主属性 end /**命中 */ ABI_HIT = 9, /**暴击等级 */ ABI_CRI = 10, /**格挡等级 */ ABI_FLEE = 11, /**抗暴等级 */ ABI_ANT_CRI = 12, /**伤害加深等级 */ ABI_DAMAGE_INCREASE = 13, /**伤害减免等级 */ ABI_DAMAGE_DECREASE = 14, /**忽视防御等级 */ ABI_DEF_IGNORE = 15, /**吸血等级 */ ABI_BLOOD_SUCK = 16, /**怒气 */ ABI_AP = 17, ABI_MAX, } export enum SEID_TYPE { /**属性固定值加成(数值) */ TYPE101 = 101, /**属性固定值加成(百分比) */ TYPE102 = 102, /**复合属性 */ TYPE999 = 999, } export enum ABI_STAGE { START = 0, HP = 1, ATK = 2, DEF = 3, MDEF = 4, AGI = 5, LUK = 6, END = 6 } export const ATTR = {} //武将训练等级 export const HEROTARIN = { 1: "hp", 2: "atk", 3: "def", 4: "mdef", 5: "agi", 6: "luk" }; //战力系数 export const CE_RATIO = { "hp" : 1, "atk" : 2, "matk": 2, "def": 2, "mdef": 2, "agi": 2, "luk": 0, "hit": 0, "cri": 0, "flee": 0, "antCri": 0, "damageIncrease": 0, "damageDecrease": 0, "defIngnore": 0, "bloodSuck": 0, }; export const HERO_ATTR = { 1: "hp", // 生命 2: "atk", // 物攻 3: "matk", // 策攻 4: "def", // 物防 5: "mdef", // 测防 6: "agi", // 敏捷 7: "luk", // 幸运 8: "speed", // 移动 9: "hit", // 命中等级 10: "cri", // 暴击等级 11: "flee", // 格挡等级 12: "antCri", // 抗暴等级 13: "damageIncrease", // 伤害加深等级 14: "damageDecrease", // 伤害减免等级 15: "defIngnore", // 忽视防御等级 16: "bloodSuck", // 吸血等级 17: "ap" // 怒气 }; export const ABI_TYPE_TO_STAGE = new Map number)>([ [ABI_STAGE.HP, ABI_TYPE.ABI_HP], [ABI_STAGE.ATK, (jobType:number) => { return jobType == JOB_TYPE.PHYSIC?ABI_TYPE.ABI_ATK: ABI_TYPE.ABI_MATK}], [ABI_STAGE.DEF, ABI_TYPE.ABI_DEF], [ABI_STAGE.MDEF, ABI_TYPE.ABI_MDEF], [ABI_STAGE.AGI, ABI_TYPE.ABI_AGI], [ABI_STAGE.LUK, ABI_TYPE.ABI_LUK] ]); export function getAtrrNameById(attrId: number):string { return HERO_ATTR[attrId]; }; export function getAttrCeRatio(attr: string):number { return CE_RATIO[attr]; }; export function getAttrNameByJobStage(jobStage: number) { return HEROTARIN[jobStage]; };