import { SufPassiveSkill, PrePassiveSkill } from './base'; import i18n from '../i18n'; import { BattleRole, replace } from '@/tool'; const { t } = i18n; export class SLWX extends PrePassiveSkill { name: string = 'SLWX'; percent: number = 20; desc(): string { return replace(t('skill.SLWX.1'), [this.percent]); } trigger(owner: BattleRole, target: BattleRole): boolean { return true; } takeEffect(owner: BattleRole, target: BattleRole): void { const extra = owner.extraAttr; extra.atkPercent += this.percent; extra.dmgPercent = (100 + extra.dmgPercent) * (1 + this.percent / 100) - 100; extra.crit += 20; extra.critDmg += 20; } } export class JinGangZhuo extends SufPassiveSkill { name: string = 'jinggangzhuo'; rate: number = 5; last: number = 2; desc(): string { return replace(t('skill.jinggangzhuo.1'), [this.rate, this.last]); } trigger(owner: BattleRole, target: BattleRole): boolean { return Math.random() < this.rate / 100; } takeEffect(owner: BattleRole, target: BattleRole): void { target.control = target.control > this.last ? target.control : this.last; const log = replace(t('skill.jinggangzhuo.2'), [this.last]); owner.battleLog(log); } }