39 lines
1.5 KiB
TypeScript
39 lines
1.5 KiB
TypeScript
import SkillBase from "../core/SkillBase";
|
|
import GameUtil from "../../core/GameUtil";
|
|
import SKDataUtil from "../../gear/SKDataUtil";
|
|
import {EAttrTypeL1, EMagicType, ESkillQuality, ESkillType} from "../../role/EEnum";
|
|
|
|
// 风雷万钧
|
|
export default class FengLeiWanJun extends SkillBase {
|
|
constructor() {
|
|
super();
|
|
this.skill_id = ESkillType.FengLeiWanJun;
|
|
this.skill_name = "风雷万钧";
|
|
this.effectMap = {
|
|
[EAttrTypeL1.PHY_BREAK]: { add: 0.75, index: 0 },
|
|
[EAttrTypeL1.PHY_BREAK_PROB]: { add: 0.75, index: 0 },
|
|
};
|
|
this.skill_type = EMagicType.PHYSICS;
|
|
this.quality = ESkillQuality.LOW;
|
|
}
|
|
|
|
getEffect(params: any = null): any {
|
|
let level = params.level || 0;
|
|
let relive = params.relive || 0;
|
|
let qinmi = params.qinmi || 0;
|
|
let profic = params.profic || 0;
|
|
let sweep = params.sweep || 0;
|
|
let atk = params.atk || 0;
|
|
let po = params.po || 0;
|
|
let polv = params.polv || 0;
|
|
let ret = SKDataUtil.clone(GameUtil.skillEffect);
|
|
let addhurt = Math.floor(55 * level * (profic ** 0.3 * 2.8853998 / 200 + 1) + Math.floor(50 * relive * (profic * 0.1 * 2 / 280 + 1)));
|
|
let pohurt = 0;
|
|
let randkb = GameUtil.random(0, 10000);
|
|
if (randkb < polv * 100) {
|
|
pohurt = Math.floor(addhurt * (po/20));
|
|
}
|
|
ret.hurt = addhurt+(addhurt*sweep/100)+atk/2+pohurt;
|
|
return ret;
|
|
}
|
|
} |