Commit Graph

55 Commits

Author SHA1 Message Date
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
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
2ca0898b15 ```
refactor(socket): 优化TCP数据包处理逻辑并增加调试日志

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

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

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

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

- 修改
2025-10-18 23:58:19 +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
08fcc72b6d ``feat(socket): 完善踢人流程日志记录,添加CloseChan确保数据保存完成`` 2025-10-16 18:59:38 +00:00
42bb66f677 ```
feat(socket): 调整踢人逻辑以支持错误返回

将 KickPlayer 方法的返回值从 void 改为 error,
并在 KickPerson 中正确处理该错误返回。

fix(controller): 登录时增加延迟以确保踢人操作完成

在登录流程中添加 3 秒延迟,避免用户尚未被踢出就重新上线的问题。

feat(task): 完善任务缓冲获取逻辑

初始化 GetTaskBufOutboundInfo 时直接赋值 TaskId,
并移除后续重复赋值操作,提升代码可读性。

refactor(player): 优化玩家踢出方法结构

清理
2025-10-16 12:16:03 +08:00
1
fccdda3c9d ``` fix(player): 优化战斗结束处理逻辑,避免线程阻塞并修复格式问题 2025-10-14 15:12:08 +00:00
1
fead9ed6b5 ``` refactor(player): 移除登录等待机制,前端是登录后才进入地图的,及相关同步逻辑 2025-10-14 14:36:39 +00:00
68d1a1355e ```
fix(controller): 优化数据发送逻辑,避免并发写冲突

将原先直接操作连接上下文并加锁的写法,
改为通过 player 实例封装的 SendPack 方法发送数据,
提高代码可维护性和安全性。

同时调整了 service 层踢出玩家时锁的获取顺序,
确保在关闭连接前
2025-10-14 14:25:57 +08:00
600fc29cbd ```
refactor(socket): 统一使用 gnet.Conn 替代自定义 Conn 结构体

- 将 logic/controller 和 logic/service/player 中的 *player.Conn 替换为 gnet.Conn
- 移除 player.Conn 结构体及相关封装逻辑
- 调整 SendPack 方法至 Player 实体,直接操作 gnet.Conn 发送数据
- 增加 Mu 锁保护并发写入,确保 WebSocket 和 TCP 连接安全性
- 更新 ServerEvent.go 中跨域标记设置位置
```
2025-10-14 03:07:55 +08:00
1cbdb8f22a 1 2025-10-14 02:23:00 +08:00
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
6c9ee0c73a fix(player): 移除GetAction方法中的冗余return语句
移除了Player结构体中GetAction方法内不必要的return语句,
该语句在方法末尾没有实际作用,清理后使代码更加简洁。
2025-10-10 23:38:43 +08:00
a1f6ce956e ```
feat(build): 添加 linux amd64 平台的逻辑编译脚本

在 build.bat 中新增 gox 编译命令,用于构建 linux amd64
2025-10-10 23:00:07 +08:00
1
df6606b021 修改底层map 2025-10-10 04:49:23 +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
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
1
63b7699c56 修改底层连接,防止无限升级协议 2025-10-06 05:30:48 +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
290e678559 refactor(socket): 优化TCP连接处理逻辑,新增错误连接计数并调整返回值处理 2025-09-27 17:35:12 +00:00
1
d46849a020 refactor(fight/effect): 重构能力操作类型枚举命名,统一使用大写形式(ADD/SUB/COPY/RESET)并更新相关调用点 2025-09-26 18:39:59 +00: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
1
3f37ce63de refactor(fight): 重构战斗模式与状态枚举,新增加载进度功能并优化战斗初始化逻辑 2025-09-25 14:51:11 +00:00
1
023b937d49 refactor(fight/effect): 新增EffectStatus.UseSkill方法并清理AI_player中无用代码 2025-09-23 21:01:30 +00:00
1
1ec9d46b23 refactor(fight/effect): 重构回合开始逻辑,移除PlayerI.GetAction接口并将行动逻辑移至Input.GetAction方法,新增EffectStatus处理战斗状态效果 2025-09-23 20:53:47 +00:00
1
1245471129 refactor(fight/xmlres): 重构效果参数处理逻辑,新增JSON解析支持并优化战斗伤害计算 2025-09-23 17:34:58 +00:00
1
53d4fafe73 refactor(fight/item/ai): 重构结构体初始化方式,移除冗余End方法并清理AI_player战斗结束逻辑 2025-09-23 16:48:40 +00:00
1
47fd6da6b2 refactor(fight): 重构战斗结束逻辑,统一使用Over方法处理逃跑、掉线和超时情况 2025-09-23 16:42:10 +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
a05219c6ae refactor(pet): 重构宠物经验计算逻辑,引入种族值参数并优化进化条件判断 2025-09-22 15:47:07 +00:00
1
1a3b212673 refactor(pet): 优化宠物治疗逻辑,仅在等级变化时重新计算面板,并合并技能PP恢复条件判断
增加竞态分析
2025-09-22 13:30:16 +00:00
1
dc46cd5b66 feat(global): 添加时间轮支持并优化玩家登录逻辑,移除冗余地图ID检查 2025-09-22 06:07:58 +00:00
1
6238507ae5 refactor(pet): 优化宠物技能学习逻辑,简化技能列表处理 2025-09-21 17:03:12 +00:00
1
afb31bd79b feat(pet): 重构宠物属性计算与技能学习逻辑,优化代码结构 2025-09-21 17:01:31 +00:00
1
691cfc878b feat(capture): 重构捕捉系统,实现状态倍率计算和保底机制 2025-09-21 14:56:37 +00:00
1
6577a13da4 feat(map): 重构刷怪逻辑,将怪物生成功能移至Player结构体并添加Canmon控制标志 2025-09-21 08:00:58 +00:00
1
30453045c7 feat(fight): 重构PVP邀请系统,使用PVPinfo结构体替代原有map存储方式 2025-09-21 07:22:42 +00:00