Files
ZYZ/shared/consts/constModules/abilityConst.ts
mamengke01 04fa4e79cf 装备
2020-12-25 14:15:36 +08:00

160 lines
3.0 KiB
TypeScript

/**
* 属性 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 JEWEL_ATTR = {
1: "hp",
2: "atk",
3: "def",
4: "mdef",
5: "agi",
6: "luk"
}
const BASE_ATTR = {
'hp' : 1 ,
'atk' : 2,
'def' : 3,
'mdef' : 4,
'agi' : 5,
'luk' : 6
}
export const ABI_TYPE_TO_STAGE = new Map<number, number | ((jobType: number) => 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 ;
};
export function getAttrNameByJobStage(jobStage: number) {
return HEROTARIN[jobStage];
};
export function getTeraphAttr() {
return BASE_ATTR;
};