Commit Graph

535 Commits

Author SHA1 Message Date
96a40b559b ```
docs(readme): 更新pprof配置文件中的IP地址

将README.md中pprof配置的IP地址从本地地址更新为实际可访问的服务器地址,
确保开发者能够正确访问性能分析数据。
```
2025-10-27 20:18:23 +08:00
f977a59736 修改 2025-10-27 20:14:24 +08:00
248a326bb5 ```
fix(BattlePetEntity): 移除调试打印语句

移除了战斗宠物实体创建过程中用于调试的 fmt.Printf 语句,
这些语句在生产环境中没有必要且会影响性能。
```
2025-10-27 01:23:42 +08: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
2678cd9685 fix(session): 调整会话保存时长为1小时
将会话保存时长从24小时调整为1小时,以提高会话安全性。

feat(socket): 添加强制踢出功能

在QuitSelf方法中增加强制踢出参数,当参数不为0时强制踢出所有玩家。
2025-10-26 15:12:29 +08:00
03aea8ae6c ```
feat(player): 实现玩家主动退出并优化踢出逻辑

将原有的踢出玩家逻辑提取到 Player 结构体的 Kick 方法中,统一处理登录状态判断、
发送错误码、关闭连接等操作。同时在 QuitSelf 方法中调用该逻辑,确保所有玩家被正确踢出。
移除了 server.go 中重复的踢出实现,并调整了相关包导入路径。
```
2025-10-26 14:56:29 +08:00
4306e2db53 ```
feat(item): 实现批量购买物品功能并优化物品添加逻辑

新增 BuyMItem 方法支持批量购买多个物品,并在 Controller 中完善错误处理流程。
修改 ItemAdd 方法以返回添加结果,增强对物品数量限制和异常情况的控制。
调整任务完成时的物品发放逻辑,确保只有成功添加的物品才会被返回给客户端。
修复新手任务中初级体力药剂的数量从 3 改为 5。
将 defer 调用提前执行以避免潜在的数据不一致问题。
```
2025-10-25 15:06:05 +08:00
ade9003a11 ```
feat(blazing): 宠物更新逻辑支持可选升级参数

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

修复 GenPetInfo 中宠物初始生成时不应触发进化的逻辑问题。
```
2025-10-24 23:33:28 +08:00
db3a21dd91 feat(login): 引入基于 IP 的限流中间件
新增 github.com/xiaoqidun/limit 依赖,替换原有的全局速率限制器,
实现针对客户端 IP 的细粒度限流控制。在服务启动时初始化限流器,
并在程序退出前确保后台任务正确停止。同时更新 go.work 和 login/go.sum
文件以包含新的依赖项。此外,在 logic/main.go 中添加了主玩家数据
保存逻辑以确保服务关闭时数据持久化。
2025-10-24 23:14:36 +08:00
1
749b380d82 feat(login): 添加请求速率限制中间件并启用pprof锁和阻塞跟踪 2025-10-24 06:04:28 +00: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
1
f9dc10e954 fix(task): 修正删除任务返回逻辑,未完成任务时返回空结构体 2025-10-23 06:11:27 +00:00
1
9b6f18010d fix(task): 完善删除任务逻辑,添加任务状态检查并返回任务ID 2025-10-23 06:10:59 +00:00
1
0ccde910e5 fix(controller): 移除重复的昵称空字符过滤,仅在控制器层处理 2025-10-23 06:06:28 +00:00
1
3df38d5626 fix(task): 将新手任务和超NO奖励从任务完成移至注册时初始化 2025-10-23 06:04:05 +00:00
1
8db95adefe 修复 2025-10-23 06:00:33 +00:00
1
be9649664c 送超NO 2025-10-23 06:00:18 +00:00
1
ab5907de15 fix(task): 移除新手任务奖励中的分子转化仪 2025-10-23 06:00:05 +00:00
1
5100b9e9a6 fix(login): 移除登录时的新手任务硬编码,改由任务完成时设置 2025-10-23 05:56:08 +00:00
1
48f2e1457d fix(login): 将挖矿任务处理改为异步执行 2025-10-23 05:55:05 +00:00
1
66b2f4d748 fix(fight): 移除技能准确率计算中的基础参数校验,保留强化等级处理 2025-10-23 04:26:40 +00:00
1
4011305865 fix(fight): 修正技能准确率计算条件,移除强化等级限制 2025-10-23 04:26:01 +00:00
1
a71d7ee9ad fix(item): 添加购买物品时的金币检查并调整对话奖励逻辑 2025-10-23 04:20:10 +00:00
9739598df2 ```
feat(xml): 更新任务配置结构以支持新能量节点解析

将原先的 TalkCount 和 TalkEntry 结构替换为 TalkRoot 和 Energy,
以适配新的 XML 配置格式。同时更新了相关引用代码以确保类型一致性。

refactor(item): 优化物品添加方法支持可变参数传入

调整 ItemAdd 方法签名,从接收数组改为接收可变参数,
提升调用灵活性,并同步修改控制器中对物品添加逻辑的处理方式。

feat(login): 修复每日重置逻辑并引入 gtime 时间管理

修正登录时每日任务重置区间错误(400~100 改为 400~500),
并改用 gtime.Now().Time 提供更准确的时间戳记录与比较,
同时增强挖矿次数等
2025-10-23 01:02:19 +08:00
83fb06a229 feat(utils): 重构 OrderedMap 为 OrderMap,支持排序和非阻塞遍历
- 将原有的 `OrderedMap` 替换为 `OrderMap`,基于 `map` 和 `slice` 实现,提升性能并简化逻辑
- 支持自定义 key 排序规则,若未提供则按插入顺序维护
- 提供 `Set`、`Get`、`Delete`、`Keys`、`Values` 等基本操作,均并发安全
- 引入非阻塞遍历机制(`Iter`、`Iter
2025-10-22 21:30:05 +08:00
ae88790ed3 修改range,支持技能效果
Updated comments for clarity and consistency in the OrderedMap implementation, enhancing the understanding of the data structure and its methods.
2025-10-22 00:57:25 +08:00
20f9af7dca fix(logic/service/fight): 修复战斗效果添加逻辑并优化调试信息输出
- 在 effect_10-16_94_99_114.go 中正确设置 Effect 字段的自我引用
- 修复 OnHit 方法中效果添加的逻辑问题
- 在 node.go 的 AddEffect 方法中增加调试信息,输出效果 ID 和持续回合数
- 优化调试日志格式,便于追踪效果的持续时间变化
2025-10-22 00:41:58 +08:00
3a43e78aab 战斗修改 2025-10-22 00:25:38 +08:00
3270ed8c67 ```
feat(nono): 添加玩家宠物治疗功能

新增 PlayerPetCure 控制器方法和对应的入参、出参结构体,
用于处理宠物治疗逻辑。同时为 SwitchFlyingInboundInfo 结构体
补充了缺失的注释说明。
```
2025-10-21 23:00:00 +08:00
a69e9882d9 feat(fight): 调整战斗逻辑与初始化流程
- 移除 initplayer 中重复的 InitAttackValue 调用
- 启用 battleLoop 的超时时间为 60 秒
- 优化切换宠物时的出手顺序逻辑
- 修复 processSkillAttack 中缺少的 else 分支
- 在 enterturn 中重新初始化双方攻击值
- 清理无用的日志打印和冗余代码
- 修复 SendPack 中连接判断逻辑,确保类型安全
2025-10-21 22:14:30 +08:00
ee119a0f0f fix(fight): 修复对战中行动处理逻辑
优化了战斗循环中不同行动类型的处理流程,确保在非技能行动时能正确回退到空技能,
避免因类型断言失败导致的 panic。同时完善了注释与代码可读性。

fix(player): 增加发送数据包前连接有效性检查

在玩家发送数据包之前增加 MainConn 是否为 nil 的判断,防止因连接未建立或已断开
造成的空指针异常
2025-10-21 00:41:59 +08:00
b90bceafd9 ```
feat(xmlres): 添加任务数据加载与初始化逻辑

在 xmlres 包中新增 TaskMap 用于存储任务数据,并在 initfile 函数中
加载 task.xml 文件内容。同时调整 login 控制器中的任务重置逻辑,根据
任务类型每日重置任务状态。修复 pet 控制器释放宠物时的数据更新问题。
战斗系统中增加 Effect 的 OnMiss 回调处理,并修正状态效果映射关系。
修复 PVP 邀
2025-10-20 23:59:49 +08:00
f53028d1fc ```
feat(chat): 删除无用的包声明

移除了 chat.go 文件中多余的 package controller 声明,该文件目前不包含任何逻辑实现。

feat(user): 新增瞄准功能接口及数据结构

在用户控制器中增加了 Aimat 方法,用于处理玩家的瞄准操作,并广播给同地图其他玩家。
同时在 user 包中添加了与瞄准相关的入参和出参结构体定义,包括 ItemId、ShootType 和 Point 等字段。
```
2025-10-20 01:39:07 +08:00
d673ee4776 feat(login): 初始化玩家登录信息中的 Nonono 2025-10-20 00:23:16 +08:00
e12155f86f fix(base): 修复日志清理SQL语句中字段名引用问题
将 createTime 字段名用双引号包裹,确保在不同数据库环境下都能正确执行删除操作。
2025-10-19 03:17:03 +08:00
7946ed190f fix(socket): 修复TCP数据处理和编解码逻辑
移除调试日志注释,修正socket编解码器中的数据丢弃逻辑。
更新TomeeSocketCodec.Decode方法,确保正确处理数据包长度并丢弃已读取的数据。
2025-10-19 02:08:27 +08:00
7de149d946 ```
refactor(socket): 优化TCP数据包处理逻辑并增加调试日志

- 修复 handleTcp 中条件判断的空格格式问题
- 在解码失败时增加详细 Debug 日志输出
- 完善不完整数据包时手动唤醒连接的处理流程

refactor(pet): 重构宠物经验系统与升级逻辑

- 将经验计算函数移至 model 层统一管理
- 优化 AddPetExp 方法逻辑,避免直接修改原字段
- 升级过程中正确扣减经验池并防止溢出
- 抽离 Update 方法用于处理宠物进化和经验更新

refactor(model): 调整 PlayerInfo 结构体引用方式及相关初始化逻辑

- 修改 PlayerEX 中 Data 字段为值类型而非指针
- 更新 NewPlayerInfo 返回值为值类型
- 修正 defaults.Set 调用传参以适配结构体值类型

refactor(service): 统一 UserService 数据传递方式

- 修复 Person 方法返回值为指针类型
- 修复 Save 方法中赋值操作使用解引用方式
```
2025-10-19 01:43:40 +08:00
2ca0898b15 ```
refactor(socket): 优化TCP数据包处理逻辑并增加调试日志

- 修复 handleTcp 中条件判断的空格格式问题
- 在解码失败时增加详细 Debug 日志输出
- 完善不完整数据包时手动唤醒连接的处理流程

refactor(pet): 重构宠物经验系统与升级逻辑

- 将经验计算函数移至 model 层统一管理
- 优化 AddPetExp 方法逻辑,避免直接修改原字段
- 升级过程中正确扣减经验池并防止溢出
- 抽离 Update 方法用于处理宠物进化和经验更新

refactor(model): 调整 PlayerInfo 结构体引用方式及相关初始化逻辑

- 修改
2025-10-18 23:58:19 +08:00
24bbf6f50f Merge branch 'main' of github.com:72wo/blazing 2025-10-18 10:12:54 +08:00
11738b84fc ```
fix(socket): 修复TCP连接处理逻辑与数据包解析问题

- 在 `ServerEvent.go` 中,移除无效的错误连接计数逻辑,明确标识 TCP 连接并直接调用 `handleTcp`
- 优化 `handleTcp` 方法中对数据解析的处理,避免空数据提交到工作池
- 在 `SocketCodec_Tomee.go` 中将 `maxBodyLen` 常量提升为包级常量,便于复用和管理
- 重构 `Decode` 方法的数据读取逻辑,确保包体正确解析并丢弃已处理数据
- 移除冗余代码和注释,提高可读性和健壮性
```
2025-10-18 10:12:44 +08:00
1
be32e4dba7 ``refactor(pet): 重构宠物经验添加逻辑,简化升级流程并修复经验池计算`` 2025-10-17 23:09:26 +00:00
1
3597f22667 ``refactor(pet): 优化宠物经验计算逻辑,使用NextLvExp替代临时计算`` 2025-10-17 21:40:51 +00:00
1
31c7687036 ``refactor(pet): 提取宠物基础属性计算逻辑到GetBasic方法,优化经验计算流程`` 2025-10-17 21:38:24 +00:00
1
6e7dc9ebca ``refactor(service): 统一数据库模型访问方式,使用s.Model替代cool.DBM`` 2025-10-17 21:04:19 +00:00
1
eb3d5f05a1 ``feat(chat): 新增聊天模块基础结构,定义ChatInboundInfo消息结构体`` 2025-10-17 20:33:02 +00:00
1
7f0cde461d ``refactor(cool): 移除Service中冗余的Models字段,仅保留Model接口`` 2025-10-17 19:41:02 +00:00
1
696e6225e5 ``refactor(pet): 重构宠物服务结构,将PetService独立封装并继承cool.Service`` 2025-10-17 19:40:27 +00:00
1
7f18af2507 修改 2025-10-17 19:24:13 +00:00
1
6090580560 ``fix(pet): 修复宠物添加时捕捉时间冲突问题,添加唯一键约束和自增重试逻辑`` 2025-10-17 19:23:38 +00:00