From 8de871324676fccef40ac67d039e802abe6c34ca Mon Sep 17 00:00:00 2001 From: mengyxu Date: Fri, 16 May 2025 00:26:21 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E7=A5=9E=E8=AF=9D=E8=A3=85?= =?UTF-8?q?=E5=A4=87=EF=BC=9A=E9=B3=8D=E5=88=BA=EF=BC=8C=E6=B1=82=E7=88=B1?= =?UTF-8?q?=E6=8A=80=E8=83=BD=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/config/equips/weapon.ts | 10 +++++++++ src/config/i18n/zh/euips.ts | 4 ++-- src/config/i18n/zh/skills.ts | 8 ++++--- src/config/skill/base.ts | 6 +++--- src/config/skill/buff.ts | 17 +++++++++++++++ src/config/skill/weapon.ts | 42 ++++++++++++++++++++++++++++-------- 6 files changed, 70 insertions(+), 17 deletions(-) diff --git a/src/config/equips/weapon.ts b/src/config/equips/weapon.ts index 9255762..133d252 100644 --- a/src/config/equips/weapon.ts +++ b/src/config/equips/weapon.ts @@ -20,6 +20,16 @@ export const weaponColorfulCategorys: Categorys[] = [ ], 'IceBlade,SeeRed' ), + new WeaponCategory( + 'qici', + 'weapon/鳍刺.png', + [ + { type: 'atk', valCoefficient: 2 }, + { type: 'bloc', valCoefficient: 1.2 }, + { type: 'def', valCoefficient: 1.2 }, + ], + 'QiCi' + ), ]; export const weaponUniqueCategorys: WeaponCategory[] = [ diff --git a/src/config/i18n/zh/euips.ts b/src/config/i18n/zh/euips.ts index 02ccd57..e34e487 100644 --- a/src/config/i18n/zh/euips.ts +++ b/src/config/i18n/zh/euips.ts @@ -12,6 +12,8 @@ export const extraQuality = { }; export const weapon = { type: '武器', + qiuai: ['求爱', '我不是在求你爱我,而是,不接受我的爱,你就要死。 ----琵琶精'], + qici: ['鳍刺', '这美丽簪成了夺命的刺。多少年后,你还记得是谁曾以此为你绾起青丝。'], aozhidu: ['鳌之毒', '相思有毒,曲终无怨。'], baoxue: ['暴雪', '铁匠将交付时间推延了二十四次。'], chengba: ['称霸', '霸者不藏其锋,以天地为鞘。'], @@ -32,8 +34,6 @@ export const weapon = { longxian: ['龙衔', '天之西北有幽冥无日之国,有龙衔烛而照之也。'], mingxue: ['鸣血', '别想让他停下来,它已经饥渴难耐了。'], qingguang: ['青光', '你活着看到的最后东西是一道青光。'], - qici: ['鳍刺', '这美丽簪成了夺命的刺。多少年后,你还记得是谁曾以此为你绾起青丝。'], - qiuai: ['求爱', '我不是在求你爱我,而是,不接受我的爱,你就要死。 ----琵琶精'], shayi: ['杀意', '仇敌,莫让吾听闻汝名。'], siyu: ['私语', '你爱的不是我,而是灵山项上那个在绚烂中毁灭的金蝉子。 ----唐僧'], tianzhao: ['天照', '神的叹息'], diff --git a/src/config/i18n/zh/skills.ts b/src/config/i18n/zh/skills.ts index 6476213..70bbe09 100644 --- a/src/config/i18n/zh/skills.ts +++ b/src/config/i18n/zh/skills.ts @@ -1,13 +1,14 @@ export const action = '主动'; export const passive = '被动'; -export const control = ['${0}使用了${1},', '${0}被控制${1}回合', '控制失败', '${0}被控制,无法释放技能。']; +export const user = '${0}使用了${1},'; +export const control = ['${0}被控制${1}回合', '控制失败', '受${0}影响,${1}无法释放技能。']; export const crit = ['触发了暴击']; export const attack = ['普通攻击', '伤害倍率100%', '${0}使用了${1}${4},对${2}造成了${3}点伤害']; export const iceBlade = ['冰刃', '暴击时有${0}几率释放冰线冲击,附加${1}%攻击力的伤害和${2}回合冰冻效果。', '触发了冰刃,附加${0}点伤害,冰冻${1}${2}回合']; -export const seeRed = ['见红', '伤害倍率${0}%,并使目标进入${2}回合流血状态,冷却${1}回合。']; -export const qici = ['鳍刺', '攻击时有${0}%概率对目标造成流血,持续${1}回合。']; +export const seeRed = ['见红', '对目标施加${0}层流血,持续${1}回合。', '冷却${0}回合。']; +export const qici = ['鳍刺', '攻击时有${0}%概率对目标施加${1}层流血,持续${2}回合。', '触发鳍刺,对${0}施加${1}层流血,持续${2}回合。']; export const bhxdjc = [ '百花羞的矜持', @@ -68,6 +69,7 @@ export const atkbuff = ['提升${0}点基础攻击力。', '提升${0}%基础攻 export const critbuff = ['提升${0}%暴击率。', '提升${0}%暴击伤害。', '提升${0}%暴击减免。', '提升${0}%暴击伤害减免。']; export const defbuff = ['提升${0}点防御。', '提升${0}%防御。', '获得${0}%伤害减免。']; export const kuilan = '防御降低${0}%。'; +export const liuxue = ['每回合流失%{0}当前生命值', '受(${0}层)流血影响,${1}损失${2}生命值。']; //未实装,待补充 diff --git a/src/config/skill/base.ts b/src/config/skill/base.ts index a9b89d7..ca31aeb 100644 --- a/src/config/skill/base.ts +++ b/src/config/skill/base.ts @@ -150,12 +150,12 @@ export abstract class Control extends ActionSkill { abstract bossRate: number; use(owner: BattleRole, target: BattleRole) { const rate = target.type == type_boss ? this.bossRate : this.rate; - let log = t('skill.control.2'); + let log = t('skill.control.1'); if (Math.random() < rate / 100) { target.putBuff(new ControlAbnormal(this.name, this.last)); - log = replace(t('skill.control.1'), [t(target.type), this.last]); + log = replace(t('skill.control.0'), [t(target.type), this.last]); } - log = log = replace(t('skill.control.0'), [t(owner.type), t('skill.' + this.name + '.0')]) + log; + log = log = replace(t('skill.user'), [t(owner.type), t('skill.' + this.name + '.0')]) + log; owner.battleLog(log); } } diff --git a/src/config/skill/buff.ts b/src/config/skill/buff.ts index d4df9b2..e2dd9d2 100644 --- a/src/config/skill/buff.ts +++ b/src/config/skill/buff.ts @@ -131,6 +131,7 @@ export class ControlAbnormal extends Abnormal { } takeEffect(owner: BattleRole): void { owner.action = null; + owner.battleLog(replace(t('skill.control.2'), [t('skill.' + this.name + '.0'), t(owner.type)])); } } //溃烂 @@ -160,3 +161,19 @@ export class LingGanBuff extends PercentBuff { owner.addHp(Math.ceil(owner.attr.hp * (this.percent / 100))); } } +//流血 +export class LiuXue extends Abnormal { + percent: number = 2; + constructor(layer: number, last: number) { + super('liuxue', last, 10); + this.layer = layer; + } + desc(): string { + return replace(t('skill.liuxue.0'), [this.percent]); + } + takeEffect(owner: BattleRole): void { + const dmg = Math.ceil(owner.attr.curHp * (this.percent / 100) * this.layer); + owner.addHp(-1 * dmg); + owner.battleLog(replace(t('skill.liuxue.1'), [this.layer, t(owner.type), dmg])); + } +} diff --git a/src/config/skill/weapon.ts b/src/config/skill/weapon.ts index 9340fbf..9f9bbee 100644 --- a/src/config/skill/weapon.ts +++ b/src/config/skill/weapon.ts @@ -1,9 +1,9 @@ -import { Attack, SufPassiveSkill } from './base'; +import { ActionSkill, Attack, PassiveSkill, SufPassiveSkill } from './base'; import i18n from '../i18n'; import { replace, BattleRole } from '@/tool'; -import { ControlAbnormal } from './buff'; +import { ControlAbnormal, LiuXue } from './buff'; const { t } = i18n; - +//冰刃 export class IceBlade extends SufPassiveSkill { name: string = 'iceBlade'; rate: number = 10; @@ -22,13 +22,37 @@ export class IceBlade extends SufPassiveSkill { owner.battleLog(replace(t('skill.iceBlade.2'), [additional, t(target.type), this.last])); } } - -export class SeeRed extends Attack { - order: number = 99; +//见红 +export class SeeRed extends ActionSkill { name: string = 'seeRed'; - cd: number = 4; - precent: number = 200; + layer: number = 5; + cd: number = 5; + last: number = 5; desc(): string { - return replace(t('skill.seeRed.1'), [this.precent, this.cd]); + return replace(t('skill.seeRed.1'), [this.layer, this.last]) + replace(t('skill.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.battleLog(replace(t('skill.user'), [t(owner.type), t('skill.' + this.name + '.0')]) + replace(t('skill.seeRed.1'), [this.layer, this.last])); + } +} +//鳍刺 +export class QiCi extends SufPassiveSkill { + name: string = 'qici'; + rate: number = 30; + layer: number = 3; + last: number = 4; + desc(): string { + return replace(t('skill.qici.1'), [this.rate, this.layer, this.last]); + } + trigger(owner: BattleRole, target: BattleRole): boolean { + return owner.dmg > 0 && Math.random() < this.rate / 100; + } + takeEffect(owner: BattleRole, target: BattleRole): void { + const liuxue = new LiuXue(this.layer, this.last); + target.putBuff(liuxue); + owner.battleLog(replace(t('skill.qici.2'), [t(target.type), this.layer, this.last])); } }