Commit Graph

732 Commits

Author SHA1 Message Date
walkpan
e3c6aad172 refactor(hero): 将触发技能配置从 HeroInfo 移至 HeroAttrsComp
重构英雄和怪物实体的创建逻辑,将 call、dead、fstart、fend、atking、atked 等触发技能配置从静态 HeroInfo 表复制到 HeroAttrsComp 组件实例中。
修改 SCastSystem、HeroAtkSystem、MissionComp 和 HeroViewComp 中的技能触发逻辑,改为直接读取组件内的配置。
这消除了对全局静态配置的依赖,使技能触发逻辑与实体数据更紧密地绑定,提高了代码的内聚性和可维护性。
2026-04-15 22:27:38 +08:00
walkpan
ba3e416ab0 fix(技能触发): 将call技能触发时机从入场时改为落地后
确保英雄和怪物在完全落地并设置好碰撞组后再触发call技能,避免潜在的时序问题
2026-04-15 20:48:07 +08:00
panw
dff9983e38 refactor(SCastSystem): 移除友方技能施放特效逻辑以简化代码
移除playFriendlyCastEffect和doPlayFriendlyCastEffect方法及相关特效播放逻辑,直接调用applyActualFriendlyEffect应用效果。这些特效逻辑与核心功能无关且增加了代码复杂度。
2026-04-15 17:22:21 +08:00
panw
53523d8ccb fix(英雄属性组件): 冰冻状态下暂停技能冷却时间刷新
修复英雄处于冰冻状态时技能冷却时间仍然减少的问题。在 updateCD 方法开始时检查冰冻状态,若为冰冻则直接返回,确保技能 CD 暂停刷新。
2026-04-15 16:39:44 +08:00
panw
bf799a84fe refactor: 移除英雄击退相关属性和逻辑
移除 HeroAttrsComp 中的 back_chance 属性及相关配置,清理 SCastSystem、Skill 和 HeroAtkSystem 中击退概率的计算与判定逻辑,简化攻击效果处理流程。
2026-04-15 16:20:19 +08:00
panw
52fe4358ea feat(技能提示): 在技能名称后显示施放次数
当技能有多次施放时,在技能名称后添加"*N"标识
2026-04-15 14:41:23 +08:00
panw
9148c830c2 feat(英雄): 添加受击触发技能机制
- 在 HeroInfo 接口中添加 atked 字段,用于配置受击后触发的技能
- 在 HeroAtkSystem 中实现 checkAndTriggerAtkedSkills 方法,检查受击次数并触发对应技能
- 在伤害计算逻辑中增加受击计数并调用触发检查
2026-04-15 10:55:51 +08:00
panw
4995097606 feat(英雄): 添加普通攻击后触发技能机制
在 HeroInfo 接口中添加 atking 字段,用于配置普攻后触发的技能。
在 SCastSystem 的 castSkill 方法中,当释放的技能为普通技能时,增加攻击计数并检查是否满足触发条件。
新增 checkAndTriggerAtkingSkills 方法,根据配置的触发次数,通过消息系统触发对应技能。
2026-04-15 10:47:35 +08:00
panw
0508dec313 feat(技能): 支持英雄技能的多重触发
修改 Hero、Monster 和 HeroAtkSystem 中的技能触发逻辑,将 call、dead 等技能字段从单个 uuid 改为 uuid 数组,支持同时触发多个技能。同时更新 heroSet.ts 中的类型定义和英雄配置以匹配此变更。
2026-04-15 10:23:13 +08:00
walkpan
c275a0ee94 refactor(护盾): 移除 shield_max 属性并简化护盾逻辑
护盾系统不再需要维护最大护盾值,因为护盾层数已有明确上限(FightSet.SHIELD_MAX)。
移除 HeroAttrs 枚举、HeroAttrsComp 组件、HeroAtkSystem 和 HeroViewComp 中所有对 shield_max 的引用和操作。
现在护盾层数直接受 SHIELD_MAX 限制,视图层仅需当前护盾值即可显示。
2026-04-12 23:03:03 +08:00
panw
18d8d20056 refactor: 调整怪物波次配置与优化同阵营间距计算
- 调整第一波怪物配置,将原近战Boss与近战小怪替换为近战Boss与远程小怪
- 增加怪物槽位及同阵营单位的横向间距,提升视觉清晰度
- 优化同阵营单位间距计算逻辑,为Boss单位提供更大的间隔空间
2026-04-08 10:38:40 +08:00
panw
4a6f19ae8b fix(怪物): 修复对象池复用导致怪物无限放大的问题
记录预制体初始缩放值,避免重复乘算
2026-04-08 10:05:56 +08:00
panw
9dd0861df1 fix: 调整英雄与怪物的位置锚点及出生点X坐标
将英雄前方锚点从-30改为-50,怪物前方锚点从30改为50,使战斗站位更合理。
同时将怪物出生槽位起始X坐标从30调整为50,以匹配新的锚点位置。
2026-04-08 09:45:55 +08:00
panw
af78a3e02b fix: 统一英雄与怪物的基础尺寸为1.15
调整Hero.ts和Mon.ts中的size变量,将英雄尺寸从1.3下调,怪物尺寸从1.0上调,使两者基础尺寸统一为1.15,以平衡游戏中的视觉比例和碰撞体验。
2026-04-08 09:12:34 +08:00
panw
c7e46fc591 feat(hero): 为boss单位调整头顶UI位置并添加标识图标
调整HeroViewComp中boss单位的top_node位置,从y=80提升至y=105以更好显示
为mo6、mud4、mud5三个boss预制体添加ItemIcon_Skull_Boss_Red标识图标
更新预制体结构,包括组件引用、材质和颜色属性覆盖
2026-04-07 16:23:08 +08:00
walkpan
5520473e71 fix: 调整友方技能特效位置和动画轨迹
- 修正buff.prefab的缩放和透明度,提升视觉效果
- 调整sbox.prefab中多个UI元素的位置和对齐方式
- 简化友方技能特效动画为直线运动,移除贝塞尔曲线计算
- 为技能特效添加高度偏移,避免与角色模型重叠
2026-04-06 23:13:40 +08:00
walkpan
197ecefe80 feat(技能): 为友方技能添加飞行特效并优化目标选择逻辑
- 新增友方技能释放时的飞行特效,包括抛物线动画和缩放旋转效果
- 重构 applyFriendlySkillEffects 方法,将特效播放与实际效果应用分离
- 调整 buff.prefab 的缩放比例从 0.2 增大到 0.5 以适配新特效
- 优化友方技能目标选择逻辑,确保特效从施法位置正确飞向目标
2026-04-06 15:35:11 +08:00
walkpan
ee380ff668 feat(英雄): 动态计算技能卡牌的虚拟攻击力
- 根据卡牌等级给予基础成长,使用与英雄升级相同的公式
- 获取场上最高攻击力英雄的数值,确保后期治疗和增益效果足够
- 移除固定的基准攻击力,使技能数值更适应实际战斗场景
2026-04-06 10:05:10 +08:00
walkpan
dc9c6cc94a feat: 实现技能卡牌系统并添加相关配置
- 在 GameSet 中新增技能卡牌释放起始坐标常量
- 卡牌使用组件增加技能卡释放事件分发
- 任务英雄组件监听技能卡事件并转发给技能施放系统
- 卡牌组件支持技能卡牌的显示和等级星级
- 卡牌配置中添加技能卡牌池和对应的配置信息
- 技能施放系统扩展以支持卡牌技能的直接触发
2026-04-05 23:07:18 +08:00
walkpan
5d188bb5aa fix(英雄动画): 修正死亡状态播放动画的位置基准
将死亡状态动画的播放从 playReady 改为 playOther,并确保动画以英雄当前位置为基准挂载到父节点,避免英雄节点销毁时动画被中断。
2026-04-05 22:55:26 +08:00
walkpan
c054209025 feat: 为召唤和死亡触发技能添加动画效果
- 在 Hero、Monster 和 HeroAtkSystem 中分发技能触发事件时,增加 triggerType 参数以区分召唤和死亡
- 修改 SCastSystem 的 forceCastTriggerSkill 方法,根据 triggerType 播放对应的准备动画(黄色表示召唤,死亡动画表示死亡)
- 调整 hnode.prefab 中按钮的布局和样式,移除特定精灵帧以使用默认样式
2026-04-05 22:49:01 +08:00
walkpan
8b4ccfd484 fix(assets): 优化精灵图集布局并修复技能系统内存泄漏
- 重构精灵图集(aui.plist)布局,调整纹理坐标与旋转状态,提升图集空间利用率
- 在SCastSystem中添加onDestroy方法,注销全局事件监听,防止内存泄漏
2026-04-05 22:25:14 +08:00
walkpan
95f4209201 fix(技能系统): 调整强制释放技能的战斗状态检查逻辑
将无条件检查是否在战斗中改为仅对敌方目标技能进行战斗状态检查。友方增益和护盾技能现在可以在非战斗状态下释放,提高游戏体验的流畅性。
2026-04-05 22:10:25 +08:00
walkpan
ef07982645 feat(技能): 新增触发技能机制并调整死亡特效颜色
- 在 GameEvent 枚举中添加 TriggerSkill 事件用于技能触发
- 为 Hero 和 Monster 实体添加召唤入场时的 call 技能触发
- 在 HeroAtkSystem 中实现死亡时的 dead 技能触发
- 扩展 SCastSystem 支持强制触发技能(忽略CD和动画前摇)
- 将死亡技能特效颜色从灰色调整为白色以提升视觉效果
2026-04-05 22:09:16 +08:00
walkpan
8d9c9a6348 feat: 调整英雄合成与属性成长规则
- 将英雄最大等级提升至3级,升级所需英雄数设为3
- 英雄属性改为指数成长(3倍/级),替换原线性成长
- 调整近战英雄攻击距离从260减少至200
- 重置初始二级英雄概率为0,并提高每级概率增量至0.02
- 将合成相关配置集中至GameSet枚举,提高可维护性
2026-04-04 13:29:14 +08:00
walkpan
5df8f5b8a2 fix(英雄): 调整法师英雄技能冷却和治疗技能数值
- 将法师英雄技能冷却从1.4秒统一改为1.5秒,平衡游戏节奏
- 将治疗技能(6302)的ap值从300%提升至500%,增强治疗效果
- 将牧师系英雄的冰锥技能冷却从1秒改为2秒,调整辅助职业强度
- 优化常驻特效创建逻辑,使用createFxNode替代spawnAnimEndFx,避免生命周期管理问题
2026-04-04 09:29:43 +08:00
walkpan
c40fbfe4e4 fix: 修正拼写错误并添加升级动画播放逻辑
- 将 `palayBuff` 方法名更正为 `playBuff`
- 在英雄升级时调用 `playAllTime` 方法播放"plus"动画
- 确保动画播放方法在参数为空时安全返回
2026-04-04 09:23:49 +08:00
walkpan
a14115fb6a feat(技能): 优化治疗技能的目标选择逻辑
将治疗技能的目标选择从随机选择后按血量排序改为优先选择缺失生命值最多的目标,提升治疗效率
2026-04-04 08:54:19 +08:00
walkpan
07b8d47760 feat: 调整英雄和技能视觉效果与平衡性
- 调整多个英雄预制体的嵌套结构,移除冗余节点以优化性能
- 统一英雄基础尺寸为1.3,移除等级成长缩放机制
- 调整技能特效的位置、缩放和灰度显示效果
- 将英雄和怪物的移动速度从360提升至480,增强游戏节奏感
2026-04-03 21:03:29 +08:00
panw
cd0ba5415e fix(hero): 在战斗阶段停止英雄和怪物移动
避免战斗阶段英雄和怪物位置异常变化,确保战斗逻辑与移动逻辑分离。
2026-04-03 16:41:06 +08:00
panw
52ed41bec1 refactor: 统一英雄属性中卡牌等级字段名称为pool_lv
将HeroAttrsComp中的card_lv字段重命名为pool_lv,以更准确地反映其表示英雄池等级的含义。同时更新所有相关引用点,包括HInfoComp的显示逻辑、Hero的加载方法以及MissionHeroCompComp的召唤队列和合成逻辑,确保数据一致性。
2026-04-02 17:36:00 +08:00
panw
781e88e2d7 feat: 新增卡牌等级系统并调整英雄合成规则
- 在 HeroAttrsComp 中添加 card_lv 属性,用于独立记录卡牌等级
- 修改 Hero 加载逻辑,支持传入 card_lv 参数
- 更新 HInfoComp 的 UI 刷新逻辑,根据英雄等级和卡牌等级显示不同的边框和等级图标
- 调整 MissionHeroComp 的合成规则:所需合成数量从 2 改为 3,最高合成等级从 3 改为 2
- 在召唤队列和合成流程中传递并处理 card_lv 数据,确保卡牌等级在合成过程中得以保留
2026-04-02 16:40:23 +08:00
panw
b013086567 fix: 调整英雄顶部UI位置和尺寸
- 将ha1.prefab中顶部节点的Y坐标从90.171改为80
- HeroViewComp中顶部节点位置不再随等级变化,固定为Y=80
- 始终显示顶部血条,不再根据血量条件隐藏
- 调整top.prefab中多个UI元素的位置和尺寸,包括血条长度从50改为40,容器宽度从173改为140
2026-04-01 10:26:57 +08:00
panw
38f0863583 fix(hero): 移除死亡动画播放逻辑
移除 HeroSpine、HeroViewComp 和 HeroAnmComp 中与死亡动画相关的播放调用和状态检查。因为死亡动画可能已整合到其他特效或逻辑中,继续播放会导致视觉或逻辑冲突。
2026-04-01 09:15:53 +08:00
panw
5889423db0 fix: 调整战斗边界并修复英雄出界时仍能施法的问题
- 缩小地图左右边界从±420到±360,优化战斗区域
- 增加英雄位置边界检查,出界时禁止施法技能
- 微调任务卡牌界面英雄信息项间距从10减至5
- 修复卡牌预制体缩放值错误(x从1改为-1)
2026-03-31 17:18:30 +08:00
panw
251cf715fb refactor(game): 移除resolveFormationTargetX依赖并内联阵型锚点计算
简化阵型目标X坐标的计算逻辑,直接根据阵营使用预定义的锚点值,避免导入和调用额外的工具函数。
2026-03-31 15:19:03 +08:00
panw
86cc55b226 fix: 移除怪物移动位置限制并扩大移动边界
移除怪物移动目标位置的水平坐标限制,使其可以移动到任意X坐标。
同时将英雄和怪物的移动边界值扩大到极大值,以消除移动范围限制。
2026-03-31 15:10:13 +08:00
panw
aa2bf8d6f6 refactor(game): 简化阵型移动逻辑并移除复杂碰撞处理
- 移除 `clampXByAllies` 及相关辅助方法,简化同排单位间的移动阻挡计算
- 重构 `getFormationSlotX` 方法,使用统一的战斗优先级和等级排序,不再按角色类型分层
- 新增 `moveToSlot` 方法集中处理向阵型位置移动的逻辑
- 引入 `isFormationParticipant` 方法,通过检查碰撞体启用状态更准确地筛选阵型参与者
- 删除多个未使用的移动调整参数,如 `meleeMinEnemyDistanceX`、`meleeOvertakeSpeedGap` 等
2026-03-31 15:00:07 +08:00
panw
f0ae5aabef fix(移动系统): 调整同职业英雄的阵型位置计算逻辑
引入 resolveFormationTargetX 函数获取前排锚点坐标,根据英雄职业类型(近战、中程、远程)和场上存在的其他职业盟友,动态计算角色在阵型中的深度偏移,使同职业英雄在水平方向上正确排列,并确保目标位置在移动边界内。
2026-03-31 10:07:03 +08:00
panw
6a0304b265 refactor(game): 重构英雄阵型站位逻辑,移除硬编码使用动态计算
- 删除 `resolveFormationTargetX` 的导入和调用
- 将 `processRangedFormationCombat` 重命名为 `processFormationCombat`,使其适用于所有英雄类型
- 新增 `getFormationSlotX` 方法,根据同阵营、同Y轴单位的战斗优先级和生成顺序动态计算站位点
- 在撤退逻辑中,增加对战斗优先级的检查,防止低优先级单位阻挡高优先级单位
2026-03-31 09:54:53 +08:00
panw
3d97da8271 fix(技能): 调整贝塞尔曲线起始高度并修复范围技能目标位置
当技能类型为贝塞尔曲线时,直接使用最近敌人的位置作为目标位置,避免范围技能目标位置计算错误。同时将贝塞尔曲线的起始高度从18调整为25,以优化技能表现。
2026-03-30 16:48:30 +08:00
panw
e1298bfe96 fix(hero): 调整近战英雄攻击距离并简化移动逻辑
将 HeroDisVal 中近战英雄的攻击距离从 150 调整为 360,以改善战斗体验。
移除 `processMeleeLogic` 中的独立逻辑,改为复用 `processRangedFormationCombat` 方法,统一移动与攻击行为,提升代码可维护性。
2026-03-30 15:29:26 +08:00
panw
b9484c5a6e fix(英雄): 调整多个英雄的模型位置与站位参数
- 更新多个英雄预制体中的局部位置_y坐标,修正模型显示位置
- 调整近战英雄的阵型起始X坐标为-20,远程英雄统一为100
- 增加友军横向最小间距从50到60,优化战斗中的站位分布
- 修正部分英雄的嵌套预制体配置
2026-03-30 15:01:20 +08:00
walkpan
9a7bafed2f refactor(config): 合并游戏常量配置并整理代码结构
- 删除 GameConst.ts 文件,将其中的战斗常量迁移至 GameSet.ts
- 在 GameSet.ts 中重新组织 FightSet、IndexSet 和 TooltipTypes 枚举,提升可读性
- 更新 SCastSystem.ts 中技能施放延迟的引用,从 GameConst 改为 FightSet
- 在 CardSet.ts 中添加空行以改善代码格式
2026-03-29 12:06:03 +08:00
walkpan
a638f473a0 feat: 新增英雄出售功能并优化UI交互
- 在 Hero 类中添加 removeByEid 静态方法,用于安全移除英雄实体
- 在 HInfoComp 中集成出售按钮逻辑,点击可移除对应英雄并关闭信息面板
- 为 card.prefab 和 hnode.prefab 添加召唤/出售按钮及相关UI组件
- 调整 role_controller.prefab 面板高度并禁用部分组件
- 移除未使用的 hit-flash-white 场景资源文件
- 暂时注释 CardComp 中的触摸事件绑定以进行调试
2026-03-28 12:04:41 +08:00
panw
87eea006ad refactor(hero): 移除护盾进度条显示逻辑
简化护盾显示逻辑,不再显示护盾进度条,仅控制护盾节点的激活状态。
同时简化满血判断逻辑,移除护盾检查。
2026-03-27 15:23:11 +08:00
panw
cd0004e37c feat(护盾): 将护盾机制从数值吸收改为次数免疫
- 护盾技能配置的 `ap` 字段现在表示免疫次数而非攻击力百分比
- 修改护盾计算逻辑,每次受到攻击消耗1点护盾值
- 更新日志和注释以反映新的护盾行为
2026-03-27 15:22:16 +08:00
panw
ccccf025c5 feat: 新增英雄合并配置并优化出生时物理组件禁用逻辑
- 在 MissionHeroComp 中添加 merge_need_count 和 merge_max_lv 配置项,用于控制英雄合并所需数量和最大等级
- 修改英雄合并逻辑,根据配置动态判断合并条件和所需数量
- 优化 Hero 实体出生时的组件禁用逻辑,增加对 RigidBody2D 组件的禁用
2026-03-27 14:57:07 +08:00
panw
6fe91e0104 feat(hero): 添加英雄合并时的移动动画效果
实现英雄合并时的平滑移动动画,避免直接销毁的突兀感。为 Hero 类新增 mergeToBirthAndDestroy 方法,使英雄在销毁前移动到生成点。在 MissionHeroComp 中,合并逻辑改为异步等待动画完成,并添加防重复合并标志。
2026-03-27 14:33:00 +08:00
panw
ad5758c6e7 fix(战斗): 调整远程站位距离并优化移动系统注释与逻辑
- 将远程职业的固定站位X坐标从180减少至120,以改善阵型布局
- 为移动系统组件和配置添加详细注释,说明各字段用途和逻辑规则
- 调整同阵营横向最小间距从40增加至50,减少单位重叠
- 优化近战超车逻辑,明确超车条件和优先级判定
- 改进代码可读性,添加关键逻辑点的解释说明
2026-03-27 10:08:11 +08:00