Commit Graph

669 Commits

Author SHA1 Message Date
1
38f51a5111 "fix(logic): 增加道具购买价格校验,防止封包领取道具漏洞" 2025-12-21 18:17:25 +00:00
1
edee754a22 feat(model): 新增金豆消费、CDK配置、炫彩皮肤及双塔模型,优化物品奖励和BOSS配置 2025-12-21 18:13:54 +00:00
1
5965c8319a feat(data): 重构颜色矩阵处理逻辑,将GlowFilter和相关功能迁移到common/data包 2025-12-21 17:18:33 +00:00
90fdb49b92 ```
feat(logic): 新增减少最大生命值效果并优化属性同步逻辑

新增了减少最大生命值的效果实现(opTypeMaxHP),并在 EffectPropSyncReverse
结构体中增加了对目标宠物属性的处理逻辑。同时重构了属性同步与反转相关代码,
改进了效果激活
2025-12-19 21:12:45 +08:00
eb47c3e1b9 fix(logic): 修改稀有宠物抓捕概率范围
将随机数生成范围从 0-9 调整为 1-12,提高稀有宠物的抓捕成功率
2025-12-19 19:33:29 +08:00
96b5dbb425 feat(fight): 重构属性同步与反转效果逻辑
统一处理效果45、51、55、56的属性同步与反转逻辑,优化代码结构并提高可维护性。新增通用效果结构体 `EffectPropSyncReverse` 和操作类型定义,集中管理不同属性操作行为。

fix(controller): 修复玩家离开地图逻辑错误

修正 `FRESH_LEAVE_FIGHT_LEVEL` 接口中 defer 调用为进入地图,并发送角色信息包给客户端以确保状态一致。

feat(effect): 新增天敌机制核心逻辑占位

在 `NewSel14` 效果中添加 `Turn_Start` 方法,实现若遇到天敌则害怕多回合的核心逻辑框架。

chore(config): 更新Boss配置怪物ID及血量

调整Boss ID为2的怪物配置,替换原有Monster ID并设置血量为10,用于测试或平衡调整。

refactor(fight): 优化战斗循环和精灵切换逻辑

整理战斗主循环中的血量赋值语句格式,调整精灵切换时变量顺序以避免潜在问题,并修复死亡标记逻辑。

refactor(node): 恢复BoolisFalse方法实现

取消注释 `BoolisFalse` 方法内容,恢复其正常功能以便其他模块正确判断布尔条件。

style(logic): 格式化代码空行和缩进

清理多余空行,对齐导入语句与其他代码块格式,增强整体代码可读性。

debug(effect): 增加烧伤伤害调试打印

在持续伤害效果中加入println语句,输出实际造成的真实伤害数值便于排查问题。
2025-12-18 23:57:17 +08:00
1
fb835a017f 1 2025-12-18 13:10:40 +00:00
1
002c855e47 feat(fight): 新增试炼之塔和勇者之塔地图切换功能,优化战斗效果处理逻辑 2025-12-18 10:57:59 +00:00
1
def1808590 "fix(fight): 优化效果恢复逻辑,增加持续时间检查并修复回合结束效果递减" 2025-12-18 07:19:38 +00:00
1
1f9a4960ce "fix(fight/boss): 简化NewSeIdx_12特殊技能伤害判定逻辑,移除概率检查" 2025-12-18 05:12:53 +00:00
1
4a7add91f6 refactor(fight): 将Effect_Lost重命名为EffectCache以优化效果缓存逻辑 2025-12-18 04:40:58 +00:00
1
f1af9894cd "refactor(fight): 重构战斗效果处理逻辑,将效果恢复和反应操作封装到Input结构体" 2025-12-18 03:54:45 +00:00
ae616ac848 feat(boss): 实现 boss 特殊技能逻辑增强
- 新增 NewSeIdx_12 技能:受到特殊攻击时提升指定 battle_lv 等级,可配置最大触发次数
- 新增 NewSeIdx_16 技能:根据 HP 减少量动态提升指定 battle_lv 等级,每损失 1/8 最大 HP 提升一级
- 新增 NewSeIdx_26 技能:预留 Turn_Start 接口以支持回合开始时的逻辑处理
- 在 EffectNode 中增加命中日志输出,便于调试效果触发情况
2025-12-18 00:32:47 +08: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
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