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

46 lines
1.7 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, EActionOn, EBtlRespone} from "../../role/EEnum";
import SkillBase from "../core/SkillBase";
export default class FeiJvJiuTian extends SkillBase {
constructor() {
super();
this.skill_id = ESkillType.FeiJvJiuTian;
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.act_on = EActionOn.ENEMY;
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 nilin = params.nilin || 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;
ret.cnt = 7;
let randkb = GameUtil.random(0, 10000);
if (randkb < polv * 100) {
pohurt = Math.floor(ahurt * (po/20));
}
if(nilin > 0){
ret.cnt++;
ret.hurt = ahurt+(ahurt*braek/100)+atk/2+pohurt + 12345;
}else{
ret.hurt = ahurt+(ahurt*braek/100)+atk/2+pohurt;
}
return ret;
}
}