From 7d503c2f7953ab58301ad058f344f8132d1debc7 Mon Sep 17 00:00:00 2001 From: panw Date: Sun, 4 Jan 2026 15:59:33 +0800 Subject: [PATCH] =?UTF-8?q?refactor(game):=20=E9=87=8D=E6=9E=84=E5=A4=A9?= =?UTF-8?q?=E8=B5=8B=E7=B3=BB=E7=BB=9F=EF=BC=8C=E7=A7=BB=E9=99=A4MP?= =?UTF-8?q?=E6=95=88=E6=9E=9C=E5=B9=B6=E6=B7=BB=E5=8A=A0=E5=B1=9E=E6=80=A7?= =?UTF-8?q?=E6=B0=B8=E4=B9=85=E5=8A=A0=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 删除HeroAttrEvent.ts文件及相关MP效果处理 - 将TalEffet.STATS重命名为TalEffet.ATTR以更准确描述功能 - 调整部分天赋配置数值和触发条件 - 新增风怒属性永久加成功能 --- assets/resources/gui/ui4.plist.meta | 9 ++++ .../game/common/config/ScoreSet.ts.meta | 9 ++++ assets/script/game/common/config/TalSet.ts | 28 +++++++---- assets/script/game/hero/HeroAttrEvent.ts | 20 -------- .../script/game/hero/HeroAttrEventSystem.ts | 50 ------------------- assets/script/game/hero/TalComp.ts | 6 +-- 6 files changed, 38 insertions(+), 84 deletions(-) create mode 100644 assets/resources/gui/ui4.plist.meta create mode 100644 assets/script/game/common/config/ScoreSet.ts.meta delete mode 100644 assets/script/game/hero/HeroAttrEvent.ts delete mode 100644 assets/script/game/hero/HeroAttrEventSystem.ts diff --git a/assets/resources/gui/ui4.plist.meta b/assets/resources/gui/ui4.plist.meta new file mode 100644 index 00000000..405dd897 --- /dev/null +++ b/assets/resources/gui/ui4.plist.meta @@ -0,0 +1,9 @@ +{ + "ver": "0.0.0", + "importer": "*", + "imported": false, + "uuid": "eaa91e98-d58c-40cb-88ee-f7122960909e", + "files": [], + "subMetas": {}, + "userData": {} +} diff --git a/assets/script/game/common/config/ScoreSet.ts.meta b/assets/script/game/common/config/ScoreSet.ts.meta new file mode 100644 index 00000000..c9dc49d0 --- /dev/null +++ b/assets/script/game/common/config/ScoreSet.ts.meta @@ -0,0 +1,9 @@ +{ + "ver": "4.0.24", + "importer": "typescript", + "imported": true, + "uuid": "7f5508cb-d643-4082-b216-891c685366d3", + "files": [], + "subMetas": {}, + "userData": {} +} diff --git a/assets/script/game/common/config/TalSet.ts b/assets/script/game/common/config/TalSet.ts index d3ae199b..166c42ad 100644 --- a/assets/script/game/common/config/TalSet.ts +++ b/assets/script/game/common/config/TalSet.ts @@ -25,18 +25,18 @@ export enum TalEffet { THORNS=14, //反伤 百分比 次数+反伤加成,如额外5次 反伤-20% /////////////////////////////////////////////////////////////////////// HP=3, // 回血 百分比 直接触发,回血20% - MP=4, //回蓝 百分比 直接触发,回蓝20% SHIELD=9, // 护盾 直接触发,获得20%的生命值护盾 //////////////////////////////////////////////////////////////////////// BUFF = 5, // 数值叠加 触发后清零: 暴击率,闪避率等,触发后效果取消 //////////////////////////////////////////////////////////////////////////////// - STATS=6, // 状态 待定 + ATTR=6, // 属性 永久添加 WFUNY=7, // 风怒 次数 叠加 ,如额外5次 风怒 D_SKILL=8, //两次技能 次数 叠加,如额外5次 两次技能 C_MSKILL=11, // 必杀技能必暴 次数 叠加 ,如额外5次 必杀技能必暴 C_ATK=12, // 普工必爆 次数 叠加 ,如额外5次 普工必爆 C_SKILL=13, // 一般技能必暴 次数 叠加 ,如额外5次 一般技能必暴 + } export enum TalTarget { @@ -52,6 +52,10 @@ export enum TalAttrs { SILENCE_CHANCE=Attrs.SILENCE_CHANCE, // 沉默概率 CRITICAL=Attrs.CRITICAL, // 暴击率 AP=Attrs.AP, // 攻击力 + HP_MAX=Attrs.HP_MAX, // 最大生命值 + THORNS=Attrs.THORNS, //反伤 百分比 + REVIVE_COUNT=Attrs.REVIVE_COUNT, // 复活次数 + WFUNY=Attrs.WFUNY, // 风怒 } /** * 天赋配置接口 @@ -93,10 +97,10 @@ export const talConf: Record = { 7001:{uuid:7001,name:"风怒",triType:TriType.ATK,Trigger:3,count:1,target:TalTarget.ENEMY,effet:TalEffet.WFUNY,vType:BType.RATIO, value:50,attrs:TalAttrs.NON, desc:"普通攻击3次后, 立即给与目标150%伤害的额外打击"}, - 7003:{uuid:7003,name:"回血",triType:TriType.ATK,Trigger:3,count:1,target:TalTarget.SELF,effet:TalEffet.HP,vType:BType.RATIO, value:10,attrs:TalAttrs.NON, - desc:"普通攻击3次后, 会回复10%的生命值"}, - 7004:{uuid:7004,name:"回蓝",triType:TriType.ATK,Trigger:3,count:1,target:TalTarget.SELF,effet:TalEffet.MP,vType:BType.RATIO, value:10,attrs:TalAttrs.NON, - desc:"普通攻击3次后, 会回复10%的蓝值"}, + 7003:{uuid:7003,name:"回血",triType:TriType.ATK,Trigger:3,count:1,target:TalTarget.SELF,effet:TalEffet.HP,vType:BType.RATIO, value:1,attrs:TalAttrs.NON, + desc:"普通攻击3次后, 会回复1%的生命值"}, + 7004:{uuid:7004,name:"回血(大)",triType:TriType.ATK,Trigger:3,count:1,target:TalTarget.SELF,effet:TalEffet.HP,vType:BType.RATIO, value:2,attrs:TalAttrs.NON, + desc:"普通攻击5次后, 会回复2%的生命值"}, 7005:{uuid:7005,name:"冰冻",triType:TriType.ATK,Trigger:3,count:1,target:TalTarget.ENEMY,effet:TalEffet.BUFF,vType:BType.RATIO, value:5,attrs:TalAttrs.FREEZE_CHANCE, desc:"普通攻击3次后, 获得5%的冻结率"}, 7006:{uuid:7006,name:"沉默",triType:TriType.ATK,Trigger:3,count:1,target:TalTarget.ENEMY,effet:TalEffet.BUFF,vType:BType.RATIO, value:5,attrs:TalAttrs.SILENCE_CHANCE, @@ -113,11 +117,12 @@ export const talConf: Record = { /*** 受伤触发 ***/ 7101:{uuid:7101,name:"反击",triType:TriType.DMG,Trigger:3,count:1,target:TalTarget.ENEMY,effet:TalEffet.ATK_DMG,vType:BType.RATIO, value:50,attrs:TalAttrs.NON, desc:"被攻击3次后, 给于目标50%的伤害"}, - 7102:{uuid:7102,name:"护盾",triType:TriType.DMG,Trigger:3,count:1,target:TalTarget.SELF,effet:TalEffet.SHIELD,vType:BType.RATIO, value:20,attrs:TalAttrs.NON, - desc:"被攻击3次后, 获得20%的生命值护盾"}, + 7102:{uuid:7102,name:"护盾",triType:TriType.DMG,Trigger:30,count:1,target:TalTarget.SELF,effet:TalEffet.SHIELD,vType:BType.RATIO, value:20,attrs:TalAttrs.NON, + desc:"被攻击30次后, 获得20%的生命值护盾"}, 7103:{uuid:7103,name:"减伤",triType:TriType.DMG,Trigger:3,count:1,target:TalTarget.ENEMY,effet:TalEffet.DEF,vType:BType.RATIO, value:50,attrs:TalAttrs.NON, desc:"被攻击3次后, 下1次伤害减50%"}, - + 7104:{uuid:7104,name:"反伤",triType:TriType.DMG,Trigger:100,count:1,target:TalTarget.SELF,effet:TalEffet.BUFF,vType:BType.VALUE, value:1,attrs:TalAttrs.REVIVE_COUNT, + desc:"被攻击100次后, 获得1次复活"}, /*** 失去血量触发 ***/ 7201:{uuid:7201,name:"背水",triType:TriType.HPL,Trigger:50,count:10,target:TalTarget.SELF,effet:TalEffet.C_ATK,vType:BType.VALUE, value:0,attrs:TalAttrs.NON, @@ -125,8 +130,9 @@ export const talConf: Record = { /*** 升级触发 ***/ 7301:{uuid:7301,name:"勤勉",triType:TriType.LUP,Trigger:1,count:5,target:TalTarget.SELF,effet:TalEffet.C_SKILL,vType:BType.VALUE, value:0,attrs:TalAttrs.NON, - desc:"每升1级,获得下5次技能暴击"}, - + desc:"每升1级,获得下5次技能必暴击"}, + 7302:{uuid:7302,name:"风怒",triType:TriType.LUP,Trigger:1,count:1,target:TalTarget.SELF,effet:TalEffet.ATTR,vType:BType.RATIO, value:2,attrs:TalAttrs.WFUNY, + desc:"每升1级,永久增加2%的风怒概率"}, }; // ========== 工具函数 ========== diff --git a/assets/script/game/hero/HeroAttrEvent.ts b/assets/script/game/hero/HeroAttrEvent.ts deleted file mode 100644 index de255d51..00000000 --- a/assets/script/game/hero/HeroAttrEvent.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { ecs } from "../../../../extensions/oops-plugin-framework/assets/libs/ecs/ECS"; -import { Attrs } from "../common/config/HeroAttrs"; - -export interface AttrEvent { - Attr: Attrs; - Value:number; -} - -@ecs.register('HeroAttrEvent') -export class HeroAttrEvent extends ecs.Comp { - - - AttrEvents:AttrEvent[] = []; - addAttrEvent(event:AttrEvent){ - this.AttrEvents.push(event); - } - reset() { - this.AttrEvents = []; - } -} \ No newline at end of file diff --git a/assets/script/game/hero/HeroAttrEventSystem.ts b/assets/script/game/hero/HeroAttrEventSystem.ts deleted file mode 100644 index 9584e07c..00000000 --- a/assets/script/game/hero/HeroAttrEventSystem.ts +++ /dev/null @@ -1,50 +0,0 @@ -import { Timer } from "db://oops-framework/core/common/timer/Timer"; -import { ecs } from "../../../../extensions/oops-plugin-framework/assets/libs/ecs/ECS"; -import { smc } from "../common/SingletonModuleComp"; -import { Attrs } from "../common/config/HeroAttrs"; -import { HeroUpSet } from "../common/config/heroSet"; -import { HeroSkillsComp } from "./HeroSkills"; -import { HeroAttrsComp } from "./HeroAttrsComp"; -import { HeroAttrEvent } from "./HeroAttrEvent"; -/** - * ==================== 英雄属性更新系统 ==================== - * - * 按照 ECS 设计理念: - * - System(HeroAttrEventSystem):处理属性更新事件 - * - * 系统职责: - * 1. 处理当角色收到attr变更事件时,更新角色属性,并处理动画展示 - */ -@ecs.register('HeroAttrEventSystem') -export class HeroAttrEventSystem extends ecs.ComblockSystem - implements ecs.ISystemUpdate, ecs.IEntityEnterSystem { - - filter(): ecs.IMatcher { - return ecs.allOf(HeroAttrsComp,HeroAttrEvent); - } - entityEnter(e: ecs.Entity): void { - - } - - update(e: ecs.Entity): void { - if(!smc.mission.play ) return; - if(smc.mission.pause) return - const model = e.get(HeroAttrsComp); - if (!model || model.is_dead) return; - const event = e.get(HeroAttrEvent); - if (!event) return; - // 移除事件组件(事件处理完成) - - } - /** - * 启用调试模式(调试时使用) - */ - enableDebug() { - } - - /** - * 禁用调试模式(正式运行) - */ - disableDebug() { - } -} diff --git a/assets/script/game/hero/TalComp.ts b/assets/script/game/hero/TalComp.ts index efa34872..08709189 100644 --- a/assets/script/game/hero/TalComp.ts +++ b/assets/script/game/hero/TalComp.ts @@ -214,9 +214,6 @@ export class TalComp extends ecs.Comp { case TalEffet.HP: heroAttrs.add_hp(talent.value + talent.value_add,talent.vType == BType.VALUE); break; - case TalEffet.MP: - heroAttrs.add_mp(talent.value + talent.value_add,talent.vType == BType.VALUE); - break; case TalEffet.WFUNY: heroAttrs.addCountTal(TalEffet.WFUNY, talent.value + talent.value_add); break; @@ -235,6 +232,9 @@ export class TalComp extends ecs.Comp { case TalEffet.BUFF: heroAttrs.addValueTal(talent.uuid, talent.attrs, talent.vType, talent.value + talent.value_add); break; + case TalEffet.ATTR: + heroAttrs.addValueTal(talent.uuid, talent.attrs, talent.vType, talent.value + talent.value_add); + break; } } /**