Commit Graph

60 Commits

Author SHA1 Message Date
1
f1ff5a8dbc `` refactor(fight/effect): 重构效果系统,优化效果存储结构和叠层逻辑,移除EffectID结构`` 2025-10-31 11:21:24 +00:00
5542718a2b feat(fight): 优化睡眠状态效果逻辑,确保对方攻击后解除睡眠
睡眠状态现在会正确挂载到对手身上,以实现在对方攻击后自动解除睡眠效果。

fix(fight): 修复技能PP减少逻辑,确保使用技能时正确扣减PP

在技能执行过程中,通过查找当前宠物的技能列表来正确地减少对应技能的PP值,避免了错误的PP扣减。

fix(fight): 修复回合开始时技能列表初始化问题

修正了战斗中角色和对手的技能列表初始化逻辑,确保双方技能数据正确加载。

feat(pet): 限制宠物技能数量为4个并修复技能学习逻辑

更新宠物技能学习逻辑,确保只保留最后四个技能,并在学习新技能时正确添加至技能列表。

fix(p
2025-10-27 01:11:31 +08:00
e75ecd413d feat(fight): 重构战斗系统技能逻辑与精灵切换功能
- 优化技能执行流程,统一使用 SelectSkillAction 作为技能载体
- 移除冗余的技能 ID 字段,简化数据结构
- 调整命中判断和技能效果触发机制,提升准确性
- 修改精灵切换与捕获相关方法参数格式
- 更新技能列表结构为动态数组以支持灵活长度
- 完善睡眠等异常状态的处理逻辑
- 修复战斗中技能 PP 扣减及副本还原问题
- 清理无用代码,如多余的 FindWithIndex 函数定义
- 强化验证码缓存键命名规则,增强安全性
2025-10-26 20:56:03 +08:00
83fb06a229 feat(utils): 重构 OrderedMap 为 OrderMap,支持排序和非阻塞遍历
- 将原有的 `OrderedMap` 替换为 `OrderMap`,基于 `map` 和 `slice` 实现,提升性能并简化逻辑
- 支持自定义 key 排序规则,若未提供则按插入顺序维护
- 提供 `Set`、`Get`、`Delete`、`Keys`、`Values` 等基本操作,均并发安全
- 引入非阻塞遍历机制(`Iter`、`Iter
2025-10-22 21:30:05 +08:00
20f9af7dca fix(logic/service/fight): 修复战斗效果添加逻辑并优化调试信息输出
- 在 effect_10-16_94_99_114.go 中正确设置 Effect 字段的自我引用
- 修复 OnHit 方法中效果添加的逻辑问题
- 在 node.go 的 AddEffect 方法中增加调试信息,输出效果 ID 和持续回合数
- 优化调试日志格式,便于追踪效果的持续时间变化
2025-10-22 00:41:58 +08:00
3a43e78aab 战斗修改 2025-10-22 00:25:38 +08:00
b90bceafd9 ```
feat(xmlres): 添加任务数据加载与初始化逻辑

在 xmlres 包中新增 TaskMap 用于存储任务数据,并在 initfile 函数中
加载 task.xml 文件内容。同时调整 login 控制器中的任务重置逻辑,根据
任务类型每日重置任务状态。修复 pet 控制器释放宠物时的数据更新问题。
战斗系统中增加 Effect 的 OnMiss 回调处理,并修正状态效果映射关系。
修复 PVP 邀
2025-10-20 23:59:49 +08:00
1
cb1abe69b3 `` refactor(fight): 重构状态效果处理逻辑,统一使用Skill_Hit_Pre方法并修复回合开始触发时机``
待实现寄生种子
2025-10-15 14:24:46 +00:00
b258a81bb8 1 2025-10-11 01:01:36 +08:00
1
b93a4dd1a2 技能实现 2025-10-05 07:13:43 +00:00
f847386b7c feat(fight): 优化技能命中逻辑与效果触发流程
重构了技能攻击处理逻辑,调整了命中判断和效果应用的顺序。
新增 `Calculate_Pre` 接口方法用于实现无视类效果。
修复技能是否命中的判断逻辑,确保效果命中状态正确传递。
清理上回合缓存的效果数据,保证每回合初始状态干净。
统一使用 `IsFirst` 方法判断先后手,提升代码一致性。
完善玩家离线时的数据保存顺序,避免重复操作。
更新依赖模块版本信息。
2025-10-05 00:29:22 +08:00
ed01ddedc3 踢人逻辑修改,先保存数据 2025-10-03 20:20:17 +08:00
91d0d29ec9 战斗修改 2025-09-29 02:40:35 +08:00
1
08d8ab3ed9 refactor(fight/effect): 重构技能效果处理逻辑,统一使用DamageZone结构管理伤害值,新增Effect20疲惫效果和先/后手威力翻倍效果 2025-09-26 21:15:58 +00:00
1
d46849a020 refactor(fight/effect): 重构能力操作类型枚举命名,统一使用大写形式(ADD/SUB/COPY/RESET)并更新相关调用点 2025-09-26 18:39:59 +00:00
c52c409ffc feat(player): 新增玩家累计经验查询接口
新增 PlayerExp 控制器方法,用于返回玩家的累计经验值。同时调整了经验池字段类型为 uint32 并修复相关使用逻辑。

feat(pet): 实现宠物经验增加与升级逻辑

在 Player 结构体中新增 AddPetExp 方法,支持宠物经验增长、自动升级及进化判断。升级后会重新计算面板属性并推送更新包。

feat(fight): 重构战斗伤害计算与效果系统

引入 DamageZone 和 EnumDamageType 类型,统一红伤处理流程;移除旧有的 Pet/Skill/Prop 属性获取临时修改机制,改为直接访问真实属性。更新多个技能效果实现以适配新结构。

refactor(effect): 优化技能效果初始化和生命周期方法

统一技能效果初始化方式,明确各阶段回调函数职责,如 PreActionStart、PreAttacked 等。删除已废弃的属性修改钩子函数,并更新状态类效果实现。

refactor(input): 移除 deepcopy 依赖并替换为 go-deepcopy

将原先使用的 mohae/deepcopy 替换为 barkimedes/go-deepcopy,用于战斗节点中的 effect 拷贝逻辑,提升性能和安全性。

refactor(model): 调整玩家信息字段类型

将 PlayerInfo 中的 GoldBean 字段由 int32 改为 uint32,ExpPool 字段由 int64 改为 uint32,确保数据类型一致性与合理性。

feat(nono): 增加 Nono 跟随/收回协议结构定义

新增 NonoFollowOrHomeInInfo 和 NonoFollowOutInfo 结构体,用于处理 Nono 宠物的跟随与收回操作指令。

chore(deps): 添加 go-deepcopy 依赖

在 go.mod 中引入 github.com/barkimedes/go-deepcopy 依赖库,用于替代原有的 deepcopy 工具。
2025-09-26 13:33:55 +08:00
1
728f3a52d6 refactor(fight/effect): 重构伤害处理逻辑,统一使用DamageZone管理伤害值并优化Effect接口,移除过时方法 2025-09-26 02:09:33 +00:00
1
6a3a8ba20f refactor(fight/effect): 重构伤害计算逻辑,移除Effect0中的最大伤害限制并优化伤害传递机制,新增BeforeAttacked触发点 2025-09-25 20:34:33 +00:00
1
a2aaf7fff8 refactor(fight/effect): 重构技能命中处理逻辑,统一使用OnHit/OnMiss接口并新增Effect85偷取强化效果 2025-09-25 18:13:16 +00:00
1
b62f956371 refactor(fight/effect): 重构属性操作逻辑,新增AbilityOpType枚举并优化SetProp方法,支持多种能力操作类型 2025-09-25 17:15:06 +00:00
1
3f37ce63de refactor(fight): 重构战斗模式与状态枚举,新增加载进度功能并优化战斗初始化逻辑 2025-09-25 14:51:11 +00:00
07c08b767b feat(fight): 重构技能和受击触发逻辑,统一命名规范
- 将 `OnHit`、`AfterHit` 等方法重命名为 `AfterSkill` 和 `Attacked`,统一触发时机命名
- 调整 `BeforeSkill` 与 `PreSkill` 的职责,明确技能前处理逻辑
- 修改 `UseSkill` 为 `CanSkill`,增强语义清晰度
- 补充精灵切换时的触发方法 `OnSwitchOut` 与 `OnOwnerSwitchIn`
- 修复战斗中属性拷贝逻辑及状态持续回合计算的安全检查
- 增加捕获精灵后的日志输出,便于调试追踪
- 完善默认伤害效果节点的初始化逻辑
2025-09-25 13:07:56 +08:00
1
d9d47b8d21 refactor(fight/effect): 封装Effect2的BeforeSkill逻辑到Prop回调中,确保正确获取敌方防御属性 2025-09-24 23:14:27 +00:00
1
e7ac3991c3 refactor(fight/effect): 修正Effect2初始化错误,将误用的Effect9改为Effect2 2025-09-24 22:30:58 +00:00
1
be61dd253d refactor(fight/effect): 实现Effect2的BeforeSkill逻辑,当对方体力低于1/2时技能威力加倍 2025-09-24 22:29:19 +00:00
1
2d187e4474 refactor(fight/effect): 实现Effect9的BeforeSkill逻辑,新增Min泛型函数并优化效果叠加处理 2025-09-24 22:20:59 +00:00
1
1bccc4a2da refactor(fight/effect): 实现伤害计算加区和乘区逻辑,优化精灵切换效果清除机制 2025-09-24 21:39:57 +00:00
1
a4b2e5da9e refactor(fight/effect): 重构技能威力计算逻辑,优化暴击判定方式并新增BeforeSkill接口 2025-09-24 20:51:42 +00:00
1
726a2d6cb5 refactor(fight/effect): 实现精灵切换相关触发接口并优化效果持续时间处理 2025-09-24 20:17:44 +00:00
1
5a8d84ed40 refactor(fight/effect): 重构效果触发时机处理,统一命中前/后接口并移除冗余方法 2025-09-24 20:01:12 +00:00
1
3314c11b48 refactor(fight/effect): 重构效果命中处理逻辑,统一Hit接口并优化效果触发时机 2025-09-24 19:47:01 +00:00
1
29d485fde5 refactor(fight/effect): 重构效果触发机制,统一OnHit接口并优化伤害结算流程 2025-09-24 18:53:54 +00:00
1
266a328159 refactor(fight/effect): 统一效果初始化接口,重构效果类型管理并优化参数传递逻辑 2025-09-24 16:36:32 +00:00
0a1da7d035 ```
refactor(effectarg): 移动EffectArgs初始化逻辑

将EffectArgs的初始化从effectarg.go中的init函数移动到file.go的initfile函数中,
确保在使用前正确加载配置并初始化映射。

refactor(login): 更新Login方法中的Person调用

修改Login方法中对Person函数的调用,传递UserID参数以获取正确的用户信息。

refactor(user): 统一使用Person方法替代PersonOther

在UserSimInfo和UserMoreInfo方法中,将原先调用的PersonOther方法统一替换为
Person方法,保持代码一致性。

refactor(effect_damage): 简化属性获取和伤害计算逻辑

移除deepcopy相关逻辑,简化Effect0的OnSkill方法中的属性获取和伤害计算流程,
直接通过输入参数进行计算。

refactor(fightc): 优化玩家输入处理和战斗逻辑

更新GetInputByPlayer方法中的玩家判断逻辑,使用UserID比较代替对象比较;
在initplayer中添加InitAttackValue调用;
修复battleLoop中打印语句的格式问题;
调整技能攻击处理流程,增加SkillUseEnd回调调用。

refactor(attr): 改进属性获取方法和伤害计算逻辑

将GetProp方法重命名为Prop,并支持传入对方输入参数;
更新CalculatePower方法签名,使用Input类型代替BattlePetEntity;
在属性获取和伤害计算中正确处理双方属性影响。

refactor(playeraction): 简化技能使用逻辑

简化UseSkill方法中获取当前宠物信息的逻辑,去除冗余的条件判断;
在找到对应技能后添加break语句,提高执行效率。

refactor(reg): 更新Person方法实现

合并Person和PersonOther方法为统一的Person方法;
在数据库查询失败时添加错误处理,避免潜在的空指针异常。
```
2025-09-24 12:40:13 +08:00
1
06ea93a317 refactor(fight/effect): 重构属性获取逻辑,将深拷贝恢复机制移至GetProp回调并优化OnSkill伤害计算流程 2025-09-23 23:48:22 +00:00
1
c42199a578 refactor(fight/effect): 将属性处理逻辑提取至Input.GetProp方法,优化OnSkill方法并移除冗余代码 2025-09-23 23:35:53 +00:00
1
ee73bff7d4 refactor(fight/effect): 添加威力计算TODO注释并优化OnSkill方法输入处理 2025-09-23 23:28:22 +00:00
1
5ccb1121f9 refactor(fight/effect): 新增技能属性前后处理逻辑,实现深拷贝恢复机制并优化OnSkill方法 2025-09-23 23:25:49 +00:00
1
2855c3e773 refactor(fight/effect): 重构SetArgs方法为可变参数形式,优化Effect62参数设置逻辑并同步更新Effect接口定义 2025-09-23 23:05:23 +00:00
1
6dc3c68774 refactor(fight/effect): 重构效果失效逻辑,统一使用NotALive方法并优化效果叠加处理 2025-09-23 22:20:52 +00:00
1
023b937d49 refactor(fight/effect): 新增EffectStatus.UseSkill方法并清理AI_player中无用代码 2025-09-23 21:01:30 +00:00
1
1ec9d46b23 refactor(fight/effect): 重构回合开始逻辑,移除PlayerI.GetAction接口并将行动逻辑移至Input.GetAction方法,新增EffectStatus处理战斗状态效果 2025-09-23 20:53:47 +00:00
1
fb89a67edb refactor(fight/input): 将Prop方法重命名为SetProp以明确其设置属性功能,并同步更新effect_4_5.go中的调用 2025-09-23 19:50:11 +00:00
1
61bab92921 refactor(fight/input): 将Death方法移至attr.go文件,新增Prop方法处理属性变更并优化效果实现 2025-09-23 19:49:17 +00:00
1
9296f47605 refactor(fight/effect): 重构Effect62技能结束逻辑,修复隐藏状态判断并新增死亡处理 2025-09-23 19:38:08 +00:00
1
fb55f18a39 refactor(fight/effect): 重构SkillUseEnd方法签名,统一添加input参数并优化属性提升逻辑 2025-09-23 19:28:19 +00:00
1
908d36b126 refactor(fight/effect): 重构回合结束逻辑,将伤害计算移至TurnEnd方法并优化血量更新流程 2025-09-23 19:11:03 +00:00
1
5a023ccd1c refactor(fight/effect): 重构技能伤害计算逻辑,将伤害处理移至Effect0.OnSkill方法并优化效果调用流程 2025-09-23 18:35:23 +00:00
1
82d4b4bb59 refactor(fight/effect): 统一效果索引从0开始,调整循环范围和伤害效果初始化 2025-09-23 17:42:41 +00:00
1
1245471129 refactor(fight/xmlres): 重构效果参数处理逻辑,新增JSON解析支持并优化战斗伤害计算 2025-09-23 17:34:58 +00:00