Browse Source
1.抽取伤害减免和伤害加成计算方法 2.只能触发一次的技能用999回合CD实现 3.其他代码优化及BUG修复 4.新增多彩装备:黑犀、龟纹铠、五行压贴、鬼门甲、虎视、血怒、鬼眼v1.0
15 changed files with 339 additions and 65 deletions
@ -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 i18n from '../i18n'; |
||||||
import { BattleRole, replace } from '@/tool'; |
import { BattleRole, callDmgReduc, replace } from '@/tool'; |
||||||
const { t } = i18n; |
const { t } = i18n; |
||||||
|
|
||||||
|
//百花羞的矜持
|
||||||
export class BHXDJC extends PrePassiveSkill { |
export class BHXDJC extends PrePassiveSkill { |
||||||
name: string = 'bhxdjc'; |
name: string = 'bhxdjc'; |
||||||
hpPercent: number = 60; |
hpPercent: number = 60; |
||||||
shieldPercentOfHp: number = 80; |
shieldPercentOfHp: number = 80; |
||||||
triggered: boolean = false; |
cd: number = 999; |
||||||
desc(): string { |
desc(): string { |
||||||
return replace(t('skill.bhxdjc.1'), [this.hpPercent, this.shieldPercentOfHp]); |
return replace(t('skill.bhxdjc.1'), [this.hpPercent, this.shieldPercentOfHp]); |
||||||
} |
} |
||||||
trigger(owner: BattleRole, target: BattleRole): boolean { |
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 { |
takeEffect(owner: BattleRole, target: BattleRole): void { |
||||||
this.triggered = true; |
|
||||||
owner.shield = Math.ceil((owner.attr.hp * this.shieldPercentOfHp) / 100); |
owner.shield = Math.ceil((owner.attr.hp * this.shieldPercentOfHp) / 100); |
||||||
const log = replace(t('skill.bhxdjc.2'), [owner.shield]); |
owner.battleLog(replace(t('skill.bhxdjc.2'), [owner.shield])); |
||||||
owner.battleLog(log); |
} |
||||||
|
} |
||||||
|
//铁壁
|
||||||
|
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