e54d4bacaa
```
...
feat(fight): 增加战斗模式枚举并重构战斗逻辑判断
- 引入完整的 BattleMode 枚举定义,替代原有的 BattleStatus,明确区分各类战斗场景
- 在多个控制器中替换对旧 Status 字段的依赖,统一使用 Mode 判断战斗状态
- 修复部分函数调用前未检查 FightC 是否为空的问题,增加 ErrBattleEnded 错误返回
- 调整
2025-11-21 02:40:27 +08:00
105c6f5a23
```
...
fix(fight): 修复战斗逻辑中的一些潜在问题
- 在 `fight_leitai.go` 中增加玩家是否可以战斗的判断,避免非法挑战
- 注释掉部分冗余的日志打印与广播调用,并调整了擂台状态更新逻辑
- 修正 `effect_62.go` 中镇魂歌效果持续时间的处理方式,引入独立计数器 `duy`
- 优化随机精灵生成逻辑,确保 CatchTime 正确设置
- 增加对数据库操作错误的 panic 处理,提高代码健壮性
- 调整部分结构体指针传递,统一返回结构体指针以避免拷贝问题
- 移除未使用的导入包和调试日志,清理无用代码
```
2025-11-20 21:37:37 +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
31439b707c
fix: 修复空提交问题
2025-11-19 00:09:12 +00:00
24f2a6d7c8
fix: 修复空提交问题
2025-11-18 23:41:31 +00:00
6831861e0d
fix: 修复空提交问题
2025-11-18 22:16:55 +00:00
6c32a5d7ac
修改广播逻辑
2025-11-18 20:52:04 +00:00
ec14ab11c0
feat(fight): 优化战斗逻辑与奖励事件处理
...
- 在 `fight_boss.go` 中,调整了玩家挑战 Boss 的奖励事件注册逻辑,
并在战斗结束后正确取消事件监听。
- 修改了多个技能效果文件(`effect_13.go`、`effect_38.go`、`effect_49.go`),
增强状态持续时间计算和数据安全性。
- 更新 `player/done.go` 中的 `SPT` 方法签名以返回监听器实例。
- 调整数据库操作方法,将 `Update` 替换为 `Save` 以确保数据一致性。
- 修复菜单排序语法问题,统一使用字符串形式的排序表达式。
2025-11-17 13:37:08 +08:00
f1c990c182
fix(logic/service/player): 修复玩家信息保存时的指针解引用问题
...
修复了 Player 结构体在调用 Service.Info.Save 方法时传入的是指针而非实际值的问题,
同时修改 InfoService.Save 方法以接受值类型参数而不是指针,并更新内部数据赋值逻辑。
2025-11-17 11:00:12 +08:00
8ee5508974
fix: 修复空提交问题
2025-11-16 21:54:18 +00:00
f01068930b
fix: 修复空提交问题
2025-11-16 21:11:44 +00:00
baaec283e6
fix: 修复空提交问题
2025-11-16 20:48:12 +00:00
5dbff2411c
重构
2025-11-16 20:30:17 +00:00
4c21c4ac78
```
...
feat(maps): 重构移动广播逻辑并优化数据结构
将 WalkOutInfo 结构体迁移至 maps/info 包,并调整相关引用。
移除旧广播逻辑,改用 Space.Walk 方法进行统一广播处理。
新增 PlayerI 接口方法 SendWalkMapInfo 以支持行走信息发送。
在 Player 和 AI_player 中实现 SendWalkMapInfo 方法。
引入限流器到 space 包,用于控制广播频率。
```
2025-11-16 12:10:27 +08:00
0a8ef3d555
feat(fight_boss): 新增怪物ID处理逻辑,支持随机选择与过滤空值
...
新增 `processMonID` 函数用于处理 BOSS 战斗中怪物 ID 的字符串分割、
过滤空值,并在多个 ID 中随机选取一个。优化新手任务 BOSS 战逻辑,
使其更灵活地适配不同的配置输入。
---
refactor(map): 使用 ants 协程池优化地图进出逻辑并移除无用导入
将原本通过
2025-11-16 11:56:57 +08:00
88cd1affe4
修复战斗
2025-11-15 22:17:43 +00:00
135419a99e
```
...
feat(fight): 添加擂台系统相关功能与协议支持
新增了擂台系统相关的消息结构体和处理逻辑,包括:
- 添加了多个与擂台交互的命令结构体(如 ARENA_SET_OWENR、ARENA_FIGHT_OWENR 等)
- 实现了玩家发送擂台信息的方法 Send_ARENA_GET_INFO
- 在 Space 结构中增加了擂台相关信息及操作方法 Can_ARENA 和 UP_ARENA
- 修复了一个伤害计算公式错误,将乘法修正为除法
- 当
2025-11-15 19:11:23 +08:00
6979b7018d
```
...
feat(space): 替换并发安全map实现以提升性能
将原来基于`utils.ConcurrentMap`的玩家存储结构替换为
`github.com/mhmtszr/concurrent-swiss-map`提供的`CsMap`,
以获得更高效的并发读写能力。
同时修改了相关API调用方式:
- `Set` 改为 `Store`
- `Remove` 改为 `Delete`
- `IterCb` 改为 `Range`,并支持提前终止迭代
- `Items()` 不再使用
此外,调整了部分业务逻辑中对玩家列表遍历的方式,
确保在发送网络包后及时跳出循环,避免不必要的操作。
新增战斗类型处理函数`PET_King`用于处理宠物王相关的
战斗请求,并修复了`PET_MELEE`方法中的逻辑问题。
更新了go.mod和go.sum引入新的依赖库。
```
2025-11-15 15:22:58 +08:00
f919047ff6
```
...
fix(login): 修正用户登录时间字段命名及逻辑
将 `Onlinetime` 字段更名为 `Logintime`,以更准确反映其含义,并确保在登录时正确记录时间戳。
refactor(player): 移除冗余的 Save 方法及相关逻辑
删除 Player 结构体中的 Save、CanGetExp、CompleteLogin 和 IsNewPlayer 方法,
相关功能已迁移或不再使用。
feat(pprof): 更新 pprof 监听地址
修改 README 中的 pprof 示例命令,将监听地址从远程 IP 改为本地回环地址 `127.0.0.1
2025-11-15 13:20:42 +08:00
0e1860bdf4
```
...
feat(fight): 实现精灵大乱斗模式并优化对战逻辑
新增大乱斗模式(PET_MELEE)支持,重构原有精灵王之战相关逻辑。
更新战斗初始化流程,添加随机精灵选择机制。
调整玩家匹配与取消邀请接口实现方式。
完善战斗结束处理函数,移除未实现异常抛出。
```
2025-11-15 01:53:51 +08: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
5e3d558d30
```
...
feat(player): 添加 UseCoins 方法统一处理玩家金币消耗逻辑
重构购买物品和变更外观功能,使用 UseCoins 方法替代手动操作 Coins 字段,
确保金币扣除的安全性和一致性。同时修复可能因并发导致的金币超扣问题。
此外,调整部分战斗系统接口参数传递方式,将 DamageZone 指
2025-11-13 21:36:18 +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
0d61134dd8
fix(fight): 修复技能命中和伤害计算逻辑错误
...
- 修正 `Effect7` 中敌我双方血量判断逻辑,确保技能命中率和伤害值正确计算
- 调整 `FightC` 中技能攻击流程,统一使用 `Exec` 替代 `ExecCace` 执行效果
- 移除重复的 `AddEffects` 方法,简化效果添加逻辑
- 注释暂未使用的逻辑,避免无效调用影响战斗流程
- 增加战斗超时保护机制,防止协程泄漏
- 优化玩家离线保存逻辑
2025-11-12 21:44:56 +08:00
0b5cfac0b2
```
...
feat(fight): 调整战斗逻辑与伤害计算流程
- 移除 `Over` 方法中的冗余回调参数 `fn`
- 修复部分技能效果中错误的伤害目标对象(Our/Opp)
- 优化战斗循环逻辑,使用 `over` channel 替代 `quit` 作为战斗结束信号
- 增加回合效果执行前的存活状态判断
- 修正伤害计算过程中对血量扣减的逻辑错误
-
2025-11-12 01:19:24 +08:00
27b408eeec
fix(fight): 修复空变更提交问题
2025-11-11 11:45:09 +00:00
da9286d3d8
```
...
feat(fight): 调整技能效果命中逻辑与回合开始处理
- 修改了技能效果命中的判定顺序,确保暴击计算在效果添加之前执行
- 修复了回合开始时敌我双方状态结算的上下文错误
- 优化了效果缓存初始化逻辑,避免重复添加相同效果
- 增加了效果去重判断,防止完全相同的效果被重复添加
- 调整了战斗循环中结束逻辑的位置,确保广播和通道关闭正确执行
- 更新了部分日志提示信息,使其更符合实际业务含义
- 移除了部分无用代码和注释,提高
2025-11-11 01:10:26 +08:00
3b84572455
fix(fight): 修复空变更提交问题
2025-11-10 04:17:27 +00:00
7653f6b583
fix(fight): 修复技能效果
2025-11-10 02:45:19 +00:00
4b34445dfc
```
...
refactor(fight): 重构战斗逻辑中技能实体传递方式
将战斗逻辑中使用的 action.SelectSkillAction 替换为 info.SkillEntity,
以统一技能数据结构。同时更新相关函数签名和字段引用。
此外,移除了未使用的 Attack 字段,并调整了部分逻辑实现以提高代码清晰度。
还修复了 effect_power_doblue.go 中对输入参数的错误引用问题。
最后,修改了通道命名规范(ActionChan -> actionChan, GetActionChan -> GetOverChan),
并引入 overchan 用于战斗结束通知,提升并发安全性与语义明确性。
```
2025-11-10 02:29:00 +08:00
de3fb29407
fix(fight): 修复空变更提交问题
2025-11-09 04:37:15 +00:00
c916440033
```
...
feat(fight): 完善战斗系统中道具使用逻辑与血量恢复机制
- 修改 item.go 中 Item 结构体,将 Bonus 字段类型由 string
2025-11-08 16:38:41 +08:00
e2578f6c63
refactor(fight): 优化战斗逻辑代码结构,清理冗余代码
2025-11-06 13:43:16 +00:00
f687599d1a
refactor(fight): 优化战斗逻辑代码结构,清理冗余代码
2025-11-05 22:34:03 +00:00
4263e4050c
refactor(fight): 优化战斗逻辑代码结构,清理冗余代码
2025-11-05 22:18:29 +00:00
bd43c75dce
refactor(fight): 优化战斗逻辑代码结构,清理冗余代码
2025-11-05 22:17:03 +00:00
5092186b4e
refactor(fight): 优化战斗逻辑代码结构,清理冗余代码
2025-11-05 22:07:46 +00:00
4d7064e59f
refactor(fight): 优化战斗逻辑代码结构,清理冗余代码
2025-11-05 17:06:08 +00:00
9b73de4faf
```
...
feat(rpc): 更新客户端映射变量命名以符合导出规则
将 rpc.go 中的 clientmap 变量重命名为 Clientmap,使其可被其他包访问。
同时修复了拼写错误 useid1 -> userid,并在 RegisterLogic 方法中调用 Refurh 函数。
fix
2025-11-03 19:14:34 +08:00
30ed47a30c
```
...
refactor(socket): 优化消息处理逻辑,避免顺序执行问题
将消息处理的循环从协程外部移入协程内部,确保每个消息在独立的 goroutine 中处理,
避免因并发导致的消息顺序错乱问题。同时移除了多余的空行,使代码更简洁。
fix(controller): 为低 ID 用户设置 VIP 标志
在 COMMEND_ONLINE 接口逻辑中,新增对 UserID 小于 10000 的用户设置 IsVip = 1,
用于标识测试或特殊用户身份。
ref
2025-11-03 03:59:59 +08:00
038bd0ce0c
```text
...
build(go): 升级 gf/v2 框架至 v2.7.0
统一将 common、login 和 mysql driver 中的 github.com/gogf/gf/v2 依赖版本从 v2.6.3 更新到 v2.7.0。
feat(logic): 优化道具服务逻辑与数据结构
- 修改 Item 结构体,去除 Data 字段,新增 ItemId 和 ItemCnt 字段以提高可读性和查询效率。
- 调整 Item 相关方法实现,包括 Item(), AddItem(), SubItem() 和 CheakItem() 方法,支持直接按范围获取及增减物品
2025-11-02 18:56:16 +08:00
ea4ca98e49
fix(socket): 修复连接处理逻辑并优化数据解码流程
...
- 修复 `OnOpen` 中网络类型判断位置不正确的问题,提前过滤非 TCP 连接
- 移除 `OnTraffic` 中重复的网络类型判断
- 优化 `TomeeSocketCodec` 的解码逻辑,使用 `InboundBuffered` 和 `Next` 提高效率
- 调整 `ByteArray` 创建方法参数,避免可变参数带来的性能损耗
- 在 `ClientData` 中将 `IsCrossDomain` 改为 `sync.Once` 避免重复处理
- 使用 `AsyncWrite` 替代 `Write` 提升写入异步性
- 修复连接关闭流程,使用
2025-11-01 14:31:19 +08:00
008701d3de
```
...
fix(player): 修复玩家发送数据包时的空指针异常
- 将 `ClientData` 中的 `sync.Mutex` 替换为 `sync.RWMutex` 以支持读写锁
- 在 `ServerEvent.go` 中添加读锁保护对客户端数据的访问
- 增加对 `MainConn` 及其上下文是否存在判断,防止空指针引用
```
2025-11-01 01:08:47 +08:00
eac1d41043
fix(rpc): 修复日志输出格式并修正logic服务器注册逻辑
...
修复了rpc模块中日志输出时参数拼接错误的问题,同时修正了RegisterLogic函数中端口映射的逻辑错误。
feat(socket): 替换错误处理方式为panic
在ServerEvent.go中将网络启动失败的返回错误改为panic处理,提高错误可见性。
feat(fight): 增加战斗加载进度控制
在LoadPercent函数中增加对FightC非
2025-11-01 00:40:19 +08:00
566c5cc3ce
`` refactor(socket): 优化客户端数据校验逻辑,增加保存锁并完善日志记录``
2025-10-30 16:56:07 +00:00
44d3756cda
Merge branch 'main' of https://github.com/72wo/blazing
2025-10-30 16:54:50 +00:00
260e86e2cf
`` refactor(socket): 将ClientData结构及相关方法从wscodec.go移至SocketHandler_Tomee.go,优化代码组织结构``
2025-10-30 16:54:20 +00:00