Commit Graph

831 Commits

Author SHA1 Message Date
39dc79f706 ```
feat(xml): 添加进化配置映射并更新错误码提示

- 在 `common/data/xmlres/file.go` 中添加 EVOLVMAP 用于加载进化配置
- 更新多个控制器中的金币不足错误码,统一使用骄阳余额不足错误码 `ErrSunDouInsufficient10016`
- 修改战斗逻辑中 AI 动作触发机制,并优化战斗流程
- 增加对融合材料合法性的校验
- 调整战斗动作通道缓冲区大小以提升并发处理能力
- 更新 XML 配置
2025-12-16 02:50:10 +08:00
597bd7b9d5 fix(logic/service/fight): 初始化玩家时正确设置宠物最大生命值
当宠物的 Hp 字段不为零时,现在会正确地将该值赋给宠物的 MaxHp 属性。这确保了
宠物的最大生命值得到正确初始化,避免了可能的游戏逻辑错误。
2025-12-15 15:09:06 +08:00
92125f5141 feat(blazing): 为MeleeConfig添加描述字段
新增Desc字段用于存储BOSS的描述信息,完善了模型结构。
2025-12-15 14:35:02 +08:00
937f97fe83 ```
feat(go): 升级 Go 版本至 1.20

统一将所有模块的 Go 版本从 1.18 或 1.19 升级到 1.20,以使用最新的语言特性和性能改进。

feat(service): 新增乱斗服务默认宠物生成逻辑

在 fight 模块中调用新的 MELEEService.Def() 方法来生成初始对战宠物,
并根据配置
2025-12-15 14:26:24 +08:00
78bb2bd148 ```
refactor(dict): 调整缓存逻辑并优化数据获取方式

将原先基于 gcache 的缓存机制移除,改为使用 gdb 内置的
2025-12-15 06:15:55 +08:00
56af8951c7 ```
refactor(common): 移除冗余缓存逻辑并统一数据库缓存适配器配置

将项目中多处手动管理的 gcache 缓存替换为数据库内置缓存机制,
提升缓存使用一致性与可维护性。同时,在初始化时增加对数据库
缓存适配器的设置,确保 Redis 模式下缓存生效。

涉及模块:
- common/cool 包下的缓存初始化逻辑调整
- 多个 service 文件中移除 gcache 实例及相关调用
- 使用 gdb.CacheOption 替代原有缓存方法实现数据查询缓存
```
2025-12-15 05:39:11 +08:00
af7cdddcb5 feat(blazing): 为MeleeConfig添加是否启用字段
在MeleeConfig结构体中新增IsEnable字段,用于控制BOSS配置的启用状态。
该字段默认值为0,表示不启用,注释说明了其用途。
同时调整了结构体字段的对齐格式以提升可读性。
2025-12-15 04:44:39 +08: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
6368e2f2e9 feat(room): 增加房间宠物信息获取逻辑并优化展示条件
新增 Controller.RoomPetInfo 方法用于获取指定用户的房间宠物详细信息,
同时修复了宠物展示时可能因空数据导致的问题。在设置房间宠物展示和
处理房间装饰时增加对 CatchTime 和 ID
2025-12-13 23:52:16 +08:00
648e963562 ```
feat(room): 更新房间宠物展示逻辑并优化数据结构

- 修改 `OnGetRoomPetShowInfo` 方法,使用 `pet.PetShortInfo` 替代原有的 `room.PetShowInfo` 结构体
- 引入 `github.com/jinzhu/copier` 实现结构体字段自动复制
- 调整 `SET_Pet` 接口实现逻辑以支持批量设置展示中的宠物
- 更新 `PetRoomListOutboundInfo` 中 Pets 字段类型为 `[]pet.PetShortInfo`
- 将 `RoomService.Show` 方法参数由单个 uint32 改为切片 []uint32 以支持多宠物展示
- 修改数据库表名常量 `TableNameBaseHouse` 从 "base_house" 更名为 "room_house
2025-12-13 23:25:04 +08:00
d198e7446a feat(room): 移除旧版房间控制器逻辑并重构家具展示信息结构
移除了 logic/controller/room.go 中已废弃的房间相关控制器方法,包括获取基地物品、展示精灵及房间家具的方法。同时,在 logic/service/room/FitmentShowInfo.go 中对家具展示信息结构进行了重构,引入了 model.FitmentShowInfo 并新增 SET_FITMENT 和 NullInfo 结构体以支持新的数据协议。另外,在 pet.go 中增加 PetInfo_One_ohter 方法用于查询指定用户的宠物信息,并在 user.go 中为 UserService 添加 RoomService 支持。
2025-12-13 22:51: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
2ab7f59667 ```
feat(socket): 统一使用 glog.Info 替代 glog.Infof

将 ServerEvent.go 中的 glog.Infof 更改为 glog.Info,以统一日志输出方式并减少格式化开销。

feat(controller): 优化宠物经验设置逻辑与错误码返回

在 SetPetExp 方法中提前返回结果,并修正最终返回的错误码为 ErrSystemError。同时规范化注释格式。

feat(space): 支持天气地图判断与动态天气 BOSS 刷新

引入 lo 包用于查找
2025-12-13 18:35:17 +08:00
1
f638113c1a ``feat(model): 添加装扮半价状态注释说明,包含个人/小屋/要塞/总部装扮半价标识`` 2025-12-12 19:16:02 +00:00
1
cedb02faf7 ``feat(item): 新增物品出售价格属性(SellPrice)并实现物品出售功能,优化宠物面板计算和时区判断逻辑`` 2025-12-12 19:10:09 +00:00
1
3242207f95 ``feat(model): 新增精灵奖励表(MonBonus)和物品奖励表(ItemBonus)模型,包含核心属性和通用配置字段`` 2025-12-12 17:26:20 +00:00
1
75bcbb89c5 ```fix(fight): 修复效果104状态触发逻辑,添加can标志控制首次触发 2025-12-12 13:49:50 +00:00
adf290ca2a ```
fix(socket): 修改服务器事件中的连接数日志描述

将 OnTick 方法中的日志输出从 "[connected-count=%v]" 更改为更直观的 "链接数" 描述,
便于理解和调试连接状态。
```
2025-12-12 13:16:30 +08:00
1
5ecfd0396c ```feat(log): 优化日志配置,添加异步日志标志并替换socket服务中的日志输出方式 2025-12-11 20:27:10 +00:00
1
32c61f37bd ```feat(fight): 新增无视双防效果566实现,优化战斗过程中宠物信息保存逻辑 2025-12-11 20:20:39 +00:00
1
4c69e578dd ``` feat(fight): 新增多种技能效果实现(110/125/128/131/145/151),优化状态判断逻辑并重构随机数生成方式 2025-12-11 20:05:00 +00:00
1
5ca43fe21f ``` refactor(fight): 重构状态效果初始化逻辑,统一使用InitEffect方法并内置随机持续回合 2025-12-11 19:12:54 +00:00
1
8eb0a1324b fix(pet): 优化宠物面板计算逻辑,限制非首次生成时等级不超过100并简化特性生成 2025-12-11 14:34:56 +00:00
1
cbf9b1039f Merge branch 'main' of https://github.com/72wo/blazing 2025-12-11 14:02:45 +00:00
1
29ddbdd7e6 ``` feat(fight): 新增状态类技能效果104和109,重构特效类型枚举并优化技能效果实现 2025-12-11 13:58:24 +00:00
6d5cba379a fix(blazing): 修复宠物融合材料服务中数据获取逻辑错误
调整了缓存获取逻辑,忽略错误并优化返回值处理。
从 DictInfoService 获取的数据现在正确使用 Value 字段,
并且简化了随机属性索引的返回方式。
2025-12-11 19:37:11 +08:00
7b73a59f31 fix(logic/service/fight/effect): 修复技能实体为空时的空指针异常
在 effect_32.go 的 Action_start 方法中添加了对 SkillEntity 是否为 nil 的检查,
避免在技能实体不存在的情况下访问其属性导致程序崩溃。
2025-12-11 13:39:19 +08:00
98a3d8e036 feat(fight): 优化战斗中技能信息传递方式
将 SkillInfo 结构体改为指针传递,确保每回合技能效果可独立变化。
同时调整了战斗逻辑中关于宠物切换次数的控制逻辑,支持死亡后切换再执行额外动作的流程处理。
2025-12-11 13:31:20 +08:00
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
1
6b534adc07 ``` feat(fight): 新增战斗回合Hook机制,实现特定条件下强制结束战斗和随机出手逻辑 2025-12-10 18:37:32 +00:00
1
f6043fd9b9 ``` fix(fight): 重构切换动作逻辑,将CanChange改为状态值并优化切换条件检查 2025-12-10 16:42:23 +00:00
1
e30f0b7860 ``` fix(fight): 修复精灵切换逻辑,移除HP检查仅保留CanChange条件 2025-12-10 16:07:35 +00:00
1
2187d84663 ``` refactor(fight): 重构精灵切换逻辑,将切换效果处理移至回合收集阶段并优化闪光字段结构 2025-12-10 16:03:45 +00:00
1
2d69eef283 ``` refactor(pet): 重构宠物效果检查逻辑,使用GetEffect替代HaveAN并优化效果复制 2025-12-10 14:04:06 +00:00
1
04905be3f9 ``` feat(fight): 添加尼尔尼奥变身逻辑并重构怪物生成模块 2025-12-10 13:54:51 +00:00
fa9ed83279 ```
fix(space): 修复天气系统与Boss信息广播逻辑

- 调整 `fight/loop.go` 中被动切换逻辑的判断顺序,确保 `CanChange` 状态正确重置
- 优化 `space/fixboos.go` 中 Boss 信息结构体的初始化方式,避免空值问题
- 重构 `space/in_out.go` 中天气变化逻辑,使用更合理的随机策略并调整时间单位
- 简化 `space/space.go` 中地图实例创建流程,移除不必要的原子操作和冗余字段
```
2025-12-10 11:59:32 +08:00
1
c2d37648b3 feat(space): 重构地图信息获取逻辑,添加天气系统和BOSS定时任务 2025-12-09 16:14:47 +00:00
1
69d9f9249b "``` refactor(fight): 移除玩家动作重复提交检查逻辑" 2025-12-09 15:22:50 +00:00
1
4f136eaf27 fix(gitignore): 忽略 .vscode 目录下所有文件 2025-12-09 15:02:04 +00:00
1
68c69c3232 fix(gitignore): 忽略 .vscode/settings.json 文件 2025-12-09 15:00:27 +00:00
88c24627ca ```
refactor(blazing): 移除多余的 copier 依赖并优化赋值逻辑

移除了未使用的 github.com/jinzhu/copier 依赖包,并将原先使用 copier.Copy 的地方直接改为结构体指针解引用赋值,提升代码可读性和执行效率。
```
2025-12-09 19:16:15 +08:00
a000d78625 fix(map): 修复玩家离开地图时 Canmon 状态重置问题
修复了在玩家调用 MapList 接口时错误地将 Canmon 设置为 0 的逻辑
问题导致玩家状态异常,现已修正为正确的行为

---

fix(fight): 修复战斗中宠物死亡判断逻辑

在 NewSeIdx_9 战斗脚本中增加对当前宠物血量是否为 0 的检查
避免在宠物已死亡的情况下继续执行后续战斗逻辑,防止异常行为

---

refactor(pet): 优化宠物技能效果添加逻辑

移除冗余的 Effect 查找过程,简化为通过 HaveAN 判断是否存在技能
2025-12-09 18:49:36 +08:00
904da1bede fix(logic/service/space): 更新周二时间BOSS规则
将周二的时间BOSS规则从注释状态激活,并调整其刷新时间为17:00、18:00和24:00,
持续时间改为5分钟。同时移除了原本错误标记为“周日”的规则配置。
2025-12-09 17:11:40 +08:00