Commit Graph

720 Commits

Author SHA1 Message Date
walkpan
dbe376033d refactor: 移除未使用的代码并优化卡牌获取逻辑
- 删除 MissionCardComp 中未使用的接口定义和注释代码
- 移除 MissionComp 中未实现的英雄死亡、升级和复活相关事件处理
- 重构 CardSet 中的 getCardPoolByLv 和 getCardsByLv 方法,增加类型过滤和等级模式参数
- 清理 MissionComp 中的冗余代码和注释,简化局内数据初始化逻辑
2026-03-14 09:09:47 +08:00
walkpan
c8c3dde2e4 feat(card): 新增卡牌系统核心组件与配置
- 新增 CardComp 组件用于卡牌视图展示
- 新增 CardSet 配置文件,包含卡牌类型、种类枚举和完整卡池配置
- 重构 HSkillComp 组件,优化技能调试面板布局和交互逻辑
- 更新 MissionCardComp 组件,移除旧卡牌类型依赖
- 调整 GameSet 配置文件,移除 CardType 和 CardKind 枚举
- 更新卡牌预制体结构,优化 UI 布局和组件绑定
- 新增特殊卡牌效果系统,支持抽英雄和重复使用等特殊能力
- 实现卡牌按权重抽取算法和卡池等级管理机制
2026-03-13 23:15:21 +08:00
panw
ec91ccfa90 fix(game): 调整游戏地平线高度和移动系统位置参数
- 将游戏地平线从 -165 调整为 -140,以优化视觉表现
- 修改移动系统的Y轴位置偏移量,使角色移动更符合设计需求
- 更新地图预制体中的组件引用和布局配置
- 删除未使用的资源文件 mon.meta
2026-03-13 16:37:19 +08:00
walkpan
8d4ebcfdd8 feat(移动系统): 实现多线站位和防重叠机制
- 将移动边界配置从 min/max 改为 front/back 以支持双向移动逻辑
- 增加四条站位线(LINE1~LINE4)实现纵向分层站位
- 添加防重叠检测,防止同阵营单位位置冲突
- 调整游戏地平线高度和地图元素位置以适配新站位系统
- 禁用地图中多余的游戏对象以优化性能
2026-03-13 16:04:53 +08:00
walkpan
b12b421823 refactor: 合并英雄与怪物移动组件为通用 MoveComp
重构移动系统,将 HeroMoveComp 和 MonMoveComp 合并为通用的 MoveComp 组件,统一移动逻辑。
- 移除 HeroMasterComp 相关代码,简化实体查询
- 统一战斗范围计算和阵型回归逻辑
- 调整移动边界和撤退范围配置
- 优化敌人查找算法,提高性能
2026-03-13 15:54:12 +08:00
panw
887ba6064c feat(技能系统): 扩展Buff运行类型并修复治疗与护盾配置
- 扩展BuffRunType枚举,新增Permanent和Timed类型,明确区分永久、定时和间隔效果
- 在HeroAttrsComp中重构addBuff方法,根据配置智能解析运行类型
- 为治疗(10301)和护盾(10302)配置显式添加runType: Permanent,确保逻辑一致性
- 修复定时Buff的持续时间处理,避免time为0时使用默认值1
2026-03-13 10:41:47 +08:00
panw
d2418c03c8 feat(buff): 新增间隔触发型buff效果支持
- 在 SkillSet.ts 中添加 BuffRunType 枚举和 interval 配置字段
- 在 HeroAttrsComp 中实现间隔效果处理逻辑,支持持续治疗和流血等效果
- 新增 INTERVAL_EFFECTS 数组和 updateIntervalEffectsBySystem 方法来管理间隔触发
- 添加 10311(持续治疗)和 10312(流血)两个示例buff配置
2026-03-13 10:21:40 +08:00
panw
3b545e3bff fix(战斗): 修正护盾计算并重构技能效果处理
- 修复护盾计算错误,将百分比加成基数从 shield_max 改为 hp_max
- 增加护盾和最大护盾值的非负检查
- 引入 SkillKind 枚举明确技能类型,重构 SCastSystem 中的技能效果处理逻辑
- 将治疗和护盾效果从 Buff 系统剥离,直接作用于 HeroAttrsComp
- 清理未使用的导入和日志输出
2026-03-13 09:52:43 +08:00
panw
6170f47ca6 refactor: 重构技能系统并移除自动施法模块
- 删除 SACastSystem 及其 meta 文件,移除自动施法逻辑
- 重构 HeroAttrsComp 中的 Buff 处理逻辑,修复百分比计算问题
  - 将治疗和护盾 Buff 的 BType 从 VALUE 改为 RATIO
  - 添加 resolveBuffValue 方法正确计算基于最大生命值的百分比值
  - 修复 applyAttrChange 中 RATIO 类型的叠加逻辑
- 添加 HeroBuffSystem 系统,将 Buff 更新逻辑从 HeroAttrsComp 中分离
- 优化 SkillView 的销毁逻辑,避免直接调用 destroy 方法
  - 禁用碰撞体并设置节点为 inactive 状态
2026-03-13 09:52:16 +08:00
walkpan
04a0cc70d4 ui 调整 2026-03-12 23:20:57 +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
ce2cd05ba9 refactor(英雄配置): 移除英雄配置中的mp和def属性
简化英雄属性配置,移除不再使用的法力值(mp)和防御力(def)属性
2026-03-11 23:24:31 +08:00
walkpan
a544f65d73 refactor(战斗): 重构英雄与怪物属性系统,简化数据结构
- 移除 HeroSkillsComp 组件,将技能逻辑合并到 HeroAttrsComp
- 将属性从 Attrs 枚举映射改为 HeroAttrsComp 中的独立字段
- 为 HeroAttrsComp 添加攻击和技能冷却时间管理功能
- 统一英雄和怪物的属性初始化方式,简化配置数据
- 在 GameSet 中添加击退概率配置项
- 修复 SkillView 中属性名大小写错误
2026-03-11 23:13:21 +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
350bbafcfb refactor(hero): 移除天赋系统和相关属性,简化英雄架构
- 删除 SCDSystem、HeroAttrSystem 等独立系统,将功能整合到现有组件
- 移除 TalComp 天赋组件及相关配置(TalSet、AttrSet、CardSet)
- 清理 HeroAttrs 中未使用的属性枚举,保留核心战斗属性
- 简化 Hero 实体创建逻辑,不再为主角挂载天赋组件
- 移除 SingletonModuleComp 中与天赋、经验、收集相关的数据管理
2026-03-11 17:32:29 +08:00
panw
7c4ce58b14 ui 2026-03-11 15:46:05 +08:00
walkpan
0640082042 切换到新设计:抽卡 2026-03-09 23:20:36 +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
84963f6a3b refactor(配置): 调整英雄属性和全局加成数值
- 将物理防御属性类型从百分比改为数值型
- 降低全局生命加成并替换速度加成为闪避率加成
- 更新英雄属性计算以使用闪避率而非速度
- 启用 MissionCardComp 的调试模式以方便测试
2026-02-06 16:50:04 +08:00
panw
b48547b1f1 fix(战斗系统): 调整伤害计算公式并简化属性卡牌配置
- 在伤害计算中,将防御属性从百分比减免改为固定值减免,确保至少造成1点伤害
- 移除天赋免伤对防御属性的影响,使防御计算更清晰
- 简化一阶属性卡牌配置,移除不常用的特殊属性卡牌
2026-02-06 15:55:47 +08:00
panw
b70ac53f82 feat(升级奖励): 修改属性选择触发逻辑,改为通过卡片奖励触发
移除英雄升级时自动触发属性选择事件,改为在特定等级通过奖励卡片触发。调整 CardSet 配置,在更多等级提供属性卡片奖励,使属性成长更符合游戏节奏。
2026-02-06 15:39:21 +08:00
panw
b85b9d8655 feat(skill): 新增死亡动画及预制体资源
添加 dead.prefab 预制体及其关联的 dead.anim 动画文件,用于角色死亡时的技能表现。
2026-02-05 16:16:05 +08:00
panw
1ad7b70c45 fix(game): 修复技能伤害应用时的空指针异常并调整英雄攻速
- 在 SkillView.apply_damage 中添加实体存在性安全检查,防止目标实体已销毁时访问属性
- 使用可选链操作符安全获取施法者和目标名称,避免日志记录时崩溃
- 将所有英雄的基础攻击速度(as)统一调整为 1,以平衡游戏性
2026-02-05 10:12:36 +08:00
panw
49b4bef033 feat(游戏数据): 添加金币字段并调整英雄属性和UI
- 在 SingletonModuleComp 中添加 gold 字段作为玩家金币数据
- 调整 HeroConf 配置:降低英雄属性上限并将购买成本设为0
- 修改 HInfoComp 中购买英雄的金币检查逻辑,使用 smc.data.gold 替代 smc.vmdata.gold
- 更新 role_controller.prefab 的UI元素位置、尺寸和精灵资源
2026-02-05 09:55:59 +08:00
walkpan
878ca8ed77 feat: 为升级事件添加调试日志
在 SingletonModuleComp 和 HeroAttrsComp 中添加详细的日志记录,用于追踪升级事件的触发、监听、移除和处理流程,便于调试和问题排查。
2026-02-05 08:01:06 +08:00
walkpan
e8588ded76 feat(地图): 根据主角属性倾向调整任务卡牌权重
在获取任务卡牌选项时,查询主角已拥有的永久属性Buff,将对应属性的卡牌权重提高一倍,使卡牌选择更符合角色成长方向。
2026-02-04 20:41:24 +08:00
walkpan
30ca0baabc fix(奖励): 修复等级奖励类型获取逻辑并添加空值检查
- 调整 getLevelRewardType 函数,仅在特定等级返回天赋类型,其他等级返回 null
- 在 MissionComp.call_cards 中添加奖励类型空值检查,避免无效调用
- 为多个预制体组件统一添加 debugMode 默认值
2026-02-04 20:31:40 +08:00
walkpan
b9e9527375 refactor: 移动 getLevelRewardType 函数至 CardSet 模块
将获取等级奖励类型的函数从 GameSet 模块移至更相关的 CardSet 模块,以提高代码的组织性和模块内聚性。
2026-02-04 20:25:24 +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
4d0c8e5438 refactor(英雄属性): 重构生命回复机制并调整相关配置
- 将 HeroUpSet 枚举重命名为 HRegen 并简化其内容,仅保留 HP 回复基础值
- 将 HP_REGEN 属性类型从 VALUE 改为 RATIO,使其作为百分比加成
- 移除魔法回复的固定加成,仅保留属性提供的回复值
- 调整 add_hp 方法的调用参数,移除强制显示伤害数字的标志
2026-02-04 15:45:43 +08:00
panw
772dde62a0 feat(config): 更新属性卡和药水的描述与数值
- 将属性卡的备注从“常规强化”/“上限XX%”改为更具描述性的“强化[属性]Ⅰ/Ⅱ/Ⅲ/Ⅳ”
- 将药水“金钟罩”更名为“防御药水”
- 调整生命回复药水的数值和描述,改为基于生命最大值的百分比回复
2026-02-04 15:38:32 +08:00
panw
68b331f35f refactor(config): 重构属性与药水选择配置映射
- 将 CanSelectAttrs 从按类型分组改为按阶数分组(1/5/10/15阶)
- 更新属性ID范围以匹配新的阶数体系(2000/2100/2200/2300系列)
- 简化 CanSelectPotions 配置,移除普通/强力分类,统一为全药水列表
2026-02-04 15:26:48 +08:00
panw
0e63060957 feat(config): 新增回血和闪避属性及药水配置
- 在 AttrSet 配置中为每个阶级添加 HP_REGEN 属性项
- 新增闪避药水 (3009, 3010) 和回血药水 (3011, 3012)
- 更新 CanSelectAttrs 和 CanSelectPotions 以包含新配置项
2026-02-04 15:11:30 +08:00
panw
740f0af1e4 feat(config): 为属性配置添加闪避率条目
为每个阶位(一至四阶)的特殊属性配置添加了对应的闪避率(DODGE)条目,并设置上限为60%。
2026-02-04 10:41:36 +08:00
panw
a27d6d2de8 feat(英雄属性): 根据职业配置升级成长属性
引入 JobUpConf 配置,为不同职业(战士、远程、法师、辅助、刺客)定义差异化的血量、攻击和防御成长值。在 HeroAttrsComp 中,英雄升级时不再使用固定数值成长,而是根据其职业从配置中获取对应的成长属性,使各职业的成长曲线更具特色。
2026-02-04 10:36:54 +08:00
panw
98ac676ded feat(config): 添加配置文档并调整天赋与属性效果
- 新增 config.md 汇总游戏配置,便于查阅
- 将部分天赋效果从概率触发改为必定触发,提升玩家体验
- 将攻击力和生命上限加成从固定值改为百分比,增强后期成长性
- 修复 MissionCardComp 中 Buff 类型注释与实际值不一致的问题
2026-02-04 10:25:17 +08:00
panw
c76a31593f refactor: 移除未使用的游戏数据字段以简化状态管理
- 删除 SingletonModuleComp 中的 meat、exp、monsters 等未使用字段
- 移除 MissionComp 中的 chou_gold 和 lvup_gold 初始化
- 保留核心游戏状态字段,减少内存占用和维护复杂度
2026-02-04 09:16:28 +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
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