35 lines
1.3 KiB
TypeScript
35 lines
1.3 KiB
TypeScript
|
import SkillBase, { ActionOn, ActionType, AffectType, EAttackType, EffectPos, MagicType, ESkillType } from "../core/SkillBase";
|
||
|
|
||
|
// 澤被萬物
|
||
|
export default class ZeBeiWanWu extends SkillBase {
|
||
|
constructor() {
|
||
|
super();
|
||
|
this.init();
|
||
|
}
|
||
|
|
||
|
init() {
|
||
|
this.id = ESkillType.ZeBeiWanWu;
|
||
|
this.name = '澤被萬物';
|
||
|
this.icon = '1042';
|
||
|
this.desc = '對友方多個單位施加治愈狀態。 ';
|
||
|
this.particleEffect = '25236';
|
||
|
this.buffEffect = '25137';
|
||
|
this.faXi = MagicType.ZhiYu;
|
||
|
this.skillActOn = ActionOn.SELF
|
||
|
this.scale = AffectType.GROUP;
|
||
|
this.effectPos = EffectPos.STAGE;
|
||
|
this.vecLevelExp = [600, 5700];
|
||
|
}
|
||
|
getLevelData(level: number): any {
|
||
|
let nCurGrade = this.getCurGrade();
|
||
|
return {
|
||
|
nTargetCnt: Math.min(5, Math.floor(3 * (1 + Math.pow(level, 0.3) * 5 / 100))),
|
||
|
Hurt: Math.floor(60 * nCurGrade * (Math.pow(level, 0.4) * 2.8853998118144273 / 100 + 1))
|
||
|
}
|
||
|
}
|
||
|
getDetail(): string {
|
||
|
let stLevelData = this.getLevelData(this.curExp);
|
||
|
return `對友方單體施加治愈狀態。回合結束時,恢復生命值,若已倒地則回復生命值後狀態消失,目標人數${stLevelData.nTargetCnt}人,持續2個回合`;
|
||
|
}
|
||
|
}
|