Commit Graph

73 Commits

Author SHA1 Message Date
1
742bcd8a3f 增加地图广播限制速率 2025-11-09 06:50:12 +00: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
2b3c4b6ccd ```
refactor(nono): 优化非诺相关结构体字段命名与初始化方式

将 nono 包中多个结构体的字段初始化方式改为键值对形式,提升可读性。
同时统一字段命名风格,增强代码一致性。

feat(fight): 移除冗余战斗循环逻辑并调整部分依赖引用

删除 fightc.go 中的 battleLoop 方法及相关逻辑,简化战斗流程控制。
移除未使用的包引用,并调整结构体成员顺序以提高清晰度。

refactor(player): 修改数据库字段类型为 jsonb 提升灵活性

将 Player 结构体中的 Data 字段由 text 类型修改为 jsonb 类型,
便于后续进行更灵活的数据存储与查询操作。
```
2025-11-01 18:36:21 +08:00
06c30c6113 ```
feat(blazing): 更新依赖并修改金豆字段的 JSON 标签

新增 goja、sourcemap 和 pprof 相关依赖,用于支持新功能或性能分析。
同时将 player.go 中的 GoldBean 字段的 json 标签从 "nieo_gold_bean" 修改为 "gold_bean",
以统一命名规范。
```
2025-10-31 21:26:12 +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
c52c409ffc feat(player): 新增玩家累计经验查询接口
新增 PlayerExp 控制器方法,用于返回玩家的累计经验值。同时调整了经验池字段类型为 uint32 并修复相关使用逻辑。

feat(pet): 实现宠物经验增加与升级逻辑

在 Player 结构体中新增 AddPetExp 方法,支持宠物经验增长、自动升级及进化判断。升级后会重新计算面板属性并推送更新包。

feat(fight): 重构战斗伤害计算与效果系统

引入 DamageZone 和 EnumDamageType 类型,统一红伤处理流程;移除旧有的 Pet/Skill/Prop 属性获取临时修改机制,改为直接访问真实属性。更新多个技能效果实现以适配新结构。

refactor(effect): 优化技能效果初始化和生命周期方法

统一技能效果初始化方式,明确各阶段回调函数职责,如 PreActionStart、PreAttacked 等。删除已废弃的属性修改钩子函数,并更新状态类效果实现。

refactor(input): 移除 deepcopy 依赖并替换为 go-deepcopy

将原先使用的 mohae/deepcopy 替换为 barkimedes/go-deepcopy,用于战斗节点中的 effect 拷贝逻辑,提升性能和安全性。

refactor(model): 调整玩家信息字段类型

将 PlayerInfo 中的 GoldBean 字段由 int32 改为 uint32,ExpPool 字段由 int64 改为 uint32,确保数据类型一致性与合理性。

feat(nono): 增加 Nono 跟随/收回协议结构定义

新增 NonoFollowOrHomeInInfo 和 NonoFollowOutInfo 结构体,用于处理 Nono 宠物的跟随与收回操作指令。

chore(deps): 添加 go-deepcopy 依赖

在 go.mod 中引入 github.com/barkimedes/go-deepcopy 依赖库,用于替代原有的 deepcopy 工具。
2025-09-26 13:33:55 +08:00
07c08b767b feat(fight): 重构技能和受击触发逻辑,统一命名规范
- 将 `OnHit`、`AfterHit` 等方法重命名为 `AfterSkill` 和 `Attacked`,统一触发时机命名
- 调整 `BeforeSkill` 与 `PreSkill` 的职责,明确技能前处理逻辑
- 修改 `UseSkill` 为 `CanSkill`,增强语义清晰度
- 补充精灵切换时的触发方法 `OnSwitchOut` 与 `OnOwnerSwitchIn`
- 修复战斗中属性拷贝逻辑及状态持续回合计算的安全检查
- 增加捕获精灵后的日志输出,便于调试追踪
- 完善默认伤害效果节点的初始化逻辑
2025-09-25 13:07:56 +08:00
1
1245471129 refactor(fight/xmlres): 重构效果参数处理逻辑,新增JSON解析支持并优化战斗伤害计算 2025-09-23 17:34:58 +00:00
1
f943b12920 refactor(model): 重构Talk模型,将ResourceCollection重命名为Talk并新增TalkEX扩展结构 2025-09-23 15:22:41 +00:00
1
9a5b876b4b refactor(model): 重构Player模型,新增PlayerEX扩展结构并优化数据存储逻辑 2025-09-23 15:18:43 +00:00
1
c166f291fa refactor(task): 重构任务数据获取逻辑,统一使用TaskEX模型和回调函数处理任务数据 2025-09-23 15:09:39 +00: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
31b82f7698 refactor(user): 重构用户服务数据库操作,将reg服务重命名为info并新增talk挖矿服务 2025-09-22 17:22:08 +00:00
1
8b06b9a794 refactor(model): 扩展PlayerInfo中TaskList数组大小从500到600字节
待测试是否可用
2025-09-22 16:14:53 +00:00
1
afb31bd79b feat(pet): 重构宠物属性计算与技能学习逻辑,优化代码结构 2025-09-21 17:01:31 +00:00
1
bb9b0510ce refactor: 清理代码注释,移除Java相关注解和冗余描述 2025-09-21 08:07:17 +00:00
1
6577a13da4 feat(map): 重构刷怪逻辑,将怪物生成功能移至Player结构体并添加Canmon控制标志 2025-09-21 08:00:58 +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
5e01837f78 refactor(logic): 重构逻辑层代码
- 移除未使用的 SocketHandler_Tomee.go、ai.go、effect_1.go 文件
- 更新 player 包名引用,替换原 service 包
- 调整 TomeeHeader 和相关处理逻辑至 player 包
- 更新各控制器中的 Player 引用为 player 包中的类型
- 移除冗余的 GetPlayer 方法,使用新逻辑
2025-09-14 01:35:16 +08:00
53df18c1e1 feat(item): 添加物品相关功能并优化任务和宠物逻辑
- 新增物品检查和添加功能
- 优化任务重置和完成逻辑
- 改进宠物信息获取和展示
- 调整玩家登录和保存机制
2025-09-11 01:07:00 +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
621a9d3858 refactor(socket): 重构 socket 模块
- 移除 common/data/socket 目录下的大部分文件
- 新增 service 目录,将 Player 和 Conn 结构体移至该目录
- 更新 LogicClient 中的方法签名,使用 service 包的类型
- 重构 Controller 中的方法,适应新的 service 包结构
2025-09-04 02:00:57 +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
334d0e136c refactor(task): 重构任务系统数据结构和处理逻辑 2025-08-31 08:42:53 +00:00
1
5d313d31af 修改计算公式 2025-08-31 07:05:18 +00:00
1
ab7df82bae 修改部分代码 2025-08-31 06:53:42 +00:00