xy-server/game/skill/low/FengLeiWanJun.ts
2025-04-23 09:34:08 +08:00

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