139 lines
2.8 KiB
TypeScript
139 lines
2.8 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 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 CE_RATIO[attr];
|
|
};
|
|
|
|
export function getAttrNameByJobStage(jobStage: number) {
|
|
return HEROTARIN[jobStage];
|
|
}; |