walkpan
|
354f242930
|
refactor: 重构buff系统,移除预定义buff列表
- 将SkillConfig.buffs字段改为直接存储BuffConf对象数组
- 移除预定义的BuffsList和相关导入引用
- 简化SCastSystem中buff应用逻辑,直接使用配置对象
- 移除CardComp中Buff/Debuff类型的图标获取逻辑
- 简化HeroAttrsComp调试日志,移除buff名称显示
|
2026-03-22 19:09:02 +08:00 |
|
walkpan
|
0f56591376
|
refactor(skill): 重构技能数据结构并支持技能等级
- 将 HeroAttrsComp 中的技能数组和独立 CD 映射重构为统一的 HSkillInfo 对象记录
- 在 SDataCom 中新增 skill_lv 字段,并在 Skill 加载时传入技能等级
- 更新 Hero 和 Monster 初始化逻辑以适配新的技能数据结构
- 修改 SCastSystem 以传递技能等级并影响技能效果
- 更新 heroSet 配置,将 skills 字段类型改为 Record<number, HSkillInfo>
|
2026-03-22 16:25:46 +08:00 |
|
walkpan
|
be4884d28a
|
refactor(英雄技能): 重构技能系统以支持多技能和独立冷却
- 将 HeroAttrsComp 中的单一攻击/技能ID重构为技能数组,支持多个技能
- 为每个技能添加独立的冷却计时和最大冷却时间
- 修改 SCastSystem 以支持多技能选择和冷却检查
- 更新 HeroViewComp 显示当前展示技能的冷却进度
- 统一英雄和怪物初始化技能的方式,使用 setSkills 方法
- 移除 heroSet 配置中的 as/ss 字段,改为 cds 数组
- 修改 Skill 实体加载,传递 HeroAttrsComp 用于技能伤害计算
|
2026-03-22 13:35:25 +08:00 |
|
walkpan
|
3c51db64fa
|
fix(技能系统): 修复远程技能目标选择逻辑,优先攻击最前方敌人
引入 DTType 判断,当技能为远程类型时,通过 findFrontEnemyInRange 方法筛选范围内最前方的敌人作为目标,而非最近的敌人。这确保了远程单位能正确攻击阵型前端的敌人,符合游戏战斗逻辑。
|
2026-03-19 20:48:15 +08:00 |
|
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
|
1bb2d6072e
|
refactor: 移除眩晕机制并简化buff系统
- 删除眩晕相关属性、状态检查及动画触发
- 移除BType枚举,简化BuffConf结构,所有buff改为固定值类型
- 清理未使用的导入和配置项,包括debuffs数组和多个英雄属性
- 简化暴击伤害计算,移除施法者暴击伤害加成
- 重构冰冻状态检查逻辑,添加frost_end_time字段
|
2026-03-19 18:43:02 +08:00 |
|
panw
|
a79ca46b3d
|
fix(技能系统): 修复敌方技能施放目标位置计算
添加目标节点存在性检查,防止空引用
重构敌方目标位置计算逻辑,确保在施放范围内
|
2026-03-19 09:57:26 +08:00 |
|
walkpan
|
b2595cd1b4
|
feat(英雄): 优化血条和冷却UI表现
- 移除血条2秒自动隐藏逻辑,改为常显并根据血量状态调整透明度
- 新增血条受击抖动效果,提升打击感
- 增加技能冷却进度条显示功能
- 统一血条激活状态管理,通过透明度变化区分活跃/空闲状态
- 修复复活后血条显示异常问题
|
2026-03-18 22:53:29 +08:00 |
|
panw
|
035066752c
|
fix: 收敛战斗内存增长并强化战斗结束清理
|
2026-03-18 16:46:52 +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
|
5d25567b89
|
fix(战斗): 修正近战英雄的攻击逻辑和技能配置
- 将兽人召唤师、祭司、图腾师的类型从远程改为近战,以匹配其实际战斗行为
- 修复空挥技能的错误动画名称引用
- 重构SCastSystem的目标选择逻辑,移除冗余的combat_target处理
- 简化敌人查找逻辑,直接根据攻击范围寻找最近目标
|
2026-03-17 17:00:21 +08:00 |
|
panw
|
20aa067c9c
|
fix(战斗): 修复英雄移动和施法逻辑
- 移动系统现在会在需要保持距离时也执行移动,避免过于靠近敌人
- 施法系统重构目标选择逻辑,确保在射程内寻找最近敌人
- 添加近战施法距离常量,根据英雄类型动态计算最大施法范围
- 移除不必要的攻击状态检查,优化施法条件判断
|
2026-03-17 17:00:01 +08:00 |
|
walkpan
|
1b8c69a745
|
chore: 移除未使用的技能相关组件和文件
清理技能模块中未使用的ECS组件、视图层文件及其元数据文件,包括Ready、EndView、ReadyCom、ReadyView和STagComps。同时简化SCastSystem的注释,删除过时的设计理念说明。
|
2026-03-16 20:56:04 +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 |
|
walkpan
|
211f48b6aa
|
feat: 启用物理调试绘制并调整技能配置与移动逻辑
- 启用PhysicsSystem2D的Aabb调试绘制以辅助碰撞检测
- 将射手英雄的技能由[6002,6100]更新为[6005,6006]
- 为SMoveComp添加isHorizontal属性,强制水平移动时保持Y坐标不变
- 技能施放延迟优先使用技能配置的ready值,提高配置灵活性
- 将技能6001和6005的结束类型由animationEnd改为collision,使伤害触发更精确
|
2026-03-15 13:03:34 +08:00 |
|
panw
|
3b545e3bff
|
fix(战斗): 修正护盾计算并重构技能效果处理
- 修复护盾计算错误,将百分比加成基数从 shield_max 改为 hp_max
- 增加护盾和最大护盾值的非负检查
- 引入 SkillKind 枚举明确技能类型,重构 SCastSystem 中的技能效果处理逻辑
- 将治疗和护盾效果从 Buff 系统剥离,直接作用于 HeroAttrsComp
- 清理未使用的导入和日志输出
|
2026-03-13 09:52:43 +08:00 |
|
panw
|
5d83bd1516
|
refactor(skill): 将buff/debuff应用逻辑从SkillView移到SCastSystem
重构技能效果应用逻辑,将buff/debuff处理从SkillView的碰撞检测中移除,统一在SCastSystem中根据技能配置决定是否创建技能实体或直接应用支持效果。这样可以更清晰地分离伤害技能和支持技能的处理逻辑,避免在碰撞时重复应用效果。
|
2026-03-12 22:02:42 +08:00 |
|
panw
|
fac8d571c3
|
refactor(skill): 统一技能效果处理逻辑至 SkillView
移除 SCastSystem 中的 applySupportSkill 方法,将治疗、护盾、Buff/Debuff 效果统一在 SkillView 的碰撞逻辑中处理。同时删除 SkillConfig 中的 SType 枚举,改为通过 buffs 和 debuffs 列表配置效果。
|
2026-03-12 16:51:14 +08:00 |
|
panw
|
3ba33c5240
|
feat(技能): 增加基于目标类型的智能排序逻辑
扩展技能目标选择系统,支持根据 TType 配置选择不同优先级的目标。
新增 HighestAP(最高攻击力)目标类型,并在 SCastSystem 中实现排序算法:
- Frontline(默认):最近距离优先
- Backline:最远距离优先
- LowestHP:最低血量优先
- HighestHP:最高血量优先
- HighestAP:最高攻击力优先
同时更新所有技能配置,补充缺失的 TType 字段。
|
2026-03-12 16:27:16 +08:00 |
|
panw
|
d5e03d7856
|
refactor(skill): 移除技能配置中未使用的cd和t_num字段
清理技能配置接口和实现代码,删除已不再使用的冷却时间(cd)和目标数量(t_num)字段。
在SCastSystem中,将目标数量计算简化为固定使用最小值1,因为t_num字段已废弃。
同时移除SkillView中已注释掉的旧逻辑代码。
|
2026-03-12 16:27:01 +08:00 |
|
panw
|
876b3f9a30
|
refactor: 移除技能配置中的固定距离字段,改用动态计算
技能配置中不再硬编码 `dis` 距离字段,而是通过 `casterAttrs.getCachedMaxSkillDistance()` 动态获取英雄的最大技能距离。这提高了灵活性,使技能距离可以基于英雄属性动态变化。
|
2026-03-12 16:05:12 +08:00 |
|
walkpan
|
5d09b3361e
|
feat(battle): 重构技能施放与战斗距离系统
- 新增技能距离缓存机制,根据英雄类型动态计算最小和最大攻击范围
- 重构SCastSystem实现完整的技能施放逻辑,支持伤害、治疗、护盾和buff技能
- 在Hero和Monster初始化时调用updateSkillDistanceCache预计算技能距离
- 修改HeroMoveSystem和MonMoveSystem使用动态战斗范围,支持撤退逻辑
- 优化Skill实体创建,增加对象池支持
- 添加技能CD触发方法和状态检查方法
|
2026-03-12 09:13:28 +08:00 |
|
walkpan
|
ce2cd05ba9
|
refactor(英雄配置): 移除英雄配置中的mp和def属性
简化英雄属性配置,移除不再使用的法力值(mp)和防御力(def)属性
|
2026-03-11 23:24:31 +08:00 |
|
panw
|
9f809b1ffa
|
feat(技能系统): 添加最大技能自动施放开关并重构施法逻辑
- 在HeroSkillsComp中添加max_auto字段控制最大技能自动施放
- 重构SACastSystem的施法逻辑,增加返回值判断
- 新增manualCast和manualCastMax方法支持手动施法
- 删除废弃的SCastSystem文件
|
2025-11-19 10:34:37 +08:00 |
|
walkpan
|
cb844cf65f
|
解决一些小问题
|
2025-11-01 15:02:31 +08:00 |
|
walkpan
|
65b1eebd84
|
refactor(skill): 重构伤害计算逻辑
- 删除SkillEnt.ts及其meta文件,简化技能实体管理
- 将SDataCom重命名为更清晰的DmgDataCom和SDataCom
- 重构伤害计算系统,增加命中检测和伤害类型处理
- 优化技能碰撞检测逻辑,支持范围伤害和数量限制
|
2025-10-31 13:38:32 +08:00 |
|
panw
|
3b21ee4048
|
refactor(技能系统): 重构技能施放系统并优化位置初始化
- 将SkillCastSystem重命名为SCastSystem和SACastSystem以区分不同功能
- 优化SMoveComp中位置属性的初始化,改为null避免不必要的对象创建
- 统一日志前缀使用系统名称提高可读性
- 在SACastSystem中添加目标位置检查逻辑
- 修复代码格式问题,统一缩进和注释风格
|
2025-10-31 11:05:44 +08:00 |
|
panw
|
2b3b80b308
|
refactor(技能系统): 重构技能系统以使用s_uuid作为主键并优化技能施放逻辑
- 将HeroSkillsComp中的技能数组改为以s_uuid为键的对象存储
- 修改CSRequestComp使用s_uuid替代skillIndex
- 优化SkillCastSystem和SACastSystem的施放逻辑
- 为SMoveDataComp添加rePos方法处理技能位置计算
- 移除未使用的SDataComSystem代码
|
2025-10-31 10:47:05 +08:00 |
|
panw
|
b38e63e200
|
refactor(skill): 重构技能组件目录结构并重命名施法请求组件
将技能相关组件从hero目录移动到skill目录
将CastSkillRequestComp重命名为CSRequestComp
更新相关引用和文档说明
|
2025-10-31 09:22:50 +08:00 |
|
panw
|
a1c605238d
|
refactor(hero): 重构技能系统变量命名和自动施法系统
将技能相关变量名从skillId改为s_uuid以提高一致性
重命名自动施法系统文件并优化目标选择方法命名
删除旧版自动施法系统文件,新增重构后的实现
|
2025-10-31 09:00:37 +08:00 |
|
walkpan
|
2f19433a0a
|
feat(skill): 重构技能系统,新增技能数据组件和移动组件
refactor(skill): 移除旧技能组件和文档,优化技能配置结构
fix(skill): 修正技能预制体配置错误,统一技能运行类型字段
docs(skill): 删除过时的技能系统说明文档
perf(skill): 优化技能加载逻辑,减少资源消耗
style(skill): 调整代码格式,提高可读性
|
2025-10-31 00:35:51 +08:00 |
|