|
|
@ -1,7 +1,7 @@ |
|
|
|
import { ActionSkill, Attack, Control, PrePassiveSkill, StartPassiveSkill, SufPassiveSkill } from './base'; |
|
|
|
import { ActionSkill, Attack, Control, PrePassiveSkill, StartPassiveSkill, SufPassiveSkill } from './base'; |
|
|
|
import { createt } from '../i18n'; |
|
|
|
import { createt } from '../i18n'; |
|
|
|
import { replace, BattleRole } from '@/tool'; |
|
|
|
import { replace, BattleRole } from '@/tool'; |
|
|
|
import { ControlBuff, CritDmgBuff, DmgPercentBuff, DmgReducBuff, GanDian, KuiLan, LiuXue } from './buff'; |
|
|
|
import { AtkPercentBuff, ControlBuff, CritDmgBuff, DmgPercentBuff, DmgReducBuff, GanDian, KuiLan, LiuXue } from './buff'; |
|
|
|
|
|
|
|
|
|
|
|
const t = createt(''); |
|
|
|
const t = createt(''); |
|
|
|
const st = createt('skill.'); |
|
|
|
const st = createt('skill.'); |
|
|
@ -33,22 +33,6 @@ export class QiuAi extends Attack { |
|
|
|
return replace(st('qiuai.1'), [this.percent]); |
|
|
|
return replace(st('qiuai.1'), [this.percent]); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
//见红
|
|
|
|
|
|
|
|
export class SeeRed extends ActionSkill { |
|
|
|
|
|
|
|
name: string = 'seeRed'; |
|
|
|
|
|
|
|
layer: number = 5; |
|
|
|
|
|
|
|
cd: number = 5; |
|
|
|
|
|
|
|
last: number = 5; |
|
|
|
|
|
|
|
desc(): string { |
|
|
|
|
|
|
|
return replace(st('seeRed.1'), [this.layer, this.last]) + replace(st('seeRed.2'), [this.cd]); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
use(owner: BattleRole, target: BattleRole): void { |
|
|
|
|
|
|
|
owner.skillPercent = 0; |
|
|
|
|
|
|
|
const liuxue = new LiuXue(this.layer, this.last); |
|
|
|
|
|
|
|
target.putBuff(liuxue); |
|
|
|
|
|
|
|
owner.extraDmgLog(replace(st('user'), [t(owner.type), st(this.name + '.0')]) + replace(st('seeRed.1'), [this.layer, this.last])); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
//鳍刺
|
|
|
|
//鳍刺
|
|
|
|
export class QiCi extends SufPassiveSkill { |
|
|
|
export class QiCi extends SufPassiveSkill { |
|
|
|
name: string = 'qici'; |
|
|
|
name: string = 'qici'; |
|
|
@ -240,7 +224,7 @@ export class LiuYing extends SufPassiveSkill { |
|
|
|
} |
|
|
|
} |
|
|
|
takeEffect(owner: BattleRole, target: BattleRole): void { |
|
|
|
takeEffect(owner: BattleRole, target: BattleRole): void { |
|
|
|
this.curLayer += this.layer; |
|
|
|
this.curLayer += this.layer; |
|
|
|
owner.extraDmgLog(replace(st('liuying.2'), [t(owner.type), this.layer, this.maxLayer, this.curLayer])); |
|
|
|
owner.extraDmgLog(replace(st('liuying.2'), [t(owner.type), this.layer, this.curLayer])); |
|
|
|
if (this.curLayer >= this.maxLayer) { |
|
|
|
if (this.curLayer >= this.maxLayer) { |
|
|
|
const additional = Math.ceil((owner.atk * this.percent) / 100); |
|
|
|
const additional = Math.ceil((owner.atk * this.percent) / 100); |
|
|
|
target.addHp(-1 * additional); |
|
|
|
target.addHp(-1 * additional); |
|
|
@ -251,6 +235,22 @@ export class LiuYing extends SufPassiveSkill { |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
//见红
|
|
|
|
|
|
|
|
export class SeeRed extends ActionSkill { |
|
|
|
|
|
|
|
name: string = 'seeRed'; |
|
|
|
|
|
|
|
layer: number = 5; |
|
|
|
|
|
|
|
cd: number = 5; |
|
|
|
|
|
|
|
last: number = 6; |
|
|
|
|
|
|
|
desc(): string { |
|
|
|
|
|
|
|
return replace(st('seeRed.1'), [this.layer, this.last]) + replace(st('seeRed.2'), [this.cd]); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
use(owner: BattleRole, target: BattleRole): void { |
|
|
|
|
|
|
|
owner.skillPercent = 0; |
|
|
|
|
|
|
|
const liuxue = new LiuXue(this.layer, this.last); |
|
|
|
|
|
|
|
target.putBuff(liuxue); |
|
|
|
|
|
|
|
owner.extraDmgLog(replace(st('user'), [t(owner.type), st(this.name + '.0')]) + replace(st('seeRed.1'), [this.layer, this.last])); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
//失恋
|
|
|
|
//失恋
|
|
|
|
export class ShiLian extends StartPassiveSkill { |
|
|
|
export class ShiLian extends StartPassiveSkill { |
|
|
|
name: string = 'shilian'; |
|
|
|
name: string = 'shilian'; |
|
|
@ -263,3 +263,28 @@ export class ShiLian extends StartPassiveSkill { |
|
|
|
owner.putBuff(shilian); |
|
|
|
owner.putBuff(shilian); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
//混元
|
|
|
|
|
|
|
|
export class HunYuan extends StartPassiveSkill { |
|
|
|
|
|
|
|
name: string = 'hunyuan'; |
|
|
|
|
|
|
|
atkPercent: number = 150; |
|
|
|
|
|
|
|
desc(): string { |
|
|
|
|
|
|
|
return replace(st('hunyuan.1'), [this.atkPercent]); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
takeEffect(owner: BattleRole, target: BattleRole): void { |
|
|
|
|
|
|
|
const hunyuan = new AtkPercentBuff(this.name, this.atkPercent, 9999); |
|
|
|
|
|
|
|
owner.putBuff(hunyuan); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
//裂银河
|
|
|
|
|
|
|
|
export class LieYinHe extends Attack { |
|
|
|
|
|
|
|
name: string = 'lieyinhe'; |
|
|
|
|
|
|
|
cd: number = 10; |
|
|
|
|
|
|
|
desc(): string { |
|
|
|
|
|
|
|
return replace(st('lieyinhe.1'), [this.cd]); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
use(owner: BattleRole, target: BattleRole): void { |
|
|
|
|
|
|
|
target.extraAttr.def = -1 * target.attr.def; |
|
|
|
|
|
|
|
super.use(owner, target); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|