xy-server/game/skill/low/LingXvYvFeng.ts

38 lines
1.4 KiB
TypeScript
Raw Normal View History

2025-04-23 09:34:08 +08:00
import SKDataUtil from "../../gear/SKDataUtil";
import GameUtil from "../../core/GameUtil";
import {ESkillType, EMagicType, ESkillQuality, EAttrTypeL1} from "../../role/EEnum";
import SkillBase from "../core/SkillBase";
export default class LingXvYvFeng extends SkillBase {
constructor() {
super();
this.skill_id = ESkillType.LingXvYvFeng;
this.skill_name = '凌虚御风';
this.effectMap = {
[EAttrTypeL1.K_PHY_GET]: { add: -50, index: 0 },
[EAttrTypeL1.PHY_GET]: { add: -50, index: 1 },
};
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 braek = params.braek || 0;
let atk = params.atk || 0;
let po = params.po || 0;
let polv = params.polv || 0;
let ret = SKDataUtil.clone(GameUtil.skillEffect);
let ahurt = Math.floor(55 * level * (profic ** 0.2 * 2.8853998 / 200 + 1) + Math.floor(50 * relive * (profic * 0.1 * 2 / 280 + 1)));
let pohurt = 0;
let randkb = 1;
if (randkb < polv * 100) {
pohurt = Math.floor(ahurt * (po/20));
}
ret.hurt = ahurt+(ahurt*braek/100)+pohurt+ atk/2;
return ret;
}
}