6d5cba379a
fix(blazing): 修复宠物融合材料服务中数据获取逻辑错误
...
调整了缓存获取逻辑,忽略错误并优化返回值处理。
从 DictInfoService 获取的数据现在正确使用 Value 字段,
并且简化了随机属性索引的返回方式。
2025-12-11 19:37:11 +08:00
2633402b52
fix(fight_boss): 修复 boss 战斗中索引为 0 的异常处理逻辑
...
当 effect 索引为 0 时,跳过无效处理以避免潜在错误。
feat(task): 更新任务奖励与注册参数配置
- 移除任务 37 中的注释项并保留有效奖励
- 修改任务 91 注册参数为 246
- 清空任务 300 的物品奖励列表,并设置类型为 30
refactor(fight_input): 优化 meetpet 初始化条件判断
将多个判断条件拆分为独立 if 判断语句,提高代码可读性。
refactor(effect_service): 移除 Scan 错误检查冗余逻辑
简化数据库查询后的错误处理流程,提升
2025-12-09 11:19:15 +08:00
2598dee881
```
...
refactor(common): 使用 sync.Map 优化全局客户端映射
将 common/cool/global.go 中的 Clientmap 从普通 map 替换为 sync.Map,
以提高并发安全性。同时迁移相关操作函数至 cool 包中统一管理。
更新了 rpc 和 service 层代码,确保正确调用新的客户端管理方法。
在 InfoService 中新增 Kick 方法用于处理用户踢出逻辑。
```
2025-12-09 02:48:41 +08:00
cc5a2aaf46
feat(talk): 优化采集逻辑并移除冗余字典服务调用
...
- 移除了 talk.go 中对 dict 模块的依赖,直接使用配置中的 ItemID
- 修改了 talkconfig.go 中的 ItemID 类型为 uint32,提升一致性
- 调整 talk.go 和 talkconfig.go 的缓存获取方式,增强性能
- 更新了 pet_fusion_material_service.go 中字典服务调用方法
- 修复 talk 模型中 TalkID 字段的唯一索引问题
- 日志记录由 Error 改为 Info,避免误导性
2025-12-09 00:09:51 +08:00
36ca75aa03
```
...
refactor(item): 优化物品添加逻辑并移除冗余代码
- 修改 ItemAdd 方法签名,从可变参数改为两个独立参数 itemId 和 itemCnt
- 移除了对 model.ItemInfo 的依赖,简化调用方式
- 更新所有调用 ItemAdd 的地方以适配新接口
- 删除未使用的 imports 和注释掉的旧配置加载逻辑
- 修复购买物品时金币扣除与物品发放的一致性问题
- 增加玩家操作消耗塞尔豆的扣费逻辑(如宠物治疗、技能设置等)
此变更提升了代码简洁性和一致性,并增强了业务逻辑的准确性。
```
2025-12-08 21:11:12 +08:00
1436cc0117
```
...
refactor(service): 统一服务实例调用方式
将多个模块中手动创建服务实例的方式替换为全局单例模式,
包括 PetFusionService、PetFusionMaterialService 和 EffectService。
同时修改了相关调用代码以适配新的服务引用方式。
此外,重构了 talk 模块的数据结构与逻辑实现,
优化了挖矿次数检查及更新机制。
```
2025-12-08 19:50:54 +08:00
0acf01cd6b
```
...
feat(common): 为Service结构体添加缓存支持
在common/cool/service.go中引入gcache包,并在Service结构体中增加Cache字段。同时,在ModifyAfter方法中添加了缓存清理逻辑,确保数据变更后缓存能够及时更新。
该变更影响所有使用Service的模块,包括effect、pet_fusion_material_service和pet_fusion_service等,这些模块现在可以通过统一的缓存机制提升性能。
```
2025-12-08 19:31:59 +08:00
ec0552b59a
feat(player): 重构任务状态管理逻辑
...
将任务状态相关的 GetTask 和 SetTask 方法从 player 包迁移至 model.PlayerInfo 结构体中,
统一通过 c.Info 调
2025-12-08 19:16:37 +08:00
8983222dcb
```
...
refactor(logic): 重构服务器启动逻辑与任务状态管理
- 移除了 `gcmd` 包在 controller 中的直接使用,改为通过参数传递端口和服务器类型
- 统一使用 `GetTask` 和 `SetTask` 方法替代直接访问 `TaskList` 数组,提升代码可维护性
- 修改了战斗逻辑中部分调试打印语句,并优化战斗循环结束日志输出
- 调整了新手玩家初始化流程,默认完成新手任务4
- 更新了数据库模型字段及结构定义,如增加 `max_ts` 字段、扩展 `TaskList` 长度等
- 改进了宠物添加逻辑,采用 SQL 方式确保捕捉时间唯一递增
- 清理了无用或注释掉的旧代码块
2025-12-08 17:03:43 +08:00
7005c1047f
```
...
feat(fight_boss): 更新BOSS战斗效果逻辑以使用新的服务接口
将原来直接访问xmlres.EffectMAP获取效果信息的方式,
替换为通过service.NewEffectService().Args方法获取EID与参数,
提高代码解耦性与可维护性。
refactor(item_buy): 调整金币商品购买时的价格计算逻辑
修复购买金币商品时价格未正确乘以100的问题,
确保消耗金币数量准确无
2025-12-08 00:17:04 +08:00
294cb2e3fd
feat(login): 重构登录逻辑并迁移每日重置功能到 Personself 方法
...
将原本在 Controller.Login 中处理的每日重置逻辑(如电池、任务等)迁移到
service.Info.Personself 方法中,并移除对 gtime.Now().Time 的旧引用。同时更新了
相关的时间判断函数 IsToday,使其支持 *gtime.Time 类型。
此外,清理无用导入包,优化日志打印方式,并修复部分结构体字段定义与使用问题。
2025-12-07 19:23:44 +08:00
004eec219c
feat(item): 添加 NatureProbs 字段并优化宠物道具使用逻辑
...
- 在 `Item` 结构体中新增 `NatureProbs` 字段,用于支持性格概率配置
- 重构 `ItemUsePet` 控制器方法,引入处理器注册机制统一管理道具效果
- 修复神经元相关道具的特殊处理逻辑,增强代码可维护性
- 调整 `S2C_USE_PET_ITEM_OUT_OF_FIGHT` 响应结构体,增加技能列表长度字段
- 修改 `ResetNature` 方法命名及判断条件,提升语义清晰度与健壮性
- 新增 `PetInfo_One_Unscoped` 查询方法以支持软删除数据访问
- 实
2025-12-07 01:43:12 +08:00
91690658b5
feat(boss-effect): 统一处理参数类型转换,提升数值比较与运算准确性
...
对多个 boss 技能效果文件中的参数调用进行了统一调整,将原先直接使用 `e.Args()[index]` 的地方,
改为通过 `e.Args()[index].IntPart()` 或 `e.Args()[index]` 进行类型转换后再参与逻辑判断或数值计算。
同时修正了部分 HP 比较方式,由整型比较转为 decimal
2025-12-06 15:11:42 +08:00
852ba53350
```
...
fix(pet): 修复宠物融合与删除逻辑中的数据访问问题
- 在 PET_FUSION 控制器中注释掉调试代码并修正融合时使用的捕获时间参数
- 优化 player 模块中 Pet_del 方法的切片删除逻辑,避免潜在的数据竞争
- 修复 fight loop 中对手宠物列表的错误引用
- 调整数据库查询条件,将 id 字段从关键字搜索移至精确匹配字段
- 宠物服务中添加插入失败时的重试机制,并默认 free 状态为 1
```
2025-12-06 01:41:38 +08:00
43813932c9
```
...
build(go): 升级 Go 版本至 1.20 并更新依赖包
将项目 Go 版本从 1.18 升级至 1.20,并同步更新了相关模块依赖。
同时替换 decimal 库为 alpacadecimal,以提升数值计算精度和性能。
- 升级 Go 模块版本
- 替换 github.com/govalues/decimal 为 github.com/alpacahq/alpacadecimal
- 更新多个间接依赖包版本
- 调整相关代码中 decimal
2025-12-05 00:24:02 +08:00
022dc12461
refactor(decimal): 替换shopspring/decimal为govalues/decimal库
2025-12-04 14:28:42 +00:00
166fbad07f
```
...
feat(pet): 调整宠物融合逻辑以支持等级加成
在宠物融合过程中引入主副宠物等级之和作为随机因子,
并使用 decimal 库进行浮点数计算以提高精度。
调整概率判断逻辑,使融合结果更符合设计预期。
```
2025-12-04 02:32:31 +08:00
9c172d4ff7
fix(common): 更新查询操作字段注释并调整错误码
...
更新 `common/cool/service.go` 中 `QueryOp` 结构体字段的注释,明确 `FieldEQ` 和 `KeyWordField` 的用途。
同时修改玩家物品添加逻辑中的错误码,从 `ErrBaseItemTypeLimit` 改为 `ErrSystemError200007`。
在 `modules/blazing/service/item.go` 中为分页查询添加 `KeyWordField` 配置,支持按 `player_id` 搜索。
注释掉 `modules/blazing/service/pet_fusion
2025-12-04 01:33:37 +08:00
f8ba7988d0
```
...
feat(pet): 优化宠物融合错误码并记录原始捕获时间
- 将宠物融合过程中的错误码从 ErrSystemBusy 细分为多个更具体的错误码,
如 ErrPokemonNotFusionReady、ErrPokemonNotFusionReady2 等,便于问题定位。
- 在融合成功后,新增记录主宠的旧捕捉时间(OldCatchTime)字段。
- 调整战斗捕捉逻辑,使用对手玩家的第一个宠物信息进行添加,并重置战斗结束原因。
refactor(service): 移除未使用的管理员会话结构体字段和清理部分冗余代码
- 注释掉 base_sys_user.go
2025-12-04 00:26:49 +08:00
8d7d9da0bf
feat(item): 新增性格道具支持与相关逻辑调整
...
新增对特定性格道具的支持,包括 Nature 和 NatureSet 属性解析,
并优化精灵融合、任务奖励、战斗捕捉等流程中的宠物添加方式。
同时修复部分战斗逻辑及数据结构引用问题。
2025-12-03 22:05:28 +08:00
e694848c0d
fix(fight): 修正空变更导致的潜在逻辑问题
2025-12-02 02:50:20 +00:00
f73c11e571
```
...
feat(pet): 实现精灵融合功能并优化相关数据结构
- 新增精灵融合主服务和材料服务,支持根据主副精灵ID查询融合结果
- 调整融合接口参数结构,将物品字段统一为数组形式
- 修改融合材料模型字段类型,提升数据一致性
- 重构融合配置相关逻辑,移除旧融合配置模型及服务
- 增加特性随机选择逻辑,确保融合产物具备有效特性
- 添加材料合法性校验,防止非法材料参与融合
```
2025-12-02 03:59:28 +08:00
aad1e2f44c
feat(fight): 添加战斗前状态检查与经验获取限制判断
...
- 在挑战BOSS和野外怪物战斗前,增加 CanFight 状态检查,防止非法战斗
- 修复战斗胜利后经验与物品发放逻辑,增加 CanGetExp 判断避免重复获取
- 优化战斗中精灵切换逻辑与相关伤害效果处理,确保死亡标记正确设置
- 修正战斗轮次中被动切换行为及技能执行顺序问题
- 移除无用的管理员会话控制器和宠物融合模型代码
- 调整战斗输入结构体中的 Switch 类型为 Map 以提高查找效率
- 修复战斗中精灵存活判定条件,
2025-12-01 23:31:48 +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
0ab1a85d17
```
...
feat(blazing): 更新怪物刷新规则模型结构
重构 monster_refresh.go 中的 MonsterRefresh 模型,调整字段定义以支持更灵活的刷新配置。
新增 MapID、MinLevel、MaxLevel、FixPos 和 Script 字段,用于支持地图和等级相关的刷新逻辑。
保留部分异色相关字段并标记为待定,便于后续决定是否移除。
新增 MonsterRefreshEX 结构体扩展 MonsterRefresh 并支持数组形式的 MonsterID 和 ShinyID。
修改注释内容以准确反映当前字段含义与用途。
同时修正 dict_info.go 中查询条件错误,将 type in (?) 更正
2025-11-27 01:23:12 +08:00
f76587f952
feat(pet): 实现精灵融合功能并优化相关逻辑
...
新增精灵融合接口及处理逻辑,支持主副精灵融合生成新精灵,并消耗金币与材料。
同时调整了战斗技能选择流程、修复地图热度统计安全问题以及完善宠物删除机制。
- 添加 `PetFusion` 控制器方法实现融合核心逻辑
- 新增 `C2S_PetFusion` 和 `PetFusionInfo` 结构体用于通信
- 修正战斗中技能随机选取后立即返回的问题
- 修复太空站进入/离开时对地图热度的并发访问风险
-
2025-11-26 01:33:48 +08:00
1dbd4169e9
feat(xmlres): 更新 BOSS 配置结构并优化字段注释
...
新增多个 BOSS 相关配置字段,包括任务关联、奖励机制与挑战限制等,
增强 BOSS 精灵的可配置性与业务表达能力。同时完善字段注释以对齐 XML
实际使用情况,并保留原有部分字段用于兼容历史配置。
fix(fight): 调整战斗胜利回调执行顺序以确保数据一致性
将战斗结束回调移至广播之前执行,保证在发送战斗结果前已完成所有状态
更新,尤其是针对胜利宠物的信息同步
2025-11-22 22:57:32 +08:00
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
4ab6b726a7
fix: 修复空提交问题
2025-11-17 21:45:45 +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
a95e6b8491
```
...
feat(common): 升级 gf 框架版本至 v2.8.0 并优化模型时间字段
- 将 `github.com/gogf/gf/contrib/drivers/pgsql/v2` 和 redis 依赖从 v2.6.3 升级到 v2.8.0
- 使用 `*gtime.Time` 替代标准库 `time.Time` 以支持更灵活的时间处理
- 移除 Model 结构体中 CreateTime、UpdateTime 等字段的默认初始化逻辑
- 注释掉已弃用的 GDBM 函数,推荐使用 DBM
- 在 DBM 中添加 OnConflict("id") 配置以增强写入安全性
- 调整部分代码结构与调用方式以适配新版框架行为
```
2025-11-17 12:59:46 +08:00
f1c990c182
fix(logic/service/player): 修复玩家信息保存时的指针解引用问题
...
修复了 Player 结构体在调用 Service.Info.Save 方法时传入的是指针而非实际值的问题,
同时修改 InfoService.Save 方法以接受值类型参数而不是指针,并更新内部数据赋值逻辑。
2025-11-17 11:00:12 +08:00
baaec283e6
fix: 修复空提交问题
2025-11-16 20:48:12 +00:00
82841491d0
`` fix: 修复空提交问题``
2025-11-16 20:31:42 +00:00
5dbff2411c
重构
2025-11-16 20:30:17 +00:00
5e3d558d30
```
...
feat(player): 添加 UseCoins 方法统一处理玩家金币消耗逻辑
重构购买物品和变更外观功能,使用 UseCoins 方法替代手动操作 Coins 字段,
确保金币扣除的安全性和一致性。同时修复可能因并发导致的金币超扣问题。
此外,调整部分战斗系统接口参数传递方式,将 DamageZone 指
2025-11-13 21:36:18 +08:00
f281b949ba
```
...
feat(fight): 调整战斗逻辑与精灵切换机制
- 优化精灵切换时的效果处理,增加切换事件支持
- 修复战斗中超时逻辑和技能CD计算问题
- 增强状态效果在精灵上下场时的清理机制
- 修改伤害计算逻辑以提高准确性
- 更新战斗池初始化参数提升并发性能
此外,同步更新了宠物放生字段命名及逻辑处理方式,并调整网络通信中的限流策略。
```
2025-11-13 02:43:00 +08:00
7a8be1c23a
feat(element): 优化元素计算器并发安全与缓存机制
...
- 使用 sync.Map 替代 map+锁,提升并发读写性能
- 预加载所有元素组合,避免运行时重复创建
- 攻击系数计算结果加入缓存,提高查询效率
- 完善缓存键命名与错误处理机制
- 调整元素组合字符串展示格式,增强可读性
fix(item): 修复购买物品时价格为0仍扣除金币的问题
- 在购买逻辑中增加对物品价格是否为0的判断
- 防止免费物品被误扣金币
2025-11-02 23:52:06 +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
cccf26788e
fix(socket): 玩家断开连接时增加保存锁,避免重复保存
...
在玩家断开连接时,使用 sync.Once 确保只保存一次玩家数据,
防止因并发或多次触发导致的数据异常。
feat(fight): 增加战斗资格判断与邀请取消功能
- 新增 Player.CanFight() 方法用于统一判断是否可以参与战斗
- 在多个战斗相关接口中加入 CanFight 检查
- 添加“取消战斗邀请”指令及处理逻辑(cmd: 2402)
- 修复部分错误码不准确的问题,提升提示一致性
refactor(login): 优化登录流程并增强健壮性
- 提前校验 session 合法性
- 增强获取玩家信息后的空指针检查
- 调整挖矿数据重置方式为 defer 执行
- 优化日志输出内容,便于调试追踪
docs(model): 更新部门、菜单等模型字段命名规范
将 orderNum 字段改为 ordernum,保持数据库列名风格一致,
同时更新了 base_sys_role 中 userId 为 userid。
perf(rate-limit): 提高登录接口的限流 Burst 容量
调整限流器配置,将请求 burst 容量从 2 提升至 5,
以应对短时间高频访问场景,改善用户体验。
chore(build): 忽略新增编译产物和临时文件
在 .gitignore 中添加 logic/logic2、login/login 等新生成文件路径,
避免误提交二进制文件到版本控制。
2025-10-31 00:53:22 +08:00
4306e2db53
```
...
feat(item): 实现批量购买物品功能并优化物品添加逻辑
新增 BuyMItem 方法支持批量购买多个物品,并在 Controller 中完善错误处理流程。
修改 ItemAdd 方法以返回添加结果,增强对物品数量限制和异常情况的控制。
调整任务完成时的物品发放逻辑,确保只有成功添加的物品才会被返回给客户端。
修复新手任务中初级体力药剂的数量从 3 改为 5。
将 defer 调用提前执行以避免潜在的数据不一致问题。
```
2025-10-25 15:06:05 +08:00
18378a3ab6
feat(logic): 添加玩家外观与聊天功能并优化宠物生成逻辑
...
- 在 `logic/controller/item.go` 中添加了更换玩家服装后广播结果的逻辑
- 在 `logic/controller/user.go` 中新增多个控制器方法:
- `Aimat`:瞄准操作处理
- `Chat`:支持消息发送及过滤
- `ChangePlayerColor`:修改玩家颜色并扣除金币
- `ChangePlayerDoodle`:更改玩家涂鸦并扣费
- `ChangeNONOColor`:改变 NONO 颜色
- 移动宠物信息生成函数 `GenPetInfo` 至 `modules/blazing/model/pet.go` 并重构其实现
- 更新 `logic/service/player/pet.go` 和相关引用以适应新结构
-
2025-10-24 00:31:38 +08:00
0ccde910e5
fix(controller): 移除重复的昵称空字符过滤,仅在控制器层处理
2025-10-23 06:06:28 +00:00
3df38d5626
fix(task): 将新手任务和超NO奖励从任务完成移至注册时初始化
2025-10-23 06:04:05 +00:00
9739598df2
```
...
feat(xml): 更新任务配置结构以支持新能量节点解析
将原先的 TalkCount 和 TalkEntry 结构替换为 TalkRoot 和 Energy,
以适配新的 XML 配置格式。同时更新了相关引用代码以确保类型一致性。
refactor(item): 优化物品添加方法支持可变参数传入
调整 ItemAdd 方法签名,从接收数组改为接收可变参数,
提升调用灵活性,并同步修改控制器中对物品添加逻辑的处理方式。
feat(login): 修复每日重置逻辑并引入 gtime 时间管理
修正登录时每日任务重置区间错误(400~100 改为 400~500),
并改用 gtime.Now().Time 提供更准确的时间戳记录与比较,
同时增强挖矿次数等
2025-10-23 01:02:19 +08:00
d673ee4776
feat(login): 初始化玩家登录信息中的 Nonono
2025-10-20 00:23:16 +08:00
2ca0898b15
```
...
refactor(socket): 优化TCP数据包处理逻辑并增加调试日志
- 修复 handleTcp 中条件判断的空格格式问题
- 在解码失败时增加详细 Debug 日志输出
- 完善不完整数据包时手动唤醒连接的处理流程
refactor(pet): 重构宠物经验系统与升级逻辑
- 将经验计算函数移至 model 层统一管理
- 优化 AddPetExp 方法逻辑,避免直接修改原字段
- 升级过程中正确扣减经验池并防止溢出
- 抽离 Update 方法用于处理宠物进化和经验更新
refactor(model): 调整 PlayerInfo 结构体引用方式及相关初始化逻辑
- 修改
2025-10-18 23:58:19 +08:00
6e7dc9ebca
``refactor(service): 统一数据库模型访问方式,使用s.Model替代cool.DBM``
2025-10-17 21:04:19 +00:00
696e6225e5
``refactor(pet): 重构宠物服务结构,将PetService独立封装并继承cool.Service``
2025-10-17 19:40:27 +00:00