diff --git a/src/config/beings.ts b/src/config/beings.ts index 92df495..d415dd2 100644 --- a/src/config/beings.ts +++ b/src/config/beings.ts @@ -10,6 +10,7 @@ import { Equip, piont_arrts, } from '@/config'; +import { deepCopy } from '@/tool'; export const type_monster = 'monster'; export const type_boss = 'boss'; export const difficultys = ['normal', 'hard', 'pain', 'xiaomi', 'dami']; @@ -22,7 +23,7 @@ const monster_attr_max = { critDmg: 1000, critAvoid: 120, critDmgReduc: 1000, - def: 1100, + def: 800, atkPercent: 6500, }; @@ -120,14 +121,13 @@ export class Monster extends Attribute { this.callCoins(11); this.callCrit(0.5); this.callDef(); - this.checkMax(); + this.checkMax(layer); this.equipRates = [0.2 * this.df, 0.08 * this.df, 0.03 * this.df]; this.extraRate = [0, 0]; } callAtk = (variable) => { this.baseAtk = Math.ceil(this.lv ** 2.1 * (Math.random() * 0.2 + variable)); this.atkPercent = (this.df * this.lf - 1) * 100; - // this.atk = this.baseAtk; }; callHp = (variable) => { this.hp = Math.ceil(this.lv ** 2.1 * (Math.random() * 3 + variable) * this.df * this.lf); @@ -144,8 +144,10 @@ export class Monster extends Attribute { this.critAvoid = Math.ceil((10 + 10 * (this.ef - 1) * this.lf) * factor); this.critDmgReduc = Math.ceil(100 + 100 * (this.ef - 1) * this.lf); }; - checkMax = () => { - const max = monster_attr_max; + checkMax = (layer) => { + const max = deepCopy(monster_attr_max); + max.def += layer; + max.atkPercent += layer; Object.keys(max).forEach((key) => { this[key] > max[key] && (this[key] = max[key]); }); @@ -160,7 +162,7 @@ export class BossMonster extends Monster { this.callHp(31); this.callCoins(30.5); this.callCrit(1); - this.checkMax(); + this.checkMax(layer); const rf = rate_factor[difficulty]; this.equipRates = [0.25 - 0.05 * rf, 0.55 - 0.1 * rf, 0.15 + 0.1 * rf, 0.05 + 0.05 * rf]; let uniqueRate = 0.02 * ((rf - 1) * 5 + 1); diff --git a/src/config/skill/jewelry.ts b/src/config/skill/jewelry.ts index c9ded89..3e20aee 100644 --- a/src/config/skill/jewelry.ts +++ b/src/config/skill/jewelry.ts @@ -1,6 +1,6 @@ import { CounterSkill, Attack, Control, GainsSkill, SufPassiveSkill, Vampire } from './base'; import i18n from '../i18n'; -import { BattleRole, replace } from '@/tool'; +import { BattleRole, callReducPercent, replace } from '@/tool'; const { t } = i18n; //化缘 @@ -72,7 +72,8 @@ export class JHSY extends CounterSkill { return Math.random() < this.rate / 100; } takeEffect(owner: BattleRole, target: BattleRole): void { - const reflected = Math.ceil((target.baseDmg * this.percent) / 100); + const reducPercent = callReducPercent(owner.attr.def + owner.extraAttr.def, owner.attr.lv); //目标防御提供的减伤比例 + const reflected = Math.ceil(((target.baseDmg * this.percent) / 100) * (1 - reducPercent)); target.addHp(-1 * reflected); const log = replace(t('skill.JHSY.2'), [t(owner.type), reflected]); owner.extraDmgLog(log); diff --git a/src/views/version/update-log.vue b/src/views/version/update-log.vue index 0c2d597..a8411a2 100644 --- a/src/views/version/update-log.vue +++ b/src/views/version/update-log.vue @@ -42,6 +42,8 @@ const updateLogs: any = [{ adjust: [ '百花内甲和龟纹铠技能数值调整', '怪物部分属性增加上限:暴击率:120%,暴击伤害:1000%,暴击避免:120%,暴击伤害减免:1000%,护甲:1100,攻击加成:6500%', + '怪物部分属性上限调整:护甲:800+大秘境层数,攻击加成:(6500+大秘境层数)%', + '镜花水月反弹上限现在受怪物护甲减伤影响', ] }, { date: '2025-05-22', version: '1.0',