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

43 lines
1.4 KiB
TypeScript
Raw Permalink Normal View History

2025-04-23 09:34:08 +08:00
import GameUtil from "../../../game/core/GameUtil";
import { ESkillType, EMagicType, EActionType, EBuffType, ESkillQuality } from "../../../game/role/EEnum";
import SKDataUtil from "../../gear/SKDataUtil";
import SkillBase from "../core/SkillBase";
// 飞珠溅玉
export default class FeiZhuJianYu extends SkillBase {
constructor() {
super();
this.skill_id = ESkillType.FeiZhuJianYu;
this.skill_name = '飞珠溅玉';
this.skill_type = EMagicType.WATER;
this.action_type = EActionType.INITIATIVE;
this.buff_type = EBuffType.ONCE;
this.kind = ESkillType.FeiZhuJianYu;
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 maxmp = params.maxmp || 0;
let ret = SKDataUtil.clone(GameUtil.skillEffect);
// let cnt = 1;
// /**
// * 概率两个目标,亲密度越高概率越高 最高70%概率。
// * 亲密度达到80%或者以上,才有概率三个目标,亲密度越高概率越高 最高50%概率。
// */
// let rate = qinmi / 1e8;
// let rand = SKDataUtil.random(0, 100);
// if (rate * 70 >= rand) {
// cnt = 3;
// }
// if (rate >= 0.8 && rate * 50 >= rand) {
// cnt = 5;
// }
ret.cnt = 3;
ret.hurt = Math.floor(80 * level + maxmp / 100 * 6 * (relive * 0.6 + 1) * (Math.pow(level,0.4) / 10 + Math.pow(qinmi,0.166666666666666666) * 10 / (100 + relive * 20)));
return ret;
}
}