64 lines
2.2 KiB
TypeScript
64 lines
2.2 KiB
TypeScript
|
import GameUtil from "../../core/GameUtil";
|
||
|
import SkillBase from "../core/SkillBase";
|
||
|
import SKDataUtil from "../../gear/SKDataUtil";
|
||
|
import Buff from "../../skill/core/Buff";
|
||
|
import SkillUtil from "../../skill/core/SkillUtil";
|
||
|
import SKLogger from "../../gear/SKLogger";
|
||
|
import {ESkillType, EMagicType, EActionType, ESkillQuality} from "../../../game/role/EEnum";
|
||
|
|
||
|
|
||
|
|
||
|
// 安行疾斗
|
||
|
export default class AnXingJiDou extends SkillBase {
|
||
|
|
||
|
constructor() {
|
||
|
super();
|
||
|
this.skill_id = ESkillType.AnXingJiDou;
|
||
|
this.skill_name = '安行疾斗';
|
||
|
this.skill_type = EMagicType.PHYSICS;
|
||
|
this.action_type = EActionType.INITIATIVE;
|
||
|
this.kind = ESkillType.AnXingJiDou;
|
||
|
this.kind = ESkillType.KuaiXueShiQing;
|
||
|
this.quality = ESkillQuality.HIGH;
|
||
|
}
|
||
|
|
||
|
// getEffect(params: any = null): any {
|
||
|
// let ret = SKDataUtil.clone(GameUtil.skillEffect);
|
||
|
// ret.round = 999;
|
||
|
// return ret;
|
||
|
// }
|
||
|
//
|
||
|
// active(brole: any = null) {
|
||
|
// SKLogger.debug(`安行疾斗触发`);
|
||
|
// //检测添加BUFF
|
||
|
// if (!brole.hasBuff(ESkillType.AnXingJiDou)) {
|
||
|
// let skill = SkillUtil.getSkill(ESkillType.AnXingJiDou);
|
||
|
// let buff = new Buff(ESkillType.AnXingJiDou, skill.getEffect());
|
||
|
// brole.addBuff(buff);
|
||
|
// }
|
||
|
// if (brole.hasBuff(EMagicType.CHAOS)) {
|
||
|
// brole.cleanBuff(EMagicType.CHAOS);
|
||
|
// SKLogger.debug(`安行疾斗清除混乱`);
|
||
|
// }
|
||
|
// if (brole.hasBuff(EMagicType.SLEEP)) {
|
||
|
// brole.cleanBuff(EMagicType.SLEEP);
|
||
|
// SKLogger.debug(`安行疾斗清除昏睡`);
|
||
|
// }
|
||
|
// if (brole.hasBuff(EMagicType.SEAL)) {
|
||
|
// brole.cleanBuff(EMagicType.SEAL);
|
||
|
// SKLogger.debug(`安行疾斗清除封印`);
|
||
|
// }
|
||
|
// }
|
||
|
getEffect(params: any = null): any {
|
||
|
let level = params.level || 0;
|
||
|
let relive = params.relive || 0;
|
||
|
let qinmi = params.qinmi || 0;
|
||
|
let atk = params.atk||0;
|
||
|
let maxmp = params.maxmp || 0;
|
||
|
let ret = SKDataUtil.clone(GameUtil.skillEffect);
|
||
|
ret.cnt = 3;
|
||
|
ret.hurt = Math.floor(80 * level + atk * (relive * 0.8 + 1)*0.55 + maxmp / 100 * 6 * (relive * 0.6 + 1) * (Math.pow(level,0.4) / 10 + Math.pow(qinmi,0.166666666666666666) * 10 / (100 + relive * 20)));
|
||
|
//Math.floor(75 * level + atk * (relive * 0.8 + 1) + (po * atk / 100) + Math.pow(qinmi,0.166666666666666666) * 10 / (100 + relive * 20));
|
||
|
return ret;
|
||
|
}
|
||
|
}
|