After Width: | Height: | Size: 5.1 KiB |
After Width: | Height: | Size: 5.1 KiB |
After Width: | Height: | Size: 6.1 KiB |
After Width: | Height: | Size: 5.5 KiB |
After Width: | Height: | Size: 5.5 KiB |
After Width: | Height: | Size: 5.3 KiB |
After Width: | Height: | Size: 5.3 KiB |
After Width: | Height: | Size: 5.5 KiB |
After Width: | Height: | Size: 4.8 KiB |
After Width: | Height: | Size: 5.2 KiB |
After Width: | Height: | Size: 5.4 KiB |
After Width: | Height: | Size: 5.6 KiB |
After Width: | Height: | Size: 4.6 KiB |
After Width: | Height: | Size: 5.5 KiB |
After Width: | Height: | Size: 5.5 KiB |
After Width: | Height: | Size: 6.0 KiB |
After Width: | Height: | Size: 4.4 KiB |
After Width: | Height: | Size: 5.3 KiB |
After Width: | Height: | Size: 6.3 KiB |
After Width: | Height: | Size: 4.9 KiB |
After Width: | Height: | Size: 6.0 KiB |
After Width: | Height: | Size: 5.7 KiB |
After Width: | Height: | Size: 5.9 KiB |
After Width: | Height: | Size: 5.7 KiB |
After Width: | Height: | Size: 5.7 KiB |
After Width: | Height: | Size: 5.9 KiB |
After Width: | Height: | Size: 5.6 KiB |
After Width: | Height: | Size: 6.4 KiB |
After Width: | Height: | Size: 4.7 KiB |
After Width: | Height: | Size: 4.9 KiB |
After Width: | Height: | Size: 5.3 KiB |
After Width: | Height: | Size: 6.0 KiB |
After Width: | Height: | Size: 6.0 KiB |
After Width: | Height: | Size: 4.9 KiB |
After Width: | Height: | Size: 5.5 KiB |
After Width: | Height: | Size: 5.7 KiB |
@ -0,0 +1,22 @@
@@ -0,0 +1,22 @@
|
||||
import { SufPassiveSkill, PrePassiveSkill } from './base'; |
||||
import i18n from '../i18n'; |
||||
import { BattleRole, replace } from '@/tool'; |
||||
const { t } = i18n; |
||||
|
||||
export class Duan extends SufPassiveSkill { |
||||
name: string = 'duan'; |
||||
rate: number = 10; |
||||
order: number = 999; |
||||
dmg: number = 999999999; |
||||
desc(): string { |
||||
return replace(t('skill.duan.1'), [this.rate]); |
||||
} |
||||
trigger(owner: BattleRole, target: BattleRole): boolean { |
||||
return target.attr.curHp / target.attr.hp < this.rate / 100; |
||||
} |
||||
takeEffect(owner: BattleRole, target: BattleRole): void { |
||||
target.addHp(-1 * this.dmg); |
||||
const log = replace(t('skill.duan.2'), [this.rate, this.dmg]); |
||||
owner.battleLog(log); |
||||
} |
||||
} |
@ -0,0 +1,22 @@
@@ -0,0 +1,22 @@
|
||||
import { SufPassiveSkill, PrePassiveSkill } from './base'; |
||||
import i18n from '../i18n'; |
||||
import { BattleRole, replace } from '@/tool'; |
||||
const { t } = i18n; |
||||
|
||||
export class FuRenPiHu extends SufPassiveSkill { |
||||
name: string = 'furenpihu'; |
||||
hpPercent: number = 30; |
||||
last: number = 3; |
||||
dmgReduc: number = 100; |
||||
desc(): string { |
||||
return replace(t('skill.furenpihu.1'), [this.hpPercent, this.dmgReduc, this.last]); |
||||
} |
||||
trigger(owner: BattleRole, target: BattleRole): boolean { |
||||
return owner.attr.curHp / owner.attr.hp < this.hpPercent / 100; |
||||
} |
||||
takeEffect(owner: BattleRole, target: BattleRole): void { |
||||
owner.extraAttr.dmgReduc = this.dmgReduc; |
||||
const log = replace(t('skill.furenpihu.2'), [this.hpPercent, this.dmgReduc]); |
||||
owner.battleLog(log); |
||||
} |
||||
} |
@ -0,0 +1,39 @@
@@ -0,0 +1,39 @@
|
||||
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); |
||||
} |
||||
} |