43 lines
1.3 KiB
TypeScript
43 lines
1.3 KiB
TypeScript
|
import SkillBase from "../core/SkillBase";
|
||
|
import SKDataUtil from "../../gear/SKDataUtil";
|
||
|
import GameUtil from "../../core/GameUtil";
|
||
|
import {EActionType, EAttrTypeL1, EMagicType, ESkillQuality, ESkillType} from "../../role/EEnum";
|
||
|
|
||
|
export default class BingLinChengXia extends SkillBase {
|
||
|
constructor() {
|
||
|
super();
|
||
|
this.skill_id = ESkillType.BingLinChengXia;
|
||
|
this.skill_name = "兵临城下";
|
||
|
this.action_type = EActionType.INITIATIVE;
|
||
|
this.skill_type = EMagicType.PHYSICS
|
||
|
this.kind = ESkillType.BingLinChengXia;
|
||
|
this.quality = ESkillQuality.SHEN;
|
||
|
}
|
||
|
// 使用技能
|
||
|
useSkill(brole: any): string {
|
||
|
let curhp = brole.getAttr(EAttrTypeL1.HP) || 0;
|
||
|
let maxhp = brole.getAttr(EAttrTypeL1.HP_MAX) || 0;
|
||
|
let curmp = brole.getAttr(EAttrTypeL1.MP) || 0;
|
||
|
let maxmp = brole.getAttr(EAttrTypeL1.MP_MAX) || 0;
|
||
|
let subhp = maxhp * 0.2;
|
||
|
if (curhp < subhp) {
|
||
|
return `[${this.skill_name}]气血不足,无法释放!`;
|
||
|
}
|
||
|
let submp = maxmp * 0.1;
|
||
|
if (curmp < submp) {
|
||
|
return `[${this.skill_name}]法力不足,无法释放!`;
|
||
|
}
|
||
|
brole.subHP(-subhp);
|
||
|
brole.subMP(-submp);
|
||
|
return "";
|
||
|
}
|
||
|
|
||
|
getEffect(params: any = null): any {
|
||
|
let atk = params.atk || 0;
|
||
|
let po = params.po || 0;
|
||
|
let ret = SKDataUtil.clone(GameUtil.skillEffect);
|
||
|
ret.hurt = (atk * 2.5) + (atk * po / 100);
|
||
|
return ret;
|
||
|
}
|
||
|
}
|