Commit Graph

572 Commits

Author SHA1 Message Date
walkpan
87b21864b1 feat(hero): 添加自动施法系统,支持技能AI决策与执行
实现英雄技能自动施法系统,包含以下功能:
- 根据技能类型(伤害/治疗/护盾/Buff)自动检测可施放技能
- 支持多种AI策略,包括目标选择、距离检查和CD管理
- 提供手动施法接口,支持普通攻击、技能和必杀技
- 集成天赋系统,处理风怒、双技能等天赋效果
- 实现治疗、护盾和Buff技能的目标选择与效果应用
- 添加调试日志支持,便于系统行为追踪
2026-03-11 23:15:47 +08:00
walkpan
a544f65d73 refactor(战斗): 重构英雄与怪物属性系统,简化数据结构
- 移除 HeroSkillsComp 组件,将技能逻辑合并到 HeroAttrsComp
- 将属性从 Attrs 枚举映射改为 HeroAttrsComp 中的独立字段
- 为 HeroAttrsComp 添加攻击和技能冷却时间管理功能
- 统一英雄和怪物的属性初始化方式,简化配置数据
- 在 GameSet 中添加击退概率配置项
- 修复 SkillView 中属性名大小写错误
2026-03-11 23:13:21 +08:00
walkpan
9d6075be6e refactor(hero): 重构英雄属性与状态管理
- 将增益效果属性组移到武器进化属性后以优化结构
- 新增 in_stun 和 in_frost 状态标志替代 isStun/isFrost 方法
- 更新状态检查逻辑以使用新的状态标志
- 移除 HeroSkillsComp 依赖以简化移动系统
- 修改伤害计算直接使用 HeroAttrsComp 属性而非 Attrs 映射
- 简化暴击、击退等判定逻辑,移除闪避和抗性计算
- 优化 reset 方法,设置合理的默认值并重置新增状态标志
- 添加状态变化时的调试日志输出
2026-03-11 22:51:48 +08:00
walkpan
48769e699e refactor(game): 重构Buff系统并移除废弃代码
- 将Debuff枚举移至Attrs作为状态属性,统一Buff/Debuff处理逻辑
- 移除HeroViewComp中废弃的MP显示代码和三个设计文档文件
- 重构HeroAttrsComp的Buff系统,支持临时/永久增益、状态控制和属性修改
- 重构SkillSet配置,分离Buff定义为独立列表,简化技能配置
- 更新技能距离缓存逻辑,直接基于技能配置计算
2026-03-11 21:35:51 +08:00
walkpan
0ce299b0d8 refactor(英雄属性): 重构属性系统为扁平结构并移除技能组件
- 将 Attrs 枚举从数字索引改为字符串键值对,直接映射到 HeroAttrsComp 的字段
- 删除 HeroSkillsComp 组件,将攻击和技能计时器移至 HeroAttrsComp
- 移除复杂的属性类型映射和初始化函数,简化属性访问逻辑
- 更新 HeroViewComp 以直接使用模型字段而非通过 Attrs 枚举
- 重命名 NeAttrs 为 Debuff 并调整相关配置接口
2026-03-11 19:36:47 +08:00
panw
8663ae80e5 feat(英雄属性): 扩展英雄属性组件以支持新游戏机制
新增攻击速度、技能速度、暴击、命中及多种特殊效果属性。
添加武器进化相关属性如穿刺和风怒。
在重置方法中初始化所有新增属性,确保状态一致性。
2026-03-11 18:08:01 +08:00
panw
350bbafcfb refactor(hero): 移除天赋系统和相关属性,简化英雄架构
- 删除 SCDSystem、HeroAttrSystem 等独立系统,将功能整合到现有组件
- 移除 TalComp 天赋组件及相关配置(TalSet、AttrSet、CardSet)
- 清理 HeroAttrs 中未使用的属性枚举,保留核心战斗属性
- 简化 Hero 实体创建逻辑,不再为主角挂载天赋组件
- 移除 SingletonModuleComp 中与天赋、经验、收集相关的数据管理
2026-03-11 17:32:29 +08:00
panw
9ef2dd105f ui调整 2026-03-10 11:15:46 +08:00
walkpan
650bcccc58 feat(天赋系统): 重构天赋触发机制并添加天赋点数系统
- 移除升级触发类型(TriType.LUP)及相关逻辑,改为通过英雄配置定义天赋点数获取规则
- 新增天赋点数接口(ITalPts)和配置字段,支持攻击、受击等不同触发条件
- 在天赋配置中添加点数获取(Pts)和消耗(CPts)字段
- 移除必杀技触发类型(TriType.MAX)的处理逻辑
- 优化TalComp组件结构,移除不必要的heroView引用
- 添加天赋系统设计文档(taldev.md)
2026-02-21 23:45:23 +08:00
walkpan
369c10cf62 refactor(属性): 统一默认属性定义并移除调试属性
- 新增 defaultAttrs 对象集中定义 BACK_CHANCE、DODGE、CON_RES 的默认值
- 修改 Hero 和 Monster 初始化逻辑,使用 defaultAttrs 代替硬编码值
- 移除 HeroAttrsComp 中未使用的 debugMode 装饰器属性
- 简化日志消息,移除重复的组件名前缀
- 修复 SingletonModuleComp 中属性名错误(speed 改为 dodge)
2026-02-06 20:38:34 +08:00
panw
b48547b1f1 fix(战斗系统): 调整伤害计算公式并简化属性卡牌配置
- 在伤害计算中,将防御属性从百分比减免改为固定值减免,确保至少造成1点伤害
- 移除天赋免伤对防御属性的影响,使防御计算更清晰
- 简化一阶属性卡牌配置,移除不常用的特殊属性卡牌
2026-02-06 15:55:47 +08:00
panw
b85b9d8655 feat(skill): 新增死亡动画及预制体资源
添加 dead.prefab 预制体及其关联的 dead.anim 动画文件,用于角色死亡时的技能表现。
2026-02-05 16:16:05 +08:00
walkpan
ee9d72be5c fix(hero): 修复英雄属性组件事件监听未正确初始化和清理的问题
将 HeroAttrsComp 的事件监听从 onLoad/onDestroy 生命周期方法移至显式调用的 initEvent/removeEvent 方法,确保在 Hero 初始化时正确初始化事件监听,并在重置时清理事件监听,避免事件重复绑定和内存泄漏。
2026-02-05 08:01:34 +08:00
walkpan
878ca8ed77 feat: 为升级事件添加调试日志
在 SingletonModuleComp 和 HeroAttrsComp 中添加详细的日志记录,用于追踪升级事件的触发、监听、移除和处理流程,便于调试和问题排查。
2026-02-05 08:01:06 +08:00
walkpan
3d089885ce style: 移除日志消息中的冗余"[HeroAttrs]"前缀
移除HeroAttrsComp中所有调试日志里重复的"[HeroAttrs]"前缀,使日志输出更简洁。这些前缀在日志标签参数中已提供,无需在消息内容中重复。
2026-02-04 20:58:10 +08:00
walkpan
7812855ad3 chore: 调整调试日志开关状态
修复 HeroAttrsComp 与 HeroAtkSystem 中 debugMode 默认值的矛盾,统一将系统调试关闭而组件调试开启。同时在 Hero 创建日志中增加 is_master 字段输出,便于追踪主角创建逻辑。
2026-02-04 20:57:18 +08:00
panw
b42cc2e662 feat(战斗): 调整击退机制和技能配置
- 新增后退范围配置项,统一管理击退距离
- 提高英雄击退几率从20%到50%
- 调整"蓄力一击"技能冷却时间从1秒到3秒
- 优化击退逻辑,仅对怪物生效并应用配置的后退范围
- 启用调试模式以方便战斗系统调试
2026-02-04 16:42:46 +08:00
panw
0a8f2056c3 refactor(game): 优化属性卡牌配置与UI更新逻辑
- 将AttrSet中的`note`字段统一重命名为`name`,提高字段语义清晰度
- 在CardSet中修正属性卡和药水卡名称的获取逻辑,使用新的`name`字段
- 调整HeroViewComp的health方法,增加血量变化小于等于99时不显示特效的优化
- 将HeroAttrsSystem中的自然回复计时器从1秒改为5秒,并更新相关注释
- 移除HeroViewComp中已注释的冗余UI更新代码,保持代码整洁
2026-02-04 16:23:09 +08:00
panw
701382e868 fix: 移除冗余的MP回复逻辑和负向HP回复处理
清理HeroAttrSystem中未使用的MP回复相关代码,并移除负向HP回复(扣血)的不必要处理,因为扣血已有独立逻辑处理。
2026-02-04 15:46:57 +08:00
panw
4d0c8e5438 refactor(英雄属性): 重构生命回复机制并调整相关配置
- 将 HeroUpSet 枚举重命名为 HRegen 并简化其内容,仅保留 HP 回复基础值
- 将 HP_REGEN 属性类型从 VALUE 改为 RATIO,使其作为百分比加成
- 移除魔法回复的固定加成,仅保留属性提供的回复值
- 调整 add_hp 方法的调用参数,移除强制显示伤害数字的标志
2026-02-04 15:45:43 +08:00
panw
576c3ebbd5 fix(英雄属性): 修复回血时未正确触发视图层特效的问题
调整 HeroAttrsSystem 中 HP 自然回复的逻辑,当回血值大于零时,通过 HeroViewComp 触发对应的视图层特效。同时,在 HeroAttrsComp 的注释中补充了触发视图层的条件说明,以保持数据层与视图层的分离。
2026-02-04 15:11:41 +08:00
panw
a27d6d2de8 feat(英雄属性): 根据职业配置升级成长属性
引入 JobUpConf 配置,为不同职业(战士、远程、法师、辅助、刺客)定义差异化的血量、攻击和防御成长值。在 HeroAttrsComp 中,英雄升级时不再使用固定数值成长,而是根据其职业从配置中获取对应的成长属性,使各职业的成长曲线更具特色。
2026-02-04 10:36:54 +08:00
panw
3a8f015a78 refactor: 移除调试日志并统一使用日志工具
- 删除多个文件中的 console.log/console.warn/console.error 调试输出
- 将日志输出统一替换为 mLogger 工具,支持调试模式控制
- 清理注释掉的调试代码和空方法体
2026-02-03 16:49:24 +08:00
panw
dc746e28da refactor(英雄系统): 将调试模式变量移至Monster类
将HeroAttrSystem中的debugMode改为public,并在Monster类中添加私有debugMode字段,为后续调试功能做准备。
2026-02-03 16:33:21 +08:00
panw
6043963c18 fix: 将调试日志从console.log替换为mLogger并默认关闭调试模式
- 在MissionCardComp中默认关闭调试模式
- 在MissionHomeComp、Mon、HeroAttrsSystem和HInfoComp中引入mLogger
- 使用debugMode控制日志输出,避免生产环境产生过多console日志
2026-02-03 16:27:27 +08:00
panw
147131d3c2 refactor: 移除全局主角引用,改用ECS查询定位主角实体
- 移除 SingletonModuleComp 中的 role 字段及相关设置
- 在 MissionComp 中移除重置 role 的代码
- 修改 Hero 类的销毁方法,不再清理 role 引用
- 在 MissionCardComp 中通过 HeroMasterComp 查询来定位主角实体
- 增加详细调试日志以追踪天赋、技能等组件的添加过程
2026-02-03 15:56:22 +08:00
panw
63dd22fb88 refactor: 重命名Logger类并增加错误日志方法
- 将Logger类重命名为mLogger以符合命名规范
- 新增error方法用于统一错误输出
- 在多个组件中替换console.log/warn/error为mLogger的对应方法
- 为多个组件添加debugMode属性以控制模块级日志开关
- 新增HeroMasterComp组件框架
2026-02-03 14:40:02 +08:00
panw
859ab3bc2a feat: 引入集中式日志工具类并重构调试日志
- 新增 Logger 类提供统一的日志和警告输出,支持全局和模块级开关
- 重构 SkillView、HeroViewComp 和 HeroAtkSystem 中的调试日志方法,改用 Logger 类
- 在 HeroViewComp 中添加调试模式属性便于编辑器配置
- 统一日志格式为 [标签] + 内容,提高日志可读性和维护性
2026-02-03 10:45:17 +08:00
panw
c07678f31f perf: 移除调试日志并统一调试模式控制
- 将 HeroAttrsComp 中的 console.log 改为注释以提升性能
- 将 HeroViewComp 的 debugMode 默认值设为 false 并移除冗余日志
- 在 SkillView 中统一添加 debugMode 控制,替换直接 console 调用
- 在 MissionCardComp 中添加调试日志以跟踪卡牌应用效果
2026-02-03 10:36:41 +08:00
panw
031b91311a refactor(技能系统): 移除事件通信,直接调用方法添加技能
- 删除 HeroSkillsComp 中监听 GameEvent.UseSkillCard 的代码
- 在 MissionCardComp 中直接调用 HeroSkillsComp.addSkill() 方法
- 简化组件间通信方式,避免不必要的事件派发
2026-02-03 09:14:18 +08:00
panw
78647eda29 refactor(卡牌): 将卡牌效果应用逻辑改为直接调用组件方法
移除 HeroAttrsComp 中对 UseItemCard 和 UseAttrCard 的事件监听,改为在 MissionCardComp 中直接获取主角实体并调用对应组件方法。
这样避免事件广播导致非主角实体错误响应,确保卡牌效果仅作用于主角。
具体修改:
- 天赋卡:直接调用 TalComp.addTal
- 属性卡:直接更新全局属性并调用 HeroAttrsComp.recalculateSingleAttr
- 药水卡:直接创建 BuffConf 并调用 HeroAttrsComp.addBuff
- 技能卡:暂时保留事件派发,但后续可考虑类似改造
- 伙伴卡:保留事件派发,因其涉及实体创建
2026-02-03 08:37:27 +08:00
panw
d40cb26819 feat: 添加主角实体引用并确保跨局重置
在 SingletonModuleComp 中添加 role 字段存储主角实体引用,并在 MissionComp 任务开始时重置引用,在 Hero 销毁时清理引用。避免跨局数据残留导致引用错误。
2026-02-02 16:56:05 +08:00
panw
c349319f7b fix: 修复天赋属性加成不生效及全局数据同步问题
修复 TalComp 中永久属性加成类型转换错误,导致天赋属性未正确应用
在 HeroAttrsComp 中添加属性变化后的全局数据同步调用
在 SingletonModuleComp 中确保英雄数据更新后触发 VM 响应
添加 GlobalAttrChange 事件枚举用于后续属性变更监听
2026-02-02 16:33:55 +08:00
panw
cc57eef1b3 fix(英雄属性): 修复全局属性加成不生效的问题
调整全局属性加成配置,将攻击力加成值设为1,生命上限加成值设为100,并确保加成仅对英雄生效。在属性初始化时强制重算受全局属性影响的属性,并确保英雄初始状态为满血满蓝。
2026-02-02 15:55:12 +08:00
panw
ce724828a7 feat(英雄属性): 增加全局属性加成计算
在英雄属性计算中集成全局属性加成,通过 SingletonModuleComp 中的 global_attrs 配置为特定属性提供基础值和数量加成。
2026-02-02 15:33:08 +08:00
walkpan
4ac3d55990 feat: 添加天赋添加日志并更新天赋配置注释
- 在 TalComp.ts 的 addTal 方法中添加 console.log 用于调试
- 在 TalSet.ts 中为天赋类别添加注释以提升代码可读性
2026-01-29 19:15:29 +08:00
walkpan
1c333629b4 fix(hero): 修复血条显示逻辑,区分加血和扣血动画
refactor(map): 优化地图预制体结构,移除无用节点
style(assets): 更新资源文件和元数据配置
2026-01-18 17:21:48 +08:00
walkpan
b2c5ffa047 refactor(战斗系统): 修改防御属性为百分比类型并优化伤害计算
- 将物理防御属性从数值型改为百分比型
- 使用 add_hp 方法替代直接修改 hp 以触发 UI 更新
- 重构伤害计算公式,明确防御减免和易伤的计算逻辑
- 调整测试英雄配置,统一使用远程攻击技能
2026-01-17 14:38:22 +08:00
walkpan
9568177b36 fix(hero): 调整英雄死亡事件处理顺序
修复英雄死亡事件处理顺序问题,将阵营判断提前以避免潜在逻辑错误。同时保持碰撞体禁用逻辑不变。
2026-01-16 23:07:30 +08:00
walkpan
fc6d2ad8c6 fix(hero): 修复技能添加和天赋叠加逻辑
修复英雄技能添加时错误的参数传递,将HSSet.max改为HSSet.skill
完善天赋叠加逻辑,当天赋已存在时叠加效果数值而非直接返回
2026-01-16 20:21:13 +08:00
walkpan
f8acaae2a0 feat(物品系统): 重构药水系统并移除旧物品配置
将药水物品从ItemSet迁移到AttrSet作为PotionCards,并实现新的药水使用逻辑
移除已废弃的ItemSet.ts文件
2026-01-16 19:47:45 +08:00
walkpan
ab4b7d356c feat(英雄属性): 添加处理属性卡使用的功能
实现属性卡使用逻辑,当使用属性卡时根据配置添加对应buff效果并显示提示信息
2026-01-16 19:47:36 +08:00
panw
d6ce56e543 refactor(MonMove): 重构怪物移动系统,实现基于职业类型的智能战术
将怪物移动逻辑拆分为近战、中程和远程三种策略
优化状态检查和移动逻辑分发
移除不必要的渲染层级更新
2026-01-15 16:46:15 +08:00
panw
49537a086c refactor(英雄属性): 移除DIS属性及相关代码
移除英雄和怪物类中不再使用的DIS属性,包括初始化、赋值和引用代码
2026-01-15 16:37:26 +08:00
walkpan
343e14b56c fix(英雄移动): 添加暂停怪物行动时英雄也停止移动的逻辑
当开启四选一界面时暂停怪物行动,现在英雄移动也会同步暂停。同时在MissionCardComp中添加对stop_mon_action状态的管理,确保界面开关时游戏状态正确切换。
2026-01-06 19:50:20 +08:00
walkpan
0febe02ecc feat(关卡系统): 添加关卡解锁和免广告功能
- 在MissionComp和SCDSystem中添加stop_mon_action检查逻辑
- 修改SingletonModuleComp数据结构,添加noStop和unlockCoin字段
- 为MissionCardComp添加金币解锁和免广告功能
- 调整ubtns.plist的边框值
2026-01-06 19:47:11 +08:00
walkpan
bb28492550 feat(英雄AI): 重构英雄移动系统,基于攻击距离类型实现智能战术走位
1. 新增SkillRange枚举定义近/中/远程攻击类型
2. 在HeroAttrsComp和hero配置中添加rangeType字段
3. 重写HeroMoveSystem,根据rangeType实现差异化移动策略
4. 移除技能施放的攻击状态限制,优化AI决策逻辑
2026-01-06 18:26:18 +08:00
walkpan
974a6d26b2 refactor(伤害系统): 将caster从HeroViewComp改为使用casterEid
统一伤害系统中施法者的标识方式,从直接使用HeroViewComp改为使用实体ID(casterEid)
修复反伤逻辑中可能存在的空指针问题
2026-01-06 14:28:48 +08:00
walkpan
a32aa5ad08 fix(hero): 修复DamageQueueComp中caster可能为null时的错误
当caster或caster.ent为null时,使用可选链操作符和空值合并运算符提供默认值,避免生成eventId时出现错误
2026-01-06 12:14:14 +08:00
walkpan
526293cbbd feat(英雄系统): 添加友方英雄标识并调整经验获取
初始化任务卡片事件队列
修改英雄经验获取为20倍
在Hero类中添加is_friend参数标识友方英雄
调整MissionHeroComp中召唤英雄逻辑以支持友方标识
2026-01-05 22:00:11 +08:00