|
|
da9286d3d8
|
```
feat(fight): 调整技能效果命中逻辑与回合开始处理
- 修改了技能效果命中的判定顺序,确保暴击计算在效果添加之前执行
- 修复了回合开始时敌我双方状态结算的上下文错误
- 优化了效果缓存初始化逻辑,避免重复添加相同效果
- 增加了效果去重判断,防止完全相同的效果被重复添加
- 调整了战斗循环中结束逻辑的位置,确保广播和通道关闭正确执行
- 更新了部分日志提示信息,使其更符合实际业务含义
- 移除了部分无用代码和注释,提高
|
2025-11-11 01:10:26 +08:00 |
|
|
|
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 |
|
|
|
3bbdbf0af3
|
```
feat(common): 添加IP私有地址和环回地址判断函数
在 qqwry.go 中新增 isPrivateIP 和 isLoopbackIP 函数,用于判断 IPv4/IPv6
是否为私有地址或环回地址,并在查询 IP 时优先返回局域网和私有地址标识。
fix(base): 修正系统日志查询字段
将 base_sys_log.go 中的查询字段从 "user".name 更正为 "user".username,
确保关联查询正确显示用户名。
```
|
2025-11-06 12:26:23 +08:00 |
|
|
|
699db8406b
|
```
feat(base): 添加邮箱注册码功能及用户注册接口
- 在 `sessionManager` 中新增邮件注册码缓存管理实例和相关方法
- 实现生成、保存、验证、删除邮件注册码的逻辑
- 新增 `/reg` 和 `/email` 接口用于用户注册和发送验证码
- 引入 `golang-lru` 依赖以支持限流缓存功能
- 调整包导入顺序,优化代码结构
```
|
2025-11-04 11:44:07 +08:00 |
|
|
|
4da683d5ea
|
feat(base): 添加邮件验证码发送功能并注释机器人测试代码
|
2025-11-04 02:46:28 +00:00 |
|
|
|
3735309f1b
|
feat(base): 修正IP查询逻辑使用实际客户端IP而非固定测试IP
|
2025-11-03 17:23:12 +00:00 |
|
|
|
abaa51af38
|
feat(log): 添加QQWry IP数据库支持并实现IP地址解析功能
|
2025-11-03 16:19:24 +00:00 |
|
|
|
7a8be1c23a
|
feat(element): 优化元素计算器并发安全与缓存机制
- 使用 sync.Map 替代 map+锁,提升并发读写性能
- 预加载所有元素组合,避免运行时重复创建
- 攻击系数计算结果加入缓存,提高查询效率
- 完善缓存键命名与错误处理机制
- 调整元素组合字符串展示格式,增强可读性
fix(item): 修复购买物品时价格为0仍扣除金币的问题
- 在购买逻辑中增加对物品价格是否为0的判断
- 防止免费物品被误扣金币
|
2025-11-02 23:52:06 +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 |
|
|
|
94e28e2601
|
``` fix(model): 限制宠物技能列表长度为4
|
2025-10-30 02:55:15 +00:00 |
|
|
|
802f552903
|
Merge branch 'main' of https://github.com/72wo/blazing
|
2025-10-29 15:51:02 +00:00 |
|
|
|
8376068bb6
|
fix(socket): 移除debug.Stack并统一使用cool.Loger记录panic错误
|
2025-10-29 15:50:48 +00:00 |
|
|
|
95b2a3cd41
|
```
feat(logic): 实现角色行走位置更新与账号加载功能
- 在 walk.go 中优化 Walk 方法,手动赋值替换 copier.Copy 提高可控性
- 在 main.go 中新增 loadAccounts 函数用于从 csv 文件加载账号并注册
- 新增 strings 包引用以支持文件内容按行分割
- 注释掉调试用的 fmt 打印语句,保留逻辑结构便于后续启用
- 在 base_sys_user.go 中增加 GetEamil 方法
|
2025-10-29 20:33:43 +08:00 |
|
|
|
a37b459793
|
``` feat(socket): 优化panic处理逻辑并添加详细堆栈打印,完善服务器退出条件检查
|
2025-10-28 07:39:11 +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 |
|
|
|
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 |
|
|
|
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 |
|
|
|
0ccde910e5
|
fix(controller): 移除重复的昵称空字符过滤,仅在控制器层处理
|
2025-10-23 06:06:28 +00:00 |
|
|
|
3df38d5626
|
fix(task): 将新手任务和超NO奖励从任务完成移至注册时初始化
|
2025-10-23 06:04:05 +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 |
|
|
|
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 |
|
|
|
2ca0898b15
|
```
refactor(socket): 优化TCP数据包处理逻辑并增加调试日志
- 修复 handleTcp 中条件判断的空格格式问题
- 在解码失败时增加详细 Debug 日志输出
- 完善不完整数据包时手动唤醒连接的处理流程
refactor(pet): 重构宠物经验系统与升级逻辑
- 将经验计算函数移至 model 层统一管理
- 优化 AddPetExp 方法逻辑,避免直接修改原字段
- 升级过程中正确扣减经验池并防止溢出
- 抽离 Update 方法用于处理宠物进化和经验更新
refactor(model): 调整 PlayerInfo 结构体引用方式及相关初始化逻辑
- 修改
|
2025-10-18 23:58:19 +08:00 |
|
|
|
6e7dc9ebca
|
``refactor(service): 统一数据库模型访问方式,使用s.Model替代cool.DBM``
|
2025-10-17 21:04:19 +00:00 |
|
|
|
696e6225e5
|
``refactor(pet): 重构宠物服务结构,将PetService独立封装并继承cool.Service``
|
2025-10-17 19:40:27 +00:00 |
|
|
|
7f18af2507
|
修改
|
2025-10-17 19:24:13 +00:00 |
|
|
|
6090580560
|
``fix(pet): 修复宠物添加时捕捉时间冲突问题,添加唯一键约束和自增重试逻辑``
|
2025-10-17 19:23:38 +00:00 |
|
|
|
09c6189b80
|
``refactor(rpc): 优化RPC客户端管理逻辑,移除冗余clientidmap,整合blazing服务调用``
|
2025-10-15 22:53:14 +00:00 |
|
|
|
64c7bc204a
|
```
feat(base): 添加用户唯一性校验功能
在更新用户信息时,新增对用户唯一性字段的校验逻辑。通过遍历UniqueKey配置,
检查当前更新的字段值是否已存在于其他用户记录中,避免重复数据的产生。
```
|
2025-10-14 20:15:58 +08:00 |
|
|
|
14b7b03cef
|
feat(base): 更新用户模型字段定义
移除已注释的字段定义,包括 Name、Phone 和 Role 相关字段。
调整字段顺序并保留有效字段:Username、Password、PasswordV、HeadImg、Email、Status、Remark。
|
2025-10-13 23:49:59 +08: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 |
|
|
|
a1f6ce956e
|
```
feat(build): 添加 linux amd64 平台的逻辑编译脚本
在 build.bat 中新增 gox 编译命令,用于构建 linux amd64
|
2025-10-10 23:00:07 +08:00 |
|
|
|
ecd9cb704c
|
```
refactor(logic): 优化任务完成逻辑并提高可读性
- 将 `QuitSelf` 中的硬编码延时改为 `5 * time.Second`,提高可读性
- 使用 `switch` 语句重构任务奖励逻辑,替代多个 `if` 判断
- 统一处理任务 85、86、87、88 的奖励发放逻辑
- 添加默认分支处理未定义的任务 ID 和状态
- 修复函数签名中的空格格式问题
- 在任务服务中补充玩家 ID 和任务 ID 的赋值逻辑
```
|
2025-10-10 01:10:13 +08:00 |
|
|
|
15bbffd3f5
|
fix(player): 添加空指针检查避免崩溃
在 LeaveMap 函数中添加对参数 c 的空指针检查,防止当传入 nil 时程序崩溃。此修复确保了玩家离开地图时的安全性检查。
|
2025-10-08 23:10:06 +08:00 |
|
|
|
3502f9a756
|
修改service
|
2025-10-07 08:14:11 +00:00 |
|
|
|
066dde2d0b
|
增加唯一约束,防止重复提交
|
2025-10-07 08:04:57 +00:00 |
|
|
|
f847386b7c
|
feat(fight): 优化技能命中逻辑与效果触发流程
重构了技能攻击处理逻辑,调整了命中判断和效果应用的顺序。
新增 `Calculate_Pre` 接口方法用于实现无视类效果。
修复技能是否命中的判断逻辑,确保效果命中状态正确传递。
清理上回合缓存的效果数据,保证每回合初始状态干净。
统一使用 `IsFirst` 方法判断先后手,提升代码一致性。
完善玩家离线时的数据保存顺序,避免重复操作。
更新依赖模块版本信息。
|
2025-10-05 00:29:22 +08:00 |
|
|
|
ed01ddedc3
|
踢人逻辑修改,先保存数据
|
2025-10-03 20:20:17 +08:00 |
|
|
|
6eb244b73f
|
```
feat(rpc): 优化 RPC 客户端地址配置逻辑
- 将 RPC 地址从硬编码改为通过 service 动态获取
- 修改端口常量名称 rpcaddr 为 rpcport,提升语义清晰度
- 调整客户端连接逻辑以支持动态 IP 和端口拼接
fix(fight): 修复技能命中与闪避逻辑执行顺序
- 调整战斗中技能攻击流程,确保命中率和闪避计算正确应用
- 更新 effect 接口定义,增强技能使用前后的控制节点
- 增加伤害计算过程中的多阶段触发机制(加法、乘法、减法等)
feat(config): 更新数据库及 Redis 配置信息
- 修改 PostgreSQL 用户名、密码和数据库名
- 更新 Redis 访问密码
- 调整服务器 IP 获取方式,区分测试环境与生产环境
chore(vscode): 优化调试配置 console 输出设置
- 在 launch.json 中为调试配置增加 integratedTerminal 控制台选项
- 统一逻辑服务启动参数格式
chore(gitignore): 忽略特定平台编译产物
- 添加针对 Linux 平台的 logic 和 login 模块编译文件忽略规则
```
|
2025-09-28 01:58:42 +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 |
|
|
|
1f73310bf0
|
Merge branch 'main' of https://github.com/72wo/blazing
|
2025-09-25 14:08:40 +00:00 |
|
|
|
d28661e752
|
refactor(service/user): 将用户服务注册相关功能从reg.go迁移至info.go
|
2025-09-25 14:08:35 +00:00 |
|
|
|
07c08b767b
|
feat(fight): 重构技能和受击触发逻辑,统一命名规范
- 将 `OnHit`、`AfterHit` 等方法重命名为 `AfterSkill` 和 `Attacked`,统一触发时机命名
- 调整 `BeforeSkill` 与 `PreSkill` 的职责,明确技能前处理逻辑
- 修改 `UseSkill` 为 `CanSkill`,增强语义清晰度
- 补充精灵切换时的触发方法 `OnSwitchOut` 与 `OnOwnerSwitchIn`
- 修复战斗中属性拷贝逻辑及状态持续回合计算的安全检查
- 增加捕获精灵后的日志输出,便于调试追踪
- 完善默认伤害效果节点的初始化逻辑
|
2025-09-25 13:07:56 +08:00 |
|