Browse Source
1.抽取伤害减免和伤害加成计算方法 2.只能触发一次的技能用999回合CD实现 3.其他代码优化及BUG修复 4.新增多彩装备:黑犀、龟纹铠、五行压贴、鬼门甲、虎视、血怒、鬼眼v1.0
15 changed files with 339 additions and 65 deletions
@ -1,23 +1,84 @@
@@ -1,23 +1,84 @@
|
||||
import { CounterSkill, Attack, Control, GainsSkill, SufPassiveSkill, Vampire, PrePassiveSkill } from './base'; |
||||
import { PrePassiveSkill, BuffSkill, CounterSkill } from './base'; |
||||
import i18n from '../i18n'; |
||||
import { BattleRole, replace } from '@/tool'; |
||||
import { BattleRole, callDmgReduc, replace } from '@/tool'; |
||||
const { t } = i18n; |
||||
|
||||
//百花羞的矜持
|
||||
export class BHXDJC extends PrePassiveSkill { |
||||
name: string = 'bhxdjc'; |
||||
hpPercent: number = 60; |
||||
shieldPercentOfHp: number = 80; |
||||
triggered: boolean = false; |
||||
cd: number = 999; |
||||
desc(): string { |
||||
return replace(t('skill.bhxdjc.1'), [this.hpPercent, this.shieldPercentOfHp]); |
||||
} |
||||
trigger(owner: BattleRole, target: BattleRole): boolean { |
||||
return !this.triggered && owner.attr.curHp / owner.attr.hp < this.hpPercent / 100; |
||||
return owner.attr.curHp / owner.attr.hp < this.hpPercent / 100; |
||||
} |
||||
takeEffect(owner: BattleRole, target: BattleRole): void { |
||||
this.triggered = true; |
||||
owner.shield = Math.ceil((owner.attr.hp * this.shieldPercentOfHp) / 100); |
||||
const log = replace(t('skill.bhxdjc.2'), [owner.shield]); |
||||
owner.battleLog(log); |
||||
owner.battleLog(replace(t('skill.bhxdjc.2'), [owner.shield])); |
||||
} |
||||
} |
||||
//铁壁
|
||||
export class TieBi extends BuffSkill { |
||||
name: string = 'tiebi'; |
||||
last: number = 6; |
||||
cd: number = 9; |
||||
dmgReduc: number = 40; |
||||
desc(): string { |
||||
return replace(t('skill.tiebi.1'), [this.dmgReduc, this.last, this.cd]); |
||||
} |
||||
takeEffect(owner: BattleRole, target: BattleRole): void { |
||||
owner.extraAttr.dmgReduc = callDmgReduc(owner.extraAttr.dmgReduc, this.dmgReduc); |
||||
} |
||||
log(owner: BattleRole, target: BattleRole): void { |
||||
owner.battleLog(replace(t('skill.tiebi.2'), [t(owner.type), this.dmgReduc, this.last])); |
||||
} |
||||
} |
||||
//督军的潜能
|
||||
export class DuJunQianNeng extends PrePassiveSkill { |
||||
name: string = 'dujunqianneng'; |
||||
hpPercent: number = 50; |
||||
dmgReduc: number = 50; |
||||
desc(): string { |
||||
return replace(t('skill.dujunqianneng.1'), [this.hpPercent, this.dmgReduc]); |
||||
} |
||||
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 = callDmgReduc(owner.extraAttr.dmgReduc, this.dmgReduc); |
||||
owner.battleLog(replace(t('skill.dujunqianneng.2'), [this.hpPercent, this.dmgReduc])); |
||||
} |
||||
} |
||||
//金光护身
|
||||
export class JinGuangHuShen extends CounterSkill { |
||||
name: string = 'jinguanghushen'; |
||||
cd: number = 999; |
||||
hpPercent: number = 35; |
||||
desc(): string { |
||||
return replace(t('skill.jinguanghushen.1'), [this.hpPercent]); |
||||
} |
||||
trigger(owner: BattleRole, target: BattleRole): boolean { |
||||
return owner.isDeath(); |
||||
} |
||||
takeEffect(owner: BattleRole, target: BattleRole): void { |
||||
owner.addHp((owner.attr.hp * this.hpPercent) / 100); |
||||
owner.battleLog(replace(t('skill.jinguanghushen.2'), [this.hpPercent])); |
||||
} |
||||
} |
||||
//laobukepo
|
||||
export class LaoBuKePo extends PrePassiveSkill { |
||||
name: string = 'laobukepo'; |
||||
percent: number = 200; |
||||
desc(): string { |
||||
return replace(t('skill.laobukepo.1'), [this.percent]); |
||||
} |
||||
trigger(owner: BattleRole, target: BattleRole): boolean { |
||||
return true; |
||||
} |
||||
takeEffect(owner: BattleRole, target: BattleRole): void { |
||||
owner.extraAttr.bloc += owner.attr.bloc * (this.percent / 100); |
||||
} |
||||
} |
||||
|
Loading…
Reference in new issue