|
|
5b804d07db
|
```
feat(fight): 实现主动切换宠物逻辑并优化相关结构体字段
- 在 `ActiveSwitchAction` 中新增 `Cid` 字段用于标识要切换的宠物 ID
- 调整 `ChangePet` 方法逻辑,移除旧有输入处理,改为在 loop 中统一处理
- 更新 `collectPlayerActions` 方法以正确设置当前宠物及发送指令
- 优化 `PetInfo` 结构体字段标签,去除冗余描述,并重命名部分字段提升可读性
- 增加 `ExtSkin` 字段支持记录可用皮肤信息
- 移除玩家信息中的 `LastResetTime` 注释字段
```
|
2025-12-11 12:16:32 +08:00 |
|
|
|
49b9e938f5
|
```
refactor(controller): 优化控制器初始化与命令解析逻辑
- 重构 getCmd 和 ParseCmdTag
|
2025-12-11 10:32:39 +08:00 |
|
|
|
2187d84663
|
``` refactor(fight): 重构精灵切换逻辑,将切换效果处理移至回合收集阶段并优化闪光字段结构
|
2025-12-10 16:03:45 +00:00 |
|
|
|
aad1e2f44c
|
feat(fight): 添加战斗前状态检查与经验获取限制判断
- 在挑战BOSS和野外怪物战斗前,增加 CanFight 状态检查,防止非法战斗
- 修复战斗胜利后经验与物品发放逻辑,增加 CanGetExp 判断避免重复获取
- 优化战斗中精灵切换逻辑与相关伤害效果处理,确保死亡标记正确设置
- 修正战斗轮次中被动切换行为及技能执行顺序问题
- 移除无用的管理员会话控制器和宠物融合模型代码
- 调整战斗输入结构体中的 Switch 类型为 Map 以提高查找效率
- 修复战斗中精灵存活判定条件,
|
2025-12-01 23:31:48 +08:00 |
|
|
|
d8718e8eac
|
```
feat(fight): 添加战斗准备完成广播消息
在 ReadyFight 方法中增加对所有玩家的广播,发送玩家准备完成的消息。
新增 S2C_2404 结构体用于通知客户端指定用户已准备完成,
若为野怪则 userID 设置为 0。
```
|
2025-11-30 01:54:46 +08:00 |
|
|
|
11f6817d62
|
feat(fight): 优化战斗逻辑与精灵切换流程
- 在多个战斗控制器方法中添加 defer 调用,确保战斗操作正确延迟执行
- 修改 ChangePet 方法返回值类型,增强接口一致性
- 修复战斗准备阶段逻辑,重构战斗开始信息构建过程
- 移除冗余广播调用,调整 PVE 战斗初始化流程
- 更新 README 中的 pprof 命令地址并完善项目介绍部分
fix(effect): 修复效果叠加逻辑与ID解析问题
- 效果叠加时默认增加一层,而非直接相加参数
- 修正 EffectIDCombiner 类型、CatchTime 的掩码偏移计算错误
- 添加重复效果日志输出,便于调试追踪
feat(boss): 完善BOSS特性实现逻辑
- 修正 NewSel17 特性
|
2025-11-29 19:26:56 +08:00 |
|
|
|
0ea1a24419
|
feat(fight): 实现 boss 战斗中精灵特性的支持与多个新魂印效果
- 在 `fight_boss.go` 中为 Boss 的每只宠物增加了 CatchTime 字段以区分不同精灵,
并修复了技能特效参数解析的问题。
- 新增多个魂印(NewSeIdx)实现,包括:
* 无限 PP、伤害倍率控制、命中屏蔽、属性克制、暴击率调整等。
- 调整了部分已有 NewSeIdx 文件中的方法调用方式,统一使用 `ID().GetCatchTime()`
来判断精灵是否在场。
- 修改了 EffectIDCombiner 的字段访问方式,改为通过 Get/Set 方法操作。
- 优化战斗逻辑,在 NPC 战斗中加入 AI 自动出招机制。
|
2025-11-26 15:25:10 +08:00 |
|
|
|
2723b1871d
|
fix: 修复空提交问题
|
2025-11-23 23:42:16 +00:00 |
|
|
|
e54d4bacaa
|
```
feat(fight): 增加战斗模式枚举并重构战斗逻辑判断
- 引入完整的 BattleMode 枚举定义,替代原有的 BattleStatus,明确区分各类战斗场景
- 在多个控制器中替换对旧 Status 字段的依赖,统一使用 Mode 判断战斗状态
- 修复部分函数调用前未检查 FightC 是否为空的问题,增加 ErrBattleEnded 错误返回
- 调整
|
2025-11-21 02:40:27 +08:00 |
|
|
|
9f89f9f259
|
```
fix(binary): 修复零值处理导致的结构体打包异常
在 binaryFallback 的 Sizeof 和 Pack 方法中增加对 IsZero 值的判断,
避免空值参与序列化计算引发错误。同时调整了 struc 包相关逻辑以正确
处理空值情况,并打印调试日志辅助排查。
feat(fight): 完善玩家 PVP 对战胜负统计逻辑
修正 PET_MELEE 与 PET_King 模式下胜利归属判定问题,确保只有实际胜出
者才累计胜利次数。此外优化了战斗邀请流程,移除冗余状态控制字段并增强
邀请有效性校验,提升 PvP 流程稳定性。
refactor(pack): 简化数据组包逻辑并提高兼容性
重构 TomeeHeader.Pack 方法,去除反射相关的复杂类型判断,统一使用 struc
进行编码,强化对 nil、interface{} 及多级指针的支持。另外更新了客户端发包
记录日志内容以便追踪调试。
style(code): 规范代码格式并清理无用注释和字段
删除多个文件中的无效或过时注释,如 PlayerID 字段标记废弃、无意义的日志输出等;
同步更新结构体字段命名一致性(如 NonoColor),并对部分函数参数及条件表达式做
可读性优化,整体提升代码整洁度和维护性。
```
|
2025-11-20 15:19:13 +08:00 |
|
|
|
53d6db7e17
|
fix(fight): 修复战斗中属性变化与暴击判定逻辑
- 调整能力提升计算时机,确保命中后再恢复原始属性
- 暴击判断前置,仅在命中时计算暴击翻倍及破防逻辑
- 优化回合结束效果清除逻辑,增加状态存活判断
refactor(controller): 重构擂台相关接口返回结构体类型
- 将 ARENA_SET_OWENR、ARENA_FIGHT_OWENR 等函数的返回值统一改为
NullOutboundInfo,并移除冗余字段返回
- 广播逻辑调整,统一使用 Broadcast
|
2025-11-20 05:57:29 +08:00 |
|
|
|
c0b09c92c4
|
```
refactor(common): 统一使用 common.TomeeHeader 替代 player.TomeeHeader
将多处
|
2025-11-19 16:11:02 +08:00 |
|
|
|
6c32a5d7ac
|
修改广播逻辑
|
2025-11-18 20:52:04 +00:00 |
|
|
|
5dbff2411c
|
重构
|
2025-11-16 20:30:17 +00:00 |
|
|
|
88cd1affe4
|
修复战斗
|
2025-11-15 22:17:43 +00:00 |
|
|
|
a86782b1ea
|
```text
refactor(fight): 重构战斗准备逻辑并优化战斗启动流程
将 ReadyFight 方法拆分为多个职责清晰的子方法:
- buildFightStartInfo: 构建战斗初始信息
- checkBothPlayersReady: 检查PVP双方是否就绪
- handleNPCFightSpecial: 处理NPC战斗特殊逻辑(如可捕捉标记)
- startBattle: 统一启动战斗流程
同时修复部分逻辑顺序问题,增强代码可读性和扩展性。
feat(fight): 新增精灵王挑战协议支持
增加 StartPetWarInboundInfo 结构体用于接收精灵王挑战请求,
为后续实现相关功能提供基础。
fix(effect): 修正多个技能效果数值引用错误
- effect_37: 技能威力计算使用正确参数索引
- effect_50: 固定减伤比例调整为除以2
- effect_65: 正确比较技能分类类型
- effect_68: 致死保护改为锁定剩余1点生命值
- effect_77: 回复目标由敌方改为己方
- effect_93: 固定伤害值直接取参数
refactor(effect): 移除冗余效果类文件
删除 effect_133.go 和 effect_90.go 文件,其功能已被统一条件伤害和倍率系统取代;
移除 effect_74.go、effect_75.go 中重复的状态随机施加逻辑。
refactor(effect): 更新能力操作枚举命名一致性
重命名 AbilityOpType 枚举项名称,去除前缀,提升语义清晰度:
- AbilityOpStealStrengthen → StealStrengthen
- AbilityOpReverse → Reverse
- AbilityOpBounceWeaken → BounceWeaken
chore(fight): 完善 BattlePetEntity 属性初始化逻辑
在创建 BattlePetEntity 时即设置 PType,避免后续多次查询 PetMAP;
移除 Type() 方法中的冗余配置查找逻辑。
fix(skill): 确保必中技能不参与命中率计算
在 AttackTimeC 方法中添加 return 防止必中技能继续执行命中率公式计算。
refactor(fight): 调整战斗回合结束逻辑
进入新回合时允许玩家更换精灵,并提前跳出循环防止多余处理。
style(effect): 更正拼写及变量命名风格
修改 BaseSataus.Switch 方法签名中的参数命名;
更正 Effect58 中 can 字段首字母大写;
|
2025-11-14 23:09:16 +08:00 |
|
|
|
6ba9c3549c
|
feat(fight): 优化精灵切换逻辑与技能效果处理
- 修改 `ChangePet` 方法,记录初始攻击值并在切换时正确传递
- 简化多个 effect 的初始化方式,移除冗余的 `EffectNode` 字段
- 增强 Effect58 和 Effect67 的逻辑判断,增加空指针检查和类型判断
- 引入 decimal 包用于精确血量计算
- 统一 `Switch` 接口参数,增强状态类和节点类的兼容性
- 修正部分技能效果的触发条件和持续时间设置
- 调整回合结束逻辑,注释掉原有后手增益机制
|
2025-11-13 23:06:55 +08:00 |
|
|
|
6e01848b04
|
```
refactor(socket): 移除未使用的网络相关导入和注释掉的 RST 攻击检测逻辑
移除了 `ServerEvent.go` 中未使用的 `net` 和 `strings` 包导入。同时,
将原有的 RST 攻击检测及防护逻辑代码注释掉,便于后续重新设计或彻底删除。
fix(logic): 调整 fight pool 初始化与释放策略
将 `fight/action.go` 中的 `Fightpool` 类型从 `*ants.MultiPool`
改为 `*ants.Pool`,并调整其初始化方式为 `NewPool(-1)` 以适应动态扩容。
此外,在 `main.go` 中将 `ReleaseTimeout` 参数由 100 调整为 0,
确保立即清理超时任务。
feat(fight): 优化战斗输入状态重置逻辑
在 `fight/action.go` 的 `ReadyFight` 方法中提前设置
`GetInputByPlayer(c, false).Finished = true`,避免重复赋值。
同时更新了状态睡眠效果的处理流程,并简化了输入模块的状态缓存机制,
移除了冗余的 `Initeffectcache` 函数调用及相关逻辑。
perf(fight): 动态计算玩家动作等待时间
在 `loop.go` 的 `collectPlayerActions` 方法中,
将固定超时时间替换为基于 `waittime` 的动态等待时间计算公式,
提高响应灵活性。同时修复通道关闭判断条件以增强稳定性。
refactor(fight): 更新技能效果解析和状态持续逻辑
修改 `input.go` 中 `GenSataus` 方法以正确初始化状态数组;
在 `Turn.go` 中重构 `Turn_End` 方法内的执行逻辑,
确保仅在我方后手时增加回合数,提升战斗流程准确性。
chore(service): 删除废弃文件 SocketHandler_Tomee.go
完全移除已弃用的 `SocketHandler_Tomee.go` 文件及其全部内容,
减少项目冗余代码。
```
|
2025-11-13 05:05:05 +08:00 |
|
|
|
f281b949ba
|
```
feat(fight): 调整战斗逻辑与精灵切换机制
- 优化精灵切换时的效果处理,增加切换事件支持
- 修复战斗中超时逻辑和技能CD计算问题
- 增强状态效果在精灵上下场时的清理机制
- 修改伤害计算逻辑以提高准确性
- 更新战斗池初始化参数提升并发性能
此外,同步更新了宠物放生字段命名及逻辑处理方式,并调整网络通信中的限流策略。
```
|
2025-11-13 02:43:00 +08:00 |
|
|
|
0b5cfac0b2
|
```
feat(fight): 调整战斗逻辑与伤害计算流程
- 移除 `Over` 方法中的冗余回调参数 `fn`
- 修复部分技能效果中错误的伤害目标对象(Our/Opp)
- 优化战斗循环逻辑,使用 `over` channel 替代 `quit` 作为战斗结束信号
- 增加回合效果执行前的存活状态判断
- 修正伤害计算过程中对血量扣减的逻辑错误
-
|
2025-11-12 01:19:24 +08:00 |
|
|
|
a0a5163f13
|
fix(fight): 修复空变更提交问题
|
2025-11-11 15:21:45 +00:00 |
|
|
|
27b408eeec
|
fix(fight): 修复空变更提交问题
|
2025-11-11 11:45:09 +00:00 |
|
|
|
d94cda883a
|
fix(fight): 修复空变更提交问题
|
2025-11-11 08:28:18 +00:00 |
|
|
|
65758c799e
|
fix(fight): 战斗修改
|
2025-11-11 05:54:24 +00:00 |
|
|
|
a33f108f98
|
refactor(fight): 重构战斗模块逻辑
- 修改 BattleAction.Compare 方法,使其成为 FightC 类的成员方法
- 移除未使用的 action.go 文件
- 在 BattlePetEntity 中添加 Input 字段,用于处理战斗输入
- 为 Compare 方法添加 TODO 注释,提示后续需完成的速度计算逻辑
|
2025-09-16 23:58:03 +08:00 |
|
|
|
9d87ce9e46
|
refactor(fight): 重构战斗系统
- 移除 NodeManager 相关代码,改为使用 input 包中的 Effect
- 重构 FightC 结构,添加 GetRand 方法
- 新增 BaseAction 结构和 NewBaseAction 函数
- 更新 effect 包中的 Effect 结构和相关方法
- 调整 BattleSkillEntity 中的 AttackTime 方法,增加 Hit 字段
- 更新 AttackValue 结构,保留原有的 AttackTime 字段
- 重构战斗逻辑,包括回合开始前的处理、技能使用、伤害计算等
|
2025-09-14 03:36:26 +08:00 |
|