Commit Graph

1591 Commits

Author SHA1 Message Date
panw
bca97070d4 fix(技能): 修复复活技能动画顺序和buff动画配置
调整复活技能逻辑,确保目标先标记为存活再播放准备动画
修正技能6401、6404、6406、6501的readyAnm配置为正确的"up_ap"
将up_ap动画的采样率从30降低到15,使动画时长加倍
2026-04-23 15:01:53 +08:00
panw
76772a1102 fix(hero): 修复复活后碰撞体和UI未恢复的问题
- 在 HeroViewComp.alive() 中恢复碰撞体启用状态和顶部UI节点
- 在 HeroAtkSystem 中先触发死亡技能再检查复活,确保亡语效果正确触发
- 重构死亡处理逻辑,将死亡技能触发分离到独立方法
2026-04-23 10:07:45 +08:00
panw
7c78be0a43 feat(英雄配置): 为奥术法师添加复活技能配置
为英雄ID 5101(奥术法师)的配置数据添加了 `revive` 字段,使其在阵亡后可以召唤一个ID为6501的随从。
2026-04-23 09:51:06 +08:00
panw
5ae4c8fcd0 fix(hero): 修复复活后治疗未重置复活计数的问题并支持配置复活恢复百分比
- 在MissionComp中,英雄被治疗后重置复活计数,防止下回合无法复活
- 在HeroAtkSystem中,从技能配置读取复活恢复生命值百分比,替代硬编码的50%
2026-04-23 09:49:38 +08:00
panw
b9f7a66fae feat(英雄): 重构复活机制为动态配置
将固定的复活次数属性改为从英雄配置中动态计算。移除 `revive_count` 静态属性,新增 `revive` 数组用于存储复活配置(包含基础次数和等级成长),并添加 `revived_count` 记录已复活次数。在 `Hero` 和 `Monster` 的初始化中同步此属性,并在战斗系统中根据配置和英雄等级计算最大可复活次数。
2026-04-23 09:41:50 +08:00
panw
0676412a5a refactor(英雄): 移除复活时间相关逻辑
- 从 HeroAttrs 枚举中删除 revive_time 属性
- 移除 HeroAtkSystem 中的 scheduleRevive 调用
- 清理 HeroAttrsComp 中与复活时间相关的字段和重置逻辑
- 简化 HeroViewComp 的 alive 方法并删除 scheduleRevive 方法
2026-04-23 09:40:36 +08:00
panw
8ab0cc3971 feat(hero): 为英雄系统添加复活机制
- 在 HeroAttrsComp 中增加 `is_revived` 字段以追踪已复活次数
- 修改 HeroViewComp 的 `scheduleRevive` 方法,使其能播放复活技能的准备动画并立即触发复活
- 在 heroInfo 接口中新增 `revive` 配置项,用于定义英雄的复活技能
- 在 SkillSet 中添加新的复活技能配置(uuid: 6501)
- 新增 hero-roster.md 的元数据配置文件
2026-04-23 09:09:49 +08:00
walkpan
100a520df1 feat(技能): 新增驻场技能系统并集成到游戏机制中
- 在英雄配置中增加驻场技能字段,支持八种全局加成类型
- 实现驻场技能数值计算,影响召唤/死亡/战斗开始结束技能触发次数
- 集成驻场技能到金币收益系统,提升每回合和卖出英雄的金币获取
- 为战斗结束治疗添加驻场技能加成,增强队伍恢复效果
2026-04-22 23:14:07 +08:00
walkpan
8df4d5169a Merge branch 'card' of git.eoxnet.com:pan/pixelheros into card 2026-04-22 22:31:38 +08:00
walkpan
1c12a34bc1 docs(game): add hero roster design document for draftmaster arena
添加英雄阵容设计文档,包含50个英雄、7个流派和3个等级的设计。
详细定义了战斗规则、英雄属性、技能和流派配合矩阵,为后续原型开发和数值平衡提供依据。
2026-04-22 22:31:34 +08:00
panw
8c972adbac feat: 添加回合结束时的英雄恢复配置
在 FightSet 枚举中新增 WAVE_HEAL_RATE 配置项,用于控制每波次结束时英雄的生命恢复比例。随后在 MissionComp 中引用此配置,替换原有的硬编码恢复率 0.7,使恢复逻辑更易于维护和调整。
2026-04-22 21:02:22 +08:00
panw
5f6f6f0bfb fix(战斗): 修正英雄复活与战斗结束时的生命值恢复逻辑
移除英雄复活时直接设置固定生命值的硬编码,改为在战斗结束阶段统一恢复所有英雄(包括墓地英雄)70%最大生命值。这确保了生命值恢复机制的一致性和可维护性,并避免了状态同步问题。
2026-04-22 20:56:44 +08:00
panw
bc226ffd9b fix(地图任务卡): 移除重复的死亡模型检查逻辑
原逻辑中已存在 `isModelAlive()` 检查,`model?.is_dead` 是冗余条件。
移除重复检查以简化代码并保持逻辑一致性。
2026-04-22 17:05:55 +08:00
panw
a65a26b0bc feat: 实现战斗准备阶段英雄复活与入场动画
在准备阶段开始时,通过 PhasePrepareStart 事件触发英雄状态重置:
- 死亡英雄复活并恢复满血,播放下落入场动画
- 英雄实体在死亡时移至墓地并禁用碰撞,避免战斗逻辑干扰
- 更新英雄数量UI以反映复活后的状态
2026-04-22 17:05:34 +08:00
panw
e230feab14 fix: 调整英雄基础生命值以平衡游戏难度
将所有英雄的初始生命值大幅降低,以增加游戏挑战性并改善战斗节奏。
近战英雄生命值从450-1350降至100-150,法师和远程英雄从150-900降至15-90,
使不同职业间的生存能力差异更合理,避免前期战斗过于拖沓。
2026-04-22 16:37:27 +08:00
walkpan
da1fc31e26 docs: 在英雄配置文档中添加流派分类说明
添加格挡流、暴击流、攻击流、受伤流、风怒流、死亡流、召唤流等流派分类,为后续英雄技能和属性设计提供文档基础。
2026-04-22 13:37:51 +08:00
walkpan
c86d102091 fix(英雄/UI): 修正英雄升级动画与卡牌等级显示的匹配逻辑
- 英雄升级时根据具体等级播放对应的动画(plus2 到 plus5),而非之前所有大于1级都播放"plus"
- 卡牌等级显示改为显示小于等于当前等级的所有节点,而非仅精确匹配当前等级
2026-04-21 23:10:45 +08:00
walkpan
e24d169161 refactor(ui): 优化卡牌等级显示逻辑和布局更新
- 移除HInfoComp中品质边框切换逻辑,专注卡牌等级显示
- 简化CardComp中等级节点的布局更新逻辑,仅使用Widget组件
- 调整card.prefab的布局参数和原始宽度
- 禁用role_controller.prefab的_active属性
2026-04-21 21:05:21 +08:00
walkpan
9363f8f1d7 refactor(游戏配置): 调整英雄配置和游戏平衡参数
- 更新英雄配置文档,完善战士技能描述
- 修改英雄升级和合并相关参数
- 移除后退相关逻辑和配置
- 重构卡牌显示逻辑,优化UI组件管理
2026-04-21 21:05:05 +08:00
walkpan
183fe111ef feat(card): 为卡牌组件添加等级显示节点
在 CardComp 类中添加 lv_node 属性,并在卡牌预制体中创建对应的等级显示 UI 结构,包含背景和多个星级图标,用于展示卡牌的等级信息。
2026-04-21 20:30:20 +08:00
panw
24c32549c0 fix(ui): 调整卡牌预制体尺寸并修复开始按钮状态逻辑
- 修正卡牌预制体的局部位置、尺寸模式和内容大小,优化显示效果
- 隐藏预制体中不必要的节点以提升性能
- 重构开始按钮状态控制逻辑,改为根据游戏阶段动态更新按钮的可点击状态
- 移除直接隐藏按钮的代码,确保按钮在准备阶段且未暂停时可点击
2026-04-21 16:57:49 +08:00
panw
73ca2ffbf0 feat(界面): 为任务阶段切换添加缩放动画效果
在任务阶段切换时,为阶段节点添加缩放动画,提升视觉反馈和心流体验。动画在准备开始/结束和战斗开始/结束阶段触发,包含放大和回弹效果。
2026-04-21 15:39:15 +08:00
panw
50ff3fd150 feat(卡牌): 调整战斗阶段卡牌逻辑与配置
- 战斗阶段不再隐藏卡牌面板,改为刷新为技能卡
- 移除特殊升级卡,统一刷新卡费用为1并调整权重
- 修复卡牌组件布局参数,确保战斗阶段显示正确
2026-04-21 14:34:30 +08:00
walkpan
6ff01c9bb2 fix(ui): 修复卡片放大缩小时布局错位问题
调整卡片预制件中名字节点的位置偏移量,并在CardComp中为所有相关UI节点添加Widget组件的updateAlignment调用,确保尺寸变化后子元素能正确对齐。
2026-04-21 08:36:47 +08:00
walkpan
0829b0bc9d feat(card): 添加长按放大功能并调整卡牌布局
- 在 CardComp 中实现长按触发卡牌放大,优化触摸交互逻辑
- 调整 MissionCardComp 中卡牌位置数组顺序,修复布局错位
- 修改 card.prefab 中多个 UI 元素的坐标和对齐方式,优化视觉呈现
- 移除卡牌种类标识的显示逻辑,简化卡牌 UI
2026-04-20 23:59:38 +08:00
walkpan
033fd44560 feat(ui): 增加卡牌点击放大功能并调整动画速度
- 点击卡牌可切换放大/缩小状态,放大时显示详细信息并调整位置层级
- 调整技能准备动画的播放速度和时长以优化视觉效果
- 修复技能触发逻辑,为未处理的类型添加默认动画播放
- 在MissionCardComp中记录卡牌原始定位点用于布局管理
2026-04-20 23:36:38 +08:00
walkpan
0101b40c20 feat: 新增水球技能并调整英雄技能配置
- 新增水球技能资源文件、动画及配置项
- 调整盾战士、圣骑士、牧师等英雄的技能触发条件
- 更新技能说明文档,补充攻击类型和特殊效果描述
- 微调技能准备动画的垂直位置
- 为护盾buff动画添加新的精灵帧序列
2026-04-20 20:28:58 +08:00
walkpan
b09116da5c refactor(config): 重构英雄与技能配置以简化系统
- 移除所有英雄的次要技能,统一使用基础攻击技能
- 重新组织技能配置,将原分类技能合并为基础技能与大招
- 更新技能ID映射,确保英雄配置指向正确的技能
- 调整技能描述与视觉效果,保持游戏平衡
2026-04-19 20:05:33 +08:00
walkpan
24d4fa7e6a docs: 更新英雄配置文档的攻击类型说明
- 将“普通”攻击类型细化为“普通魔法球:单体”
- 补充“暴击”攻击类型的效果为概率触发双倍伤害
- 补充“穿刺”攻击类型的效果为可攻击多个目标
- 新增“冰冻”攻击类型的说明
- 移除冗余的“群攻:不限”条目并修复文件末尾换行符
2026-04-16 10:29:57 +08:00
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
684054749e refactor(HeroAttrs): 移除多余的注释并整理属性分类
清理冗余注释,优化属性分类结构以提高代码可读性
2026-04-15 17:18: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
083a530a72 feat(战斗): 实现战斗时间结束和怪物全灭自动推进波次
- 将战斗时间从600秒改为30秒,便于测试
- 战斗倒计时归零或场上怪物全灭时,自动结束当前波次并进入准备阶段
- 怪物波次切换时,新怪物继承被覆盖旧怪物的部分属性(生命值和攻击力)
- 调整波次初始化逻辑,确保战斗时间在每波开始时重置
- 新增事件 PhasePrepareEnd 和 TimeUpAdvanceWave 协调阶段切换
2026-04-15 15:48:41 +08:00
panw
3a07a7e9d2 feat(skill): 调整技能提示的动画和样式
- 技能提示现在会短暂停留后垂直向上淡出,而非立即随机漂移
- 调整技能提示的位置、缩放和文本样式以改善视觉效果
- 移除技能提示的粗体样式,使整体显示更加协调
2026-04-15 15:08:08 +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
f74030838a docs: 修正盾战技能描述中的错别字
将“低于3次攻击”更正为“抵御3次攻击”,使技能描述更准确易懂。
2026-04-15 08:34:20 +08:00
panw
e87be79792 fix(mission): 修复波次更迭与战斗结束阶段的逻辑冲突
调整 PhaseTime 计时器间隔为 1 秒,避免更新过于频繁。
在 update 逻辑中,当游戏暂停且当前阶段不是 BattleEnd 时才完全停止,确保战斗结束动画能正常播放并自动流转。
修改波次更迭逻辑:新波次到来时先进入 BattleEnd 阶段,播放结束技能后自动进入准备阶段,避免与 open_Victory 的结算流程冲突。
在 open_Victory 中立即标记暂停,以切断波次自动流转。
2026-04-14 17:39:14 +08:00
panw
c0243fc159 feat(map): 添加任务阶段名称的UI显示
在MissionComp中添加阶段名称映射表,并在阶段切换时更新UI显示。
2026-04-14 10:51:11 +08:00
panw
24b27877b0 fix: 调整任务阶段计时器间隔为0.5秒
原2秒间隔过长,导致界面显示更新不及时,影响用户体验。缩短间隔使时间显示更实时。
2026-04-14 10:41:35 +08:00
panw
beff0d624a refactor(map): 使用Timer统一管理状态机阶段计时
替换scheduleOnce为Timer实例,统一管理任务阶段过渡计时
将open_Victory和fight_end的延迟逻辑移至autoNextPhase处理
2026-04-14 10:40:54 +08:00
panw
f678d52ffb feat(map): 引入任务阶段状态机重构战斗流程
- 新增 MissionPhase 枚举定义任务生命周期各阶段
- 实现 changePhase 方法统一管理阶段切换逻辑与事件触发
- 重构 to_fight、enterPreparePhase 等方法使用状态机驱动
- 调整战斗开始/结束逻辑以适配新的阶段状态
- 启用调试模式便于开发阶段问题排查
2026-04-14 09:43:48 +08:00
panw
05ce0a0b8c fix: 为牧师英雄添加缺失的fstart和fend属性
添加fstart和fend属性以修复牧师英雄的技能配置,确保其技能6302能正确关联和生效。
2026-04-14 08:46:43 +08:00
walkpan
e296ca7d78 feat(战斗): 添加英雄战斗开始/结束技能触发逻辑
在 MissionComp 的 to_fight 和 enterPreparePhase 方法中,分别调用 triggerHeroBattleSkills 来触发英雄配置的战斗开始(fstart)和战斗结束(fend)技能。这通过查询英雄实体并派发 TriggerSkill 事件实现,使英雄能在战斗状态切换时自动释放特定技能。
2026-04-14 08:37:58 +08:00
walkpan
b6d6e65ab9 feat(hero): 为英雄添加战斗开始和结束技能并调整移动速度
在 heroInfo 接口中新增 fstart 和 fend 字段,用于配置战斗开始和结束时触发的技能。
将所有英雄和怪物的移动速度从 480 统一提升至 800,以改善游戏节奏。
新增 heros.md 文件用于记录英雄设计说明。
2026-04-13 22:44:25 +08:00