Commit Graph

181 Commits

Author SHA1 Message Date
昔念
026689f3ed ```
feat(cache): 添加复合键缓存操作支持

添加了基于 uint32+string 组合键的缓存操作方法,包括
GetByCompoundKey、SetByCompoundKey、DelByCompoundKey 和
ContainsByCompoundKey 方法,用于处理用户ID和会话ID的组合缓存场景

fix(vscode): 添加 cSpell 配置支持 struc 词汇

refactor(session): 移除过时的会话管理方法

移除了基于单一字符串键的会话管理方法,因为已迁移到使用
复合键的缓存操作方式
```
2026-01-19 18:51:56 +08:00
97dfc61939 ```
feat(config): 增加服务器在线状态检测功能

- 在ServerEvent中添加OnlineID到日志输出
- 修改玩家宠物闪光逻辑,仅在ShinyInfo为空时添加新闪光信息
- 在server.go中增加PageQueryOp配置,实现服务器假踢人功能
- 添加在线状态检测逻辑,通过GetClient获取连接状态并更新服务器列表
- 引入context、g和gconv依赖包用于服务逻辑处理
```
2026-01-08 03:55:24 +08:00
174562b895 ```
feat(config): 重构配置结构并添加服务器列表支持

- 重命名PortBL字段为GameOnlineID,改进命名语义
- 添加ServerList结构体用于管理服务器配置
- 移除七牛云配置相关字段
- 更新ID生成器使用GameOnlineID参数

fix(server): 调整服务器启动参数和VIP逻辑

- 将启动参数从-port改为-id,统一参数命名
- 更新服务器启动逻辑,基于GameOnlineID获取服务器信息
- 为VIP服务器启用调试模式
- 优化端口可用性检查逻辑

refactor(model): 统一模型基类结构

- 将各模型中的*cool.Model嵌入改为Base基类
- 移除soul.go
2026-01-08 03:30:18 +08:00
1
77baefef11 ``refactor(player): 统一将UseCoins方法重命名为GetCoins并优化宠物融合扣费逻辑`` 2026-01-03 13:53:38 +00:00
699231ee38 ```
feat(vscode): 添加调试参数配置

为launch.json添加-debug=1参数,便于调试模式启动

docs(README): 补充zellij终端复用工具使用说明

添加x-cmd安装和zellij会话管理相关命令示例

refactor(config): 注释掉GamePort配置项

暂时注释GamePort配置项以解决配置冲突问题

refactor(xmlres): 移除未使用的gf框架依赖并注释文件监控逻辑

移除未使用的gctx、gfile、gfsnotify、glog导入包
注释init函数中的文件监控逻辑,避免不必要的文件监听
```
2026-01-02 04:11:37 +08:00
dd28d48ca4 ```
feat(build): 更新构建脚本添加资源打包和proto编译

更新build.bat脚本,添加proto文件编译和资源打包功能,调整资源打包顺序。

BREAKING CHANGE: 构建流程发生变化,需要重新生成proto文件和打包资源。

---

refactor(xmlres): 使用gres替换gfile读取资源文件

将xmlres模块中文件读取方式从gfile.GetBytes改为gres.GetContent,
使
2026-01-01 19:57:39 +08:00
9ae66a42d1 ```
fix(fight_boss): 修复NPC战斗中宠物ID和闪光属性处理逻辑

- 在NPC战斗中,当refPet.Ext不为0时,正确设置refPet.Id
- 当refPet.Ext不为0且满足随机条件时,为怪物添加随机闪光属性
- 修正了宠物信息生成时的ID使用逻辑

fix(monster): 修正注释说明稀有精灵概率计算

- 更新注释说明,明确单个ID固定刷出时的概率变尼尔尼奥不是稀有精灵

refactor(player): 重构宠物闪光属性随机生成逻辑

- 简化OgrePetInfo.RandSHiny方法的条件判断逻辑
- 统一闪光属性随机生成的处理方式

fix(task): 修复任务奖励物品信息返回

- 修正任务奖励
2026-01-01 00:30:09 +08:00
027214ef85 ```
feat(user-service): 修改超级管理员ID并添加金币删除功能

- 将超级管理员ID从1改为10001
- 在用户更新时删除金币字段
- 调整异色宠物生成概率从1%到0
2025-12-31 16:29:32 +08:00
4fa60266f1 ```
refactor(player): 调整宠物删除逻辑顺序

将宠物列表更新操作移到背包更新和删除操作之后,
确保在删除宠物前先完成相关的服务更新操作。
```
2025-12-31 02:17:43 +08:00
be70f50939 ```
feat(pet): 优化宠物仓库和背包功能的数据库操作

- 使用copier.CopyWithOption替代直接赋值,确保深拷贝操作
- 移除冗余的model导入,简化代码结构
- 重构PetReleaseToWarehouse和PetRetrieveFromWarehouse方法,
  直接调用UPdateFree方法更新宠物状态
- 优化TogglePetBagWarehouse方法中的宠物数据更新逻辑
- 添加
2025-12-31 01:35:20 +08:00
b86ab8d5a9 ```
feat(pet): 完善宠物异色功能和战斗逻辑

- 优化宠物异色生成逻辑,当Ext不为0时使用Ext值生成异色效果
- 修复战斗中我方放弃出手时的先后手判断逻辑
- 更新宠物融合和还原操作的调试日志输出
```
2025-12-31 00:57:28 +08:00
1
f91b88e90f ``` refactor(pet): 优化宠物特性随机逻辑并修复宠物删除数组操作 2025-12-30 02:15:33 +00:00
41babda646 ```
feat(config): 新增固定异色功能并重构异色服务

- 新增 FixShiny 方法用于固定获取异色效果
- 重命名 Args 方法为 RandShiny 以明确功能
- 添加 utils 包依赖用于数据转换

feat(model): 扩展宠物异色相关方法

- 为 PetInfo 结构体添加 FixShiny 方法
- 修改 RandShiny 方法逻辑,确保异色信息正确添加

ref
2025-12-30 00:45:23 +08:00
9422f2df99 ```
feat(pet): 宠物系统新增异色功能

- 在蛋游戏中添加异色宠物生成逻辑
- 在 boss 战斗中加入捕获时异色概率判定
- 优化宠物融合系统,支持融合后异色继承
- 重构宠物删除方法命名,修复方法调用问题
2025-12-30 00:10:59 +08:00
1
1e9176c4ae ``` refactor(player): 移除AI_player冗余方法并优化baseplayer结构 2025-12-29 14:26:46 +00:00
dee8193bde ```
refactor(player): 重构OgreInfo数据结构并优化怪物生成逻辑

- 将Player结构体中的OgreInfo字段从[9]OgrePetInfo数组改为OgrePet结构体
- 更新所有OgreInfo的访问方式,使用OgreInfo.Data[index]替代OgreInfo[index]
- 移除不再使用的common包
2025-12-28 23:16:59 +08:00
1
67227f3016 ``` refactor(monster): 优化怪物生成逻辑并简化OgreInfo数据结构 2025-12-28 14:40:17 +00:00
7e840cbf17 ```
feat(config): 添加炫彩皮肤配置服务和数据库查询功能

- 新增ShinyService服务,提供Args方法用于根据ID查询炫彩皮肤配置
- 修改ColorfulSkin模型,将BindElfIds字段的gorm类型从json改为jsonb以支持数组查询
- 移除ColorfulSkin模型中嵌入的cool.Model的json标签,优化序列化
- 实现基于JSONB数组查询的精灵绑定功能,支持概率随机和刷新计数统计

debug(common): 添加数据库缓存清除调试信息

- 在ModifyAfter方法中添加er1变量接收ClearCache返回值
- 使用println输出缓存清除结果,便于调试缓存机制

refactor(player): 重构玩家宠物异色信息生成逻辑

- 引入config服务包,通过配置动态生成宠物炫彩效果
- 注释掉原有的固定炫彩效果生成代码
- 添加条件判断,仅当配置存在时才
2025-12-26 23:46:10 +08:00
c9bc4be244 ```
feat: 添加ItemInfo结构体并重构抽蛋和任务系统

- 在common/data/color.go中添加ItemInfo结构体用于表示发放物品的信息
- 在common/utils/tomap.go中添加RandomSlice泛型函数用于从切片中随机选取元素
- 重构action_egg.go中的EggGamePlay功能,实现抽蛋逻辑和物品发放
- 更新fight_boss.go中使用新的ItemInfo结构体替换旧的model.ItemInfo
- 修改user_talk.go中获取物品数量的逻辑
- 更新user_task.go中任务完成逻辑使用新的ItemInfo结构体
- 在egg.go中更新抽蛋结果结构体使用ItemInfo
- 更新战斗奖励结构体使用ItemInfo
- 在player.go中添加学习力道具处理逻辑
- 重构任务系统使用新的ItemInfo结构体
- 移除旧的model.ItemInfo定义
- 更新宠物奖励配置模型添加成长值等字段
- 实现GetEgg方法用于获取扭蛋奖励
- 修复宠物融合材料服务中的道具验证逻辑
```
2025-12-26 20:38:08 +08:00
164e70519f ```
refactor(cool): 修复Logger变量名拼写错误

将全局Logger变量从Loger修正为Logger,统一日志实例命名规范,
确保所有模块中日志记录的一致性。

BREAKING CHANGE: 全局日志实例变量名从Loger改为Logger
```
2025-12-25 12:14:04 +08:00
502d497dce ```
refactor(controller): 重构控制器函数命名和代码注释

- 重命名 EGG 函数为 EggGamePlay,更新宠物生成逻辑
- 重命名 Leiyi 函数为 GetLeiyiTrainStatus
- 重命名 Cacthpet 函数为 CatchPet,添加详细函数注释
- 为 ArenaSetOwner、ArenaFightOwner、ArenaGetInfo、ArenaUpfight、ArenaOwnerAcce
  等擂台相关函数添加注释前缀
- 重命名 PETKing 函数为 PetKing
- 重命名 FRESH_CHOICE_FIGHT_LEVEL 函数为 FreshChoiceFightLevel,添加详细参数说明
- 重命名 BuyMItem 函数为 BuyMultipleItems
- 重命名 ITEM_S
2025-12-24 19:03:11 +08:00
1
5965c8319a feat(data): 重构颜色矩阵处理逻辑,将GlowFilter和相关功能迁移到common/data包 2025-12-21 17:18:33 +00:00
1
0322f28f53 "refactor(map): 优化地图NPC刷新逻辑并调整怪物生成冷却时间" 2025-12-17 09:52:44 +00:00
1
09dad913fe refactor(player): 调整颜色矩阵数据类型为float32并优化NPC定时任务逻辑 2025-12-17 06:56:55 +00:00
24d312ab90 ```
feat(player): 调整金币相关数据类型及计算逻辑

将金币相关的浮点数类型改为整型,避免精度问题。
- 修改 `BuyGoldItem` 中价格计算方式,使用 `float64` 转换以提高精度
- 更新玩家金币时传入 `int64` 类型,并统一单位为分
- 数据库字段 `goldbean` 类型由 `money` 改为 `bigint`
- 调整伤害区域逻辑,修复红色伤害类型处理流程
```
2025-12-17 00:05:03 +08:00
1
1d830ea808 "refactor(map): 优化地图怪物刷新逻辑并调整天气系统实现" 2025-12-16 08:35:22 +00:00
1
49b4c8cf2a refactor(item): 统一物品操作接口并优化金币处理逻辑 2025-12-16 06:54:27 +00:00
d2467363e8 feat(effect): 新增回合结束计数逻辑并调整伤害处理流程
在 Effect46 中新增 `Turn_End` 方法用于回合结束时增加计数器,并移除了原有在
`Damage_DIV_ex` 方法中重复的自增操作,以确保逻辑清晰且统一。

---

fix(monster): 调整异色宠物生成规则及捕获概率

测试服环境下强制开启异色宠物生成,并将原捕获概率由 30% 调整为 1%,提升
稀有精灵
2025-12-15 04:02:03 +08:00
77f3d153c6 ```
fix(monster): 调整闪光宠物生成概率并修复时间种子问题

将闪光宠物的生成条件从 `grand.Meet(1, 100)` 修改为 `grand.Meet(30, 100)`,
同时为 `RandSHiny` 方法增加时间偏移参数以提升随机性。

此外,修正了登录任务判断逻辑中的索引范围错误,字段命名优化以及部分冗余代码清理。
```
2025-12-14 23:28:28 +08:00
8791e775ba fix(Monster.go): 修复怪物生成时的闪光率判断逻辑
在生成怪物时,增加对宠物捕获率是否为0的检查,避免无效的闪光率计算。
2025-12-14 20:35:53 +08:00
3d3591ebec feat(player): 重构怪物闪光效果生成逻辑并优化颜色矩阵随机算法
- 移除了 Monster.go 中对 `model.GlowFilter` 的直接构造逻辑,改用统一的 `RandSHiny()` 方法处理异色光晕配置
- 新增 `RandomMatrixNoSingleColorBright` 和 `RandomMatrixNoSingleColorBrightDefault` 函数,增强颜色矩阵生成的灵活性和亮度控制能力
- 修复可能因全拷贝模式导致图像单一色彩的问题,确保至少有一行使用偏移量
- 增加 redBias 和 brightnessScale 参数支持,提升颜色多样性和视觉表现力
- 使用
2025-12-14 20:32:54 +08:00
b6c3ff53aa ```
feat(monster): 优化怪物颜色矩阵生成逻辑以避免单色问题

重构了颜色矩阵生成函数,引入新模式避免生成单一颜色图像。新模式通过确保至少一个通道依赖输入,并对常量偏移进行去重处理,提升颜色多样性。同时删除了对 time 包的依赖,改用 gf 框架内置随机函数。

```
2025-12-14 19:55:38 +08:00
3f059c71fa feat(pet): 更新宠物生成逻辑以支持异色属性
- 修改 `GenPetInfo` 函数签名,将 `shinyid` 参数调整为 `[]GlowFilter` 类型,并移动其位置
- 在多个控制器中更新调用 `GenPetInfo` 的地方,适配新的参数顺序和类型
- 引入 `GlowFilter` 结构用于描述异色效果,并在 `OgrePetInfo` 中添加相关字段
- 新增 `GenerateNormalizedColorMatrix` 工具函数用于生成颜色矩阵
- 调整宠物生成时对异色信息的初始化
2025-12-14 19:23:26 +08:00
4b604669e4 feat(pet): 更新精灵闪光信息结构以支持更丰富的光晕效果
将 Shiny 字段从单一 uint32 值扩展为 GlowFilter 结构体数组及相关长度字段,
用于表示更复杂的闪光视觉效果。同时调整相关序列化标签及保留字段布局。

- 修改 PetInfo、PetShortInfo、ReadyFightPetInfo 等结构体中的 Shiny 表示方式
- 添加 ShinyLen 和 ShinyInfo 字段,并配置 json 与 struc 序列化选项
- 调整部分结构体中 Reserved 字段为数组形式以优化空间布局
- 更新 copier.Copy 为 copier.CopyWithOption 并启用深拷贝逻辑
- 微调经验升级顺序以确保数据一致性
- 修正地图BOSS信息判断条件并清理无用导入和注释代码
2025-12-14 05:34:39 +08:00
fe89620efb ```
feat(item): 出售物品后减少背包中对应物品数量

在处理物品出售逻辑时,增加调用 SubItem 方法以正确扣减玩家背包中的物品数量。

feat(map): 玩家离开地图时重置 Canmon 标志位

通过 atomic.StoreUint32 将玩家的 Canmon 状态设置为 0,确保线程安全。

fix(pet): 调整宠物经验增加逻辑并修复技能学习问题

重构 AddPetExp 方法逻辑,优化升级流程、技能学习机制,并修正经验显示
2025-12-13 21:47:07 +08:00
1
cedb02faf7 ``feat(item): 新增物品出售价格属性(SellPrice)并实现物品出售功能,优化宠物面板计算和时区判断逻辑`` 2025-12-12 19:10:09 +00:00
1
8eb0a1324b fix(pet): 优化宠物面板计算逻辑,限制非首次生成时等级不超过100并简化特性生成 2025-12-11 14:34:56 +00:00
1
04905be3f9 ``` feat(fight): 添加尼尔尼奥变身逻辑并重构怪物生成模块 2025-12-10 13:54:51 +00:00
75bdacbd11 fix(talk): 修改对话计数逻辑中的错误码返回值
将检查失败时的错误码返回值从 ErrResourceUnavailable 改为 0,
以确保在资源不可用时能正确处理返回结果。

feat(player): 增加玩家经验获取的时间限制判断

在 CanGetExp 方法中新增时间上限判断逻辑,当今日游戏时间已达
2025-12-09 00:47:21 +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
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
35c89215f7 ```
feat(player): 重构玩家金币系统,使用BaseSysUserService管理金币

将玩家金币逻辑从PlayerInfo中移除,改为通过BaseSysUserService进行统一管理。
新增了金币的获取与设置方法,支持以分为单位的精确计算。
调整了登录时用户服务的初始化逻辑,确保User字段正确赋值。

fix(pet): 修复宠物性格道具使用逻辑错误

更新了多个性格相关道具的处理方式,包括新增的性格转换道具范围。
修正了性格随机与指定逻辑,避免越界问题并增强可维护性。

feat(fight): 战斗初始化时恢复宠物状态

在战斗初始化阶段调用宠物治愈方法,确保战斗开始前宠物处于健康状态。

feat(admin): 调整管理员会话获取接口参数类型

修改GetPerson方法传入参数为uint32类型,提高数据一致性与安全性。

refactor(model): 移除PlayerInfo中的GoldBean字段

金币字段不再存储于PlayerInfo结构体中,转而由BaseSysUser模块统一管理。
```
2025-12-06 23:59:00 +08:00
852ba53350 ```
fix(pet): 修复宠物融合与删除逻辑中的数据访问问题

- 在 PET_FUSION 控制器中注释掉调试代码并修正融合时使用的捕获时间参数
- 优化 player 模块中 Pet_del 方法的切片删除逻辑,避免潜在的数据竞争
- 修复 fight loop 中对手宠物列表的错误引用
- 调整数据库查询条件,将 id 字段从关键字搜索移至精确匹配字段
- 宠物服务中添加插入失败时的重试机制,并默认 free 状态为 1
```
2025-12-06 01:41:38 +08:00
1
da31ad3ebe fix(pet): 修复宠物技能列表长度检查问题 2025-12-05 10:04:23 +00: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
aad1e2f44c feat(fight): 添加战斗前状态检查与经验获取限制判断
- 在挑战BOSS和野外怪物战斗前,增加 CanFight 状态检查,防止非法战斗
- 修复战斗胜利后经验与物品发放逻辑,增加 CanGetExp 判断避免重复获取
- 优化战斗中精灵切换逻辑与相关伤害效果处理,确保死亡标记正确设置
- 修正战斗轮次中被动切换行为及技能执行顺序问题
- 移除无用的管理员会话控制器和宠物融合模型代码
- 调整战斗输入结构体中的 Switch 类型为 Map 以提高查找效率
- 修复战斗中精灵存活判定条件,
2025-12-01 23:31:48 +08:00