258 lines
6.2 KiB
TypeScript
258 lines
6.2 KiB
TypeScript
|
||
|
||
/**
|
||
* 属性 id
|
||
*/
|
||
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_CRI_DAMAGE = 18,
|
||
/**物理伤害加深等级 */
|
||
ABI_PHYSICAL_DAMAGE_INCREASE = 19,
|
||
/**物理伤害减免等级 */
|
||
ABI_PHYSICAL_DAMAGE_DECREASE = 20,
|
||
|
||
/**策略伤害加深等级 */
|
||
ABI_MAGIC_DAMAGE_INCREASE = 21,
|
||
/**策略伤害减免等级 */
|
||
ABI_MAGIC_DAMAGE_DECREASE = 22,
|
||
|
||
/** 治疗加成 */
|
||
ABI_TREATMENT_INCREASE = 23,
|
||
/** 治疗降低 */
|
||
ABI_TREATMENT_DECREASE = 24,
|
||
/** 受治疗加成 */
|
||
ABI_ACCEPT_TREATMENT_INCREASE = 25,
|
||
/** 受治疗降低 */
|
||
ABI_ACCEPT_TREATMENT_DECREASE = 26,
|
||
/** 反弹 */
|
||
ABI_BLOOD_REBOUND = 27,
|
||
/** 反击伤害 */
|
||
ABI_STRIKE_BACK = 28,
|
||
/** 加怒气值 */
|
||
ABI_GAIN_AP = 29,
|
||
|
||
/** 怒气提升效率 / 1000*/
|
||
ABI_RAGE_ADD_PERCENT = 30,
|
||
|
||
/** 格挡减伤提升效率 / 1000*/
|
||
ABI_BLOCK_ADD_PERCENT = 31,
|
||
|
||
/** 护盾 */
|
||
ABI_SHIELD = 32,
|
||
|
||
/** 竞技增伤 */
|
||
ABI_PVP_ADD = 33,
|
||
|
||
/** 竞技减伤 */
|
||
ABI_PVP_MINUS = 34,
|
||
|
||
/** 对魏增伤 */
|
||
ABI_WEI_ADD = 35,
|
||
|
||
/** 对魏减伤 */
|
||
ABI_WEI_MINUS = 36,
|
||
|
||
/** 对蜀增伤 */
|
||
ABI_SHU_ADD = 37,
|
||
|
||
/** 对蜀减伤 */
|
||
ABI_SHU_MINUS = 38,
|
||
|
||
/** 对吴增伤 */
|
||
ABI_WU_ADD = 39,
|
||
|
||
/** 对吴减伤 */
|
||
ABI_WU_MINUS = 40,
|
||
|
||
/** 对群增伤 */
|
||
ABI_OTHER_ADD = 41,
|
||
|
||
/** 对群减伤 */
|
||
ABI_OTHER_MINUS = 42,
|
||
ABI_MAX,
|
||
}
|
||
|
||
// 主属性
|
||
export const ABI_TYPE_MAIN = [
|
||
ABI_TYPE.ABI_HP,
|
||
ABI_TYPE.ABI_ATK,
|
||
ABI_TYPE.ABI_DEF,
|
||
ABI_TYPE.ABI_MDEF
|
||
];
|
||
|
||
// 次级属性
|
||
export const ABI_TYPE_SUB = [
|
||
ABI_TYPE.ABI_HIT,
|
||
ABI_TYPE.ABI_CRI,
|
||
ABI_TYPE.ABI_FLEE,
|
||
ABI_TYPE.ABI_ANT_CRI,
|
||
ABI_TYPE.ABI_DAMAGE_INCREASE,
|
||
ABI_TYPE.ABI_DAMAGE_DECREASE,
|
||
ABI_TYPE.ABI_DEF_IGNORE,
|
||
ABI_TYPE.ABI_BLOOD_SUCK,
|
||
ABI_TYPE.ABI_AP,
|
||
ABI_TYPE.ABI_CRI_DAMAGE,
|
||
ABI_TYPE.ABI_PHYSICAL_DAMAGE_INCREASE,
|
||
ABI_TYPE.ABI_PHYSICAL_DAMAGE_DECREASE,
|
||
ABI_TYPE.ABI_MAGIC_DAMAGE_INCREASE,
|
||
ABI_TYPE.ABI_MAGIC_DAMAGE_DECREASE,
|
||
ABI_TYPE.ABI_TREATMENT_INCREASE,
|
||
ABI_TYPE.ABI_ACCEPT_TREATMENT_INCREASE,
|
||
ABI_TYPE.ABI_ACCEPT_TREATMENT_DECREASE,
|
||
ABI_TYPE.ABI_BLOOD_REBOUND,
|
||
ABI_TYPE.ABI_STRIKE_BACK,
|
||
ABI_TYPE.ABI_GAIN_AP,
|
||
ABI_TYPE.ABI_RAGE_ADD_PERCENT,
|
||
ABI_TYPE.ABI_BLOCK_ADD_PERCENT,
|
||
ABI_TYPE.ABI_SHIELD,
|
||
ABI_TYPE.ABI_PVP_ADD,
|
||
ABI_TYPE.ABI_PVP_MINUS,
|
||
ABI_TYPE.ABI_WEI_ADD,
|
||
ABI_TYPE.ABI_WEI_MINUS,
|
||
ABI_TYPE.ABI_SHU_ADD,
|
||
ABI_TYPE.ABI_SHU_MINUS,
|
||
ABI_TYPE.ABI_WU_ADD,
|
||
ABI_TYPE.ABI_WU_MINUS,
|
||
ABI_TYPE.ABI_OTHER_ADD,
|
||
ABI_TYPE.ABI_OTHER_MINUS
|
||
];
|
||
|
||
export const ABI_TYPE_PVP = [
|
||
ABI_TYPE.ABI_PVP_ADD,
|
||
ABI_TYPE.ABI_PVP_MINUS,
|
||
ABI_TYPE.ABI_WEI_ADD,
|
||
ABI_TYPE.ABI_WEI_MINUS,
|
||
ABI_TYPE.ABI_SHU_ADD,
|
||
ABI_TYPE.ABI_SHU_MINUS,
|
||
ABI_TYPE.ABI_WU_ADD,
|
||
ABI_TYPE.ABI_WU_MINUS,
|
||
ABI_TYPE.ABI_OTHER_ADD,
|
||
ABI_TYPE.ABI_OTHER_MINUS
|
||
]
|
||
|
||
export enum SEID_TYPE {
|
||
/**属性固定值加成(数值) */
|
||
FIX = 1,
|
||
/**基础属性加百分比,除以1000 */
|
||
MAIN_RATIO = 2,
|
||
/**次级属性的百分比加成 */
|
||
SUB_RATIO = 3,
|
||
/**基础属性加百分比,除以1000 */
|
||
MAIN_RATIO_2 = 4,
|
||
/**次级属性的百分比加成 */
|
||
SUB_RATIO_2 = 5,
|
||
/**复合属性 */
|
||
MIX = 999,
|
||
}
|
||
|
||
export enum ABI_STAGE {
|
||
START = 0,
|
||
HP = 1,
|
||
ATK = 2,
|
||
DEF = 3,
|
||
MDEF = 4,
|
||
END = 4
|
||
}
|
||
|
||
export enum ABI_JOB_STAGE {
|
||
START = 1,
|
||
END = 6
|
||
}
|
||
export const ATTR = {}
|
||
|
||
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", // 怒气
|
||
18: "damageCri", // 暴击伤害
|
||
19: "physicaldamageInc", // 物伤加深
|
||
20: "physicaldamageDec", // 物伤减免
|
||
21: "magicdamageInc", // 法伤加深
|
||
22: "magicdamageDec", // 法伤减免
|
||
23: "treatmentInc", // 治疗加成
|
||
24: "treatmentDec", // 治疗降低
|
||
25: "acceptTreatmentInc", // 受治疗加成
|
||
26: "acceptTreatmentDec", // 受治疗降低
|
||
27: "bloodRebound", // 反弹
|
||
28: "strikeBack", // 反击伤害
|
||
};
|
||
|
||
const abilityTypeWithStage = [
|
||
{ type: ABI_TYPE.ABI_HP, stage: ABI_STAGE.HP },
|
||
{ type: ABI_TYPE.ABI_ATK, stage: ABI_STAGE.ATK },
|
||
{ type: ABI_TYPE.ABI_DEF, stage: ABI_STAGE.DEF },
|
||
{ type: ABI_TYPE.ABI_MDEF, stage: ABI_STAGE.MDEF },
|
||
];
|
||
|
||
export const ABI_TYPE_TO_STAGE = new Map<number, number>();
|
||
export const ABI_STAGE_TO_TYPE = new Map<number, number>();
|
||
for(let {type, stage} of abilityTypeWithStage) {
|
||
ABI_TYPE_TO_STAGE.set(type, stage);
|
||
ABI_STAGE_TO_TYPE.set(stage, type);
|
||
}
|
||
|
||
export function getAtrrNameById(attrId: number):string {
|
||
return HERO_ATTR[attrId];
|
||
};
|
||
|
||
export enum CE_CONST {
|
||
FLEE_VALUE = 0.3, // 格挡价值
|
||
PUT_HIT = 50000, // 投放总命中
|
||
HIT_RATE_BASE = 0.75, // 命中率基础
|
||
HIT_RATE_MAX = 1, // 命中率上限
|
||
HIT_RATE_MIN = 0, // 命中率下限
|
||
PUT_ANT_CRI = 50000, // 投放总抗暴
|
||
CRI_RATE_BASE = 0.05, // 暴击率基础
|
||
CRI_RATE_MAX = 0.75, // 暴击率上限
|
||
CRI_RATE_MIN = 0.05, // 暴击率下限
|
||
CRI_VALUE_BASE = 1.5, // 暴击价值基础
|
||
}
|