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; } }