Commit Graph

52 Commits

Author SHA1 Message Date
40d72790ff feat(xmlres): 实装性格重塑,实装性格指定
fix(fight): 使用模型层方法生成精灵信息
refactor(controller): 移除冗余变量与内联XML读取逻辑
refactor(pet): 重构经验更新与进化逻辑
refactor(item): 校验并扣减使用道具数量
feat(item): 新增金豆购买商品协议结构体
feat(user): 迁移角色服装变更逻辑至user控制器
feat(pet): 增加技能排序协议定义
refactor(utils): 移除未使用的工具函数引用
chore(config): 更新地图怪物配置信息

详细变更内容包括:
- 在`xmlres/file.go`中初始化`GoldProductMap`并加载相关配置。
- 将`GenPetInfo`方法从玩家服务迁移至`model`包以统一管理。
- 合并部分不必要的局部变量声明,并优化XML资源加载方式。
- 拆分精灵升级与进化方法,明确调用职责。
- 在战斗和治疗等操作前增加货币校验及扣除逻辑。
- 补充金豆购买相关的客户端/服务端通信结构体。
- 调整技能选择逻辑避免潜在索引越界问题。
- 更新部分注释说明和代码结构以提升可维护性。
2025-11-25 12:29:50 +08:00
28e0addda0 ```
feat(pet): 添加学习力分配功能并优化相关逻辑

- 新增 PetEVdiy 接口用于自定义宠物学习力分配
- 限制单次学习力分配不超过510,单项不超过255
- 学习力池 EVPool 字段添加到 PlayerInfo 结构体
- 使用 github.com/samber/lo 简化数组求和操作
- 更新 fight_boss 逻辑以正确处理 BOSS 战斗后经验与学习力奖励发放
- 调整任务列表中部分
2025-11-25 00:55:10 +08:00
1
240c349b8a fix: 修复空提交问题 2025-11-23 23:38:03 +00:00
1
aa4574b5eb fix: 修复空提交问题 2025-11-23 09:59:34 +00:00
5c5e5c06ab ```
feat(fight): 优化Boss战奖励发放与经验通知逻辑

- 重构 Boss 怪物掉落物品发放代码,提高可读性与扩展性
- 注释掉宠物经验变化的通知指令(2509),暂不发送给客户端
- 修复战斗模式判断条件,从 Mode 改为 Status 判断 PVE 战斗
- 调整战斗超时逻辑,修改超时原因并增加调试日志输出
- 优化战斗结束回调执行顺序,确保广播前完成状态更新
- 重写 PetInfo.AddEV 方法,支持更安全
2025-11-23 00:06:14 +08:00
1dbd4169e9 feat(xmlres): 更新 BOSS 配置结构并优化字段注释
新增多个 BOSS 相关配置字段,包括任务关联、奖励机制与挑战限制等,
增强 BOSS 精灵的可配置性与业务表达能力。同时完善字段注释以对齐 XML
实际使用情况,并保留原有部分字段用于兼容历史配置。

fix(fight): 调整战斗胜利回调执行顺序以确保数据一致性

将战斗结束回调移至广播之前执行,保证在发送战斗结果前已完成所有状态
更新,尤其是针对胜利宠物的信息同步
2025-11-22 22:57:32 +08:00
53d6db7e17 fix(fight): 修复战斗中属性变化与暴击判定逻辑
- 调整能力提升计算时机,确保命中后再恢复原始属性
- 暴击判断前置,仅在命中时计算暴击翻倍及破防逻辑
- 优化回合结束效果清除逻辑,增加状态存活判断

refactor(controller): 重构擂台相关接口返回结构体类型

- 将 ARENA_SET_OWENR、ARENA_FIGHT_OWENR 等函数的返回值统一改为
  NullOutboundInfo,并移除冗余字段返回
- 广播逻辑调整,统一使用 Broadcast
2025-11-20 05:57:29 +08:00
f281b949ba ```
feat(fight): 调整战斗逻辑与精灵切换机制

- 优化精灵切换时的效果处理,增加切换事件支持
- 修复战斗中超时逻辑和技能CD计算问题
- 增强状态效果在精灵上下场时的清理机制
- 修改伤害计算逻辑以提高准确性
- 更新战斗池初始化参数提升并发性能

此外,同步更新了宠物放生字段命名及逻辑处理方式,并调整网络通信中的限流策略。
```
2025-11-13 02:43:00 +08:00
28bef2cf98 feat(fight): 调整精灵切换逻辑与属性计算流程
移除 OnOwnerSwitchIn 和 OnOwnerSwitchOut 接口定义及调用逻辑,
简化精灵切换时的效果触发机制。

调整 PetInfo 属性计算方法中 Hp 与 MaxHp 的赋值顺序,
确保初始化时 Hp 值正确设置。
2025-11-08 01:07:37 +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
1
94e28e2601 ``` fix(model): 限制宠物技能列表长度为4 2025-10-30 02:55:15 +00:00
5542718a2b feat(fight): 优化睡眠状态效果逻辑,确保对方攻击后解除睡眠
睡眠状态现在会正确挂载到对手身上,以实现在对方攻击后自动解除睡眠效果。

fix(fight): 修复技能PP减少逻辑,确保使用技能时正确扣减PP

在技能执行过程中,通过查找当前宠物的技能列表来正确地减少对应技能的PP值,避免了错误的PP扣减。

fix(fight): 修复回合开始时技能列表初始化问题

修正了战斗中角色和对手的技能列表初始化逻辑,确保双方技能数据正确加载。

feat(pet): 限制宠物技能数量为4个并修复技能学习逻辑

更新宠物技能学习逻辑,确保只保留最后四个技能,并在学习新技能时正确添加至技能列表。

fix(p
2025-10-27 01:11:31 +08:00
e75ecd413d feat(fight): 重构战斗系统技能逻辑与精灵切换功能
- 优化技能执行流程,统一使用 SelectSkillAction 作为技能载体
- 移除冗余的技能 ID 字段,简化数据结构
- 调整命中判断和技能效果触发机制,提升准确性
- 修改精灵切换与捕获相关方法参数格式
- 更新技能列表结构为动态数组以支持灵活长度
- 完善睡眠等异常状态的处理逻辑
- 修复战斗中技能 PP 扣减及副本还原问题
- 清理无用代码,如多余的 FindWithIndex 函数定义
- 强化验证码缓存键命名规则,增强安全性
2025-10-26 20:56:03 +08:00
ade9003a11 ```
feat(blazing): 宠物更新逻辑支持可选升级参数

修改 PetInfo 的 Update 方法,增加可变参数 t 用于控制是否执行升级逻辑。
当调用 Update(true) 时跳过进化检查,仅更新经验与面板属性。
默认情况下仍会进行进化判断与处理。

修复 GenPetInfo 中宠物初始生成时不应触发进化的逻辑问题。
```
2025-10-24 23:33:28 +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
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
1
6090580560 ``fix(pet): 修复宠物添加时捕捉时间冲突问题,添加唯一键约束和自增重试逻辑`` 2025-10-17 19:23:38 +00:00
5e53b9caaa ```
feat(pet): 宠物治疗逻辑重构并新增治愈方法

将原有的宠物治疗逻辑提取为 PetInfo.Cure() 方法,统一处理血量和技能PP恢复。
同时优化经验分配逻辑,确保升级后正确扣除经验池并处理满级情况。

```
2025-10-13 19:46:19 +08:00
79213c67d6 ```
fix(socket): 修复TCP连接处理中逻辑取反错误

修复了`handleTcp`函数中对`s.discorse`的判断条件错误,导致CORS配置未正确应用的问题。

feat(player): 增加地图切换标记支持

在`Player`结构体中新增`Changemap`字段,用于标识玩家是否切换过地图,并在相关业务逻辑中进行设置和判断。

feat(pet): 重构精灵生成与经验处理逻辑

将`GenPetInfo`方法从model包迁移至player包,增加个体值、性格、特性等随机生成逻辑,优化技能学习处理方式。

refactor(service): 优化定时任务与连接管理

使用`cool.Cron`替代原生ticker实现刷怪定时任务,优化连接获取方式,确保并发安全。

refactor(model): 移除冗余代码并优化结构

从`pet.go`中移除已迁移至`player`包的函数定义,精简模型结构,提升模块清晰度。

refactor(config): 更新部门及字典名称配置

将`base_sys_department.json`和
2025-10-13 18:51:41 +08:00
07c08b767b feat(fight): 重构技能和受击触发逻辑,统一命名规范
- 将 `OnHit`、`AfterHit` 等方法重命名为 `AfterSkill` 和 `Attacked`,统一触发时机命名
- 调整 `BeforeSkill` 与 `PreSkill` 的职责,明确技能前处理逻辑
- 修改 `UseSkill` 为 `CanSkill`,增强语义清晰度
- 补充精灵切换时的触发方法 `OnSwitchOut` 与 `OnOwnerSwitchIn`
- 修复战斗中属性拷贝逻辑及状态持续回合计算的安全检查
- 增加捕获精灵后的日志输出,便于调试追踪
- 完善默认伤害效果节点的初始化逻辑
2025-09-25 13:07:56 +08:00
1
86b1e75588 Merge branch 'main' of https://github.com/72wo/blazing 2025-09-23 15:08:12 +00:00
1
9c5cfa151a refactor(service): 重构物品、宠物和任务服务,统一使用EX模型和回调函数处理数据操作 2025-09-23 15:01:52 +00:00
ea1148039e ```
refactor(login): 重构登录重置逻辑,使用 defer 替代 goroutine

将每日任务重置逻辑从 goroutine 改为 defer 执行,确保在函数结束时正确重置任务状态。
同时将 TaskInfo 中的 Info 字段重命名为 Data,保持结构一致性。

refactor(task): 统一任务数据字段名为 Data

将 task 相关结构体中的 Info 字段统一
2025-09-23 13:24:40 +08:00
1
afb31bd79b feat(pet): 重构宠物属性计算与技能学习逻辑,优化代码结构 2025-09-21 17:01:31 +00:00
1
f19c901f42 feat(pet): 重构个体值计算逻辑,新增捕捉系统实现 2025-09-20 14:03:58 +00:00
6f8e09b716 修改个体期望 2025-09-20 13:46:43 +08:00
892f9207df feat(pet): 优化精灵生成逻辑,支持随机个体与特性配置
- 修改 `GenPetInfo` 函数参数类型,从数组改为单个整数,简化调用方式
- 支持传入 -1 表示随机生成个体值、性格等属性
- 统一战斗野怪和任务精灵的生成逻辑,确保一致性
- 添加注释说明参数含义,提升代码可读性
- 修复野怪无特性时的处理逻辑,避免空数组引发问题
2025-09-20 13:12:45 +08:00
1
981da549c7 feat(fight): 新增玩家特效配置并优化精灵特效生成逻辑 2025-09-19 06:25:09 +00:00
a2eb88e9d3 修改战斗系统 2025-09-19 00:29:55 +08:00
29ac99c860 refactor(fight): 重构战斗系统属性计算逻辑
- 移除 BattlePetEntity 中的冗余方法
- 优化属性计算逻辑,使用统一的 CalculateRealValue 方法
- 调整 SkillEntity 中的攻击命中计算
- 重构 AttackValue 结构,使用数组替代字典
- 优化 Input 结构,添加 GetProp 和 GetStatusEffect 方法
- 更新 PetInfo 结构,使用数组存储属性值
2025-09-17 00:38:15 +08:00
72e6b8c706 refactor(fight): 重构战斗系统效果处理逻辑
- 移除 Effect0 基类效果
- 调整 Input 结构,删除未使用的属性
- 优化 Effect 接口,增加 GetMaxStack 方法
- 重构效果初始化逻辑,支持不同类型效果的初始化
- 优化效果的添加和移除操作
- 调整宠物效果信息结构,合并参数
2025-09-16 22:51:22 +08:00
8bf0ea37fd refactor(fight): 优化效果执行逻辑和精灵特性信息结构
- 优化 Input 结构中的 AddEffect 和 Exec 方法,提高效果执行效率
- 重构 PetEffectInfo 结构,增加特效相关字段并调整命名
- 更新 PlayerInfo 结构中相关字段的描述和默认值
2025-09-15 23:18:09 +08:00
8cee54ad8f refactor(fight): 重构效果相关逻辑
- 修改 Effect 接口,增加 NotALive 方法
- 更新 EffectNode 结构,添加 NotALive 字段和 NotALive 方法
- 调整 Input 结构,使用 NotALive 方法处理效果消失逻辑
- 重构 PetEffectInfo 结构,修改
2025-09-15 22:45:04 +08:00
9d2de92dd6 feat(fight): 实现精灵切换功能并优化战斗逻辑
- 新增 ChangePet 方法实现精灵切换
- 优化战斗循环逻辑,支持精灵切换
- 修复一些战斗相关的 bug
- 优化代码结构,提高可维护性
2025-09-07 00:23:28 +08:00
a86b69dd1e refactor(model): 重构 GenPetInfo 函数参数处理逻辑
- 将 GenPetInfo 函数的参数从单个值改为切片,以支持更灵活的配置
- 新增 RandomInRange 函数,用于从切片表示的范围内随机选择值
- 更新了 fight 控制器和 task 控制器中调用 GenPetInfo 函数的代码
- 此重构提高了代码的可读性和可维护性,同时保留了原有的功能
2025-09-05 00:26:42 +08:00
51407864b7 refactor(fight): 重构战斗模块数据结构和逻辑
- 更新 FightPetInfo 和 AttackValue 结构体,优化精灵属性和状态表示
- 删除未使用的 start_test.go 文件
- 调整 FightC 结构体,整合战斗准备和状态管理
- 统一 SkillInfo 中 PP 字段命名
2025-09-04 19:37:28 +08:00
39893e4df9 refactor(fight): 重构战斗模块
- 移除未使用的结构体和接口
- 优化战斗准备和邀请逻辑
- 调整玩家和怪物信息的处理方式
- 更新战斗相关的数据结构
- 重构战斗模式和邀请相关代码
2025-09-02 00:45:29 +08:00
4b5c6ce129 refactor(logic): 重构战斗相关逻辑和数据结构
- 优化了 FightPetInfo 和 AttackValue 结构体,使用更合理的数据类型
- 重新定义了战斗流程中的各种消息结构体
- 改进了宠物信息生成和计算逻辑
- 重构了宠物相关服务和控制器方法
- 优化了数据库操作,提高了代码的可读性和维护性
2025-09-01 01:03:46 +08:00
1
5d313d31af 修改计算公式 2025-08-31 07:05:18 +00:00
1
ab7df82bae 修改部分代码 2025-08-31 06:53:42 +00:00
3668f3c5b9 feat(pet): 新增宠物功能和相关数据结构
- 新增宠物配置和自然属性配置的 XML 解析
- 实现宠物信息生成和属性计算逻辑
- 添加宠物数据库模型和相关服务
- 更新登录和任务完成逻辑,支持宠物相关操作
2025-08-31 00:27:07 +08:00
75e428f62e refactor(blazing): 重构任务系统并优化相关功能
- 重构了任务系统的数据结构和执行逻辑
- 优化了地图加载和怪物刷新机制
- 改进了宠物系统的基础架构
- 调整了玩家信息和背包的处理方式
- 统一了数据访问层的接口和实现
2025-08-30 21:59:52 +08:00
1
5ba6f1b8ef refactor(docs): 清理代码注释中的冗余Java对应说明 2025-08-26 23:22:10 +00:00
081f990110 refactor(assets): 重构资产同步流程并添加宠物相关功能
- 移除了资产同步到私有 B 仓库的工作流
- 在玩家结构中添加了 IsFighting 字段
- 新增了宠物信息相关功能和数据结构
- 优化了地图进入和怪物刷新逻辑
- 调整了玩家登录和地图数据发送流程
- 重构了部分代码以提高可维护性和性能
2025-08-24 17:33:19 +08:00
1
d34ec2eed1 refactor(model): 重构玩家数据模型并新增宠物、道具和元神珠模块 2025-08-16 01:40:31 +00:00
1
99318f6674 refactor(controller): 重构服务模块命名,统一使用小写包名并优化模型结构 2025-07-26 02:06:08 +00:00
82075b0884 refactor(logic): 重构逻辑层代码
- 更新导入路径和结构体命名
- 调整函数签名和返回类型
- 移除未使用的代码文件
- 统一错误处理方式
2025-07-26 00:48:57 +08:00
2f3ca21165 feat(login): 重构 login 服务启动方式
- 修改 login 服务端口配置,支持动态分配
- 优化 login 服务启动流程,增加信号处理
- 调整 ServerOption 类型,支持 int 类型端口
- 移除 CommendSvrInfo 相关代码,简化结构
- 更新 main 函数,采用新的服务启动方式
2025-07-06 01:49:19 +08:00