From e9abbefe9d647ef0eb409e01b384e45aba3e2652 Mon Sep 17 00:00:00 2001 From: walkpan Date: Fri, 2 Jan 2026 15:23:25 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E8=8B=B1=E9=9B=84=E6=8A=80=E8=83=BD?= =?UTF-8?q?=E7=B3=BB=E7=BB=9F):=20=E4=BF=AE=E5=A4=8D=E6=80=AA=E7=89=A9?= =?UTF-8?q?=E9=87=8A=E6=94=BE=E6=8A=80=E8=83=BD=E6=97=B6=E6=B6=88=E8=80=97?= =?UTF-8?q?=E8=93=9D=E9=87=8F=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 修改技能释放逻辑,当单位是怪物时使用无限蓝量进行检查且不扣除蓝量 --- assets/script/game/hero/SACastSystem.ts | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/assets/script/game/hero/SACastSystem.ts b/assets/script/game/hero/SACastSystem.ts index d2dd076e..e968ec34 100644 --- a/assets/script/game/hero/SACastSystem.ts +++ b/assets/script/game/hero/SACastSystem.ts @@ -8,7 +8,7 @@ import { Skill } from "../skill/Skill"; import { smc } from "../common/SingletonModuleComp"; import { TalComp } from "./TalComp"; import { TalEffet, TriType } from "../common/config/TalSet"; -import { BoxSet } from "../common/config/GameSet"; +import { BoxSet, FacSet } from "../common/config/GameSet"; import { Attrs } from "../common/config/HeroAttrs"; /** @@ -46,8 +46,9 @@ export class SACastSystem extends ecs.ComblockSystem implements ecs.ISystemUpdat // 检查是否正在攻击(只有攻击时才释放技能) if (!heroAttrs.is_atking) return; - // 获取所有可施放的技能 - const readySkills = skills.getReadySkills(heroAttrs.mp); + // 🔥 怪物不消耗蓝,使用Infinity作为mp参数 + const mpForCheck = heroAttrs.fac === FacSet.MON ? Infinity : heroAttrs.mp; + const readySkills = skills.getReadySkills(mpForCheck); if (readySkills.length === 0) return; // 选择第一个可施放的技能(支持伤害/治疗/护盾) @@ -87,7 +88,10 @@ export class SACastSystem extends ecs.ComblockSystem implements ecs.ISystemUpdat const castSucess = this.executeCast(e, skill.s_uuid, heroView,hset); // 5. 扣除资源和重置CD if (castSucess) { - heroAttrs.mp -= skill.cost; + // 🔥 怪物不消耗蓝 + if (heroAttrs.fac !== FacSet.MON) { + heroAttrs.mp -= skill.cost; + } skills.resetCD(skill.s_uuid); } return castSucess;