From 8c972adbac1aababea27daa1fae264e562f51050 Mon Sep 17 00:00:00 2001 From: panw Date: Wed, 22 Apr 2026 21:02:22 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E5=9B=9E=E5=90=88?= =?UTF-8?q?=E7=BB=93=E6=9D=9F=E6=97=B6=E7=9A=84=E8=8B=B1=E9=9B=84=E6=81=A2?= =?UTF-8?q?=E5=A4=8D=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 在 FightSet 枚举中新增 WAVE_HEAL_RATE 配置项,用于控制每波次结束时英雄的生命恢复比例。随后在 MissionComp 中引用此配置,替换原有的硬编码恢复率 0.7,使恢复逻辑更易于维护和调整。 --- assets/script/game/common/config/GameSet.ts | 1 + assets/script/game/map/MissionComp.ts | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/assets/script/game/common/config/GameSet.ts b/assets/script/game/common/config/GameSet.ts index 6ed69ae6..8ee83673 100644 --- a/assets/script/game/common/config/GameSet.ts +++ b/assets/script/game/common/config/GameSet.ts @@ -37,6 +37,7 @@ export enum FightSet { CSKILL_START_X=-340, CSKILL_START_Y=30, SHIELD_MAX=5, + WAVE_HEAL_RATE=0.7, // 回合结束时所有英雄恢复最大生命值的比例 } export enum IndexSet { diff --git a/assets/script/game/map/MissionComp.ts b/assets/script/game/map/MissionComp.ts index 2656f434..5bf8a4a8 100644 --- a/assets/script/game/map/MissionComp.ts +++ b/assets/script/game/map/MissionComp.ts @@ -493,8 +493,8 @@ export class MissionComp extends CCComp { const view = entity.get(HeroViewComp); if (!attrs || !view || attrs.fac !== FacSet.HERO) return; - // 计算恢复量:70% 的最大生命值 - const healAmount = Math.floor(attrs.hp_max * 0.7); + // 计算恢复量:基于配置的百分比(如 70%)的最大生命值 + const healAmount = Math.floor(attrs.hp_max * FightSet.WAVE_HEAL_RATE); // 应用恢复量,不超过最大生命值 attrs.hp = Math.min(attrs.hp_max, attrs.hp + healAmount);