Commit Graph

340 Commits

Author SHA1 Message Date
e84d55aec0 ```
feat(player): 优化玩家连接与消息发送逻辑

- 为 `Conn` 结构体新增 `Close()` 方法,并在多处替换原有的 `GetConn().Close()` 调用,
  统一通过 `MainConn` 操作以提高代码一致性。
- 在 `SendPack` 和 `GetPlayer` 等方法中增加互斥锁保护,确保对 `MainConn` 的访问是线程安全的。
- 移除冗余的 `GetConn()` 方法,直接使用 `MainConn` 提升性能并简化结构。

refactor(rpc): 临时将 RPC 客户端地址硬编码为本地地址

- 将 rpcaddr 临时设置为 "127.0.0.1",便于调试和开发环境测试。

refactor(handler): 扩展 JSON-RPC 方法过滤条件

- 增加了对 "Kick" 和 "RegisterLogic" 方法的排除,防止其被注册到 RPC 处理器中。

refactor(fight): 精简战斗服务中的判断逻辑

- 简化 `IsFirst` 函数返回表达式。
- 移除了多余的 defer 语句,提前设置 `closefight` 标志位。

refactor(pet): 改进宠物经验添加机制

- `AddPetExp` 方法新增布尔参数 `bro` 控制是否广播更新。
- 修改调用点以适配新参数,修复潜在的数据同步问题。
- 初始化宠物时禁止触发经验变更广播。

chore(build): 删除旧版二进制文件 logic1

- 清理无用的编译产物,避免混淆项目结构。
```
2025-10-14 01:26:59 +08:00
eff23d5bd0 fix(login): 深拷贝用户信息以避免数据竞争
在登录逻辑中,使用 `copier.CopyWithOption` 进行深拷贝,确保发送给其他玩家的
玩家信息不会因为引用同一对象而导致数据异常。同时修正了部分字段注释和默认值说明。

feat(maps): 更新地图角色信息结构体字段描述

更新 `OutInfo` 结构体中的 `Action`、`Direction` 和 `ChangeShape` 字段的注释,
使其更准确地反映其用途和含义,便于后续维护与开发理解。

fix(player): 完善登录位置判断条件

在玩家完成登录时,除了判断 `MapID > 10000` 外,增加对 `MapID == 0` 的处理,
确保角色能正确被传送到默认地图。

refactor(walk): 移除无用上下文导入并优化日志记录

移除了未使用的 `context` 包导入,并调整了行走逻辑中的赋值顺序,使代码更清晰。
同时注释掉不再需要的调试日志输出语句。
2025-10-13 23:38:48 +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
b258a81bb8 1 2025-10-11 01:01:36 +08:00
dbf326e751 ```
feat(socket): 添加服务器优雅退出机制

在 Server 结构体中新增 quit 字段,并在 OnTick 方法中检查该字段,
若为 true 则调用 os.Exit(0) 实现程序正常退出。同时清理了 controller 中
冗余的导入和无用逻辑,优化 server 启动流程并修复 RPC 客户端传递错误问题。
```
2025-10-10 23:59:54 +08:00
6c9ee0c73a fix(player): 移除GetAction方法中的冗余return语句
移除了Player结构体中GetAction方法内不必要的return语句,
该语句在方法末尾没有实际作用,清理后使代码更加简洁。
2025-10-10 23:38:43 +08:00
646eeeaa2b fix(space): 修复地图ID判断逻辑并优化空间初始化流程
移除未使用的地图ID字段,调整GetSpace函数中关于玩家地图的判断条件,
确保能正确加载星球配置并初始化Space实例。同时清理冗余代码,
提升逻辑可读性与执行效率。
2025-10-10 23:16:45 +08:00
a1f6ce956e ```
feat(build): 添加 linux amd64 平台的逻辑编译脚本

在 build.bat 中新增 gox 编译命令,用于构建 linux amd64
2025-10-10 23:00:07 +08:00
e2c3c5abb6 fix(login): 修复登录时服务通话中空指针问题
将原先赋值为 nil 的 map 改为初始化空的 map 结构,
避免在服务通话过程中出现空指针异常。
2025-10-10 20:47:02 +08:00
13b37b432a ```
refactor(controller): 替换用户遍历逻辑为迭代回调方式

将多个控制器中使用的 `Items()` 方法遍历用户列表的方式,
统一修改为通过 `IterCb()` 回调函数方式进行处理,
提升代码一致性与可维护性。

同时引入 `blazing/logic/service/common` 包以支持 PlayerI 接口调用。
此外,移除了未使用的 `model.Pos` 类型及相关注释,精简结构体定义。
```
2025-10-10 20:46:16 +08:00
ed02b35142 111 2025-10-10 20:33:57 +08:00
1
ce8c8a0af5 1 2025-10-10 12:07:05 +00:00
1
df6606b021 修改底层map 2025-10-10 04:49:23 +00:00
1
ac671408f7 修改地图结构 2025-10-10 04:31:52 +00:00
1
6b06c580ff 修改底层map 2025-10-10 04:26:07 +00:00
1
a58dd63d11 1 2025-10-10 03:08:55 +00:00
1
4f9b33e85a 修改 2025-10-10 03:06:23 +00:00
1
4cb7b2d739 修改 2025-10-10 02:57:20 +00:00
1
0c07da5d1b 修复崩溃 2025-10-10 02:10:25 +00:00
618b90af18 feat(task): 增加每日任务奖励经验值至20000
将每日任务中多个精灵任务(毛毛、比比鼠、幽浮、利牙鱼等)的完成奖励从
2000点经验调整为20000点经验,以提升玩家任务收益。

refactor(fight): 使用枚举类型优化战斗结束原因字段

将 FightOverInfo 结构体中的 Reason 字段由 uint32 类型改为
EnumBattleOverReason 枚举类型,提高代码可读性和类型安全性。

同时修复了战斗结束时逃跑原因未正确传递的问题。
2025-10-10 01:31:02 +08:00
08f365e13a ```
fix(logic): 更新逻辑文件1

更新了logic/logic1二进制文件,确保逻辑处理正确性
```
2025-10-10 01:19:28 +08:00
e3f2a4b480 feat(task): 完善任务奖励逻辑并新增多个任务处理分支
根据任务 ID 和 OutState 分支完善了任务奖励发放逻辑,
包括新手任务、日常任务及剧情任务的物品奖励与精灵奖励。
针对部分任务增加了注释说明,提升了代码可读性与维护性。
2025-10-10 01:16:13 +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
aae7074902 fix(fightc): 调整控制台输出角色标识为房主与挑战者
将原先“先手”、“后手”的输出信息修改为“房主”和“挑战者”,使日志更清晰地反映玩家身份。

重构技能解析逻辑,确保在不同攻击行为下正确解析并执行技能效果。
优化了技能优先级比较的执行顺序,提升代码可读性与逻辑准确性。
2025-10-10 00:44:45 +08:00
d4781bf4a4 feat(socket): 添加全局 panic 恢复机制
refactor(socket): 调整 defer recover 位置以优化错误捕获逻辑

feat(logic): 为服务器启动函数添加 defer recover
2025-10-10 00:40:32 +08:00
3639d18d60 fix(socket): 调整 ServerEvent.go 中的格式和导入包
- 添加 fmt 包的导入
- 调整 handleTcp 和 parser 方法中的代码格式
- 移除多余的空行

refactor(logic): 移除 SocketHandler_Tomee.go 中的调试打印

- 删除 Handle 方法中注释掉的 fmt.Println 语句
2025-10-09 21:25:41 +08:00
15bbffd3f5 fix(player): 添加空指针检查避免崩溃
在 LeaveMap 函数中添加对参数 c 的空指针检查,防止当传入 nil 时程序崩溃。此修复确保了玩家离开地图时的安全性检查。
2025-10-08 23:10:06 +08:00
a22287d987 ```
fix(network): 修复 rpc 和 websocket 地址拼接缺少冒号的问题

修复了 jsonrpc 服务启动时监听地址缺少冒号导致解析错误的问题,
同时修正 websocket 客户端连接地址的拼接逻辑。此外,注释掉了一处日志输出,
并调整了端口检测函数的参数类型以匹配实际配置结构。

```
2025-10-08 17:16:54 +08:00
da06241c06 Merge branch 'main' of github.com:72wo/blazing 2025-10-08 16:54:31 +08:00
485b22a3f7 ```
feat(config): 添加RPC端口和游戏端口配置项

在配置结构体中新增了RPC端口和游戏端口字段,并更新了配置文件以支持多端口监听。同时,
调整了服务器端口选择逻辑,优先使用默认端口,不再生成随机端口。

refactor(server): 移除随机端口生成逻辑

删除了随机端口生成及相关依赖,端口选择改为从预定义列表中查找可用端口,提高端口分配的
可控性和稳定性。

fix(fight): 注释掉未实现的panic语句

为避免程序运行时因未实现逻辑导致崩溃,注释掉了Turn_Start和Fight_Start中的panic调用,
并添加了相关注释说明后续需实现的内容。

chore(config): 更新默认配置参数

更新了服务器地址、端口、数据库连接信息及Redis配置,确保开发环境配置正确。
```
2025-10-08 16:54:03 +08:00
1
ac2b1101ef 30s无响应放弃出手 2025-10-07 08:39:18 +00:00
1
3502f9a756 修改service 2025-10-07 08:14:11 +00:00
1
63b7699c56 修改底层连接,防止无限升级协议 2025-10-06 05:30:48 +00:00
864078f577 ```
feat(fight): 优化回合技能处理逻辑并修复技能备份问题

重构 enterturn 函数中技能备份与恢复逻辑,确保每个攻击动作的技能
状态能正确还原。同时调整战斗技能创建流程,移除无效技能ID判断,
增强日志记录,提升代码可维护性与健壮性。

fix(socket): 移除 syslog 前缀,统一服务器启动日志格式
```
2025-10-05 23:51:37 +08:00
1
b93a4dd1a2 技能实现 2025-10-05 07:13:43 +00:00
1
4e2073e185 修复rpc问题 2025-10-05 02:00:00 +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
1
5627458311 修改战斗 2025-09-30 10:40:36 +00:00
1
23fdd9e968 Merge branch 'main' of https://github.com/72wo/blazing 2025-09-30 10:34:41 +00:00
3aa0362cfe 1提交 2025-09-30 18:32:15 +08:00
91d0d29ec9 战斗修改 2025-09-29 02:40:35 +08:00
7df70f2375 feat(logic/service/fight/input): 移除伤害结算后触发接口
从 Effect 接口定义中移除了 Damage_Post 方法声明。该方法原计划用于处理
伤害结算后触发的逻辑(如血量扣除后触发的克制等重写伤害),但目前暂不
实现此功能节点。
2025-09-29 02:40:24 +08:00
1
f422604526 refactor(fight): 调整技能效果解析位置,确保在技能使用条件判断后执行 2025-09-28 12:45:04 +00:00
1
f08a5c4ef0 refactor(fight/input): 移除Damage_Post相关逻辑,清理伤害结算后触发代码 2025-09-28 09:31:08 +00:00
1
1655005741 refactor(fight/input): 重构Effect执行逻辑,修复Exec方法返回值问题 2025-09-28 08:59:28 +00:00
1
00144109dd 1 2025-09-28 08:13:42 +00:00
ed320300db Merge branch 'main' of github.com:72wo/blazing 2025-09-28 01:58:48 +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