Commit Graph

1254 Commits

Author SHA1 Message Date
walkpan
916c82e936 fix(技能): 修正友方技能目标选择逻辑
- 修正 TGroup.Ally 枚举的注释描述,明确包含自身
- 将 Self 目标类型从友方技能判断中分离,新增 isSelfSkill 方法
- 为 Ally 类型添加 collectFriendlyTargetEids 方法以正确收集友方目标(可选包含自身)
- 修复之前 Ally 技能错误地仅以自身为目标的问题
2026-03-19 20:01:27 +08:00
walkpan
4c29d6942a fix(技能): 修复治疗技能未正确触发目标生命值显示的问题
修改 HeroAttrsComp.add_hp 方法使其返回实际治疗值,并在 SCastSystem 中调用目标 health 方法更新显示
2026-03-19 19:38:56 +08:00
walkpan
a08cca9cc3 feat: 添加冰冻效果并移除调试组件
- 在 GameSet 中添加冰冻时间常量 FROST_TIME
- 在 HeroAttrsComp 中新增 toFrost 方法用于处理冰冻状态
- 在 HeroAtkSystem 中增加冰冻判定,命中时触发冰冻效果并显示冰冻特效
- 简化 HeroViewComp 中的冰冻特效方法,移除眩晕特效方法
- 删除调试用的 HSkillComp 组件及其 meta 文件
- 调整 HeroBuffSystem 的计时器间隔,使冰冻状态更平滑地递减
2026-03-19 19:08:50 +08:00
walkpan
08fbb72d19 refactor: 移除未使用的眩晕、减速和穿刺伤害属性
清理技能和英雄属性相关的未使用代码,包括:
- 移除 HSkillComp 中的 stun_chance、slow_chance 和 puncture_dmg 默认值
- 删除 SkillSet 接口中的 stn 和 slw 字段
- 精简 HeroAttrs 枚举,移除 critical_dmg、stun_chance、slow_chance、puncture_dmg 等未使用属性
- 简化 HeroAttrsComp 类中的属性定义和注释

这些属性在当前游戏逻辑中未被使用,移除以减少代码复杂性和维护负担。
2026-03-19 18:58:19 +08:00
walkpan
50936dce1d refactor(技能/英雄): 重构移动结束检测和冰冻状态逻辑
- 移除移动结束类型中的距离结束检测,仅保留碰撞结束
- 删除 HeroViewComp 中未使用的 mp_add 和 playIntervalEffect 方法
- 简化 HeroAttrsComp 中冰冻状态判断逻辑,移除 in_frost 字段
- 在 HeroBuffSystem 中添加定时器自动减少冰冻剩余时间
2026-03-19 18:49:19 +08:00
walkpan
1bb2d6072e refactor: 移除眩晕机制并简化buff系统
- 删除眩晕相关属性、状态检查及动画触发
- 移除BType枚举,简化BuffConf结构,所有buff改为固定值类型
- 清理未使用的导入和配置项,包括debuffs数组和多个英雄属性
- 简化暴击伤害计算,移除施法者暴击伤害加成
- 重构冰冻状态检查逻辑,添加frost_end_time字段
2026-03-19 18:43:02 +08:00
panw
a58dc818ee refactor(hero): 移除复杂的buff系统并简化属性管理
- 删除Buff/Debuff状态管理相关的接口和数据结构
- 简化addBuff方法,直接应用属性变化而不处理buff生命周期
- 移除Interval、Timed、Permanent等buff类型的处理逻辑
- 简化属性应用逻辑,仅支持AP、HP_MAX、SHIELD_MAX三种属性
- 删除HeroBuffSystem中的buff更新逻辑,系统现在为空实现
- 移除状态检查的复杂逻辑,isStun和isFrost直接返回false
2026-03-19 17:10:37 +08:00
panw
e2cac41753 fix: 调整英雄碰撞体积和技能配置以修复命中判定
- 统一多个英雄prefab的碰撞宽度从60改为30,优化碰撞检测
- 调整hz1英雄的_contentSize高度从10改为100,修正显示问题
- 修改atk_s1、atk_s4、atk_f2技能prefab的激活状态和碰撞器启用状态
- 移除EType枚举中的distanceEnd类型,将技能6001的消失类型改为collision
- 启用物理系统调试绘制,便于开发调试
- 调整atk_f2技能的攻击范围和锚点位置,优化技能表现
2026-03-19 16:08:07 +08:00
panw
a2e3dd4924 fix: 修复BOSS技能配置错误并优化血条震动逻辑
- 将BOSS(兽人首领)的技能从[6001,6003]更正为[6002,6004],以匹配设计意图
- 重构血条震动逻辑,将震动目标从hp子节点改为顶层top节点,提升稳定性
- 在组件销毁时增加对top节点缓动的清理,避免残留动画
2026-03-19 15:22:59 +08:00
panw
14dbc425a5 fix: 调整技能特效缩放并修正准备动画引用
- 将 reds.prefab 和 blues.prefab 的 _lscale 从 (1,1,1) 调整为 (0.7,0.7,1)
- 修正 SkillSet.ts 中技能 6003 和 6008 的 readyAnm 配置,确保引用正确的特效资源
2026-03-19 14:58:02 +08:00
panw
0f6ab4a775 refactor(skill): 优化特效生命周期管理并添加新动画
- 移除 timedCom 组件中未使用的 cd 和 ap 属性
- 重命名 dead 组件为 oneCom 并重构动画结束销毁逻辑,避免内存泄漏
- 为部分技能添加准备动画(readyAnm)配置
- 新增 uplv 升级动画特效预制体
- 统一特效生成接口,支持基于动画结束或定时销毁两种模式
- 清理 HeroViewComp 中未使用的导入和方法
2026-03-19 14:40:51 +08:00
panw
eca312ad16 fix(技能动画): 修复技能"光箭"的动画触发和播放冲突
- 将技能配置中的动作类型从"atk"改为"max",以匹配英雄动画组件的逻辑
- 在动画组件中添加通用的`play`方法,并统一检查"max0"和"max1"动画的播放状态
- 防止多个动画同时播放导致的冲突问题
2026-03-19 10:42:01 +08:00
panw
b6efcdf794 refactor(skill): 移除未使用的rePos方法并实现贝塞尔移动逻辑
- 删除SMoveDataComp中未使用的rePos方法以简化代码
- 在SMoveSystem中为贝塞尔移动类型实现完整的坐标计算逻辑
- 添加resolveBezierFinalXByHorizon方法计算水平线上的最终X坐标
2026-03-19 10:19:55 +08:00
panw
7415626395 fix(SMoveSystem): 修复线性移动的起始与目标位置计算错误
修正线性移动类型中位置调整逻辑,现在正确基于 startPos 和 targetPos 应用 atk_x 和 atk_y 偏移量,而非错误地使用 node.position。同时确保水平移动开关能正确对齐起始与目标的 Y 轴坐标。
2026-03-19 10:18:47 +08:00
panw
a79ca46b3d fix(技能系统): 修复敌方技能施放目标位置计算
添加目标节点存在性检查,防止空引用
重构敌方目标位置计算逻辑,确保在施放范围内
2026-03-19 09:57:26 +08:00
panw
33d88b2884 fix(skill): 修复技能碰撞检测中的空实体引用问题
在 SkillView 的 onBeginContact 方法中调整了防御性检查的顺序,确保在访问 targetView.ent 前先验证其存在性,避免潜在的运行时错误。同时将技能 6001 的 EType 从 collision 改为 distanceEnd 以修正其结束判定逻辑。
2026-03-19 09:45:46 +08:00
panw
8302515cf1 fix(英雄): 调整近战最小攻击距离并修复攻击动画循环
- 将 meleeMinEnemyDistanceX 从 80 减少到 60,优化近战英雄攻击距离判定
- 在 HeroAnmComp 中添加 _atkIndex 变量,实现 atk0、atk1、atk2 攻击动画的循环播放
2026-03-19 09:43:53 +08:00
panw
ae39b8e861 fix(英雄视图): 修复血条进度计算并优化显示逻辑
- 添加对 hp_max 为 0 的防护,避免除零错误
- 使用 clamp 确保进度值在 0 到 1 之间
- 仅在血条减少时激活顶栏和播放抖动动画
- 血条增加时自动降低顶栏透明度
2026-03-19 09:22:41 +08:00
panw
1522e93585 feat: 为英雄和怪物添加下落入场动画
- 在 MissionHeroComp 和 MissionMonComp 中定义下落高度常量
- 修改英雄和怪物的加载方法,接受目标落地高度参数
- 使用 Tween 实现平滑下落动画,下落距离越大持续时间越长
- 下落期间禁用移动和碰撞器,落地后恢复
- 为怪物添加随机下落高度偏移,减轻重叠感
2026-03-19 09:11:11 +08:00
panw
a20e5db00b fix: 调整英雄和怪物的初始X坐标位置
将英雄初始位置X坐标从-360改为-320,怪物初始位置X坐标从360改为320,使双方起始位置更对称。
移除怪物生成时的横向错列计算,统一使用新的初始X坐标,简化生成逻辑。
2026-03-19 09:05:58 +08:00
walkpan
8a55f7433b fix(英雄): 调整英雄模型缩放、血条位置和颜色,优化顶部UI布局
- 调整多个英雄模型(mo1、mo2、ha1、hc1、hh1、hm1、hz1、hm2、mo3、hk1、mo4)的缩放比例(x轴从1改为0.7-0.8)和血条位置(y轴坐标)
- 为英雄阵营单位设置绿色血条(#2ECC71)以区分阵营
- 禁用物理调试绘制以提升性能
- 优化顶部UI(top.prefab)的布局:调整位置、缩放、尺寸,使血条和能量条更紧凑
- 调整hm2英雄的碰撞框尺寸和位置
- 移除mo3和hk1英雄中不必要的UI元素覆盖
- 为mo4英雄添加骷髅图标并调整顶部UI位置和缩放
2026-03-18 22:53:49 +08:00
walkpan
b2595cd1b4 feat(英雄): 优化血条和冷却UI表现
- 移除血条2秒自动隐藏逻辑,改为常显并根据血量状态调整透明度
- 新增血条受击抖动效果,提升打击感
- 增加技能冷却进度条显示功能
- 统一血条激活状态管理,通过透明度变化区分活跃/空闲状态
- 修复复活后血条显示异常问题
2026-03-18 22:53:29 +08:00
walkpan
53b1cf2734 fix(战斗): 调整近战英雄追击逻辑和攻击范围
- 禁用 atk_s1.prefab 中的某个节点以避免干扰
- 增加近战攻击范围的高度从 100 到 150
- 添加 meleeOvertakeSpeedGap 常量用于控制追击速度差阈值
- 实现 shouldAllowMeleeOvertake 方法,允许高速近战英雄在特定条件下超越同优先级盟友
- 条件包括:双方均为近战、优先级相同、速度足够快、盟友未进入攻击准备状态且仍在前进中
2026-03-18 20:42:30 +08:00
walkpan
ebba7a4803 fix(战斗): 调整近战攻击逻辑与攻击动画配置
- 将技能 6001 的触发类型改为碰撞检测,提高命中准确性
- 优化近战攻击距离计算,使用配置值并增加最小距离限制
- 移除攻击动画中的多余事件,缩短动画时长
- 调整攻击预制体的碰撞体尺寸和位置,使其与实际攻击范围匹配
- 简化远程英雄战斗逻辑,移除不必要的距离判断
2026-03-18 20:36:36 +08:00
panw
10aa8cfba4 feat(关卡): 将Boss刷新机制改为基于时间轴
将Boss刷新从固定周期改为基于时间轴配置,支持在特定时间点生成多个Boss
2026-03-18 17:08:53 +08:00
panw
035066752c fix: 收敛战斗内存增长并强化战斗结束清理 2026-03-18 16:46:52 +08:00
panw
56227d8f3f fix: 修复Boss渲染层级错误,确保Boss始终显示在最前
Boss单位在渲染排序时未获得足够高的优先级,导致可能被其他单位遮挡。
现在为Boss单位添加专门的渲染优先级字段(bossPriority),并在排序时作为第一排序条件。
同时为Boss的spawnOrder添加偏移量,确保同优先级内Boss保持正确的生成顺序。
2026-03-18 16:22:50 +08:00
panw
eceabdc65a refactor(hero): 简化伤害队列和动画处理逻辑
移除伤害队列中的冗余字段,将受击动画播放移至伤害触发时统一处理,提高代码可维护性并消除重复逻辑。
2026-03-18 16:15:37 +08:00
panw
b17ec3695e feat(英雄技能): 添加技能前摇与后摇动画支持
- 在 SCastSystem 中调用 playReady 播放技能前摇动画
- 在 HeroAtkSystem 中调用 playEnd 播放技能后摇动画
- 将 playSkillEffect 重构为 playSkillAnm 以播放角色攻击动画
- 修复 HeroViewComp 中 playReady 方法名拼写错误
2026-03-18 15:17:25 +08:00
panw
cc1ca2f18b refactor(技能系统): 重构施放系统以支持位置目标和实体ID目标
- 将技能目标从 HeroViewComp 数组改为位置向量和实体ID数组的组合
- 移除对 oops 框架和 GameEvent 的依赖,改为直接处理技能效果
- 新增 resolveFriendlyTargets 方法用于解析友方目标实体
- 新增 hasCastTarget 方法统一检查施放目标有效性
- 简化 applyPrimaryEffect 方法,分离伤害技能和增益技能的处理逻辑
2026-03-18 14:57:09 +08:00
panw
ee16c228ec fix: 移除技能配置中已弃用的穿刺次数字段
移除 SkillConfig 接口中的 pct 字段及相关计算逻辑,该字段已不再使用。
更新 max_hit_count 的计算,直接使用 cAttrsComp.puncture 替代之前包含 addPct 的 totalPuncture。
2026-03-18 14:19:54 +08:00
panw
eff4154ba3 perf: 增加技能对象池最大容量并优化伤害日志
将技能对象池最大容量从64提升至128,以支持更多并发技能实例。
将技能6008的结束类型从动画结束改为碰撞检测,提高准确性。
移除伤害计算中不必要的施法者属性获取和击杀计数更新,简化日志输出。
2026-03-18 10:37:25 +08:00
panw
e059c97670 refactor(skill): 移除未使用的caster引用以简化技能数据
清理SDataCom中未使用的caster属性及相关代码,减少内存占用并提升代码清晰度。技能逻辑仅依赖casterEid进行实体识别,移除冗余引用可避免潜在循环引用问题。
2026-03-18 10:22:12 +08:00
panw
d2fbac11cd feat(技能): 为技能配置添加额外属性字段并应用到技能实例
在 SkillConfig 接口中新增暴击率、冰冻概率等六个可选属性字段,用于技能配置时提供额外加成。
在 Skill 类中,读取这些配置字段并累加到施法者基础属性上,影响技能的实际效果。
2026-03-18 10:13:50 +08:00
panw
eb4e544363 fix(战斗): 调整射手技能和近战走位逻辑
- 将射手英雄的技能从[6005,6006]改为[6005,6008]
- 调整技能6005、6006的hit_count从2和3统一为1,提高技能6008的hit_count从1到6
- 优化近战单位的走位逻辑,增加攻击准备锁定和通过阈值判断,调整盟友重叠间距和位移释放距离
2026-03-18 09:57:21 +08:00
panw
941fb50ce2 feat(刷怪): 增加场上怪物数量上限控制机制
- 新增 `maxMonsterCount` 和 `resumeMonsterCount` 属性配置怪物数量阈值
- 添加 `stop_spawn_mon` 状态控制刷怪暂停与恢复
- 实现 `syncMonsterSpawnState` 方法周期性同步怪物数量并自动管理刷怪状态
- 在战斗准备时重置刷怪状态,确保每局开始时刷怪正常
2026-03-18 09:26:47 +08:00
panw
08af676c84 fix(移动): 优化盟友间距计算以允许目标重叠
引入 allyOverlapSpacingX 和 displacementReleaseX 常量,在特定条件下允许盟友目标位置重叠。
当盟友已被显著位移且自身需要前进时,使用更小的间距,避免不必要的移动阻塞。
2026-03-18 09:22:46 +08:00
walkpan
d91f32942e fix: 启用语言包路径配置以正确加载本地化资源 2026-03-18 08:05:11 +08:00
panw
5d25567b89 fix(战斗): 修正近战英雄的攻击逻辑和技能配置
- 将兽人召唤师、祭司、图腾师的类型从远程改为近战,以匹配其实际战斗行为
- 修复空挥技能的错误动画名称引用
- 重构SCastSystem的目标选择逻辑,移除冗余的combat_target处理
- 简化敌人查找逻辑,直接根据攻击范围寻找最近目标
2026-03-17 17:00:21 +08:00
panw
20aa067c9c fix(战斗): 修复英雄移动和施法逻辑
- 移动系统现在会在需要保持距离时也执行移动,避免过于靠近敌人
- 施法系统重构目标选择逻辑,确保在射程内寻找最近敌人
- 添加近战施法距离常量,根据英雄类型动态计算最大施法范围
- 移除不必要的攻击状态检查,优化施法条件判断
2026-03-17 17:00:01 +08:00
panw
f713a82a2d feat(肉鸽): 实现动态难度和配置化刷怪系统
- 新增 RogueConfig 配置文件,定义怪物类型、成长曲线和刷新参数
- 重构 MissionMonComp 刷怪逻辑,支持普通怪、Boss 和特殊队列三种生成方式
- 引入阶段成长机制,怪物属性随游戏时间动态增强
- 添加随机成长类型,使同阶段怪物属性具有差异性
- 支持外部事件插队刷怪,用于运营活动和技能召唤等场景
2026-03-17 16:04:09 +08:00
panw
8505522c7e refactor(game): 简化怪物生成逻辑并移除肉鸽配置
- 移除 RogueConfig 及相关动态成长系统
- 简化 Monster.load() 方法参数,直接使用 heroSet 配置
- 移除 MissionMonComp 中的波次生成逻辑和特殊队列
- 清理 MissionComp 中与肉鸽相关的特殊刷怪检查
- 调整 heroSet 配置,移除 buff 字段并统一技能
- 更新技能配置,增加更多攻击特效
2026-03-17 15:59:44 +08:00
panw
8667656e48 fix: 修正英雄移动逻辑中距离判断条件
将原条件 `dist < minRange` 改为 `dist >= minRange`,并与阵型移动需求结合。原逻辑在距离过近时也会触发移动,导致英雄可能无法保持在有效攻击范围内。新逻辑确保仅在距离足够且需要调整阵型位置时才移动。
2026-03-17 14:57:07 +08:00
panw
2a842f533e feat(skill): 新增buff背景动画并调整箭矢技能资源
- 新增buff_bg.prefab及其动画资源,用于技能buff背景效果
- 新增arrow_big_yellow.prefab及其动画资源,添加黄色大箭矢技能
- 调整红、蓝、绿箭矢prefab的碰撞框尺寸(70×20→60×30)
- 为atk_s2.prefab添加spriteFrame并启用debugMode
- 更新SkillSet配置,调整基础技能对应的动画资源
- 优化atk02.anim和atk03.anim动画时长,移除冗余帧
- 重构箭矢动画文件结构,将atk_arrow_*重命名为arrow_*并更新引用
- 在ha1.prefab中集成buff_bg作为子节点
2026-03-17 10:26:14 +08:00
walkpan
1b8c69a745 chore: 移除未使用的技能相关组件和文件
清理技能模块中未使用的ECS组件、视图层文件及其元数据文件,包括Ready、EndView、ReadyCom、ReadyView和STagComps。同时简化SCastSystem的注释,删除过时的设计理念说明。
2026-03-16 20:56:04 +08:00
walkpan
e91f0e37b7 chore: 清理不再使用的设计文档和元数据文件
移除 assets/script/ 目录下不再使用的设计文档(.md)及其对应的元数据文件(.meta)。
这些文件包括游戏设计文档、技能扩展设计、天赋系统开发计划等,已不再需要维护。
2026-03-16 20:35:21 +08:00
walkpan
f63f5c6656 feat(战斗): 优化自动施法目标选择逻辑
- 在 HeroAttrsComp 中新增 combat_target_eid 和 enemy_in_cast_range 字段,用于跟踪当前战斗目标
- 修改 MoveSystem 在移动时同步更新战斗目标状态,并清理无效目标
- 重构 SCastSystem 的自动施法逻辑,优先使用已锁定的战斗目标而非重新搜索
- 调整技能 6005 和 6006 的 hit_count 参数,分别改为 2 和 3 次打击
- 为友方技能施法添加事件派发机制,通知其他系统技能释放
2026-03-16 20:30:28 +08:00
walkpan
ae3231156d fix(技能): 修正技能目标筛选和触发类型配置
- 移除未使用的反伤技能配置 (5000)
- 交换技能 6001 和 6002 的 EType 配置 (animationEnd/collision),使空挥技能在动画结束时触发,电击技能在碰撞时触发
- 将绿箭 (6006) 和红箭 (6007) 的 EType 从 animationEnd 改为 collision,使其在碰撞时触发
- 重构 SCastSystem 的目标查找逻辑,将候选目标收集与筛选分离,提高性能并修复可能的目标查找错误
2026-03-16 19:43:11 +08:00
walkpan
a634b33f6b refactor(技能系统): 移除未使用属性并优化目标选择逻辑
- 移除 Skill.ts 中未使用的 wfuny 属性赋值
- 将 SCastSystem 中的目标选择逻辑重构为统一方法
- 在施放技能前增加目标有效性检查,避免无效操作
- 移除 HeroAtkSystem 中未使用的导入和接口字段
- 调整 SkillSet 中技能 6008 的 ready 参数值
2026-03-16 19:33:24 +08:00
panw
5d24dbff29 perf: 优化战斗系统内存与性能,增加对象池限制与内存监控面板
- 为Skill和Monster对象池添加最大容量限制(64/24),防止内存泄漏
- 实现DamageQueueComp的环形队列优化,减少数组操作开销
- 在MissionComp中添加内存监控面板,实时显示堆内存、实体数量、对象池状态
- 优化MoveSystem的渲染排序性能,缓存查询结果减少GC压力
- 调整角色控制器UI位置与样式,关闭调试日志减少性能开销
- 战斗结束时自动清理对象池,确保内存可回收
2026-03-16 18:49:43 +08:00