Commit Graph

654 Commits

Author SHA1 Message Date
1
8e52b26251 fix(fight/boss): 修正NewSeIdx_12特殊技能伤害 2025-12-17 02:33:59 +00:00
59c4ff6b93 fix(fight): 实现无限PP值效果并修复Effect46伤害逻辑
- 在NewSeIdx_10中添加Turn_Start方法以实现每回合恢复PP值
- 修复Effect46中伤害计算与存活判断的顺序问题
- 调整部分代码结构,移除无用math包引用及注释内容
2025-12-17 01:44:54 +08:00
24d312ab90 ```
feat(player): 调整金币相关数据类型及计算逻辑

将金币相关的浮点数类型改为整型,避免精度问题。
- 修改 `BuyGoldItem` 中价格计算方式,使用 `float64` 转换以提高精度
- 更新玩家金币时传入 `int64` 类型,并统一单位为分
- 数据库字段 `goldbean` 类型由 `money` 改为 `bigint`
- 调整伤害区域逻辑,修复红色伤害类型处理流程
```
2025-12-17 00:05:03 +08:00
1
fdd3609de4 "fix(fight/boss): 修正65号技能伤害计算逻辑并添加红色伤害类型检查" 2025-12-16 12:52:44 +00:00
1
1d830ea808 "refactor(map): 优化地图怪物刷新逻辑并调整天气系统实现" 2025-12-16 08:35:22 +00:00
1
a3e8e4dd19 fix(fight): 恢复NPC死切动作处理逻辑并注释掉对手动作获取 2025-12-16 07:42:45 +00:00
1
a5502a76bb "refactor(melee): 修改BOSS颜色字段类型并优化JSON解析处理" 2025-12-16 07:06:53 +00:00
1
49b4c8cf2a refactor(item): 统一物品操作接口并优化金币处理逻辑 2025-12-16 06:54:27 +00:00
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
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
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
cedb02faf7 ``feat(item): 新增物品出售价格属性(SellPrice)并实现物品出售功能,优化宠物面板计算和时区判断逻辑`` 2025-12-12 19:10:09 +00:00
1
75bcbb89c5 ```fix(fight): 修复效果104状态触发逻辑,添加can标志控制首次触发 2025-12-12 13:49:50 +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
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
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
1ea4b756f6 ```
feat(service): 更新地图与战斗信息服务结构及逻辑

- 移除 MapLeave 中对 player.Canmon 的重复设置
- 在 MapList 中增加对 TimeBoss 状态的处理并
2025-12-09 16:52:53 +08:00
f6a305de77 ```
feat(fight): 添加 BOSS 战斗逻辑与地图交互功能

- 在 fight_boss.go 中增加对 BOSS 血量是否为 0 的判断,避免无效赋值
- 在 map.go 中移除旧的测试代码,并将 Canmon 状态设置移至 MapList 方法中
- 新增 Attack_Boss 接口方法用于处理玩家攻击 BOSS 请求
- 修改 MapBossInfo 结构体字段类型
2025-12-09 14:52:55 +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
75bdacbd11 fix(talk): 修改对话计数逻辑中的错误码返回值
将检查失败时的错误码返回值从 ErrResourceUnavailable 改为 0,
以确保在资源不可用时能正确处理返回结果。

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

在 CanGetExp 方法中新增时间上限判断逻辑,当今日游戏时间已达
2025-12-09 00:47:21 +08:00