47 lines
1.7 KiB
TypeScript
47 lines
1.7 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 ZhenTianDongDi extends SkillBase {
|
||
|
constructor() {
|
||
|
super();
|
||
|
this.skill_id = ESkillType.ZhenTianDongDi;
|
||
|
this.skill_name = "震天动地";
|
||
|
this.effectMap = {
|
||
|
[EAttrTypeL1.PHY_BREAK]: { add: 0.8, index: 0 },
|
||
|
[EAttrTypeL1.PHY_BREAK_PROB]: { add: 0.8, index: 0 },
|
||
|
[EAttrTypeL1.ATK]: { add: 1350, index: 0 },
|
||
|
};
|
||
|
this.skill_type = EMagicType.PHYSICS;
|
||
|
this.quality = ESkillQuality.HIGH;
|
||
|
}
|
||
|
|
||
|
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 nilin = params.nilin || 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);
|
||
|
ret.cnt = Math.floor(Math.random() * (3 - 6) + 6);
|
||
|
if (randkb < polv * 100) {
|
||
|
pohurt = Math.floor(addhurt * (po/20));
|
||
|
}
|
||
|
if(nilin > 0){
|
||
|
ret.cnt++;
|
||
|
ret.hurt = addhurt+(addhurt*sweep/100)+atk/2+pohurt + 12345;
|
||
|
}else{
|
||
|
ret.hurt = addhurt+(addhurt*sweep/100)+atk/2+pohurt;
|
||
|
}
|
||
|
return ret;
|
||
|
}
|
||
|
}
|